PCG-FPS
v2 m0.22.4
Simple First Person Shooter with Procedurally Generated Level
|
Go to the documentation of this file. 1 #ifndef SKR_FPS2_RENDERER_OPENGL_RENDERER_H
2 #define SKR_FPS2_RENDERER_OPENGL_RENDERER_H
22 #include "..\..\Collision\CollisionManager.h"
27 static void APIENTRY
GLDebugMessageCallback(GLenum src, GLenum type, GLuint
id, GLenum severity, GLsizei length,
const GLchar* msg,
const void* userParam);
75 std::unordered_map<ShaderType, Shader>
_shaders;
93 Renderer(std::string windowTitle, std::string settingsfile =
"settings.cfg");
168 #endif // !SKR_FPS2_RENDERER_OPENGL_RENDERER_H
void InitShaders()
Initialize Shaders.
Definition: RendererOpenGL.cpp:145
void CreateDebugGeometry()
create geometry used in debug modes
Definition: RendererOpenGL.cpp:347
VaoType
type identifies for vertex array objects
Definition: RendererOpenGL.h:43
void CreateGeometry()
create geometry
Definition: RendererOpenGL.cpp:272
void Initialize()
initialization since the renderer-object in main is global, its constructed at runtime,...
Definition: RendererOpenGL.cpp:61
static void APIENTRY GLDebugMessageCallback(GLenum src, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *msg, const void *userParam)
Definition: RendererOpenGL.cpp:849
GLFWwindow * _window
GLFW window.
Definition: RendererOpenGL.h:72
uint32_t _framebufferTexture
id of main framebuffer texture
Definition: RendererOpenGL.h:62
float _deltatime
time between current and last frame
Definition: RendererOpenGL.h:81
void CreateFramebufferForScreen()
create framebuffer for screen to render everything to
Definition: RendererOpenGL.cpp:393
~Renderer()
destructor
Definition: RendererOpenGL.cpp:40
void InitCamera()
Initialize camera.
Definition: RendererOpenGL.cpp:455
@ Geometry
general geometry
std::unordered_map< ShaderType, Shader > _shaders
map of shaders
Definition: RendererOpenGL.h:75
void Render()
main rendering function contains the render loop
Definition: RendererOpenGL.cpp:542
@ Geometry
general geometry
std::unordered_map< VaoType, uint32_t > _vertexArrayObjects
map of vertex array objects
Definition: RendererOpenGL.h:74
void InitGLFW()
Initialize GLFW.
Definition: RendererOpenGL.cpp:88
Renderer()
default constructor default constructor is needed since OpenGL Renderer Object is a global object,...
Definition: RendererOpenGL.cpp:26
void CreateSkybox()
create skybox
Definition: RendererOpenGL.cpp:425
std::string GetGLDetails(bool getExtensions=false)
gets system details on OpenGL
Definition: RendererOpenGL.cpp:203
manages cubemap texture
Definition: Cubemap.h:20
std::shared_ptr< Camera > _camera
camera
Definition: RendererOpenGL.h:79
std::shared_ptr< Collision::CollisionManager > _collisionManager
collision manager
Definition: RendererOpenGL.h:77
size_t _debugLightModelId
id of model to visualize lights
Definition: RendererOpenGL.h:64
std::unordered_map< VboType, uint32_t > _vertexBufferObjects
map of vertex buffer objects
Definition: RendererOpenGL.h:73
std::string _windowTitle
title of windows
Definition: RendererOpenGL.h:67
Cubemap _skyboxCubemap
cubemap of skybox
Definition: RendererOpenGL.h:66
void SetWindowTitle(std::string title)
sets window title to given string
Definition: RendererOpenGL.cpp:78
static void GetGLError()
get errors from OpenGL state machine encapusaltes glGetError()-call and generates readable output
Definition: RendererOpenGL.cpp:958
OpenGL renderer.
Definition: RendererOpenGL.h:59
void ProcessInputPerFrame(glm::vec3 collisionNormal=glm::vec3(0.0f))
process input on current frame
Definition: RendererOpenGL.cpp:528
uint32_t _framebuffer
id of main framebuffer
Definition: RendererOpenGL.h:61
void CreateScreenQuad()
create screen quad to render everything to
Definition: RendererOpenGL.cpp:373
Definition: AssetPath.h:10
VboType
type identifies for vertex buffer objects
Definition: RendererOpenGL.h:50
Renderer(const Renderer &)=delete
copy constructor is deleted
void InitDebugLight()
Initialize debug light.
Definition: RendererOpenGL.cpp:517
void ConfigureGlobalOpenGLStates()
configure global OpenGL state variables
Definition: RendererOpenGL.cpp:185
void RecreateGeometry()
recreates geometry if game is restarted
Definition: RendererOpenGL.cpp:354
float _lastFrame
time of last frame
Definition: RendererOpenGL.h:82
Renderer(const Renderer &&)=delete
rvalue copy constructor is deleted
void InitGlew()
Initialze Glew.
Definition: RendererOpenGL.cpp:133
bounding box of entire level geometry
Definition: GeometryBoundingBox.h:23
GeometryBoundingBox _geoBB
bounding box of entire level geometry
Definition: RendererOpenGL.h:69