10 bool initialize(
int w,
int h, SDL_Window* window)
override;
17 const std::vector<VertexAttribute>& attributes,
18 uint32_t stride)
override;
24 Uint32
load_texture_from_raw_data(
const unsigned char* data,
int w,
int h,
int channels = 4,
const std::string& name =
"")
override;
38 const glm::mat4& light_space_matrix,
39 const std::vector<DirectionalLight>& directional_lights,
40 const std::vector<std::pair<Transform3D, SpotLight>>& spot_lights)
override;
52 void resize(
int w,
int h)
override;
59 SDL_GLContext _context =
nullptr;
61 GLuint create_gl_texture(
const unsigned char* data,
int w,
int h,
int channels);
65 float brightness = 1.0f);
71 void setup_lights(
const std::vector<DirectionalLight>& directional_lights,
72 const std::vector<std::pair<Transform3D, SpotLight>>& spot_lights);
GpuBufferType
GpuBuffer Abstract class.
Definition: base_struct.h:29
CubemapOrientation
Definition: base_struct.h:4
GpuBuffer Abstract class.
Definition: base_struct.h:46
Definition: base_struct.h:76
Definition: ogl_renderer.h:4
std::shared_ptr< GpuBuffer > allocate_gpu_buffer(GpuBufferType type) override
Definition: ogl_renderer.cpp:481
void cleanup() override
Definition: ogl_renderer.cpp:707
void resize(int w, int h) override
Definition: ogl_renderer.cpp:701
void render_shadow_pass(const glm::mat4 &light_space_matrix) override
Definition: ogl_renderer.cpp:561
void render_environment_pass(const Camera3D &camera) override
Definition: ogl_renderer.cpp:661
void begin_environment_pass() override
Definition: ogl_renderer.cpp:655
Uint32 load_texture_from_memory(const unsigned char *buffer, size_t size, const std::string &name="") override
Definition: ogl_renderer.cpp:510
Uint32 load_texture_from_raw_data(const unsigned char *data, int w, int h, int channels=4, const std::string &name="") override
Definition: ogl_renderer.cpp:531
bool initialize(int w, int h, SDL_Window *window) override
Definition: ogl_renderer.cpp:365
void add_to_render_batch(const Transform3D &transform, const MeshRef &mesh_ref, const MaterialRef &mat_ref) override
Definition: ogl_renderer.cpp:686
void begin_shadow_pass() override
Definition: ogl_renderer.cpp:554
void end_environment_pass() override
Definition: ogl_renderer.cpp:682
void add_to_shadow_batch(const Transform3D &transform, const MeshRef &mesh_ref) override
Definition: ogl_renderer.cpp:695
void end_render_target() override
Definition: ogl_renderer.cpp:651
~OpenGLRenderer() override
Definition: ogl_renderer.cpp:360
Uint32 load_texture_from_file(const std::string &path) override
Definition: ogl_renderer.cpp:491
std::shared_ptr< GpuVertexLayout > create_vertex_layout(const GpuBuffer *vertex_buffer, const GpuBuffer *index_buffer, const std::vector< VertexAttribute > &attributes, uint32_t stride) override
Definition: ogl_renderer.cpp:485
void begin_frame() override
Definition: ogl_renderer.cpp:544
void end_shadow_pass() override
Definition: ogl_renderer.cpp:584
void render_main_target(const Camera3D &camera, const Transform3D &camera_transform, const glm::mat4 &light_space_matrix, const std::vector< DirectionalLight > &directional_lights, const std::vector< std::pair< Transform3D, SpotLight >> &spot_lights) override
Definition: ogl_renderer.cpp:597
void begin_render_target() override
Definition: ogl_renderer.cpp:590
void swap_chain() override
Definition: ogl_renderer.cpp:722
Definition: renderer.h:33
3D Camera
Definition: components.h:80
Definition: components.h:152
Definition: components.h:148
Definition: base_struct.h:201