上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 前面有了太阳系,模型用的立方体和金字塔,现在我们来构建球体。 对于半径为R的圆,围绕其圆周的点的坐标可以被很好地定义。 我们可以系统地使用圆的几何知识来通过算法建立球体模型。我们的策略如下。 (1)在整个球体上,选择表示一系列圆形“水平切片”的精度。 (2)将每个圆形切片的圆周细分为若干个点。更多的 阅读全文
posted @ 2022-08-26 17:59 yangly 阅读(1106) 评论(0) 推荐(1)
摘要: 纹理贴图就是将图片贴到模型上,让模型看起来更真实。 纹理贴图非常重要,因此硬件也为它提供了支持,使得它具备了实现实时的照片级真实感的超高性能。纹理单元是专为纹理设计的硬件组件,现代显卡通常带有数个纹理单元。 纹理图像就是我们准备贴图的图片,需要一个纹理对象来保存。 创建纹理对象我们在以下函数中实现: 阅读全文
posted @ 2022-08-25 17:28 yangly 阅读(542) 评论(0) 推荐(0)
摘要: 同一个场景渲染不同的对象,一种简单的方法是为每个模型使用单独的缓冲区。每个模型都需要自己的模型矩阵,这样我们就需要为我们渲染的每个模型生成一个新的模型-视图矩阵。还需要为每个模型单独调用glDrawArrays()。因此,我们需要修改init()和display()函数。 让我们继续添加一个简单的金 阅读全文
posted @ 2022-08-19 11:28 yangly 阅读(130) 评论(0) 推荐(0)
摘要: 渲染同一个场景,多个相同对象的情况,比如说24个立方体,可以利用循环变量来计算立方体的旋转和平移参数,以便每次绘制立方体时,都会构建不同的模型矩阵。 void display(GLFWwindow* window, double currentTime) { ... // 构建透视矩阵 glfwGe 阅读全文
posted @ 2022-08-16 14:42 yangly 阅读(177) 评论(0) 推荐(0)
摘要: 突然想起来好久之前遇到的问题,记录下。 想解决的问题:执行计算时不知道什么时候结束,进度条的值没法精确给出,只能给个假的。另外不能在主线程中执行计算,要开另外的线程计算,不然主界面就卡住了。 解决代码如下: 1 QEventLoop eventLoop; 2 QFutureWatcher<void> 阅读全文
posted @ 2022-08-10 18:12 yangly 阅读(1325) 评论(0) 推荐(0)
摘要: 计算机图形学中大量使用了数学原理,尤其是矩阵和矩阵代数,来实现移动、缩放、透视、纹理、光照、阴影等效果,书中列举了一些基础矩阵运算实现移动、缩放等效果。 一、数学基础 1、点、3D坐标系 3D空间通常用3个坐标轴X、Y和Z来表示。还记得右手坐标系吗,OpenGL中的坐标系大体是右手坐标系,而Dire 阅读全文
posted @ 2022-08-04 15:29 yangly 阅读(528) 评论(1) 推荐(0)
摘要: 1、别人有别人的生活,自己有自己的节奏,选择适合自己的,而不是少数服从多数去过别人的日子,不要把自己的生活过的拧巴不开心。 2、我希望过什么样的生活?我希望... 我有一座不大不小的房子,干净温暖舒适,消除疲劳。有一个园子,种满了鲜花水果,几棵果树,一些常用蔬菜,好看又实用,可以在这里体会自然的美好 阅读全文
posted @ 2022-06-15 12:36 yangly 阅读(58) 评论(0) 推荐(0)
摘要: 绘制一个对象,它的顶点数据需要发送给顶点着色器。通常会把顶点数据在C++端放入一个缓冲区,并把这个缓冲区和着色器中声明的顶点属性相关联。其步骤如下: 只做一次的步骤,一般放在 init() 中。 1、创建一个缓冲区。 2、将顶点数据复制进缓冲区。 如果是动画场景的话,每帧都要做,一般在 displa 阅读全文
posted @ 2022-01-29 17:46 yangly 阅读(989) 评论(0) 推荐(0)
摘要: GLSL运行在GPU上,想要调试需要一个用于捕获和显示GLSL错误的模块。 Utils.h #pragma once #include "GL\glew.h" #include <string> class Utils { public: Utils(); ~Utils(); static void 阅读全文
posted @ 2022-01-28 17:52 yangly 阅读(435) 评论(0) 推荐(0)
摘要: OpenGL可以绘制点、线、三角形,这些简单的东西叫做图元,多数3D模型通常是由许多三角形的图元构成。图元由顶点组成。顶点可以从文件读取并由C++/OpenGL应用载入缓冲区或直接在C++文件中硬编码字符串或直接在GLSL代码中。在加载顶点之前,C++/OpenGL应用必须编译并链接合适的GLSL顶 阅读全文
posted @ 2022-01-28 16:01 yangly 阅读(578) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页