首页 > 其他 > 详细

cocos2dx的RenderTarget渲染遇到模板缓冲(Stencil)出问题的解决方案

时间:2017-02-20 11:31:49      阅读:298      评论:0      收藏:0      [点我收藏+]

参考链接:

http://blog.csdn.net/ryfdizuo/article/details/8701284

原因在于,默认创建的RenderTarget,其RenderBuffer创建标志给的是0,也就是缺省。而OpenGL不支持独立的模板缓冲区(原话是所有GPU都不支持)。因此在创建深度缓冲区时需要创建一个带模板缓冲的深度缓冲,也就是创建标志给为:GL_DEPTH24_STENCIL8.

解决方案是将创建RenderTarget的调用:

_renderTexture = RenderTexture::create(Director::getInstance()->getWinSize().width, Director::getInstance()->getWinSize().height)

 修改为:

_renderTexture = RenderTexture::create(Director::getInstance()->getWinSize().width, Director::getInstance()->getWinSize().height, Texture2D::PixelFormat::RGBA8888, GL_DEPTH24_STENCIL8);

 

cocos2dx的RenderTarget渲染遇到模板缓冲(Stencil)出问题的解决方案

原文:http://www.cnblogs.com/eaglelun/p/6418217.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!