会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
yangly
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
14
下一页
2022年8月30日
阅读《计算机图形学编程(使用OpenGL和C++)》11 - 加载外部obj模型
摘要: 复杂的3D模型可以借助建模工具生成,这种工具能够在3D空间中构建任意形状并自动生成顶点、纹理坐标、顶点法向量等。模型生成后可导出成obj文件格式,这种格式有很多,OBJ文件很简单,我们可以相对容易地开发一个基本的导入器。在OBJ文件中,通过文本行的形式指定顶点几何数据、纹理坐标、法向量和其他信息。它
阅读全文
posted @ 2022-08-30 11:08 yangly
阅读(549)
评论(0)
推荐(0)
2022年8月29日
阅读《计算机图形学编程(使用OpenGL和C++)》10 - 画环形
摘要: 构建一个环 先在xy平面上画圆,以原点为圆心,外径为半径画圆,(可以看作将一个点从原点沿x轴方向平移外径长度的距离,然后绕Z轴旋转一周,得到了圆),然后,将这个圆沿x轴方向再平移内径的距离,如上左图,是环的切面,这样得到了环的第一个组成部分。 将这个圆各个顶点再沿Y轴旋转一周,就得到了环。如上右图,
阅读全文
posted @ 2022-08-29 16:11 yangly
阅读(386)
评论(0)
推荐(0)
2022年8月26日
阅读《计算机图形学编程(使用OpenGL和C++)》9 - 画球体
摘要: 前面有了太阳系,模型用的立方体和金字塔,现在我们来构建球体。 对于半径为R的圆,围绕其圆周的点的坐标可以被很好地定义。 我们可以系统地使用圆的几何知识来通过算法建立球体模型。我们的策略如下。 (1)在整个球体上,选择表示一系列圆形“水平切片”的精度。 (2)将每个圆形切片的圆周细分为若干个点。更多的
阅读全文
posted @ 2022-08-26 17:59 yangly
阅读(1138)
评论(0)
推荐(1)
2022年8月25日
阅读《计算机图形学编程(使用OpenGL和C++)》8 - 纹理贴图
摘要: 纹理贴图就是将图片贴到模型上,让模型看起来更真实。 纹理贴图非常重要,因此硬件也为它提供了支持,使得它具备了实现实时的照片级真实感的超高性能。纹理单元是专为纹理设计的硬件组件,现代显卡通常带有数个纹理单元。 纹理图像就是我们准备贴图的图片,需要一个纹理对象来保存。 创建纹理对象我们在以下函数中实现:
阅读全文
posted @ 2022-08-25 17:28 yangly
阅读(559)
评论(0)
推荐(0)
2022年8月19日
阅读《计算机图形学编程(使用OpenGL和C++)》7 - 同一个场景渲染不同的对象
摘要: 同一个场景渲染不同的对象,一种简单的方法是为每个模型使用单独的缓冲区。每个模型都需要自己的模型矩阵,这样我们就需要为我们渲染的每个模型生成一个新的模型-视图矩阵。还需要为每个模型单独调用glDrawArrays()。因此,我们需要修改init()和display()函数。 让我们继续添加一个简单的金
阅读全文
posted @ 2022-08-19 11:28 yangly
阅读(140)
评论(0)
推荐(0)
2022年8月16日
阅读《计算机图形学编程(使用OpenGL和C++)》6 -同一个场景渲染相同的对象
摘要: 渲染同一个场景,多个相同对象的情况,比如说24个立方体,可以利用循环变量来计算立方体的旋转和平移参数,以便每次绘制立方体时,都会构建不同的模型矩阵。 void display(GLFWwindow* window, double currentTime) { ... // 构建透视矩阵 glfwGe
阅读全文
posted @ 2022-08-16 14:42 yangly
阅读(192)
评论(0)
推荐(0)
2022年8月10日
用c++实现异步线程的进度条
摘要: 突然想起来好久之前遇到的问题,记录下。 想解决的问题:执行计算时不知道什么时候结束,进度条的值没法精确给出,只能给个假的。另外不能在主线程中执行计算,要开另外的线程计算,不然主界面就卡住了。 解决代码如下: 1 QEventLoop eventLoop; 2 QFutureWatcher<void>
阅读全文
posted @ 2022-08-10 18:12 yangly
阅读(1356)
评论(0)
推荐(0)
2022年8月4日
阅读《计算机图形学编程(使用OpenGL和C++)》5 - 数学部分
摘要: 计算机图形学中大量使用了数学原理,尤其是矩阵和矩阵代数,来实现移动、缩放、透视、纹理、光照、阴影等效果,书中列举了一些基础矩阵运算实现移动、缩放等效果。 一、数学基础 1、点、3D坐标系 3D空间通常用3个坐标轴X、Y和Z来表示。还记得右手坐标系吗,OpenGL中的坐标系大体是右手坐标系,而Dire
阅读全文
posted @ 2022-08-04 15:29 yangly
阅读(554)
评论(1)
推荐(0)
2022年6月15日
读书笔记
摘要: 1、别人有别人的生活,自己有自己的节奏,选择适合自己的,而不是少数服从多数去过别人的日子,不要把自己的生活过的拧巴不开心。 2、我希望过什么样的生活?我希望... 我有一座不大不小的房子,干净温暖舒适,消除疲劳。有一个园子,种满了鲜花水果,几棵果树,一些常用蔬菜,好看又实用,可以在这里体会自然的美好
阅读全文
posted @ 2022-06-15 12:36 yangly
阅读(59)
评论(0)
推荐(0)
2022年1月29日
阅读《计算机图形学编程(使用OpenGL和C++)》4 - 画立方体
摘要: 绘制一个对象,它的顶点数据需要发送给顶点着色器。通常会把顶点数据在C++端放入一个缓冲区,并把这个缓冲区和着色器中声明的顶点属性相关联。其步骤如下: 只做一次的步骤,一般放在 init() 中。 1、创建一个缓冲区。 2、将顶点数据复制进缓冲区。 如果是动画场景的话,每帧都要做,一般在 displa
阅读全文
posted @ 2022-01-29 17:46 yangly
阅读(1009)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
14
下一页
公告