| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #pragma once
- #include "../GameCode4/interfaces.h"
- #include <memory>
- //
- // struct ConstantBuffer_Matrices - Chapter X, page Y
- //
- struct alignas(16) ConstantBuffer_Matrices
- {
- glm::mat4 m_WorldViewProj;
- glm::mat4 m_World;
- };
- //
- // struct ConstantBuffer_Material - Chapter X, page Y
- //
- struct alignas(16) ConstantBuffer_Material
- {
- glm::vec4 m_vDiffuseObjectColor;
- glm::vec4 m_vAmbientObjectColor;
- bool m_bHasTexture;
- glm::vec3 m_vUnused;
- };
- #define MAXIMUM_LIGHTS_SUPPORTED (8)
- //
- // struct ConstantBuffer_Lighting - Chapter X, page Y
- //
- struct alignas(16) ConstantBuffer_Lighting
- {
- glm::vec4 m_vLightDiffuse[MAXIMUM_LIGHTS_SUPPORTED];
- glm::vec4 m_vLightDir[MAXIMUM_LIGHTS_SUPPORTED];
- glm::vec4 m_vLightAmbient;
- unsigned int m_nNumLights;
- glm::vec3 m_vUnused;
- };
- class OpenGLRenderer46 : public IRenderer
- {
- public:
- OpenGLRenderer46() { }
- virtual int VOnRestore() override;
- virtual void VSetBackgroundColor(unsigned char bgA, unsigned char bgR, unsigned char bgG, unsigned char bgB) override;
- virtual void VShutdown() override;
- virtual bool VPreRender() override;
- virtual bool VPostRender() override;
- virtual void VCalcLighting(Lights *lights, int maximumLights) { }
-
- virtual void VSetWorldTransform(glm::mat4 m);
- virtual void VSetViewTransform(glm::mat4 m);
- virtual void VSetProjectionTransform(glm::mat4 m);
- virtual std::shared_ptr<IRenderState> VPrepareAlphaPass() override;
- virtual std::shared_ptr<IRenderState> VPrepareSkyBoxPass() override;
- };
|