Skip to content

Commit 29e5695

Browse files
authored
fix(render): Fix grayscale volumes (#8)
Fixes grayscale volumes not being rendered correctly (https://www.shadertoy.com/view/st2XD1) Fixes #3
1 parent 0df9e40 commit 29e5695

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

shadertoy/OpenGL.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -576,8 +576,9 @@ class GLVolumeObject final : public TextureObject {
576576
assert(data);
577577
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_BASE_LEVEL, 0);
578578
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAX_LEVEL, static_cast<GLint>(std::log2(size)));
579-
GLenum format = channels == 1 ? GL_R8 : GL_RGBA;
580-
glTexImage3D(GL_TEXTURE_3D, 0, format, static_cast<GLsizei>(size), static_cast<GLsizei>(size), static_cast<GLsizei>(size),
579+
GLenum internalFormat = channels == 1 ? GL_R8 : GL_RGBA;
580+
GLenum format = channels == 1 ? GL_RED : GL_RGBA;
581+
glTexImage3D(GL_TEXTURE_3D, 0, internalFormat, static_cast<GLsizei>(size), static_cast<GLsizei>(size), static_cast<GLsizei>(size),
581582
0, format, GL_UNSIGNED_BYTE, data); // R8G8B8A8
582583
glGenerateMipmap(GL_TEXTURE_3D);
583584
glBindTexture(GL_TEXTURE_3D, GL_NONE);

0 commit comments

Comments
 (0)