| 123456789101112131415161718192021222324252627282930313233343536 |
- $#include "Graphics/CustomGeometry.h"
- struct CustomGeometryVertex
- {
- Vector3 position_ @ position;
- Vector3 normal_ @ normal;
- unsigned color_ @ color;
- Vector2 texCoord_ @ texCoord;
- Vector4 tangent_ @ tangent;
- };
- class CustomGeometry : public Drawable
- {
- void Clear();
- void SetNumGeometries(unsigned num);
- void SetDynamic(bool enable);
- void BeginGeometry(unsigned index, PrimitiveType type);
- void DefineVertex(const Vector3& position);
- void DefineNormal(const Vector3& normal);
- void DefineTangent(const Vector4& tangent);
- void DefineColor(const Color& color);
- void DefineTexCoord(const Vector2& texCoord);
- void DefineGeometry(unsigned index, PrimitiveType type, unsigned numVertices, bool hasNormals, bool hasColors, bool hasTexCoords, bool hasTangents);
- void Commit();
- void SetMaterial(Material* material);
- bool SetMaterial(unsigned index, Material* material);
- unsigned GetNumGeometries() const;
- unsigned GetNumVertices(unsigned index) const;
- bool IsDynamic() const;
- Material* GetMaterial(unsigned index = 0);
- CustomGeometryVertex* GetVertex(unsigned geometryIndex, unsigned vertexNum);
- tolua_property__get_set Material* material;
- tolua_property__get_set unsigned numGeometries;
- tolua_property__is_set bool dynamic;
- };
|