Fix TexMtx uniform for GLSL

This commit is contained in:
Phillip Stephens 2016-07-09 14:57:03 -07:00
parent e2523d1268
commit bc170f1dc0
2 changed files with 8 additions and 5 deletions

2
hecl/extern/boo vendored

@ -1 +1 @@
Subproject commit 44e8317d49cd5be5776a48ebc9715495cb47552a
Subproject commit 1d02741879d7d8c956ce2c5ace31048ae790a6d3

View File

@ -98,9 +98,12 @@ std::string GLSL::GenerateVertUniformStruct(unsigned skinSlots, unsigned texMtxs
{
retval += hecl::Format("UBINDING1 uniform HECLTexMtxUniform\n"
"{\n"
" struct\n"
" {"
" mat4 mtx;\n"
" mat4 postMtx;\n"
"} texMtxs[%u];\n", texMtxs);
" } texMtxs[%u];\n"
"};\n", texMtxs);
}
return retval;
@ -151,7 +154,7 @@ std::string GLSL::makeVert(const char* glslVer, unsigned col, unsigned uv, unsig
retval += hecl::Format(" vtf.tcgs[%u] = %s;\n", tcgIdx,
EmitTexGenSource2(tcg.m_src, tcg.m_uvIdx).c_str());
else
retval += hecl::Format(" vtf.tcgs[%u] = (texMtxs[%u].postMtx * normalize(texMtxs[%u].mtx * %s)).xy;\n", tcgIdx, tcg.m_mtx,
retval += hecl::Format(" vtf.tcgs[%u] = normalize((texMtxs[%u].postMtx * (texMtxs[%u].mtx * %s)).xy);\n", tcgIdx, tcg.m_mtx,
tcg.m_mtx, EmitTexGenSource4(tcg.m_src, tcg.m_uvIdx).c_str());
++tcgIdx;
}