41 inline void SetVertexBufferUsage(Resource::Usage
usage);
47 inline void SetIndexFormat(
bool use32Bit);
51 inline void SetIndexBufferUsage(Resource::Usage usage);
60 inline void SetOutside(
bool outside);
69 std::shared_ptr<Visual> CreateRectangle(
unsigned int numXSamples,
70 unsigned int numYSamples,
float xExtent,
float yExtent);
77 std::shared_ptr<Visual> CreateTriangle(
unsigned int numSamples,
78 float xExtent,
float yExtent);
86 std::shared_ptr<Visual> CreateDisk(
unsigned int numShellSamples,
87 unsigned int numRadialSamples,
float radius);
93 std::shared_ptr<Visual> CreateBox(
float xExtent,
float yExtent,
106 std::shared_ptr<Visual> CreateCylinderOpen(
unsigned int numAxisSamples,
107 unsigned int numRadialSamples,
float radius,
float height);
108 std::shared_ptr<Visual> CreateCylinderClosed(
unsigned int numAxisSamples,
109 unsigned int numRadialSamples,
float radius,
float height);
118 std::shared_ptr<Visual> CreateSphere(
unsigned int numZSamples,
119 unsigned int numRadialSamples,
float radius);
126 std::shared_ptr<Visual> CreateTorus(
unsigned int numCircleSamples,
127 unsigned int numRadialSamples,
float outerRadius,
float innerRadius);
130 std::shared_ptr<Visual> CreateTetrahedron();
131 std::shared_ptr<Visual> CreateHexahedron();
132 std::shared_ptr<Visual> CreateOctahedron();
133 std::shared_ptr<Visual> CreateDodecahedron();
134 std::shared_ptr<Visual> CreateIcosahedron();
138 std::shared_ptr<VertexBuffer> CreateVBuffer(
unsigned int numVertices);
139 std::shared_ptr<IndexBuffer> CreateIBuffer(
unsigned int numTriangles);
142 char* GetGeometricChannel(std::shared_ptr<VertexBuffer>
const& vbuffer,
143 VASemantic semantic,
float w);
154 void SetPlatonicTCoord(
unsigned int i,
Vector3<float> const& pos);
185 mIndexSize = (use32Bit ?
sizeof(
unsigned int) :
sizeof(
unsigned short));
201 mPositions + i*mVFormat.GetVertexSize());
207 mNormals + i*mVFormat.GetVertexSize());
213 mTangents + i*mVFormat.GetVertexSize());
219 mBitangents + i*mVFormat.GetVertexSize());
225 mTCoords[unit] + i*mVFormat.GetVertexSize());
void SetVertexBufferUsage(Resource::Usage usage)
void SetVertexFormat(VertexFormat const &format)
Vector3< float > & Normal(unsigned int i)
Vector3< float > & Bitangent(unsigned int i)
Vector3< float > & Position(unsigned int i)
Vector2< float > & TCoord(unsigned int unit, unsigned int i)
GLubyte GLubyte GLubyte GLubyte w
typedef int(WINAPI *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer
Vector3< float > & Tangent(unsigned int i)
void SetIndexFormat(bool use32Bit)
void SetOutside(bool outside)
GLint GLint GLsizei GLint GLenum format
GLint GLsizei GLsizei height
GLsizeiptr const void GLenum usage
void SetIndexBufferUsage(Resource::Usage usage)