I'm trying to implement webgl shadow mapping from an example code that already implements it using spidergl. I'm trying to implement it directly on top of WebGL.
I believe I have almost similar code, but I am not getting the results. I have narrowed down the problem to a smaller part of the code. My shader code defines a_position
(the vertex position attribute), as vec3; while the spidergl code defines it as vec4. I combed through the spidergl code to understand how their vertex position attributes, which are x-y-z triplets are being filled into a vec4. I expected to find the trick in the call to vertexAttribPointer. But the values of size and stride that they are passing is as expected : 3 and 12. I changed my code to do the same thing, but I am not getting the same results yet.
Can someone explain the basic mechanism by which the position triplets get mapped to vec4
? I haven never seen code that also mentions w along with x,y,z coordinates of a cube's corners, but there are shaders that take a_position
as vec4
. Then what gets filled into the fourth float of vec4?