Original Post
I've just been playing around with texturing reads in vertex shaders in HLSL, and I have a few questions: I read in another thread that texture reads in the vertex shader can only be done on textures that are in the format D3DFMT_R32F and D3DFMT_A32B32G32R32F. Is this a general limitation or just a specific card limitation? And with these texture formats, it isn't possible to use LockRect and UnlockRect to manually fill the texture with values, but rather you have to set them as a render target. Is that right? So if I wanted to access a texture filled with noise so I can get random values in a vertex shader, I would have to create two textures, one to manually fill with noise, and the other in the appropriate format which I can then set as a render target and use a full screen quad with the first texture, to get the noise values into the new format? Also, why is it that you can only access textures using tex2Dlod and not other intrinsics like tex2D? Thanks.