- 博客(8)
- 收藏
- 关注
原创 使用mesh渲染复杂模型(调用.x 文件)
前面我们学了使用简单的类库中的mesh建立了一个茶壶,但在实际操作中,我们的模型恐怕不只是茶壶这么简单吧?其实有很多复杂3d模型是通过建模软件制作的,如3dmax等。D3D支持.x模型文件,.x文件包括模型数据,如vertexbuffer,indexbuffer,以及材质等信息。而且材质信息还可能包括纹理等信息,在获取这些文件的同时,你也同时可以获得HighLevel Shader Languag
2004-10-27 13:27:00
1806
原创 使用Mesh :material And Light
前面使用light渲染顶点,但这个被渲染的顶点是有颜色的,那么,当我们渲染一个实体,他的各顶点没有颜色时,我们还是照以前的方法使用light,会出现什么情况呢?答案是一片实体漆黑,Why?这是因为D3D在计算一个3D实体中的一个点的颜色时,它不仅需要知道其light的颜色,而且还要知道当light照到实体上时,实体应反射的颜色。在D3D中,有materials这个概念来描述这个属性。我们先来创
2004-10-26 21:21:00
1102
原创 使用简单的DepthBuffer 和使用Lights
DepthBuffer主要用于区分3d场景中,渲染时,物体与物体之间遮挡的问题,如一个物体A在另一个物体B的前面,那么渲染时,将看不见物体B被遮挡的部分。当然3d场景不仅仅只是前后遮挡的问题,四面八方都有可能吧。1.初始化设备时:presentParams.EnableAutoDepthStencil = true;presentParams.AutoDepthStencilFormat =
2004-10-24 15:09:00
777
原创 使用IndexBuffer(索引)
今前面我们使用VertexBuffer渲染了一个立方体,我用的是TriangleStrip,共用了18个顶点。而事实上,我们的立方本只有8个顶点,以前的渲染方法尽足足多了10个顶点,对于像立方体这像一个小的实体来说,这并不会降低我们的执行效率和占用太大的空间,但是,如果对于一个成千上万的顶点的实体来说,重复使用顶点可是一个不大的开销!如何减小开销呢?可以使用IndexBuffer。它为每个顶点建立
2004-10-24 15:02:00
1513
原创 给立方体添加纹理
今天看了《Managed DirectX 9 Kick Start: Graphics and Game Programming 》有关加纹理的,下面我以我对书的理解谈谈如何简单的向对立方体加纹理。有不对之处,请大家指正,谢谢。首先我把原来的PositionColored类型的顶点改为PositionTextured,原因是显而易见的。顺便提一句,CustomVertex里有2种大的顶点类型,一种
2004-10-23 16:44:00
1482
原创 Tuesday,October 19,2004
今天看DX9SDK for ManagedDX,不太顺心,后面的Direct3D Surfacces和Direct3D Textures两章,难呀。看SDK的英文确实很吃力。感觉什么都没有学到,像是在浪费光阴...今天听了学校微软技术俱乐部两个MVP(微软最具价值专家),有关的讲做,感觉他们凶啊....呜...,才20岁出头,同龄的我却毫无价值,思考他们的成长经历和我有什么不同...今天也看了
2004-10-23 16:34:00
728
原创 用C# Managed DX渲染一个立方体
已经看Managed DirectX几天了,今天做了第一个程序---旋转的正方体下面是对今天做的程序的心得体会,加深对程序的理解(望各路高手指点):1、做D3D程序,首先得在C#中引用其动态联接库Microsoft.DirectX 和Microsoft.DirectX.Direct3D2、程序首先得安始化硬件设备,这里用InitialGraphics()方法实现:建立一个设备(Device),
2004-10-17 23:13:00
2535
1
原创 Saturday, October 16,2004
今天终于把我的blog网页激活了...正在为我的blog增加新的内容。最近学习Managed DirectX,难呀...产生一个3D视图真是不容易呀,看来要学习的东西还很多,得加油看,DX9的SDK,头都看大了。希望在未来半年内会有所成就...呵呵...
2004-10-16 22:53:00
732
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人