- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

# src/TaskBasedFlockSim/TestRender.h

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020 #ifndef _TEST_RENDER_H_
    00021 #define _TEST_RENDER_H_
    00022
    00026
    00027 #include "IRenderCallable.h"
    00028 #include "TestScene.h"
    00029 #include <windows.h>
    00030 #include "OpenglDriver.h"
    00031
    00032 #include <boost\shared_ptr.hpp>
    00033 #include "OpenglProgram.h"
    00034
    00035 namespace TaskBasedFlockSim
    00036 {
    00037
    00038 class TestRender :
    00039         public TestFrameWork::IRenderCallable
    00040 {
    00041 public:
    00042         TestRender(TestFrameWork::ScenePtr scene, HDC canvasContext, size_t width, size_t height);
    00043
    00044         ~TestRender(void);
    00045
    00046         void Initialize(void);
    00047
    00048         void Setup(void);
    00049
    00050         void Run(float elapsedTime);
    00051
    00052 private:
    00053         TestScenePtr m_scene;
    00054
    00055         HDC m_canvasContext;
    00056         size_t m_width;
    00057         size_t m_height;
    00058
    00059         TestFrameWork::OpenglDriverPtr m_driver;
    00060
    00061         size_t m_teapotVertexBuffer;
    00062         size_t m_teapotIndexBuffer;
    00063
    00064         TestFrameWork::OpenglProgramWeakPtr m_program;
    00065
    00066         TestFrameWork::OpenglTextureWeakPtr m_flockDataTexture;
    00067
    00068         size_t m_maximumTexture2DSize;
    00069
    00070         TestFrameWork::TextureData m_textureData;
    00071         size_t m_textureDataSize;
    00072
    00073         void CreateTeapotBuffers(void);
    00074
    00075         void CreateProgram(void);
    00076
    00077         void SetProgramParameters(void);
    00078
    00079         void CreateFlockTextureData(void);
    00080
    00081         void ModifyFlockTextureData(void);
    00082
    00083         void SetMaxFlockSize(void);
    00084
    00085         void RenderMetrics(float renderElapsedTime, float logicElapsedTime);
    00086 };
    00087
    00088 }
    00089
    00090 #endif