How can I pass an array of floats to the fragment shader using textures?
Posted
by
James
on Game Development
See other posts from Game Development
or by James
Published on 2012-12-08T15:46:44Z
Indexed on
2012/12/08
17:21 UTC
Read the original article
Hit count: 356
I want to map out a 2D array of depth elements for the fragment shader to use to check depth against to create shadows. I want to be able to copy a float array into the GPU, but using large uniform arrays causes segfaults in openGL so that is not an option. I tried texturing but the best i got was to use GL_DEPTH_COMPONENT
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 512, 512, 0, GL_DEPTH_COMPONENT, GL_FLOAT, smap);
Which doesn't work because that stores depth components (0.0 - 1.0) which I don't want because I have no idea how to calculate them using the depth value produced by the light sources MVP matrix multiplied by the coordinate of each vertex.
Is there any way to store and access large 2D arrays of floats in openGL?
© Game Development or respective owner