
计算机图形学
文章平均质量分 73
code_or_not
这条咸鱼什么都没写
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
opengl学习笔迹——读取ply文件并绘制模型
首先要做的是读取ply文件,我们打开notepad++查看ply文件可以看到如上格式。有用的是第四行的37702代表顶点数量,11行的75404,代表面数。所以我们设置了如下的读取代码(非常地暴力) char ch[50]; ifstream in("lizhenxiout-repaired.ply"); bool www = in.fail(); for (int i...原创 2018-05-09 17:09:00 · 6659 阅读 · 2 评论 -
oepngl学习笔记——让p(l)y变得cool~(光照)
上一讲我们大致讲了如何绘制ply。但是这还不够,你得到的东西看起来就像是一个颜色块。这是因为这个世界没有光,我们要加上光照的效果。为此,我们在Init函数里这样设置glEnable(GL_LIGHTING);glEnable(GL_LIGHT0);这样我们开启了光照功能,并启动了light0,你可以依葫芦画瓢的启动light1,2,3,4……不过,要注意的是,在opengl管线编程,也就是像我们...原创 2018-05-09 17:41:51 · 1238 阅读 · 0 评论 -
opengl学习笔记(三)——玩弄模型(用户交互)
经过前面两节的功夫,我们算是搞到了一个还算可以的模型,但我们想要把模型翻来翻去,移动一下还是不行的。并且,根据用户(老师)需求,我们要让模型能以线框,点的方式绘制。也就有了这最后一讲。首先,我们通过鼠标左键来旋转物体。这就需要在鼠标回调函数里下功夫了if (state == GLUT_DOWN && button == GLUT_LEFT_BUTTON)//记录旋转拖动起始点 {...原创 2018-05-09 19:32:26 · 2570 阅读 · 0 评论 -
opengl学习笔记④——绕啊绕的行星系统(旋转,光照)
月亮绕着地球转,地球绕着太阳转。多层旋转关系在opengl里是个啥玩意?让我们来看一看。在opengl中,我们的各种操作会最终产生一个矩阵,矩阵与代表顶点的向量相乘得到最终的顶点信息。不过有趣的是,如果我们依次写下操作1,2,对应矩阵A,B,如果顶点的列向量是V,则变换的结果V'=ABV。可以看到的是,后定义的B操作先应用在了V上。这是因为opengl内的矩阵是右乘的(具体问度娘)。我不是很喜欢这...原创 2018-05-09 21:38:36 · 3656 阅读 · 0 评论 -
opengl学习笔记Ⅴ——磨人的轨迹球真可爱
这回我们继续优化交互。使用轨迹球来使得模型转得更加人性化。涉及的问题有点多,我分点来讲。一、多大的范围是球上的点?这里我们需要先讲一下投影矩阵那些事。参考文章:https://www.cnblogs.com/graphics/archive/2012/07/25/2582119.html如上图,我们在投影体内有一个点P,我们需要将它映射到前裁剪面得到P‘,再把裁剪平面缩放为屏幕大小,我们就可以得到...原创 2018-05-23 19:37:06 · 1933 阅读 · 2 评论