DirectX
文章平均质量分 67
就叫我海
本人纯属乱说..如有雷同,纯属巧合...
展开
-
Direct3D 初始化
Direct3D是一套底层图形API,借助API,我们能够利用硬件加速功能绘制3D场景,Direct3D 可以被视为应用程序与图形设备交互式的中介,它们之前的关系可以描述如下应用程序--->Direct3D--->HAL--->图形设备在Direct3D和图形设备之间有一个中间环节,HAL(Hardware Abstraction Layer)由于市面上的图形卡品种繁多,每种卡性能原创 2013-11-29 20:59:09 · 1687 阅读 · 0 评论 -
顶点格式
其实这就是一个我们自己声明定义的一个结构,在其中,我们进行图元顶点的存储,我们在程序中用它来记录一切顶点的属性,但DX本身对它有一定的限制,那就是限制我们在设计其属性时各类型参数的顺序。在这个FVF中,我们可以设置顶点的: 1:位置x,y,z坐标 2:RHW(已转化的顶点,齐次W倒数) 3:混合加权值 4:顶点的法线 5:扩散的颜色(漫射属性) 6:反射颜色(镜面反射属性原创 2013-11-30 09:46:09 · 1507 阅读 · 0 评论 -
绘制流水线
绘制流水线 绘制流水线中,前面几个坐标系的相互转换,要想D3D来完成坐标转换,我们所必须做的仅仅是提供描述坐标的变换矩阵,应用一个变换矩阵的方法是使用SetTransform方法,例如坐局部坐标系到世界坐标系的坐标变换我们可以这样写g_pDevice->SetTransform(D3DTS_WORLD,&worldMatrix); 1.局部坐标系原创 2013-12-02 14:56:02 · 2112 阅读 · 0 评论 -
旋转的茶壶
这里只贴关键代码,void RenderScene(float _time){ D3DXMATRIX rx,ry; static float y = 0.0f,x = 0.0f; D3DXMatrixRotationY(&ry,y); y+=_time; if(y>=6.28f) { y =0.0f; } D原创 2013-12-02 21:06:42 · 1003 阅读 · 0 评论 -
颜色
在Direct3D中,颜色用RGB三元组来表示,RGB数据可用两种不同的数据结构来保存,第一种是D3DCOLOR,它实际与DWORD完全相同,共有32位,D3DCOLOR类型中的各位被分成4个八位项同,每顶存放了一种颜色的分量值, 32bitalpha red,green,bluetypedef DWORD D3DCOLOR#define D3DCOLO原创 2013-12-03 11:12:13 · 745 阅读 · 0 评论 -
光照
1.光照的组成为了增强所绘场景的真实感,我们可以为场景增加光照,使用光照时,我们无需自行指定顶点的颜色值,依据光源类型,材质,以及物体表面相对于光源的朝向,计算出每个顶点的颜色值,光照由以下三种类型光组成,环境光(Ambient Light) 这种类型的光经其它表面反射到物体表面,并照亮整个场景,例如,物体的一些部份被一定程度的照亮,但物体并没有处于光源的直接照射下,物原创 2013-12-04 22:47:25 · 693 阅读 · 0 评论