diff options
Diffstat (limited to 'KaplaDemo/samples/sampleViewer3/Render/glmesh.h')
| -rw-r--r-- | KaplaDemo/samples/sampleViewer3/Render/glmesh.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/KaplaDemo/samples/sampleViewer3/Render/glmesh.h b/KaplaDemo/samples/sampleViewer3/Render/glmesh.h new file mode 100644 index 00000000..87097ab9 --- /dev/null +++ b/KaplaDemo/samples/sampleViewer3/Render/glmesh.h @@ -0,0 +1,42 @@ + +#ifndef __GLMESH_H__ +#define __GLMESH_H__ +#include <GL/glew.h> + +#include "PxPhysics.h" +#include <vector> +using namespace physx; +class GLMesh{ +public: + GLMesh(GLuint elementTypei = GL_TRIANGLES); + ~GLMesh(); + void draw(); + + // For indices + std::vector<PxU32> indices; + std::vector<PxVec3> vertices; + std::vector<PxVec3> normals; + std::vector<PxVec3> colors; + std::vector<float> texCoords; // treats as u v + std::vector<PxVec3> tangents; + std::vector<PxVec3> bitangents; + + // For raw + std::vector<PxVec3> rawVertices; + std::vector<PxVec3> rawNormals; + + void reset(); + void genVBOIBO(); + void updateVBOIBO(bool dynamicVB = true); + void drawVBOIBO(bool enable = true, bool draw = true, bool disable = true, bool drawpoints = false); + + // For vertex buffer + GLuint vbo; + GLuint ibo; + bool firstTimeBO; + bool withTexture, withColor, withNormal, withTangent; + GLuint elementType; + + +}; +#endif |