Got blending between materials working with texture atlases.

This commit is contained in:
David Williams
2008-01-16 19:51:47 +00:00
parent 98af071bdd
commit c013b100a2
9 changed files with 158 additions and 57 deletions

View File

@ -16,7 +16,7 @@ namespace Ogre
class IndexedSurfacePatch
{
public:
IndexedSurfacePatch();
IndexedSurfacePatch(bool allowDuplicateVertices);
~IndexedSurfacePatch();
void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2);
@ -27,6 +27,9 @@ namespace Ogre
std::vector<SurfaceVertex> m_vecVertices;
long int vertexIndices[OGRE_REGION_SIDE_LENGTH*2+1][OGRE_REGION_SIDE_LENGTH*2+1][OGRE_REGION_SIDE_LENGTH*2+1];
private:
bool m_AllowDuplicateVertices;
};
}

View File

@ -32,7 +32,7 @@ namespace Ogre
{
public:
SurfaceVertex();
SurfaceVertex(UIntVector3 positionToSet, float alphaToSet);
SurfaceVertex(UIntVector3 positionToSet, float materialToSet, float alphaToSet);
SurfaceVertex(UIntVector3 positionToSet, Vector3 normalToSet);
friend bool operator==(const SurfaceVertex& lhs, const SurfaceVertex& rhs);
@ -40,20 +40,22 @@ namespace Ogre
float getAlpha(void) const;
const SurfaceEdgeIterator& getEdge(void) const;
float getMaterial(void) const;
const Vector3& getNormal(void) const;
const UIntVector3& getPosition(void) const;
void setAlpha(float alphaToSet);
void setEdge(const SurfaceEdgeIterator& edgeToSet);
void setMaterial(float materialToSet);
void setNormal(const Vector3& normalToSet);
std::string toString(void) const;
private:
float alpha;
Vector3 normal;
private:
UIntVector3 position;
Vector3 normal;
float material;
float alpha;
SurfaceEdgeIterator edge;