Files
Prism/Sandbox/Sandbox/Layer/TestLayer.h

50 lines
1.2 KiB
C++

//
// Created by sfd on 25-11-23.
//
#ifndef TESTLAYER_H
#define TESTLAYER_H
#include "glm/vec4.hpp"
#include "Prism/Core/Layer.h"
#include "Prism/Renderer/Buffer.h"
#include "Prism/Renderer/Camera.h"
#include "Prism/Renderer/FrameBuffer.h"
#include "Prism/Renderer/Mesh.h"
#include "Prism/Renderer/Shader.h"
#include "Prism/Renderer/Texture.h"
class TestLayer : public Prism::Layer
{
public:
TestLayer();
void OnAttach() override;
void OnDetach() override;
void OnUpdate(Prism::TimeStep deltaTime) override;
void OnImGuiRender() override;
void OnEvent(Prism::Event& e) override;
private:
glm::vec4 m_clearColor = glm::vec4(0.1f, 0.1f, 0.1f, 1.0f);
glm::vec4 m_TriangleColor = glm::vec4(1.0f);
std::unique_ptr<Prism::FrameBuffer> m_FrameBuffer, m_FinalPresentBuffer;
std::unique_ptr<Prism::VertexBuffer> m_VertexBuffer;
std::unique_ptr<Prism::IndexBuffer> m_IndexBuffer;
std::unique_ptr<Prism::TextureCube> m_SkyBoxTextureCube;
std::unique_ptr<Prism::Shader> m_SkyboxShader;
std::unique_ptr<Prism::Shader> m_Shader;
std::unique_ptr<Prism::Shader> m_HDRShader;
std::unique_ptr<Prism::Mesh> m_Mesh;
Prism::Camera m_Camera;
float m_Exposure = 1.0f;
};
#endif //TESTLAYER_H