- Home /
Shader.SetGlobalTexture not working on Windows
Soo... it seems like Shader.SetGlobalTexture doesn't work for me on Windows. However, on mac it works fine?
The background: I've created an effect where anywhere an in game camera looks, the world materializes in front of it, and then as the camera moves more and more of the world fades in.
I'm accomplishing this on mac by rendering all my geometry in UV space into a render texture using a replacement shader. The shader also passes along the world position for testing with the camera's frustum. If it falls inside the frustum I look up what was previously in the render texture, add a small value to it and return, otherwise we just return what was already there. I disable clearing the framebuffer on the camera for this to work.
On mac this works amazingly well -- however on windows, it appears that the tex2D call on the texture that was set with Shader.SetGlobalTexture always returns black.
I've tested both with the render texture, and other static textures, but it always returns black. I checked that the uv's I'm passing into the sampler are good by returning a color based off them and they look fine.
I've tried call Shader.SetGlobalTexture in Update as well as OnPreCull.
The shader that uses the texture is a replacement shader on the camera with the frustum being evaluated.
At this point I'm pretty stumped and I can't find any documentation or forum answers that seem to cover this issue - any ideas on a fix or workaround would be amazing!
Thanks in advance,
Jack