
固定管线 基础
jiexuan357
记录学习的点点滴滴。
闻道有先后,术业有专攻,如是而已。
展开
-
2、顶点缓冲
Copyright © MikeFeng QQ: 76848502 D3D9以一种比较易于理解的方式让程序员来组织游戏画面,这种方式就是顶点缓冲。程序员可以自己定义一组记录多边形定点颜色,纹理位置等的数组,让D3D9去自动生成多边形内部每个像素的信息。为了和以后的vertex shader相区别,我们现在谈论的都是固定功能的顶点处理( Fixed-Function )。 上面转载 2012-07-09 00:30:26 · 496 阅读 · 0 评论 -
8、DXUT框架
Copyright © MikeFeng QQ: 76848502 温故而知新,前面的DXUT框架我只看了一个外壳,我觉得这次框架的亮点就在于它对于图形界面的支持。如果说Win32 API SDK中gdi部分是主旋律,那么MFC就是一个流行歌曲作家发挥之后完成的作品,而DXUT的图形框架则继承了Platform SDK中的风格,代码行间给人一种高贵的感觉。-,-扯远了,拉回来。因为gd转载 2012-07-09 00:34:08 · 382 阅读 · 0 评论 -
DXUT 设计指南
DXUT设计指南 DXUT是一个建立在Direct3D API之上的,被大部分Direct3D指南和例子所使用的层。它的目标是创建Direct3D例子、原型、工具,更容易的建立坚固、专业的游戏。DXUT概观初始化DXUT使用基于DXUT的程序窗口使用DXUT设备使用DXUT主循环处理DXUT的错误DXUT高级设备选择DXUT高级功能转载 2012-07-09 00:35:29 · 709 阅读 · 0 评论 -
6、光照和材质
Copyright © MikeFeng QQ: 76848502 D3D支持三种光:环境光(Ambient Light),漫反射(Diffuse Light)和镜面反射(Specular Light)。镜面反射需要更多计算,因此D3D默认关闭镜面反射。可以通过给SetRenderState传D3DRS_AMBIENT来设置环境光。 在现实世界中,我们看到一个红色的物转载 2012-07-09 00:32:58 · 1350 阅读 · 0 评论 -
4、纹理
Copyright © MikeFeng QQ: 76848502 纹理在D3D中是一个非常重要的概念,它的出现改变了以前3D物体表面不真实的状况,为程序员提供了将2维图像应用到3维物体上去的功能。请做好心理准备,因为新的概念将像暴风骤雨般的袭来,而在没有弄懂基本概念之前是不可能进行下一步的学习的。下面是一些术语的大致概念:纹理( Textrue ):将要应用到3维(或者2维转载 2012-07-09 00:32:03 · 491 阅读 · 0 评论 -
1、框架
Copyright © MikeFeng QQ: 76848502 友情提醒:所谓的框架是指SDK目录下\Samples\C++\Common路径下的DXUT系列函数包装。学习框架的前提是必须有足够的Windows API,GUI编程经验,必须熟悉Windows的消息机制,回调机制,最好有万行左右的C/C++编程经验。MFC在这里没有任何用处。另外我觉得最好在看程序之前对于D3D的所有转载 2012-07-09 00:29:55 · 419 阅读 · 0 评论 -
7、多重纹理和纹理混合
Copyright © MikeFeng QQ: 76848502 多重纹理MultiTexture:使用多张纹理来渲染一个场景,只调用一次(DrawPrimitive) 纹理混合TextureBlending:按要求混合在同一个位置的像素点上色彩或透明度 在多重纹理(multitexturing)出现之前,DirectX支持的是多次渲染(multipass转载 2012-07-09 00:33:46 · 1100 阅读 · 0 评论 -
5、动画和矩阵变换
Copyright © MikeFeng QQ: 76848502 D3D中世界的运动是通过矩阵变化完成的。这里不打算讲数学知识,相关问题请参考计算机图形学书籍。 在D3D中矩阵变换分为三种:世界变换,观察变换和投影变换。世界变换描述了物体本身的缩放,旋转和平移,也就是物体本身的运动;观察变换描述了一个观察者在场景中的位置和朝向;投影变换描述了观察者可以看到内容的范围,类似转载 2012-07-09 00:32:35 · 722 阅读 · 0 评论 -
3、索引缓冲
索引缓冲Index Buffer是由用户定义的,用来告诉D3D渲染顶点顺序的WORD或者DWORD数组。索引缓冲离不开顶点缓冲,但是顶点缓冲却不一定需要索引缓冲。创建索引缓冲的过程和创建顶点缓冲类似,首先是声明,然后在OnCreateDevice中初始化和创建,在OnFrameRender中渲染,在OnDestroyDevice中销毁。相关代码如下:声明:LPDIREC转载 2012-07-09 00:31:06 · 516 阅读 · 0 评论 -
D3D的视矩阵是如何构造的
原帖地址:http://blog.youkuaiyun.com/ysbcg/article/details/2163770可以看到 D3DXMatrixLookAtLH 的说明中是用如下的说明来解释如何构造这个矩阵的zaxis = normal(At - Eye)xaxis = normal(cross(Up, zaxis))yaxis = cross(zaxis, xax转载 2013-05-10 09:01:51 · 594 阅读 · 0 评论