|
|
@ -461,7 +461,7 @@ namespace PolyVox
|
|
|
|
//volume we get the one which is non-zero. Both materials can be non-zero if our volume has a density component.
|
|
|
|
//volume we get the one which is non-zero. Both materials can be non-zero if our volume has a density component.
|
|
|
|
const typename Controller::MaterialType uMaterial000 = m_controller.convertToMaterial(v000);
|
|
|
|
const typename Controller::MaterialType uMaterial000 = m_controller.convertToMaterial(v000);
|
|
|
|
const typename Controller::MaterialType uMaterial100 = m_controller.convertToMaterial(v100);
|
|
|
|
const typename Controller::MaterialType uMaterial100 = m_controller.convertToMaterial(v100);
|
|
|
|
const typename Controller::MaterialType uMaterial = (std::max)(uMaterial000, uMaterial100);
|
|
|
|
const typename Controller::MaterialType uMaterial = m_controller.blendMaterials(uMaterial000, uMaterial100, fInterp);
|
|
|
|
|
|
|
|
|
|
|
|
const PositionMaterialNormal surfaceVertex(v3dPosition, v3dNormal, static_cast<float>(uMaterial));
|
|
|
|
const PositionMaterialNormal surfaceVertex(v3dPosition, v3dNormal, static_cast<float>(uMaterial));
|
|
|
|
const uint32_t uLastVertexIndex = m_meshCurrent->addVertex(surfaceVertex);
|
|
|
|
const uint32_t uLastVertexIndex = m_meshCurrent->addVertex(surfaceVertex);
|
|
|
@ -494,7 +494,7 @@ namespace PolyVox
|
|
|
|
//volume we get the one which is non-zero. Both materials can be non-zero if our volume has a density component.
|
|
|
|
//volume we get the one which is non-zero. Both materials can be non-zero if our volume has a density component.
|
|
|
|
const typename Controller::MaterialType uMaterial000 = m_controller.convertToMaterial(v000);
|
|
|
|
const typename Controller::MaterialType uMaterial000 = m_controller.convertToMaterial(v000);
|
|
|
|
const typename Controller::MaterialType uMaterial010 = m_controller.convertToMaterial(v010);
|
|
|
|
const typename Controller::MaterialType uMaterial010 = m_controller.convertToMaterial(v010);
|
|
|
|
const typename Controller::MaterialType uMaterial = (std::max)(uMaterial000, uMaterial010);
|
|
|
|
const typename Controller::MaterialType uMaterial = m_controller.blendMaterials(uMaterial000, uMaterial010, fInterp);
|
|
|
|
|
|
|
|
|
|
|
|
const PositionMaterialNormal surfaceVertex(v3dPosition, v3dNormal, static_cast<float>(uMaterial));
|
|
|
|
const PositionMaterialNormal surfaceVertex(v3dPosition, v3dNormal, static_cast<float>(uMaterial));
|
|
|
|
const uint32_t uLastVertexIndex = m_meshCurrent->addVertex(surfaceVertex);
|
|
|
|
const uint32_t uLastVertexIndex = m_meshCurrent->addVertex(surfaceVertex);
|
|
|
@ -526,7 +526,7 @@ namespace PolyVox
|
|
|
|
//volume we get the one which is non-zero. Both materials can be non-zero if our volume has a density component.
|
|
|
|
//volume we get the one which is non-zero. Both materials can be non-zero if our volume has a density component.
|
|
|
|
const typename Controller::MaterialType uMaterial000 = m_controller.convertToMaterial(v000);
|
|
|
|
const typename Controller::MaterialType uMaterial000 = m_controller.convertToMaterial(v000);
|
|
|
|
const typename Controller::MaterialType uMaterial001 = m_controller.convertToMaterial(v001);
|
|
|
|
const typename Controller::MaterialType uMaterial001 = m_controller.convertToMaterial(v001);
|
|
|
|
const typename Controller::MaterialType uMaterial = (std::max)(uMaterial000, uMaterial001);
|
|
|
|
const typename Controller::MaterialType uMaterial = m_controller.blendMaterials(uMaterial000, uMaterial001, fInterp);
|
|
|
|
|
|
|
|
|
|
|
|
const PositionMaterialNormal surfaceVertex(v3dPosition, v3dNormal, static_cast<float>(uMaterial));
|
|
|
|
const PositionMaterialNormal surfaceVertex(v3dPosition, v3dNormal, static_cast<float>(uMaterial));
|
|
|
|
const uint32_t uLastVertexIndex = m_meshCurrent->addVertex(surfaceVertex);
|
|
|
|
const uint32_t uLastVertexIndex = m_meshCurrent->addVertex(surfaceVertex);
|
|
|
|