摘要: 一: 颜色 我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色,而是它所反射的(Reflected)颜色。 那些不能被物体所吸收(Absorb)的颜色(被拒绝的颜色)就是我们能够感知到的物体的颜色。 白色的阳光实际上是所有可见颜色的集合,物体吸收了其中的大部分颜色。它仅反射了代表物体颜色 阅读全文
posted @ 2019-08-11 22:05 Garrett_Wale 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一: 基本认知: 关于模型加载库:Assimp 1.1 Scene下的mMeshes数组储存了真正的Mesh对象,节点中的mMeshes数组保存的只是场景中网格数组的索引。 1.2 一个**Mesh(网格)**对象本身包含了渲染所需要的所有相关数据,像是顶点位置、法向量、纹理坐标、面(Face)和物 阅读全文
posted @ 2019-08-11 21:57 Garrett_Wale 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 一: 摄像机 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动。 以摄像机的视角作为场景原点时场景中所有的顶点坐标:观察矩阵把所有的世界坐标变换为相对于摄像机位置与方向的观察坐标。 要定义 阅读全文
posted @ 2019-08-11 20:36 Garrett_Wale 阅读(3382) 评论(0) 推荐(0) 编辑
摘要: 一: 关于几个坐标系统的概括 局部坐标是对象相对于局部原点的坐标,也是物体起始的坐标。 下一步是将局部坐标变换为世界空间坐标,世界空间坐标是处于一个更大的空间范围的。这些坐标相对于世界的全局原点,它们会和其它物体一起相对于世界的原点进行摆放。 接下来我们将世界坐标变换为观察空间坐标,使得每个坐标都是 阅读全文
posted @ 2019-08-11 17:23 Garrett_Wale 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 零: 首先我觉得需要提出来的是,为什么在OpenGL中uv坐标的范围始终是0-1呢,而不是实际图形的二维坐标。 纹理元素在表示纹理的数组中的二维下标(即它在位图中的二维坐标)称为纹理坐标,一般以字母表示为(u,v),也称为实际纹理坐标。假设位图的宽、高分别为w、h,显然,0 ≤ u ≤ w,0 ≤ 阅读全文
posted @ 2019-08-11 17:00 Garrett_Wale 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 一: 着色器 着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。 在最简配置下,至少都得有两个着色器:一个叫顶点着色器(vertex shader),它将作用于每个顶点上;另一个叫片段着色器(fragment shad 阅读全文
posted @ 2019-08-11 16:18 Garrett_Wale 阅读(7952) 评论(0) 推荐(1) 编辑
摘要: #你好,三角形 一: 关于坐标的问题 标准化设备坐标:输入的顶点数据就应该在标准化设备坐标范围里面即:x,y,z的值都在(-1-1)之间。在这个区间之外的坐标都会被丢弃。 1.1一旦顶点数据传入顶点着色器中,那它们一定全都是标准化设备坐标了。 1.2标准化设备坐标符合右手定则,即原点在屏幕中心。 屏 阅读全文
posted @ 2019-08-11 14:58 Garrett_Wale 阅读(737) 评论(0) 推荐(0) 编辑