游戏编程随笔
08
10
高级数据 基本介绍 OpenGL中的缓冲只是一个管理特定内存块的对象,没有其它更多的功能了。在我们将它绑定到一个缓冲目标(Buffer Target)时,我们才赋予了其意义。当我们绑定一个缓冲到GL_ARRAY_BUFFER时,它就是一个顶
2022-08-10 Yonggang Long
10
立方体贴图 我们将讨论的是将多个纹理组合起来映射到一张纹理上的一种纹理类型:立方体贴图(Cube Map)。 创建立方体贴图 > 立方体贴图是和其它纹理一样的,所以如果想创建一个立方体贴图的话,我们需要生成一个纹理,并将其绑定到
2022-08-10 Yonggang Long
10
帧缓冲 我们已经使用了很多屏幕缓冲了:用于写入颜色值的颜色缓冲、用于写入深度信息的深度缓冲和允许我们根据一些条件丢弃特定片段的模板缓冲。这些缓冲结合起来叫做帧缓冲(Framebuffer),它被储存在内存中。OpenGL允许我们定义我们自
2022-08-10 Yonggang Long
10
面剔除 能够以某种方式丢弃这几个看不见的面,我们能省下超过50%的片段着色器执行数! OpenGL能够检查所有面向(Front Facing)观察者的面,并渲染它们,而丢弃那些背向(Back Facing)的面,节省我们很多的片段着色器调
2022-08-10 Yonggang Long
10
混合Blending OpenGL中,混合(Blending)通常是实现物体透明度(Transparency)的一种技术。透明就是说一个物体(或者其中的一部分)不是纯色(Solid Color)的,它的颜色是物体本身的颜色和它背后其它物体
2022-08-10 Yonggang Long
10
模板测试 当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行,和深度测试一样,它也可能会丢弃片段。接下来,被保留的片段会进入深度测试,它可能会丢弃更多的片段。模板测试是根据又一个缓冲来进行的,它叫做模板缓冲(S
2022-08-10 Yonggang Long
10
深度测试 讨论这些储存在深度缓冲(或z缓冲(z-buffer))中的深度值(Depth Value),以及它们是如何确定一个片段是处于其它片段后方的。 深度缓冲就像颜色缓冲(Color Buffer)(储存所有的片段颜色:视觉输出)一样,
2022-08-10 Yonggang Long
10
模型model 模型model, 封装一个包含渲染的基础数据 模型 拥有的功能: 1.从模型文件加载、2.解析模型文件(顶点数据,贴图数据等)3.绘制功能的封装。 class Model { pu
2022-08-10 Yonggang Long
10
网格Mesh 网格(Mesh)代表的是单个的可绘制实体,我们现在先来定义一个我们自己的网格类。 一个网格应该至少需要一系列的顶点,每个顶点包含一个位置向量、一个法向量和一个纹理坐标向量。 一个网格还应该包含用于索引绘制的索引以及纹理形式的
2022-08-10 Yonggang Long
10
Assimp Assimp地址 编译、用法、 从源码编译 用法介绍
2022-08-10 Yonggang Long
10 / 12