[GLSL] Simple lighting shader not working

Started by
2 comments, last by robee00 10 years, 9 months ago

Hello!

For now, I used OGL in fixed function mode. But now I want to learn the programmable pipeline now.

I tried to implement a simple diffuse - specular lighting shader from http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/directional-lights-per-pixel/ . But I got wierd results (picture attached)

I uploaded my code to pastebin:

- Rendering: http://pastebin.com/cUDtHcWJ

- Vertex shader: http://pastebin.com/hE8s3KE7

- Fragment shader: http://pastebin.com/pVpr6zhR

And if I move my camera further the object, it gets brighter. Something I had to do with the position right?

Advertisement

What I notice is that you only have 16 vertices available in your vertex buffer. To make a cube you need 24.

Each corner has 3 faces meeting all with different normal directions. Since you need a unique normal for each triangle then you need 3 vertices per corner. 3 x 8 = 24.

Oops, I forgot to add that I left out the top and bottom sides. But okay, I'll try to rewrite that, and include the top and bottom sides

Okay, so I reduced it to render just one plane. And I found an other tutorial: http://www.rastertek.com/gl40tut06.html

I use EXACTLY the same shaders, and I use exactly the same position, and normals. But I got a black triangle instead of a yellow one. Looks like intensity is always zero.

The class of what I'm rendering: http://pastebin.com/ez5K9vN3

This topic is closed to new replies.

Advertisement