OpenGL
一只独立特行的猪
书山有路勤为径,学海无涯苦作舟。
展开
-
对光栅化的理解和总结
在总结光栅化之前首先要理解一下什么是帧缓冲区?首先说说什么是缓冲区?当每个像素按照统一的方式存储时,存储所有像素的空间就叫做缓冲区。帧缓冲区主要包含了以下几种缓冲区:颜色缓冲区、深度缓冲区、模板缓冲区、累计缓冲区。颜色缓冲区:它用于保存屏幕上所显示的颜色信息是绘图的一块内存它们包含了颜色索引和RGB颜色数据,还包括了alpha数据。深度缓冲区:它存储了颜色的深度信息。深度通常是由物体与观察...原创 2018-11-13 09:35:42 · 2956 阅读 · 0 评论 -
OpenGL学习之模板测试绘制模型的轮廓
1、本次试验是参考LearnOpenGL网站进行学习总结。有关模板测试的概念和原理请查看学习网站即可,这里就不做解释。2、再啰嗦一下绘制轮廓的主要步骤:(1).在绘制物体前,把模板方程设置为GL_ALWAYS,用1更新物体将被渲染的片段。(2).渲染物体,写入模板缓冲。(3).关闭模板写入和深度测试。(4).每个物体放大一点点。(5).使用一个不同的片段着色器用来输出一个纯颜色。(6...原创 2018-12-14 14:45:25 · 2959 阅读 · 2 评论 -
OpenGL学习之创建天空盒
本文主要参考了立方体贴图的基本原理,首先回顾一下什么是立方体贴图:将多个纹理组合起来映射到一个单一纹理,就是立方体贴图(Cube Map)。基本上说立方体贴图它包含6个2D纹理,这每个2D纹理是一个立方体(cube)的一个面,也就是说它是一个有贴图的立方体。你可能会奇怪这样的立方体有什么用?为什么费事地把6个独立纹理结合为一个单独的纹理,只使用6个各自独立的不行吗?这是因为立方体贴图有自己特有的...原创 2018-12-14 15:29:19 · 4621 阅读 · 8 评论 -
OpenGL学习之帧缓冲
什么是帧缓冲呢?我们使用了几种不同类型的屏幕缓冲:用于写入颜色值的颜色缓冲,用于写入深度信息的深度缓冲,以及允许我们基于一些条件丢弃指定片段的模板缓冲。把这几种缓冲结合起来叫做帧缓冲(Framebuffer),它被储存于内存中。OpenGL给了我们自己定义帧缓冲的自由,我们可以选择性的定义自己的颜色缓冲、深度和模板缓冲。帧缓冲的步骤主要有哪些呢?//创建帧缓冲对象GLuint fbo...原创 2018-12-27 14:37:48 · 490 阅读 · 0 评论 -
OpenGL学习之实例化
实例化学习参考于LearnOpenGL-实例化网站,本次试验是基于Assimp这一节的纳米铠甲机器人为例,来简单实现实例化的绘制。下面摘自实例化的原文,作用很重要颜色标注:像这样绘制出你模型的其他实例,多次绘制之后,很快将达到一个瓶颈,这是因为你glDrawArrays或glDrawElements这样的函数(Draw call)过多。这样渲染顶点数据,会明显降低执行效率,这是因为OpenGL...原创 2018-12-17 14:16:10 · 1108 阅读 · 0 评论