OpenGL glRenderbufferStorage 函数详解_jeffasd的博客

文章推薦指數: 80 %
投票人數:10人

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币套餐、付费专栏及课程。

余额充值



請為這篇文章評分?