首页 > 理解OpenGL中帧缓存FrameBuffer 渲染缓存RenderingBuffer

理解OpenGL中帧缓存FrameBuffer 渲染缓存RenderingBuffer

操作都是在默认帧缓冲的渲染缓冲上进行的。默认的帧缓冲是在你创建窗口的时候生成和配置的(GLFW帮我们做了这些)。

帧缓存帮助我们离屏渲染,提高渲染速度

unsigned int captureFBO;
glGenFramebuffers(1, &captureFBO);
glBindFramebuffer(GL_FRAMEBUFFER, captureFBO);unsigned int captureRBO;
glGenRenderbuffers(1, &captureRBO);
glBindRenderbuffer(GL_RENDERBUFFER, captureRBO);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, 512, 512);glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER,captureRBO);
。
。
。
最后一件事就是将纹理附加到帧缓冲上了
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, texture_name, 0);

另外想在这里记录一下易忘知识点:

如果我们加载很多纹理图像,怎么样让shader知道我们是想渲染哪个纹理呢?

glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture_name);

然后再使用

Shader_name.use();(learnopenngl造的小轮子,等同于glUseProgram(ID))

这样就可以调用shader去处理我们想要渲染的纹理数据了

https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/05%20Framebuffers/

更多相关:

  • 嘿,我已经看过了一个老问题,但它不能回答我的问题我已经安装了libpng,然后尝试安装autopy并得到complie错误。在我对python还不是很在行,所以我不确定如何修复它们。在Ashley:~ ashleyhughes$ sudo easy_install autopySearching for autopyReading h...

  • OpenGL所有渲染的结果都输出显示在窗口中,设置OpenCV的图像cv::Mat outimg,并使用OpenGL的glReadPixels从帧缓冲区中加载像素至内存: //use fast 4-byte alignment (default anyway) if possible glPixelStorei(GL_PACK_AL...

  • 在主程序中我们先设置3个采样器名称 pbrShader.use();pbrShader.setInt("irradianceMap", 0);pbrShader.setInt("prefilterMap", 1);pbrShader.setInt("brdfLUT", 2);其中setint是封装函数:void setInt...

  • 为了将坐标从一个坐标系变换到另一个坐标系,我们需要用到几个变换矩阵,最重要的几个分别是模型(Model)、观察(View)、投影(Projection)三个矩阵。我们的顶点坐标起始于局部空间(Local Space),在这里它称为局部坐标(Local Coordinate),它在之后会变为世界坐标(World Coordinate),...

  • 英语的重要性,毋庸置疑!尤其对广大职场人士,掌握英语意味着就多了一项竞争的技能。那,对于我们成人来说,时间是最宝贵的。如何短时间内在英语方面有所突破,这是我们最关心的事情。英语学习,到底有没有捷径可以走,是否可以速成?周老师在这里明确告诉大家,英语学习,没有绝对的捷径走,但是可以少走弯路。十多年的教学经验告诉我们,成功的学习方法可以借...

  • 展开全部 其实IDLE提供了一个显32313133353236313431303231363533e78988e69d8331333365663438示所有行和所有字符的功能。 我们打开IDLE shell或者IDLE编辑器,可以看到左下角有个Ln和Col,事实上,Ln是当前光标所在行,Col是当前光标所在列。 我们如果想得到文件代码...

  • 前言[1]从 Main 方法说起[2]走进 Tomcat 内部[3]总结[4]《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spri...

  • 【本文摘要】【注】本文所述内容为学习Yjango《学习观》相关视频之后的总结,观点归Yjango所有,本文仅作为学习之用。阅读本节,会让你对英语这类运动类知识的学习豁然开朗,你会知道英语学习方面,我们的症结所在。学习英语这类运动类知识,需要把握四个原则第一,不要用主动意识。第二,关注于端对端第三,输入输出符合实际情况第四,通过多个例子...

  • 点云PCL免费知识星球,点云论文速读。文章:RGB-D SLAM with Structural Regularities作者:Yanyan Li , Raza Yunus , Nikolas Brasch , Nassir Navab and Federico Tombari编译:点云PCL代码:https://github.co...

  • 通过学习可用于相机放置、建模、修整等的策略,生成令人印象深刻且逼真的建筑三维渲染。了解如何将您的3D渲染场景提升到一个新的水平,以使您的图像引人入胜、有趣且讨人喜欢。在本课程中,讲师Verena Tatiana首先讨论了不同的细节处理方法,以及在处理剧照和动画时如何克服挑战。然后,她解释了构图的重要性,并演示了几种技巧。她涵盖了...

  • Sketchup户外场景设计的Vray Next 你会学到什么 渲染白天和夜晚场景 后期制作 Sketchup的Vray Next 中级sketchup用户 大小解压后:3.83G 1280X720 mp4 语言:英语+中英文字幕(根据原英文字幕机译更准确) 大家好, 我是埃夫伦·卡武索格鲁。我已经教sket...

  • 使用渲染元素,3ds Max的V-Ray Next对创建高质量合成所需的参数(如反射、阴影、遮罩等)提供了精细的控制。在本课程中,布莱恩·布拉德利展示了如何在Photoshop和After Effects等应用程序中使用V-Ray Next为后期制作工作流专门创建渲染。探索渲染元素用户界面和工作流程以及静态图像和动画序列的输出选项...

  • MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:41节课(6h 23m) |大小:5.83 GB 含课程文件 使用blender 2.9建模、纹理、光照和渲染真实的吉他 你会学到: 简单到先进的Blender工具和技术...

  • MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch |语言:英语+中英文字幕(根据原英文字幕机译更准确)|时长:3h 47m |大小解压后:3.61 GB 含课程文件 创建和渲染三维场景是一项艰巨的任务。但是当你需要在渲染时间后进行调整时会发生什么呢?在本课程中,讲师瑞安·麦考利向您展示了如何使...