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