用户登录
用户注册

分享至

opengl 深度

  • 作者: 针快
  • 来源: 51数据库
  • 2020-10-02
用glClear(GL_DEPTH_BUFFER_BIT)清楚深度缓存,还有glClearDepth设置成1



  webgl1.0的文档中对于readpixels方法有明确的说明:the data returned from readpixels must be up-to-date as of the most recently sent drawing command.
也就是说该方法必须在渲染完一帧的页面之后立即调用才有效果,否则取不到值,比如这样调用:
gl.viewport(0,0,world.canvas.width,world.canvas.height);
gl.clear(gl.color_buffer_bit|gl.depth_buffer_bit);
scene.draw(camera);
var a = new uint8array(4);
gl.readpixels(0,0,1,1,gl.rgba,gl.unsigned_byte,a);
console.log(a);
此处一帧的绘制(scene.draw(camera))完全完成之后再读取就可以获取准确值了,你自己可以试一下。
软件
前端设计
程序设计
Java相关