halx99 2020-10-27 17:08:26 +08:00
parent 4c05ca5004
commit 865c1e22ac
1 changed files with 4 additions and 6 deletions

View File

@ -163,20 +163,18 @@ cocos2d::TrianglesCommand* SkeletonBatch::addCommand(cocos2d::Renderer* renderer
CCASSERT(programState, "programState should not be null");
auto& pipelinePS = command->getPipelineDescriptor().programState;
if (pipelinePS != programState)
if (pipelinePS == nullptr || pipelinePS->getProgram() != programState->getProgram())
{
CC_SAFE_RELEASE(pipelinePS);
pipelinePS = programState;
CC_SAFE_RETAIN(pipelinePS);
pipelinePS = programState->clone();
updateProgramStateLayout(pipelinePS);
}
pipelinePS->setUniform(_locMVP, projectionMat.m, sizeof(projectionMat.m));
pipelinePS->setTexture(_locTexture, 0, texture->getBackendTexture());
command->init(globalOrder, texture, blendType, triangles, mv, flags);
renderer->addCommand(command);
command->init(globalOrder, texture, blendType, triangles, mv, flags);
renderer->addCommand(command);
return command;
}