mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 08:05:45 +00:00
Order shader args like the game does
This commit is contained in:
parent
9990338130
commit
15fd1ae686
@ -387,7 +387,16 @@ namespace IW4
|
|||||||
// Sort args by their update frequency
|
// Sort args by their update frequency
|
||||||
std::sort(pass.m_arguments.begin(), pass.m_arguments.end(), [](const PassShaderArgument& arg1, const PassShaderArgument& arg2)
|
std::sort(pass.m_arguments.begin(), pass.m_arguments.end(), [](const PassShaderArgument& arg1, const PassShaderArgument& arg2)
|
||||||
{
|
{
|
||||||
return arg1.m_update_frequency < arg2.m_update_frequency;
|
if(arg1.m_update_frequency != arg2.m_update_frequency)
|
||||||
|
return arg1.m_update_frequency < arg2.m_update_frequency;
|
||||||
|
|
||||||
|
if (arg1.m_arg.type != arg2.m_arg.type)
|
||||||
|
return arg1.m_arg.type < arg2.m_arg.type;
|
||||||
|
|
||||||
|
if (arg1.m_arg.type == MTL_ARG_MATERIAL_VERTEX_CONST || arg1.m_arg.type == MTL_ARG_MATERIAL_PIXEL_CONST || arg1.m_arg.type == MTL_ARG_MATERIAL_PIXEL_SAMPLER)
|
||||||
|
return arg1.m_arg.u.codeSampler < arg2.m_arg.u.codeSampler;
|
||||||
|
|
||||||
|
return arg1.m_arg.dest < arg2.m_arg.dest;
|
||||||
});
|
});
|
||||||
|
|
||||||
AllocateVertexDecl();
|
AllocateVertexDecl();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user