diff --git a/kraken/nodes/KRModel.cpp b/kraken/nodes/KRModel.cpp index a612514..5a2d430 100755 --- a/kraken/nodes/KRModel.cpp +++ b/kraken/nodes/KRModel.cpp @@ -314,7 +314,7 @@ void KRModel::preStream(const KRViewport& viewport, std::list for (int i = 0; i < kMeshLODCount; i++) { if (m_meshes[i].isBound()) { m_meshes[i].get()->preStream(resourceRequests, lod_coverage); - resourceRequests.emplace_back(m_meshes[i].get(), 0); // TODO: Pass in LOD level to drive streaming priority of meshes + resourceRequests.emplace_back(m_meshes[i].get(), 0, lod_coverage); } } diff --git a/kraken/resources/mesh/KRMesh.cpp b/kraken/resources/mesh/KRMesh.cpp index d35d4eb..bff72fa 100755 --- a/kraken/resources/mesh/KRMesh.cpp +++ b/kraken/resources/mesh/KRMesh.cpp @@ -252,15 +252,10 @@ void KRMesh::render(KRNode::RenderInfo& ri, const std::string& object_name, cons if (ri.renderPass->getType() == RenderPassType::RENDER_PASS_SHADOWMAP) { for (int iSubmesh = 0; iSubmesh < cSubmeshes; iSubmesh++) { KRMaterial* pMaterial = m_materials[iSubmesh]; - - if (pMaterial != NULL) { - - if (!pMaterial->isTransparent()) { - // Exclude transparent and semi-transparent meshes from shadow maps - renderSubmesh(ri.commandBuffer, iSubmesh, ri.renderPass, object_name, pMaterial->getName(), lod_coverage); - } + if (pMaterial && !pMaterial->isTransparent()) { + // Exclude transparent and semi-transparent meshes from shadow maps + renderSubmesh(ri.commandBuffer, iSubmesh, ri.renderPass, object_name, pMaterial->getName(), lod_coverage); } - } } else { // Apply submeshes in per-material batches to reduce number of state changes