Game of Ur 0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
Loading...
Searching...
No Matches
render_stage.hpp File Reference

A file containing render stage related classes, this engine's representation of a single "step" in a graphics pipeline. More...

#include <string>
#include <map>
#include <queue>
#include <SDL2/SDL.h>
#include "texture.hpp"
#include "shader_program.hpp"
#include "framebuffer.hpp"
#include "mesh.hpp"
#include "material.hpp"
#include "instance.hpp"
#include "model.hpp"
#include "light.hpp"
#include "util.hpp"

Go to the source code of this file.

Classes

struct  ToyMaker::OpaqueRenderUnit
 An object representing a single opaque mesh-material pair, to be rendered this frame. More...
 
struct  ToyMaker::LightRenderUnit
 Contains the model matrix, mesh, and light emission for a single light object being rendered this frame. More...
 
class  ToyMaker::BaseRenderStage
 Represents a single render stage or a render step that applies to the default (window) framebuffer. More...
 
class  ToyMaker::BaseOffscreenRenderStage
 Base class for render stages which render to an offscreen buffer. More...
 
class  ToyMaker::GeometryRenderStage
 Render step responsible for translating mesh-material data into geometry buffers. More...
 
class  ToyMaker::LightingRenderStage
 Render stage which takes geometry buffers and scene lights as inputs, and produces a lit scene as output. More...
 
class  ToyMaker::BlurRenderStage
 Multipurpose render stage which at present is used to compute a simple bloom effect from a scene's "brightCutoff" texture. More...
 
class  ToyMaker::SkyboxRenderStage
 Uses a skybox texture (i.e a texture with a supported cubemap format) to render a skybox behind geometry in the scene. More...
 
class  ToyMaker::TonemappingRenderStage
 Takes lit scene (with bloom if it's used), and produces a tonemapped and gamma corrected version of the scene. More...
 
class  ToyMaker::AdditionRenderStage
 Stage responsible for combining multiple textures together. More...
 
class  ToyMaker::ScreenRenderStage
 Render stage responsible for rendering any texture attached as source to the screen. More...
 
class  ToyMaker::ResizeRenderStage
 Render stage responsible for resizing a texture to its final intended resolution. More...
 

Namespaces

namespace  ToyMaker
 Namespace containing all class definitions and functions related to the ToyMaker engine.
 

Detailed Description

A file containing render stage related classes, this engine's representation of a single "step" in a graphics pipeline.

Author
Zoheb Shujauddin (zoheb.nosp@m.2424.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
Version
0.3.2
Date
2025-09-04