diff --git a/PanoPainter.vcxproj b/PanoPainter.vcxproj
index 077ce91..8fd034d 100644
--- a/PanoPainter.vcxproj
+++ b/PanoPainter.vcxproj
@@ -542,6 +542,8 @@
+
+
diff --git a/PanoPainter.vcxproj.filters b/PanoPainter.vcxproj.filters
index df16511..0ec929c 100644
--- a/PanoPainter.vcxproj.filters
+++ b/PanoPainter.vcxproj.filters
@@ -685,6 +685,12 @@
shaders
+
+ shaders
+
+
+ shaders
+
diff --git a/data/shaders/texture-colorize.glsl b/data/shaders/texture-colorize.glsl
index 805c1cf..f90da22 100644
--- a/data/shaders/texture-colorize.glsl
+++ b/data/shaders/texture-colorize.glsl
@@ -15,7 +15,7 @@ void main()
[[fragment]]
uniform sampler2D tex;
-uniform vec4 col;
+uniform mediump vec4 col;
in mediump vec2 uv;
out mediump vec4 frag;
diff --git a/src/main.cpp b/src/main.cpp
index e314b2b..ab3b107 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -757,7 +757,7 @@ int main(int argc, char** argv)
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 32;
- pfd.cDepthBits = 16;
+ pfd.cDepthBits = 24;
pfd.iLayerType = PFD_MAIN_PLANE;
hDC = GetDC(hWnd);
diff --git a/src/node_panel_grid.cpp b/src/node_panel_grid.cpp
index 68f52ac..25c9e5b 100644
--- a/src/node_panel_grid.cpp
+++ b/src/node_panel_grid.cpp
@@ -218,6 +218,7 @@ void NodePanelGrid::draw_heightmap(const glm::mat4& proj, const glm::mat4& camer
{
if (m_groud_opacity->get_value() > 0.f)
{
+ bool depth = glIsEnabled(GL_DEPTH_TEST);
glEnable(GL_DEPTH_TEST);
glClear(GL_DEPTH_BUFFER_BIT);
@@ -313,6 +314,7 @@ void NodePanelGrid::draw_heightmap(const glm::mat4& proj, const glm::mat4& camer
m_plane.draw_fill();
}
}
+ depth ? glEnable(GL_DEPTH_TEST) : glDisable(GL_DEPTH_TEST);
}
}
diff --git a/src/rtt.cpp b/src/rtt.cpp
index 9f4a8aa..e359f48 100644
--- a/src/rtt.cpp
+++ b/src/rtt.cpp
@@ -137,7 +137,7 @@ bool RTT::create(int width, int height, int tex/* = -1*/, GLint internal_format,
{
glGenRenderbuffers(1, &rboID);
glBindRenderbuffer(GL_RENDERBUFFER, rboID);
- glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, width, height);
+ glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, width, height);
glBindRenderbuffer(GL_RENDERBUFFER, 0);
}
@@ -151,9 +151,11 @@ bool RTT::create(int width, int height, int tex/* = -1*/, GLint internal_format,
// Attach the texture to FBO color attachment point
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texID, 0);
-
- // Attach the renderbuffer to depth attachment point
- //glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rboID);
+ if (depth_buffer)
+ {
+ // Attach the renderbuffer to depth attachment point
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rboID);
+ }
auto err2str = [](GLenum err) {
switch (err)