diff options
| author | Cosmic Linden <cosmic@lindenlab.com> | 2023-02-24 13:53:55 -0800 |
|---|---|---|
| committer | Cosmic Linden <cosmic@lindenlab.com> | 2023-02-24 13:53:55 -0800 |
| commit | 33085b9d830ac1db280d678760b3972798aa1129 (patch) | |
| tree | 201019101a92305f22980537b8c5ab4390c9611c /indra/llrender/llshadermgr.cpp | |
| parent | a7ecfc9b1907d6ecd5fe50aeb1c41e38540b2665 (diff) | |
SL-19265: Fix precision issue with texture transforms by moving transform matrix calculation into the shader
Diffstat (limited to 'indra/llrender/llshadermgr.cpp')
| -rw-r--r-- | indra/llrender/llshadermgr.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 13074032e0..c355115e8c 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -1073,11 +1073,21 @@ void LLShaderMgr::initAttribsAndUniforms() mReservedUniforms.push_back("texture_matrix3"); mReservedUniforms.push_back("object_plane_s"); mReservedUniforms.push_back("object_plane_t"); - mReservedUniforms.push_back("texture_basecolor_matrix"); // GLTF - mReservedUniforms.push_back("texture_normal_matrix"); // GLTF - mReservedUniforms.push_back("texture_metallic_roughness_matrix"); // GLTF - mReservedUniforms.push_back("texture_emissive_matrix"); // GLTF - llassert(mReservedUniforms.size() == LLShaderMgr::TEXTURE_EMISSIVE_MATRIX+1); + + mReservedUniforms.push_back("texture_base_color_scale"); // (GLTF) + mReservedUniforms.push_back("texture_base_color_rotation"); // (GLTF) + mReservedUniforms.push_back("texture_base_color_offset"); // (GLTF) + mReservedUniforms.push_back("texture_normal_scale"); // (GLTF) + mReservedUniforms.push_back("texture_normal_rotation"); // (GLTF) + mReservedUniforms.push_back("texture_normal_offset"); // (GLTF) + mReservedUniforms.push_back("texture_metallic_roughness_scale"); // (GLTF) + mReservedUniforms.push_back("texture_metallic_roughness_rotation"); // (GLTF) + mReservedUniforms.push_back("texture_metallic_roughness_offset"); // (GLTF) + mReservedUniforms.push_back("texture_emissive_scale"); // (GLTF) + mReservedUniforms.push_back("texture_emissive_rotation"); // (GLTF) + mReservedUniforms.push_back("texture_emissive_offset"); // (GLTF) + + llassert(mReservedUniforms.size() == LLShaderMgr::TEXTURE_EMISSIVE_OFFSET+1); mReservedUniforms.push_back("viewport"); |
