5#include "hellfire/graphics/renderer/SkyboxRenderer.h"
7#include <glm/gtc/type_ptr.hpp>
9#include "../core/Application.h"
12#include "hellfire/utilities/ServiceLocator.h"
82 glBindBuffer(GL_ARRAY_BUFFER, skybox_vbo_);
83 glBufferData(GL_ARRAY_BUFFER,
sizeof(skyboxVertices), &skyboxVertices, GL_STATIC_DRAW);
85 glEnableVertexAttribArray(0);
86 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 *
sizeof(
float),
static_cast<
void *>(
nullptr));
93 "assets/shaders/skybox.vert",
"assets/shaders/skybox.frag");
100 glDepthFunc(GL_LEQUAL);
105 glm::mat4 view = glm::mat4(glm::mat3(camera->get_view_matrix()));
106 glm::mat4 projection = camera->get_projection_matrix();
108 glUniformMatrix4fv(glGetUniformLocation(skybox_shader_,
"view"), 1, GL_FALSE, glm::value_ptr(view));
109 glUniformMatrix4fv(glGetUniformLocation(skybox_shader_,
"projection"), 1, GL_FALSE, glm::value_ptr(projection));
112 glUniform3fv(glGetUniformLocation(skybox_shader_,
"tint"), 1, glm::value_ptr(skybox.get_tint()));
116 glActiveTexture(GL_TEXTURE0);
117 glBindTexture(GL_TEXTURE_CUBE_MAP, skybox.get_cubemap());
122 glDrawArrays(GL_TRIANGLES, 0, 36);
123 glBindVertexArray(0);
126 glDepthFunc(GL_LESS);
void load_skybox_shader()
void render(const Skybox &skybox, const CameraComponent *camera) const
void setup_skybox_geometry()
float get_exposure() const