It seems people with some ATI cards (X1600 possibly X1800) were having trouble with my demo. I was hoping some owners of these cards (or just other ATI/AMD card owners) could try the demo again.
If the lighting is still broken, could you do me a huge favor and see if updating this shader file lightingLIDefer.shd with this change on line 174:
lightIndex += 0.5/256.0;
(just before the comment // Lookup the Light position)
and see if this fixes the issue. (Note the file is read only when it is uncompressed - so you will have to unset the read only flag on the file properties)
@ dletozeun - In theory I think it should compile on Linux as I don’t think I do anything special - and I use the http://www.humus.ca/ framework which does compile on linux. However - I have no current means of updating the makefile for testing. If you cannot, I will see what I can track down.
What do you want me to look for? I ran it on the Gf’s Radeon 3650 under XP with latest 8.6 or 8.7 drivers and it ran fine… But the lights have a circle around the other perimeter maybe the textures are supposed to be like that?
I have uploaded a new version that I tested compiling on Linux.
The missing include errors you are getting are probably caused by you not having the X11 development headers installed.
Thanks sqrt[-1] but this not even better. For X11 you are right. In fact I had the X11 dev packages installed but not extensions one… so I had fun to find the good one.
Then, I have many errors with the framework and I don’t talk about warnings (that should be due to last compiler, I had more warnings with my old projects too).
I have errors especially in OpenGLExtensions header, something like invalid use of GLvoid, I don’t understand. So I tried some very bad hardcore things, integrating GLEW to load opengl extensions and remove the recalcitrant lines in the OpenGLExtensions header.
This resolved this problem and now I have problems with the App.cpp at this line (894):
As you see I tried to cast to GLfloat* since I had a conversion error from float* to GLfloat* (Yes this is weird). But In fact I realize that projectionMatrix is a vec4? Which looks like GLSL data type. I don’t know how the framework manage shaders, but it looks like you write function directly in the source file in a GLSL syntax…
So, sorry, I did went more further waiting the 1.3 version
Thanks, for all your efforts in trying - I did not expect you to do anything other than type “make” and say - “I get these errors”.
My Linux development experience is very limited - but all I know is I can download the above zip, type “make” in the deferred lighting directory and it compiles and works. I am using PCLinuxOS 2007 so perhaps I have made some assumption somewhere?
That GLfloat->float cast error makes no sense to me - the mat4 type is from the Humus framework that has a float conversion operator. It almost seems like you do not have the OpenGL headers installed - but that makes no sense at all.
I might post on the Linux forum and see if any other Linux people can point out the error.