diff options
author | Joel Manasseh <joel_manasseh@brown.edu> | 2024-05-10 10:11:40 -0400 |
---|---|---|
committer | Joel Manasseh <joel_manasseh@brown.edu> | 2024-05-10 10:11:40 -0400 |
commit | ed9d441ea39800a6c239a60d4587768411cb5ff7 (patch) | |
tree | a6ca9daf801973b27e5410db949a79766b012f7d | |
parent | 3d34594abdbd4d1377ae2fa04734a21579013896 (diff) |
sampling from the skybox, not clouds
-rw-r--r-- | resources/images/skyboxes/the_sky_is_on_fire_8k.hdr | bin | 0 -> 92913392 bytes | |||
-rw-r--r-- | resources/images/skyboxes/the_sky_is_on_fire_8k.png | bin | 0 -> 67108864 bytes | |||
-rwxr-xr-x | resources/shaders/shader.frag | 5 | ||||
-rwxr-xr-x | src/glwidget.cpp | 5 | ||||
-rw-r--r-- | src/graphics/shape.cpp | 8 |
5 files changed, 12 insertions, 6 deletions
diff --git a/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr b/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr Binary files differnew file mode 100644 index 0000000..0cb60f6 --- /dev/null +++ b/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr diff --git a/resources/images/skyboxes/the_sky_is_on_fire_8k.png b/resources/images/skyboxes/the_sky_is_on_fire_8k.png Binary files differnew file mode 100644 index 0000000..5b8a659 --- /dev/null +++ b/resources/images/skyboxes/the_sky_is_on_fire_8k.png 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(); |