summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Manasseh <joel_manasseh@brown.edu>2024-05-10 10:11:40 -0400
committerJoel Manasseh <joel_manasseh@brown.edu>2024-05-10 10:11:40 -0400
commited9d441ea39800a6c239a60d4587768411cb5ff7 (patch)
treea6ca9daf801973b27e5410db949a79766b012f7d
parent3d34594abdbd4d1377ae2fa04734a21579013896 (diff)
sampling from the skybox, not clouds
-rw-r--r--resources/images/skyboxes/the_sky_is_on_fire_8k.hdrbin0 -> 92913392 bytes
-rw-r--r--resources/images/skyboxes/the_sky_is_on_fire_8k.pngbin0 -> 67108864 bytes
-rwxr-xr-xresources/shaders/shader.frag5
-rwxr-xr-xsrc/glwidget.cpp5
-rw-r--r--src/graphics/shape.cpp8
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
new file mode 100644
index 0000000..0cb60f6
--- /dev/null
+++ b/resources/images/skyboxes/the_sky_is_on_fire_8k.hdr
Binary files 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
--- /dev/null
+++ b/resources/images/skyboxes/the_sky_is_on_fire_8k.png
Binary files 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();