12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #ifndef _GL_PRIMITIVE_RENDERER_H
- #define _GL_PRIMITIVE_RENDERER_H
- //#include "OpenGLInclude.h"
- struct PrimVec2
- {
- PrimVec2(float x, float y)
- {
- p[0] = x;
- p[1] = y;
- }
- float p[2];
- };
- struct PrimVec4
- {
- PrimVec4() {}
- PrimVec4(float x,float y, float z, float w)
- {
- p[0] = x;
- p[1] = y;
- p[2] = z;
- p[3] = w;
-
- }
-
- float p[4];
- };
- typedef struct
- {
- PrimVec4 position;
- PrimVec4 colour;
- PrimVec2 uv;
- } PrimVertex;
- class GLPrimitiveRenderer
- {
- int m_screenWidth;
- int m_screenHeight;
- struct PrimInternalData* m_data;
-
- void loadBufferData();
-
- public:
-
- GLPrimitiveRenderer(int screenWidth, int screenHeight);
- virtual ~GLPrimitiveRenderer();
-
- void drawRect(float x0, float y0, float x1, float y1, float color[4]);
- void drawTexturedRect(float x0, float y0, float x1, float y1, float color[4], float u0,float v0, float u1, float v1, int useRGBA=0);
- void drawTexturedRect3D(const PrimVertex& v0,const PrimVertex& v1,const PrimVertex& v2,const PrimVertex& v3,float viewMat[16],float projMat[16], bool useRGBA = true);
- void drawLine();//float from[4], float to[4], float color[4]);
- void setScreenSize(int width, int height);
-
- PrimInternalData* getData()
- {
- return m_data;
- }
- };
- #endif//_GL_PRIMITIVE_RENDERER_H
|