1#ifndef PGR_SEM_COPAKOND_SCENE_H
2#define PGR_SEM_COPAKOND_SCENE_H
39 std::vector<Mesh*>
meshes = std::vector<Mesh*>();
40 std::vector<Light*>
lights = std::vector<Light*>();
41 std::vector<Spline*>
splines = std::vector<Spline*>();
42 std::vector<CollisionShape*>
colliders = std::vector<CollisionShape*>();
60 camera =
new Camera(glm::vec3(0.0f),glm::vec3(0.0f), 1000.0f);
83 virtual void update(
float deltaTime) {};
Camera for generating view and projection matrices.
Definition camera.h:20
Base class for scene lighting calculations.
Definition light.h:23
Base drawable 3D object containing geometry and material data.
Definition mesh.h:19
virtual void onKeyboardEvent(unsigned char key, int x, int y, bool isDown)
Definition scene.h:88
const std::vector< Light * > & getLights() const
Definition scene.h:67
float getSkyboxBlendingCoeff()
Definition scene.h:78
Shader * shader
Definition scene.h:36
Light * sun
Definition scene.h:44
virtual void onMouseWheelEvent(int wheel, int direction, int x, int y)
Definition scene.h:91
Scene(const char *sceneName, Input *engineInput, Shader *engineShader, int winWidth, int winHeight)
Definition scene.h:57
Input * input
Definition scene.h:35
virtual void onScreenResizeEvent(int width, int height)
Handles viewport and projection matrix updates on window resize.
Definition scene.h:95
std::vector< Mesh * > meshes
Definition scene.h:39
Input * getInput() const
Definition scene.h:74
float updateTime()
Calculates delta time since the last frame.
Definition scene.cpp:6
virtual void init()
Definition scene.h:82
std::vector< CollisionShape * > colliders
Definition scene.h:42
Shader * getShader() const
Definition scene.h:73
int winWidth
Definition scene.h:48
void addToScene(Mesh *mesh)
Definition scene.cpp:13
const std::vector< Mesh * > & getMeshes() const
Definition scene.h:66
const char * WIN_TITLE
Definition scene.h:34
virtual void onMouseButtonEvent(int button, int state, int x, int y)
Definition scene.h:90
virtual void onMenuEvent(int option)
Definition scene.h:97
Skybox * skybox
Definition scene.h:45
int winHeight
Definition scene.h:49
Skybox * getSkybox() const
Definition scene.h:70
std::vector< Spline * > splines
Definition scene.h:41
virtual void update(float deltaTime)
Definition scene.h:83
const std::vector< CollisionShape * > & getColliders() const
Definition scene.h:69
Camera & getCamera()
Definition scene.h:72
virtual void physics_update(float deltaTime)
Fixed-step physics update loop for resolving collisions and forces.
Definition scene.h:86
Light * getSun() const
Definition scene.h:71
std::vector< Light * > lights
Definition scene.h:40
uint64_t time
Definition scene.h:47
const char * getSceneName()
Definition scene.h:79
float skyboxBlendingCoeff
Definition scene.h:50
const std::vector< Spline * > & getSplines() const
Definition scene.h:68
Camera * camera
Definition scene.h:38
virtual void onMouseMoveEvent(int x, int y)
Definition scene.h:92
Core manager for shader program compilation, uniform binding, and rendering.
Definition shader.h:13
Environmental background cube map with day/night cycle blending.
Definition skybox.h:10
Base class for parameterized spline animations.
Definition spline.h:9
PGR Semestral work with sample scenes and bowling. doxygen was generated with a help of LLM.
Definition bezier.cpp:3
StencilSelect stencilMode
Definition scene.cpp:4
StencilSelect
Determines which objects are written to the stencil buffer for mouse picking.
Definition scene.h:28
@ ALL
Definition scene.h:28
@ MESHES
Definition scene.h:28
@ COLLISION
Definition scene.h:28