Merge branch 'develop' into feature/cubiquity-version
Conflicts: library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.inl
This commit is contained in:
commit
b416dc933f
@ -103,6 +103,26 @@ namespace PolyVox
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a material which is in some sense a weighted combination of the supplied materials.
|
||||||
|
*
|
||||||
|
* The Marching Cubes algotithm generates vertices which lie between voxels, and ideally the material of the vertex should be interpolated from the materials
|
||||||
|
* of the voxels. In practice, that material type is often an integer identifier (e.g. 1 = rock, 2 = soil, 3 = grass) and an interpolation doean't make sense
|
||||||
|
* (e.g. soil is not a combination or rock and grass). Therefore this default interpolation just return one material or the other, but if more advanced voxel
|
||||||
|
* types do support interpolation then it can be implemented in this function.
|
||||||
|
*/
|
||||||
|
MaterialType blendMaterials(MaterialType a, MaterialType b, float weight)
|
||||||
|
{
|
||||||
|
if(weight < 0.5f)
|
||||||
|
{
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the density value which was passed to the constructor.
|
* Returns the density value which was passed to the constructor.
|
||||||
*
|
*
|
||||||
|
@ -168,6 +168,11 @@ namespace PolyVox
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MaterialType blendMaterials(MaterialType /*a*/, MaterialType /*b*/, float /*weight*/)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
DensityType getThreshold(void)
|
DensityType getThreshold(void)
|
||||||
{
|
{
|
||||||
return m_tThreshold;
|
return m_tThreshold;
|
||||||
|
@ -132,6 +132,18 @@ namespace PolyVox
|
|||||||
return voxel.getMaterial();
|
return voxel.getMaterial();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MaterialType blendMaterials(MaterialType a, MaterialType b, float weight)
|
||||||
|
{
|
||||||
|
if(weight < 0.5f)
|
||||||
|
{
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
DensityType getThreshold(void)
|
DensityType getThreshold(void)
|
||||||
{
|
{
|
||||||
return m_tThreshold;
|
return m_tThreshold;
|
||||||
|
@ -55,6 +55,11 @@ public:
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float blendMaterials(float /*a*/, float /*b*/, float /*weight*/)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
float getThreshold(void)
|
float getThreshold(void)
|
||||||
{
|
{
|
||||||
return 50.0f;
|
return 50.0f;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user