cocos渲染引擎分析(四)-----渲染到纹理(RenderTexture)分析和渲染3D 错乱问题

渲染到纹理,顾名思义就是将原本需要渲染到系统屏幕上的图像渲染到纹理,cocos引擎也提供了渲染到纹理(Render Texture)的功能。当然,跟其他3D功能一样,它的渲染到纹理一样有自己的局限性,只能等比例渲染,场景为1280*720,你如果想要渲染全景,只能渲染1280*720的纹理上,如果创建的纹理是640*360,渲染出来的纹理就是原来场景的一半,下一章写出自己的自适应渲染。

渲染到纹理的使用代码如下:

      local size = CCDirector:getInstance():getWinSize()
      local renderTexture = cc.RenderTexture:create(size.width/2, 
      size.height/2,kCCTexture2DPixelFormat_RGBA8888)
      renderTexture:begin()//设置FBO,并将其作为一个command加入到渲染队列
      node:visit()//访问节点,生成command加入到渲染队列
      renderTexture:endToLua()//还原系统默认的缓存
	  renderTexture:saveToFile("test.png",cc.IMAGE_FORMAT_PNG, true );

首先,创建渲染到纹理,此时创建一个FBO,并创建颜色缓存和深度缓存,代码如下:

bool RenderTexture::initWithWidthAndHeight(int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值