文档章节

RenderTexture 渲染到纹理

y
 yizhangxyz
发布于 2016/07/01 10:40
字数 370
阅读 248
收藏 0

cocos2d里面有个CCRenderTexture,用于将指定对象渲染到纹理。在unity3d里面也有同样的技术。

今天查阅了相关资料,再看了一下cocos2d的源码,发现他实际上用的是FBO(帧缓存对象)渲染到纹理技术,即我们可以为帧缓存关联一个纹理附件,然后将帧缓存里面的内容放到纹理附件里面。

在cocos2d里面使用步骤大致如下:

1 创建texture:初始化的时候生成一个空的texture。并指定纹理数据的宽和高。

2 创建FBO:用glGenFramebuffers生成帧缓存FBO framebuffer。

3 记录之前的FBO:glGetIntegerv(GL_FRAMEBUFFER_BINDING, &_oldFBO);              

4 关联texture到FBO:绑定刚才生成的framebuffer(glBindFramebuffer), 用glFramebufferTexture2D 将texture关联到FBO。(当然可以为FBO创建深度缓存,这部分没仔细看)

以下内容通过命令队列执行

5 推送命令绑定FBO:RenderTexture begin 渲染开始的时候再次使用glBindFramebuffer。指定渲染到渲染缓存。注意这部分是推送到render command queue里面执行的。

6 推送命令渲染物体:调用待渲染的物体的visit,将渲染命令推送到render。

7 执行渲染:利用render进行渲染,执行上面5、6条的命令。

8 恢复之前的FBO:RenderTexture end,渲染结束的时候,通过glBindFramebuffer(GL_FRAMEBUFFER, _oldFBO);绑定到老的FBO。

这样就通过帧缓存将东西渲染到了纹理。

© 著作权归作者所有

上一篇: 平衡二叉树学习
下一篇: VAO和VBO
y
粉丝 2
博文 67
码字总数 42366
作品 0
成都
私信 提问
Cocos2d-x 2.0 渲染到纹理深入分析

[Cocos2d-x相关教程来源于红孩儿的游戏编程之路CSDN博客地址:http://blog.csdn.net/honghaier 红孩儿Cocos2d-X学习园地QQ群:249941957 红孩儿Cocos2d-X学习园地QQ2群:44208467 Cocos2d-x ...

长平狐
2013/03/19
3.4K
0
Unity之在UI界面上显示3D模型

1、创建一个3D摄像机,渲染3D模型。(我为了方便就把模型放到了Camera的下面,你可以不这样) 2、在2D里面指定一个TopLeft和BottomRight,用来表示模型渲染到UI上面的区域。 3、在之前的3D摄...

e295166319
2017/02/04
0
0
Unity实现在白板上绘画涂鸦

前言 有段时间没有更新博客了,不知道应该写些什么,太简单感觉没有记录的必要,太难自己都没能理解,不知道如何下手。回归初心,记录自己想记录的东西。 需要实现一个白板绘画的功能,可以使...

qq992817263
2017/12/03
0
0
Unity如何实现投影阴影效果

这是侑虎科技第442篇文章,感谢作者谢刘建供稿。欢迎转发分享,未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群465082844) 作者主页:https://zhu...

UWA
2018/09/06
0
0
UWA发布 | Unity手游体检蓝皮书

版权声明:本文所有文章均为原创,原文链接:blog.uwa4d.com,如需转载请联系support@uwa4d.com https://blog.csdn.net/UWA4D/article/details/82349331 作为游戏行业的服务商,UWA不仅为游戏...

UWA
2018/09/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx访问日志/日志切割/静态文件过期时间/防盗链

Nginx访问日志主要记录部署在nginx上的网站访问数据,日志格式定义在nginx主配置文件中。 nginx主配置文件:/etc/nginx/nginx.conf 查看nginx主配置文件: ```markup [root@linux ~]# cat /e...

asnfuy
5分钟前
4
0
JS_高程4.变量,作用域和内存问题(2)执行环境及作用域

本文转载于:专业的前端网站➨JS_高程4.变量,作用域和内存问题(2)执行环境及作用域 1.执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为,       每个执...

前端老手
9分钟前
3
0
手机迅雷下载的文件,电脑上找不到问题

不知道手机迅雷怎么做到的,手机迅雷下载的文件,手机上可以看的到 但连电脑后, 电脑上看不到文件 . 尝试了打开查看隐藏文件, 但没有效果 . 手机上查询文件权限 也是对的 . 可读,可写, 不隐藏 ...

ol_O_O_lo
10分钟前
3
0
python学习11:Python tuple元组详解

元组是 Python 中另一个重要的序列结构,和列表类似,也是由一系列按特定顺序排序的元素组成。和列表不同的是,列表可以任意操作元素,是可变序列;而元组是不可变序列,即元组中的元素不可以...

太空堡垒185
22分钟前
3
0
Java实现数据结构之线性结构

一、顺序表 顺序表本质是使用数组储存数组的一种数据结构,在计算机的储存中是连续的分配内存的。 下面是我自己使用java实现的简单顺序表结构 package list; public class MyArrayList<E> { ...

daxiongdi
25分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部