327fea741a
The GLES3 shader compiler performs certain checks to enable or disable
the usage of certain uniform variables (and with that the set-up of UBOs).
If the `TIME` variable gets used inside the `vertex` function then the
renderer knows that it has to insert that value into the UBO.
The same applies to the `fragment` function.
The `light` function gets executed inside the fragment shader for every
light source that is relevant to the current pixel. If the `TIME` variable
gets used in that function then it needs to be present in the fragment-UBO.
The check for this was missing, so if a shader uses `TIME` inside `light`
but not inside `fragment` then the uniform will not actually be set up.
(cherry picked from commit
|
||
---|---|---|
.. | ||
shaders | ||
rasterizer_canvas_gles3.cpp | ||
rasterizer_canvas_gles3.h | ||
rasterizer_gles3.cpp | ||
rasterizer_gles3.h | ||
rasterizer_scene_gles3.cpp | ||
rasterizer_scene_gles3.h | ||
rasterizer_storage_gles3.cpp | ||
rasterizer_storage_gles3.h | ||
SCsub | ||
shader_compiler_gles3.cpp | ||
shader_compiler_gles3.h | ||
shader_gles3.cpp | ||
shader_gles3.h |