Getting started with GLSL
I've been doing graphic programming using the fixed pipeline of OpenGL after learning in school and I'm thinking of starting to learn GLSL. However I'm using Intel GMA X3100 card on Windows and it seems that GLSL is only supported up to version 1.10. I would like to ask if it is wise for me to start learning GLSL 1.1 first? (I have a book about GLSL 3.3 but I can't run the tutorials to see the effects, ending up 开发者_开发技巧of getting the concept first).
The GMA X3100 should support OpenGL 2.1, which would mean it supports GLSL 1.20. Also, you could check which parts of GLSL 3.30 your book uses. The GLSL specifications are online over at http://www.opengl.org/documentation/specs/ -- then you can try to leave out the stuff that are 3.30 specific. The newer versions of GLSL just leave out some stuff (e.g. ftransform in 1.30 and higher) as well as introducing some new extensions (geometry shaders etc). So maybe you can still start with some simple examples.
In the future, one might also use Mesa (http://mesa3d.org) using software emulation, but as their status reports, work on GLSL 1.30 and higher has not been started yet.
Other than that, you need to get a new GPU / laptop. Preferably with an NVIDIA or AMD GPU, supporting OpenGL 3 and 4.
If you want to develop a shader, you pretty much need an implementation that can render the shaders you write. If you're really short of funds, you could consider using a software emulation like Mesa3D, but if at all possible, you really want one in hardware. Given the current market, that pretty much means having a reasonably current nVidia or ATI/AMD graphics processor. Yes, if you're going to release something on the market, you probably want to do testing with an Intel as well, but in all honesty about all you're going to be able to do with most shader code on an Intel GPU is verify graceful failure.
suggestion: try to train on http://shadertoy.com ? It's GLSL ES, but for first steps it's interesting, you can interactively update your shader, learn from the one of other users... + You will see right now whether your machine support this basic GLSL or not ;-)
精彩评论