5#include "../Lighting/ZBinning.hpp"
12class GraphicsPipeline;
17class VertexDescription;
77 Shader* depthFragmentShader;
88 struct MatricesValues {
89 glm::mat4 viewProjectionMatrix;
93 struct FragmentUniforms {
94 uint32_t directionalLightCount;
105 glm::mat4 viewMatrix;
106 glm::mat4 projectionMatrix;
107 glm::mat4 viewProjectionMatrix;
A buffer into which rendering commands are recorded.
Definition: CommandBuffer.hpp:24
Renderable 3D geometry.
Definition: Geometry3D.hpp:15
A graphics pipeline.
Definition: GraphicsPipeline.hpp:11
Low level renderer abstracting the underlaying graphics API (OpenGL or Vulkan).
Definition: LowLevelRenderer.hpp:27
Super class render program.
Definition: RenderProgram.hpp:14
float gamma
Definition: RenderProgram.hpp:35
Determines how a texture should be sampled.
Definition: Sampler.hpp:6
Compiles and handles a shader. Shaders should be linked together into a ShaderProgram.
Definition: Shader.hpp:8
A shader program.
Definition: ShaderProgram.hpp:11
Render program to render an entity using default shader program.
Definition: StaticRenderProgram.hpp:23
~StaticRenderProgram()
Destructor.
Definition: StaticRenderProgram.cpp:53
void DepthRender(CommandBuffer &commandBuffer, Geometry::Geometry3D *geometry, const glm::mat4 &modelMatrix) const
Render depth pass.
Definition: StaticRenderProgram.cpp:80
void Render(CommandBuffer &commandBuffer, Geometry::Geometry3D *geometry, Video::Texture2D *textureAlbedo, Video::Texture2D *textureNormal, Video::Texture2D *textureRoughnessMetallic, const glm::mat4 &modelMatrix) const
Render mesh.
Definition: StaticRenderProgram.cpp:119
StaticRenderProgram(LowLevelRenderer *lowLevelRenderer)
Create new static render program.
Definition: StaticRenderProgram.cpp:21
void PreRender(CommandBuffer &commandBuffer, const glm::mat4 &viewMatrix, const glm::mat4 &projectionMatrix, const ZBinning::LightInfo &lightInfo)
Bind render program.
Definition: StaticRenderProgram.cpp:86
void PreDepthRender(CommandBuffer &commandBuffer, const glm::mat4 &viewMatrix, const glm::mat4 &projectionMatrix)
Bind depth render program.
Definition: StaticRenderProgram.cpp:68
A two-dimensional texture.
Definition: Texture2D.hpp:10
Describes how a vertex buffer is accessed by a shader.
Definition: VertexDescription.hpp:8
Definition: AssetEditor.hpp:5
Definition: Editor.hpp:18
Information about the lights in a scene.
Definition: ZBinning.hpp:23