Regarding GLSL not being supported

Hello Everyone,

Well i thought of starting GLSL. But my hardware does not have a GPU, thus does not let me actually run them.

i read in a link that a software emulation can be done. Can anyone please suggest ways in which i can do this?

LINK

From the link:

You can use software emulation, but the whole point of it it to render custom shaders using hardware acceleration, so that would ruin it.

But my hardware does not have a GPU

Thats really strange which hardware do u have that does not have a GPU?

From the link you have given, I think u have the Intel G945 chipset. which when i look here http://www.intel.com/Products/Desktop/Chipsets/945G/945G-overview.htm tells me that it has Intel GMA 950 which supports OpenGL 1.4 through extension. You may also update your driver .

Thanks for the reply mobeen.

>> Thats really strange which hardware do u have that does not have a GPU?

Well i meant an external graphics card. And the link i had given was not my post. It was a link i found.


if (GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader) {
	printf("GLSL possible
");	
} else {
	printf("Not possible 
");
}

This tells me that i don’t have support for GLSL.

This is my chipset:

CHIPSET LINK

So, i just have an integrated graphics card. So, any software emulation possible as suggested in the link i had posted in my first post?

Thanks.

The Intel 945G does not support any shaders AFAIK. any opengl application intending to use shaders should check the opengl extension string for “GL_ARB_vertex_shader” wich is probably not availble on tis IGP.

Thanks for the reply saski.

Well,


if (GL_ARB_vertex_shader) {
	printf("Possible
");
}

This showed it is possible. So, does that mean it supports?

This code will tell you what version of OpenGL and Shaders are supported on your system, might give you some more information.


printf("GL_VENDOR: %s
", glGetString(GL_VENDOR));
printf("GL_RENDERER: %s
", glGetString(GL_RENDERER));
printf("GL_VERSION: %s
", glGetString(GL_VERSION));
printf("GL_SHADING_LANGUAGE_VERSION: %s

", glGetString(GL_SHADING_LANGUAGE_VERSION));

Thanks bcthund.

These were the results:

GL_VENDOR: Microsoft Corporation
GL_RENDERED: GDI Generic
GL_VERSION: 1.1.0
GL_SHADING_LANGUAGE_VERSION: <null>

So, if i upgrade my OpenGL API to say 2.1(if my hardware supports), will i be able to do shaders?

PS: Can you please tell about emulating shaders? In case my hardware really does not support.

The fact that you GL_VENDOR is not intel suggests to me that you do not have the most recent drivers. You should go to the intel website and download the latest drivers for your hardware to be sure. According to the chipset you provided, you should be looking for the driver for the 945GZ driver.

Thanks for the suggestions bcthund.

If you want software emulation, there is mesa3d.org which provide MESA. On Windows, it does software emulation and currently supports GL 2.1
You need GL 2.0 at minimum for GLSL.

Of course, it is not worth it. Just by a 30$ video card such as a Geforce 8.

The 945 is actually a ps2.0 capable part, with the caveat that it has no hardware support for vertex shaders. D3D9 can run vertex shaders in software emulation and pixel shaders in hardware on it with performance competitive with a GeForce FX series card, so long as you don’t stress bandwidth or fillrate.

I reckon your options are to either go for HLSL or get better hardware.

Thanks V-man :slight_smile:

@mhagain

Well, i guess i would have to buy some new hardware. Thanks for the support.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.