Refactoring smoothing and normal generation code.
This commit is contained in:
@ -17,7 +17,7 @@ void renderRegionImmediateMode(PolyVox::IndexedSurfacePatch& isp)
|
||||
const SurfaceVertex& vertex = vecVertices[*iterIndex];
|
||||
const Vector3DFloat& v3dVertexPos = vertex.getPosition();
|
||||
//const Vector3DFloat v3dRegionOffset(uRegionX * g_uRegionSideLength, uRegionY * g_uRegionSideLength, uRegionZ * g_uRegionSideLength);
|
||||
const Vector3DFloat v3dFinalVertexPos = v3dVertexPos + static_cast<Vector3DFloat>(isp.m_v3dRegionPosition);
|
||||
const Vector3DFloat v3dFinalVertexPos = v3dVertexPos + static_cast<Vector3DFloat>(isp.m_Region.getLowerCorner());
|
||||
|
||||
|
||||
|
||||
|
@ -41,7 +41,7 @@ OpenGLSurfacePatch BuildOpenGLSurfacePatch(const IndexedSurfacePatch& isp)
|
||||
const SurfaceVertex& vertex = *iterVertex;
|
||||
const Vector3DFloat& v3dVertexPos = vertex.getPosition();
|
||||
//const Vector3DFloat v3dRegionOffset(uRegionX * g_uRegionSideLength, uRegionY * g_uRegionSideLength, uRegionZ * g_uRegionSideLength);
|
||||
const Vector3DFloat v3dFinalVertexPos = v3dVertexPos + static_cast<Vector3DFloat>(isp.m_v3dRegionPosition);
|
||||
const Vector3DFloat v3dFinalVertexPos = v3dVertexPos + static_cast<Vector3DFloat>(isp.m_Region.getLowerCorner());
|
||||
|
||||
*ptr = v3dFinalVertexPos.getX();
|
||||
ptr++;
|
||||
|
@ -70,10 +70,10 @@ void OpenGLWidget::setVolume(PolyVox::Volume<PolyVox::uint8_t>* volData)
|
||||
//extractSurface(m_volData, 0, PolyVox::Region(regLowerCorner, regUpperCorner), ispCurrent);
|
||||
surfaceExtractor.extractSurfaceForRegion(PolyVox::Region(regLowerCorner, regUpperCorner), ispCurrent);
|
||||
|
||||
//computeNormalsForVertices(m_volData, *ispCurrent, SOBEL_SMOOTHED);
|
||||
computeNormalsForVertices(m_volData, *ispCurrent, SOBEL_SMOOTHED);
|
||||
//*ispCurrent = getSmoothedSurface(*ispCurrent);
|
||||
ispCurrent->smooth(0.2f);
|
||||
ispCurrent->generateAveragedFaceNormals(true);
|
||||
ispCurrent->smooth(0.3f);
|
||||
//ispCurrent->generateAveragedFaceNormals(true);
|
||||
|
||||
|
||||
Vector3DUint8 v3dRegPos(uRegionX,uRegionY,uRegionZ);
|
||||
|
Reference in New Issue
Block a user