![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机图形学
文章平均质量分 63
孟浪#
dhu
展开
-
DX9入门(四)
翁云兵老师《3D游戏程序设计入门》笔记纹理1、纹理是什么,为啥要加入纹理GAMES101中的定义是,对不同的顶点赋予不同的属性。2、创建并赋予材质IDirect3Dtexture9* stonewall;D3DXCreateTextureFromFile(device, “stonewall”, &stonewall);device->SetTexture(0, stonewall); //stage设置为0,表示一个纹理。stage取值从0到7。可以贴8张纹理3、不管纹理贴图原创 2021-04-24 21:54:12 · 369 阅读 · 0 评论 -
DX9入门(三)
翁云兵老师《3D游戏程序设计》笔记1、前面说了DX9怎么绘制图形。现在要加上三角形的颜色,让其显示出各种颜色。颜色由四维向量构成(Red, Green, Blue, Alpha)。每个维度都是0-255的亮度值。然后我们将这个向量指定在顶点上就可以形成有颜色的图形。struct ColorVertex{float x, y, z;D3DCOLOR color;}2、设置好顶点颜色后,需要设定怎么去着色。按照GAMES101的说法,应该是设定着色频率。有三种着色频率:【注】这里的着色都是材质原创 2021-04-24 19:47:25 · 465 阅读 · 0 评论 -
DX9入门(二)
翁云兵老师的《3D游戏程序设计入门》1、顶点格式顶点不仅可以表示坐标,还可以给它赋予法线、纹理坐标。在GAMES101中提到,这些是可以在将来进行重心插值的。比如Ground shading就是对顶点进行着色,然后再进行重心插值。这里对顶点着色势必要考虑到顶点法线与光照的夹角。DX9的顶点格式一般使用自由标记FVF。2、顶点和索引之间的关系组成了图元目前只使用三角形图元。DX9将所有的顶点放置在一个很大的数组中,然后使用索引告诉编译器怎么去组装图元。如果不告诉那就顺序3个3个一组3、裁剪熟悉完原创 2021-04-24 17:08:54 · 584 阅读 · 0 评论 -
DirectX9 入门(一)
1、HALDX9是一种高度封装图形API的接口,内置了很多的库,例如Direct3D,还有弃用的Direct3DX。在不同的机器上有不同的显卡类型,HAL就是显卡厂家实现的显卡驱动程序,向上承接DX9,向下承接底层实现。2、组件对象在DX9中,将大部分的接口都封装成了组件对象,可以理解为一个类。例如表面就是一个COM对象,我们可以通过这个对象实例化出一个表面,读写其内存数据,也就是像素。COM对象有自己的析构函数,不用我们在自己申请内存和释放内存。不用的时候release就好了。3、IDirect原创 2021-04-24 15:58:11 · 3012 阅读 · 0 评论 -
网格简化算法(二)
网格简化算法(二)边折叠效果展示:可见,折叠边(u, v),三角形1和2消失算法思路:具体解释1、对每个顶点定义一个4x4的对称误差矩阵。定义顶点到共享自己的面的距离的平方和为顶点到这些面的误差。由于初始情况下,顶点都是在那些面上的,所以初始误差均为0。Q矩阵就是点所有相邻面的二次误差矩阵的和。2、收缩一条边(v1, v2),则需要计算新的顶点位置。收缩一条边的Q可以确定:Qbar = Q1+ Q2。但是位置的选择需要计算,一种选择是从v1,v2,(v1 + v2)/2这三个位置上找,原创 2021-04-21 01:11:01 · 1323 阅读 · 0 评论 -
网格简化算法(一)
网格简化算法(一)顶点删除算法选择点进行删除点的分类三个定义删点步骤局部三角形化Delaunary三角形剖分法Reference选择点进行删除点的分类分有5类。分别是:简单点、复杂点、边界点、内部边缘点、角顶点原文中对于5类顶点的定义翻译如下:简单点不用说。复杂点的定义:如果边没有被两个三角形使用,或者如果顶点被一个不在三角形循环中的三角形使用,那么顶点是复杂的边界点:在网格边界上的顶点,即在三角形的半圈内的顶点,是边界顶点内部边顶点:如果两个相邻三角形之间的二面角大于指定的特征角,则存在原创 2021-04-21 00:14:10 · 2341 阅读 · 0 评论