
计算机图形学
文章平均质量分 95
咸鱼R&D
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【(一)OpenGL入门】6.齐次坐标
将坐标变换为标准化设备坐标,接着再转化为屏幕坐标的过程通常是分步进行的,物体的顶点在最终转化为屏幕坐标之前还会被变换到多个坐标系统,变换到多个过渡坐标系统的优点是在一些特定的坐标系中,运算和操作会变得相对容易。因为透视的原理,近大远小,比如我们站在一座高楼的门口,我们只能看见门,我们站到几十米之外将目睹整个大楼的外观,裁剪就是根据透视的原理裁减掉我们视野之外的图像。我们知道了五种坐标系空间的名字,而下面的流程图直观地告诉了我们图形的坐标最终呈现在屏幕上是如何变化的。最后的顶点应该被赋值到顶点着色器中的。原创 2024-09-01 00:06:07 · 1060 阅读 · 0 评论 -
【(一)OpenGL入门】5.变换
以上是沿着某个坐标轴进行旋转,对于3D空间中的旋转,一个更好的模型是沿着任意的一个轴,比如单位向量$(0.662, 0.2, 0.7222)$旋转,而不是对一系列旋转矩阵进行复合(先向某个轴旋转再向某个轴旋转),会出现万向节锁死的问题。矩阵可以通过(i, j)进行索引,i是行,j是列,这就是上面的矩阵叫做2×3矩阵的原因(3列2行,也叫做矩阵的维度(Dimension))。其实上面的公式推导并不难,我们来解释下沿z轴旋转的等式左边的表达式是怎么得到的,沿其它两个轴的原理和它都是一样的。原创 2024-08-04 23:35:23 · 1087 阅读 · 0 评论 -
【(一)OpenGL入门】4.纹理
我们之前只画了一个三角形,而更加复杂的物体是更多的三角形组成的,并且我们通过为每个顶点添加颜色来增加物体的细节。如果我们想让物体更加真实,就得有足够多的顶点,且指定足够多的颜色,这样会产生很多额外开销,因为每个模型需要很多顶点,而每个顶点又需要颜色属性。为了方便且减少开销,我们更习惯使用纹理来绘制更多的模型,纹理就像一张2D的贴图,把它贴在图像或模型上来增加物体的细节。这样物体细节取决于设计师的美工,而程序员则不必指定更多的顶点。原创 2024-04-07 22:53:00 · 2004 阅读 · 0 评论 -
【(一)OpenGL入门】3.着色器
着色器是运行在gpu核上的小程序。这些小程序针对渲染管线中的每个特定步骤运行。从本质上说,着色器只不过是将输入转换为输出的程序。着色器也是非常孤立的程序,他们唯一的交流是通过输入和输出。它是使用一种为计算机图形学量身定制的GLSL语言写成的,GLSL有两种容器类型,向量vector和矩阵matrix。向量允许一些有趣和灵活的分量选择方式,叫重组(swizzling)。//添加offset// 设置uniform值//获取时间//在着色器程序里找到ourColor。原创 2024-02-15 22:03:33 · 1377 阅读 · 2 评论 -
【(一)OpenGL入门】2.画一个三角形
如图,因为我们定义的顶点坐标vertices只有顶点属性,所以采用VAO1的形式,只有一个属性,相应的VBO1中每一个元素就是一个顶点vertex,保存其x,y,z值。由几次运行结果可知,最后呈现在窗口的画面是否是正方形和输入的标准设备坐标无关,而和glviewport后的屏幕坐标有关,片段着色器处理后的像素点的形状也是这么来的。我们可以先不着急编写着色器,使用系统自带的着色器画一个三角形出来,旨在使用上面学习的知识,先避开着色器部分,更快的用opengl画出一个三角形。从顶点着色器输出的数据输入到。原创 2023-12-15 00:37:37 · 1822 阅读 · 0 评论 -
【(一)OpenGL入门】1.vs2022环境搭建及Hello窗口
安装编译glad,glad作用是为了把函数指针和显卡驱动里面的函数建立联系,因为各显卡厂商对于OpenGL标准的理解不同,写出来的驱动也不同。将glfw-3.3.8/include/GLFW/下的.h文件和glfw-3.3.8/build/src/Debug下的.lib文件分别拷贝到我们创建的include和lib目录下。文件到你的工程中,修改这两处头文件,具体得根据你的include目录,如果你的include目录下还有文件夹,那就得用人家源码的写法,我的.h直接复制到include目录中所以这样改。原创 2023-05-28 21:13:26 · 4067 阅读 · 4 评论