Jump to content
  • Advertisement

happymonkey

Member
  • Content Count

    5
  • Joined

  • Last visited

Community Reputation

108 Neutral

About happymonkey

  • Rank
    Newbie
  1. happymonkey

    depth test and fbo

    I am in the process of implementing early ray termination using multipple interation. My colde is like this: glClearDepth(1.0); //Set all the depth to the maximum glBindFramebuffer(GL_FRAMEBUFFER, _framebuffer); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex_dst, 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, _vol_buffer_tex_mult_depth, 0); glClear(GL_DEPTH_BUFFER_BIT); glDepthMask(GL_TRUE); glDepthFunc(GL_ALWAYS); ///////////////////////Shader to change the depth, draw a quad glBindFramebuffer(GL_FRAMEBUFFER, 0); I use: glClearDepth(1.0); glDepthFunc(GL_ALWAYS) to make the shader update the depth buffer. It works right. The problem I met is when I change glClearDepth(1.0) to glClearDepth(0.0), there is no display anymore. It seems that, at this case, the first part will fail in the depth test, why? I already used glDepthFunc(GL_ALWAYS) which should pass the test at anytime. Thanks for any hint.
  2. I am in the process of implementing early ray termination using multipple interation. My colde is like this: glClearDepth(1.0); //Set all the depth to the maximum glBindFramebuffer(GL_FRAMEBUFFER, _framebuffer); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex_dst, 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, _vol_buffer_tex_mult_depth, 0); glClear(GL_DEPTH_BUFFER_BIT); glDepthMask(GL_TRUE); glDepthFunc(GL_ALWAYS); ///////////////////////Shader to change the depth, draw a quad glBindFramebuffer(GL_FRAMEBUFFER, 0); /////////////////////////////////////////////////// glBindFramebuffer(GL_FRAMEBUFFER, _framebuffer); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex_dst, 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, _vol_buffer_tex_mult_depth, 0); glDepthMask(GL_FALSE); //Do not change the depth value glDepthFunc(GL_LEQUAL); glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); /////////////////////Shader to change the color, draw a quad glBindFramebuffer(GL_FRAMEBUFFER, 0); I use: glClearDepth(1.0); glDepthFunc(GL_ALWAYS) to make the shader update the depth buffer. It works right. The problem I met is when I change glClearDepth(1.0) to glClearDepth(0.0), there is no display anymore. It seems that, at this case, the first part will fail in the depth test, why? I already used glDepthFunc(GL_ALWAYS) which should pass the test at anytime. Thanks for any hint.
  3. happymonkey

    Negative Value in Texture using GL_SHORT

    Thanks very much. I think I get the idea.
  4. happymonkey

    Negative Value in Texture using GL_SHORT

    To Brother Bob, Thanks for clarification. It is very helpful. For GL_SHORT, although it can store negative value, if these values are clamped, it will become meaningless, right? I just wonder whether there are some reasons for GL_SHORT's existence, or we can just leave it there for future support. GL_RGBA32F may cost too much memory for me. I try GL_RGB16I, but it output nothing. Is there something wrong about my usage. I use like this: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB16I, _dim[0], _dim[1], 0, GL_RGB, GL_SHORT, _vel); Again, Thanks
  5. I have a question about the "type" parameters in function glTexImage2D. Since my original texture data is "short" and has negative value, I use Gl_SHORT first. But, it seems that the negative value in shader is clamped to zero. My solution is: first map the "short" to "unsigned short". Then, inside the shader, map the value back. This solution works. My question is: If GL_SHORT can only represent the value between [0, 32767] when the negative value is clamped, GL_UNSIGNED_SHORT with range [0, 65535] would be better choice at any cases, right? not just GL_SHORT but also GL_INT. Is there some way I can pass the negative value without mapping to positive into the shader? Thanks a lot.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!