#ifndef SIMPLE_OPENGL3_APP_H #define SIMPLE_OPENGL3_APP_H #include "OpenGLWindow/GLInstancingRenderer.h" #include "OpenGLWindow/GLPrimitiveRenderer.h" #include "OpenGLWindow/b3gWindowInterface.h" #include "OpenGLWindow/CommonGraphicsApp.h" struct SimpleOpenGL3App : public CommonGraphicsApp { struct SimpleInternalData* m_data; class GLPrimitiveRenderer* m_primRenderer; class GLInstancingRenderer* m_instancingRenderer; SimpleOpenGL3App(const char* title, int width,int height); virtual ~SimpleOpenGL3App(); int registerCubeShape(float halfExtentsX=1.f,float halfExtentsY=1.f, float halfExtentsZ = 1.f); int registerGraphicsSphereShape(float radius, bool usePointSprites=true, int largeSphereThreshold=100, int mediumSphereThreshold=10); void dumpNextFrameToPng(const char* pngFilename); void dumpFramesToVideo(const char* mp4Filename); void drawGrid(DrawGridData data=DrawGridData()); virtual void setUpAxis(int axis); virtual int getUpAxis() const; virtual void swapBuffer(); virtual void drawText( const char* txt, int posX, int posY); struct sth_stash* getFontStash(); }; #endif //SIMPLE_OPENGL3_APP_H