From ed9d441ea39800a6c239a60d4587768411cb5ff7 Mon Sep 17 00:00:00 2001 From: Joel Manasseh Date: Fri, 10 May 2024 10:11:40 -0400 Subject: sampling from the skybox, not clouds --- resources/images/skyboxes/the_sky_is_on_fire_8k.hdr | Bin 0 -> 92913392 bytes resources/images/skyboxes/the_sky_is_on_fire_8k.png | Bin 0 -> 67108864 bytes resources/shaders/shader.frag | 5 +++-- src/glwidget.cpp | 5 +++++ src/graphics/shape.cpp | 8 ++++---- 5 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 resources/images/skyboxes/the_sky_is_on_fire_8k.hdr create mode 100644 resources/images/skyboxes/the_sky_is_on_fire_8k.png diff --git a/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr b/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr new file mode 100644 index 0000000..0cb60f6 Binary files /dev/null and b/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr differ diff --git a/resources/images/skyboxes/the_sky_is_on_fire_8k.png b/resources/images/skyboxes/the_sky_is_on_fire_8k.png new file mode 100644 index 0000000..5b8a659 Binary files /dev/null and b/resources/images/skyboxes/the_sky_is_on_fire_8k.png differ diff --git a/resources/shaders/shader.frag b/resources/shaders/shader.frag index 224b68e..581f4e2 100755 --- a/resources/shaders/shader.frag +++ b/resources/shaders/shader.frag @@ -22,7 +22,7 @@ uniform float alpha = 1.0; //layout(binding = 0) uniform sampler2D groundSampler; //layout(binding = 1) uniform sampler2D skySampler; uniform sampler2D groundSampler; -uniform sampler2D skySampler; +uniform samplerCube skySampler; uniform vec2 widthBounds; uniform vec2 lengthBounds; uniform vec4 sunColor = vec4(128, 10, 0, 1.f); @@ -90,7 +90,8 @@ void main() { vec4 transmissive = texture(groundSampler, vec2(refrUVBlurry)); vec4 murk = (vec4(waterVolumeColor * d * murkDiffuse + waterVolumeColor * murkAmbient, 1.0f)); - vec4 skyRefl = texture(skySampler, vec2(reflUV)); +// vec4 skyRefl = texture(skySampler, vec2(reflUV)); + vec4 skyRefl = texture(skySampler, reflPos); // refrProb *= beerAtt; fragColor = 0.75f * diffuse; // Diffuse diff --git a/src/glwidget.cpp b/src/glwidget.cpp index cbc6971..57df286 100755 --- a/src/glwidget.cpp +++ b/src/glwidget.cpp @@ -425,6 +425,11 @@ void GLWidget::paintGL() glBindTexture(GL_TEXTURE_2D, m_fbo_texture); glUniform1i(glGetUniformLocation(m_defaultShader->id(), "groundSampler"), 2); + glActiveTexture(GL_TEXTURE1); + glBindTexture(GL_TEXTURE_CUBE_MAP, m_skybox.getSkyboxTex()); + m_defaultShader->setUniform("skySampler", 1); + glUniform1i(glGetUniformLocation(m_defaultShader->id(), "skySampler"), 1); + m_arap.draw(m_defaultShader, GL_TRIANGLES); m_defaultShader->unbind(); diff --git a/src/graphics/shape.cpp b/src/graphics/shape.cpp index 874a9e6..abe4f7b 100644 --- a/src/graphics/shape.cpp +++ b/src/graphics/shape.cpp @@ -173,10 +173,10 @@ void Shape::draw(Shader *shader, GLenum mode) // FIGURED OUT THE PROBLEM. it was that SAMPLERS WERE DEFAULTING TO SLOT 0 AND SETUNIFORM WASN'T WORKING // BECAUSE IT WAS CALLING SETUNIFORM WITH FREAKING FLOATS. WHAT THE FRICK C++. // https://learnopengl.com/Getting-started/Textures - glActiveTexture(GL_TEXTURE1); - glBindTexture(GL_TEXTURE_2D, m_sky_texture); - shader->setUniform("skySampler", 1); - glUniform1i(glGetUniformLocation(shader->id(), "skySampler"), 1); +// glActiveTexture(GL_TEXTURE1); +// glBindTexture(GL_TEXTURE_2D, m_sky_texture); +// shader->setUniform("skySampler", 1); +// glUniform1i(glGetUniformLocation(shader->id(), "skySampler"), 1); Eigen::Matrix3f m3 = m_modelMatrix.topLeftCorner(3, 3); Eigen::Matrix3f inverseTransposeModel = m3.inverse().transpose(); -- cgit v1.2.3-70-g09d2