OpenGL glRenderbufferStorage 函数详解_jeffasd的博客
文章推薦指數: 80 %
OpenGL glRenderbufferStorage 函数详解glRenderbufferStorage 指定存储在renderbuffer中图像的宽高以及颜色格式,并按照此规格为之分配存储空间, ...
OpenGLglRenderbufferStorage函数详解
jeffasd
于 2017-09-0811:32:38 发布
4720
收藏
2
分类专栏:
OpenGL
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jeffasd/article/details/77892821
版权
OpenGL
专栏收录该内容
92篇文章
7订阅
订阅专栏
OpenGLglRenderbufferStorage函数详解
glRenderbufferStorage指定存储在renderbuffer中图像的宽高以及颜色格式,并按照此规格为之分配存储空间,当一个渲染缓存被创建,它没有任何数据存储区域,所以我们还要为他分配空间。
这可以通过用glRenderbufferStorage()实现。
第一个参数必须是GL_RENDERBUFFER。
第二个参数可以是用于颜色的(GL_RGB,GL_RGBA,etc.),用于深度的(GL_DEPTH_COMPONENT),或者是用于模板的格式(GL_STENCIL_INDEX)。
Width和height是渲染缓存图像的像素维度。
width和height必须比GL_MAX_RENDERBUFFER_SIZE小,否则将会产生GL_UNVALID_VALUE错误。
注意在iOS端glRenderbufferStorage需要使用renderbufferStorage:fromDrawable函数来代替,至于原因请点击参考iOSOpenGLrenderbufferStorage:fromDrawable方法详解
设置缓冲区对象的通用方法:
//帧缓冲区对象
glGenFramebuffers(1,&fboId);
glBindFramebuffer(GL_FRAMEBUFFER,fboId);
//渲染缓冲区作为颜色缓冲区
glGenRenderbuffers(1,&colorBuffer);
glBindRenderbuffer(GL_RENDERBUFFER,colorBuffer);
glRenderbufferStorage(GL_RENDERBUFFER,GL_RGBA,width,height);
glBindRenderbuffer(GL_RENDERBUFFER,0);
//将渲染缓冲区作为颜色缓冲区附加到fbo
glFramebufferRenderbuffer(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_RENDERBUFFER,colorBuffer);
//将缓冲区渲染为深度缓冲区
glGenRenderbuffers(1,&depthBuffer);
glBindRenderbuffer(GL_RENDERBUFFER,depthBuffer);
glRenderbufferStorage(GL_RENDERBUFFER,GL_DEPTH_COMPONENT,width,height);
glBindRenderbuffer(GL_RENDERBUFFER,0);
//将渲染缓冲区作为深度缓冲区附加到fbo
glFramebufferRenderbuffer(GL_FRAMEBUFFER,GL_DEPTH_ATTACHMENT,GL_RENDERBUFFER,depthBuffer);
glGenRenderbuffers(1,&stencilBuffer);
glBindRenderbuffer(GL_RENDERBUFFER,stencilBuffer);
glRenderbufferStorage(GL_RENDERBUFFER,GL_STENCIL_INDEX,width,height);
glBindRenderbuffer(GL_RENDERBUFFER,0);
//将渲染缓冲区附加到fbo作为模板缓冲区
glFramebufferRenderbuffer(GL_FRAMEBUFFER,GL_STENCIL_BUFFER,GL_RENDERBUFFER,stencilBuffer);
参考文章:http://www.ithao123.cn/content-704097.html
jeffasd
关注
关注
0
点赞
踩
1
评论
2
收藏
打赏
扫一扫,分享内容
点击复制链接
专栏目录
[OpenGLES01]iOS上OpenGLES之初体验
weixin_34080951的博客
11-24
89
[OpenGLES01]OpenGLES之初体验
罗朝辉(http://www.cnblogs.com/kesalin/)
本文遵循“署名-非商业用途-保持一致”创作公用协议
一,什么是OpenGLES?
OpenGLES是专门为手持设备制定的3D规范,它是OpenGL的简化版,该规范由khronos.org制定,目前最新规范版本为3.0。
Open...
评论 1
您还未登录,请先
登录
后发表或查看评论
OpenGL核心技术之帧缓冲
水上漂的专栏
05-26
228
OpenGL核心技术之帧缓冲
笔者介绍:姜雪伟,I。
CSDN视频网址:http://edu.csdn.net/lecturer/144
本篇博文主要是给读者解密关于游戏后处理渲染效果的原理,后处理渲染效果在Unity,UE4虚幻引擎等商业引擎使用的非常多,
比如Bloom,Blur,SSAO,PSSM,HDR等等都属于后处理渲染效果,它们的实现其实就是应用帧缓冲技术实现的,本篇博文主要是
围绕帧缓冲给读者介绍其实现原理以及应用案例。
在前面给读者介绍了几种不同的屏幕缓冲:用于写入颜色值的颜色缓
OpenGL把纹理保存成图片
hongdameng的专栏
12-05
5897
int[]oldFboId=newint[1];
GLES20.glGetIntegerv(GLES20.GL_FRAMEBUFFER_BINDING,IntBuffer.wrap(oldFboId));
int[]framebuffers=newint[1];
GLES20.g...
glRenderbufferStorageMultisample
anfu8346的博客
08-22
316
https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glRenderbufferStorage.xhtml
https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glRenderbufferStorageMultisample.xhtml
glRend...
iOSOpenGLESFBO帧缓存区渲染缓存区详解
jeffasd的专栏
10-11
2616
参考文章:http://www.jianshu.com/p/c516e899e606
原文地址:
https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/WorkingwithEAGLContexts/WorkingwithEAGLConte
GLES2.0中文API-glRenderbufferStorage
flycatdeng的专栏
11-16
684
名称
glRenderbufferStorage-创建并初始化renderbuffer对象的数据存储
C规范
void glRenderbufferStorage(GLenum target,
GLenum internalformat,
...
openGL之API学习(十九)glRenderbufferStorage
hankern的专栏
03-25
154
为渲染缓冲区对象的图像分配显存空间,包括格式和维度大小。
voidglRenderbufferStorage(GLenumtarget,
GLenuminternalformat,
GLsizeiwidth,
GLsizeiheight);
target
Specifiesabindingtargetoftheall...
iOSOpenGLrenderbufferStorage:fromDrawable方法详解
jeffasd的专栏
09-08
5629
iOSOpenGLrenderbufferStorage:fromDrawable方法详解
iOS中OpenGL的渲染流程之前已经介绍过此处不再介绍。
点击参考OpenGLiOS端渲染流程
renderbufferStorage:fromDrawable:
作用:将可绘制对象的存储绑定到OpenGLESrenderbuffer对象。
Declaration
-(BO...
GLAPI/glTexStorage2D
aoxuestudy的专栏
12-07
597
暂时偷懒一下,直接把openGLAPI复制过来,有空了,一定翻译成中文,大家请见谅
glTexStorage2D:simultaneouslyspecifystorageforalllevelsofatwo-dimensionalorone-dimensionalarraytexture
Contents
[hide]
1FunctionDefinition
2Description
3Errors
4SeeAlso
5Copyright
Function...
理解OpenGL中帧缓存FrameBuffer&渲染缓存RenderingBuffer
AplusX
06-17
1174
操作都是在默认帧缓冲的渲染缓冲上进行的。
默认的帧缓冲是在你创建窗口的时候生成和配置的(GLFW帮我们做了这些)。
帧缓存帮助我们离屏渲染,提高渲染速度
unsignedintcaptureFBO;
glGenFramebuffers(1,&captureFBO);
glBindFramebuffer(GL_FRAMEBUFFER,captureFBO);
unsignedintcaptureRBO;
glGenRenderbuffers(1,&captureRBO);
OpenGL学习笔记
weixin_33921089的博客
03-14
62
1.GL状态还原
GL相当于状态机,当开启一个状态需要关闭状态进行还原状态避免下个渲染状态出错导致渲染错误
2.glDrawElements1282报错问题
这个问题找了挺久,单独绘制没问题,和C++3D渲染引擎一起绘制就会有时报错1282,初步判断3D渲染引擎的封装改变了GL状态,根据断点和现象分析,最后绘制是3D模型就会报错,而2D的不会。
只好继续分析3D和2D的流程,才发现GL_ELEM...
OpenGL学习归纳--buffer的使用总结
lihei12345的专栏
07-04
6787
1.FrameBuffer是其他Renderbuffer的管理者,
OpenGLMSAA:抗锯齿技术详解
最新发布
aDiligentCigarette的博客
12-04
412
抗锯齿anti-aliasing
一概念
有时候OpenGL渲染出来的物体,其边缘会出现锯齿,显得很不丝滑。
说白了,使物体在渲染时保持边缘丝滑而不出现锯齿的技术,就叫做抗锯齿。
常用的技术是SSAA和MSAA,MSAA是SSAA的演进技术,全称是多采样点抗锯齿multisampleranti-aliasing,本文主要介绍MSAA.
二MSAA原理
片段着色器携带顶点数据运行时,将数据插入到像素的中心,MSAA随后使用一个很大的的带有设置了子采样点的深度/模板缓冲去选择哪些子采样点被覆盖,然
OpenGL之帧缓冲详解
ArvinFei的博客
05-17
1067
简介
OpenGlES中的物体绘制并不是直接在屏幕上进行的,而是预先在帧缓冲区内进行绘制的,每绘制完一帧再将绘制的结果交换到屏幕上,所以每次绘制新的一帧时,都要清除缓冲区中的相关数据,否则可能产生不正确的绘制。
包括三种类型的屏幕缓冲
颜色缓冲
用于存储每个片元的颜色值,每个颜色包括RGBA4个色彩通道,应用程序看到的内容就是颜色缓冲区中的内容
用于写入深度信息的深度缓冲
用于存储每个片元的深度值,是指从片元处到观察点(相机)的距离。
在启用深度测试的情况下,新片元想进入帧缓冲时需要将自己的深度值与帧缓冲.
OpenGL学习笔记之Buffers
shixunzheng的专栏
02-07
1252
Chapter5DataBuffers用Buffers来填充顶点着色器的数据,下面是主要的代码片段。
好几次编译不过是因为:
1.我的OpengGLGLSL为4.4,还无法支持4.5新增的函数(如glNamedBufferStorage()),需要glBindBuffer()配合glBufferStorage()为buffer初始化。
2.glBindVertexBuffer()参数st
GLES2.0中文API-glFramebufferRenderbuffer
flycatdeng的专栏
11-20
1737
名称
glFramebufferRenderbuffer-将renderbuffer对象附加到framebuffer对象
C规范
void glFramebufferRenderbuffer(GLenum target,
GLenum attachment,
...
关于OpenGL的RenderBuffer,FrameBuffer
iPolaroid的专栏
01-01
9483
近日在学习OpenGL,被RenderBuffer,FrameBuffer,搞的晕头转向,网上找到了一些不错的文章供大家学习。
看了之后神清气爽啊,有木有?
1,几篇博文,写的不错
http://longzxr.blog.sohu.com/168909774.html
http://blog.csdn.net/wl_soft50/article/details/7916955
OpenGL学习脚印:帧缓冲对象(FrameBufferObject)
热门推荐
王定桥的专栏
09-03
1万+
写在前面
一直以来,我们在使用OpenGL渲染时,最终的目的地是默认的帧缓冲区,实际上OpenGL也允许我们创建自定义的帧缓冲区。
使用自定义的帧缓冲区,可以实现镜面,离屏渲染,以及很酷的后处理效果。
本节将学习帧缓存的使用,文中示例代码均可以在我的github下载。
本节内容整理自
1.OpenGLFrameBufferObject(FBO)
2.www.learn
openGL之API学习(二十一)glFramebufferRenderbuffer
hankern的专栏
03-25
3647
将渲染缓冲区挂载到当前帧缓冲区上
voidglFramebufferRenderbuffer(GLenumtarget,
GLenumattachment,
GLenumrenderbuffertarget,
GLuintrenderbuffer);
target
Specifiesthetargettowhichth...
OpenGLES学习教程---FBO
jackzhouyu的专栏
07-19
562
OpenGLES学习教程—FBO
简介之什么是FBO
FrameBufferObject帧缓冲对象,按照之前的学习绘制图像、纹理,着色器着色后最后一步,会将所有的数据都传给FBO,然后在屏幕上显示,只不过没使用自定义FBO之前都是使用默认的FBO,这个FBOid为0;使用我们自定义的FBO,绑定激活后,后续的渲染操作都会传递到这个FBO上,而且这个FBO不会显示屏幕上,我们可以对这个F...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
jeffasd
CSDN认证博客专家
CSDN认证企业博客
码龄11年
暂无认证
384
原创
2万+
周排名
55万+
总排名
322万+
访问
等级
3万+
积分
420
粉丝
451
获赞
155
评论
1096
收藏
私信
关注
热门文章
git获取指定的tag处代码
81027
sourceinsight的查找功能详解
56417
socket开发中INADDR_ANY"的含义是什么?
52443
iOS开发应用上架必读最新苹果审核规则(史上最全版)
42103
Xcode8代码自动对齐快捷键
39518
分类专栏
linuxwindow文件共享
3篇
设计模式
21篇
单例模式
3篇
UML
10篇
异常类
5篇
C++
49篇
stl
3篇
CMake命令大全
9篇
Windows驱动
iOS
681篇
iOS证书问题
20篇
iOS_CoreData
13篇
iOS_OC
124篇
iOS_UI
117篇
iOS_网络
54篇
iOS_UIScrollView
6篇
iOS_多线程
49篇
iOS_ReactiveCocoa
4篇
iOS_下拉刷新
5篇
iOS_Git
9篇
密码学
2篇
iOS_Wifi
10篇
iOS_socket
17篇
算法
31篇
数据结构
6篇
iOS_音视频
71篇
iOS_AutoLayout
6篇
iOS_runtime
4篇
OpenGL
92篇
直播流
32篇
性能优化
11篇
SwiftGrammar
16篇
golang
7篇
iOS屏幕旋转专题
10篇
计算机图形学
7篇
android
1篇
最新评论
OpenGLglRenderbufferStorage函数详解
夏轻:
glRenderbufferStorage(GL_RENDERBUFFER,GL_RGBA,width,height);
这一句有问题,GL_RGBA在GLES30中不支持
OpenGLES2.0/3.0glTexImage2D函数详解
苏丛JS:
最后那个data参数咋没有一个正常的例子呢
gcc编译器编译过程中产生的*.d文件详解
幼稚园里开飞机:
好家伙,学习了
OpenGL纹理坐标和顶点坐标映射关系详解
loveRoselove:
文章是挺长,不过没说明白。
std::enable_if的几种用法
王林森:
mark
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
教你看懂kCVPixelFormatType类型
iOSkCGImageAlphaPremultipliedLast与kCGImageAlphaLast区别和联系
iOS类的线程安全机制详解
2019年5篇
2018年43篇
2017年276篇
2016年796篇
2015年395篇
2013年1篇
目录
目录
分类专栏
linuxwindow文件共享
3篇
设计模式
21篇
单例模式
3篇
UML
10篇
异常类
5篇
C++
49篇
stl
3篇
CMake命令大全
9篇
Windows驱动
iOS
681篇
iOS证书问题
20篇
iOS_CoreData
13篇
iOS_OC
124篇
iOS_UI
117篇
iOS_网络
54篇
iOS_UIScrollView
6篇
iOS_多线程
49篇
iOS_ReactiveCocoa
4篇
iOS_下拉刷新
5篇
iOS_Git
9篇
密码学
2篇
iOS_Wifi
10篇
iOS_socket
17篇
算法
31篇
数据结构
6篇
iOS_音视频
71篇
iOS_AutoLayout
6篇
iOS_runtime
4篇
OpenGL
92篇
直播流
32篇
性能优化
11篇
SwiftGrammar
16篇
golang
7篇
iOS屏幕旋转专题
10篇
计算机图形学
7篇
android
1篇
目录
打赏作者
jeffasd
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1glrenderbufferstorage(3g) [osx man page] - The UNIX and ...
glRenderbufferStorage is equivalent to calling glRenderbufferStorageMultisample() with the sample...
- 2glRenderbufferStorage - OpenGL 4 Reference Pages
glRenderbufferStorage is equivalent to calling glRenderbufferStorageMultisample with the samples ...
- 3glRenderbufferStorage, glNamedRenderbufferStorage
glRenderbufferStorage is equivalent to calling glRenderbufferStorageMultisample() with the sample...
- 4C++ (Cpp) glRenderbufferStorage Examples - HotExamples
These are the top rated real world C++ (Cpp) examples of glRenderbufferStorage extracted from ope...
- 5Java GLES20.glRenderbufferStorage方法代碼示例- 純淨天空
本文整理匯總了Java中android.opengl.GLES20.glRenderbufferStorage方法的典型用法代碼示例。如果您正苦於以下問題:Java GLES20.glRende...