13#include "Material.hpp"
14#include "../GameObject.hpp"
15#include "../GameObjects/Camera.hpp"
19namespace Engine::Graphics {
35 unsigned long m_context;
42 unsigned int m_currentShaderProgram;
78 Vec3f scale = {1, 1, 1},
Vec3f rotation = {0, 0, 0});
Camera class for the game engine.
Definition Camera.hpp:19
an semi-abstract class that represents a material to a shader
Definition Material.hpp:43
a class used to interact with html canvases
Definition Renderer.hpp:33
void SetCameraReference(Camera &camera)
Sets the camera reference.
Definition Renderer.cpp:160
void UseShader(Shader &shader)
Sets the currently loaded shader.
Definition Renderer.cpp:144
void ClearBuffer()
Clears the canvas to the default clear color.
Definition Renderer.cpp:65
void SetBackgroundColor(Vec3f color)
Sets the background color of the canvas.
Definition Renderer.cpp:164
void UseTexture(Texture &texture, unsigned int slot=GL_TEXTURE0)
Takes the texture and binds it to the specified slot.
Definition Renderer.cpp:149
void DrawMesh(Mesh *mesh, Vec3f position={0, 0, 0}, Vec3f scale={1, 1, 1}, Vec3f rotation={0, 0, 0})
Draws a mesh to the canvas.
Definition Renderer.cpp:69
void UseMaterial(Material *material)
Sets the currently loaded material.
Definition Renderer.cpp:155
A class used to load and use shaders.
Definition Shader.hpp:37
A wrapper class for a texture for the game engine.
Definition Texture.hpp:35
A 3D vector struct with overloaded operators.
Definition Utils.hpp:86