What's going on with Eric?

好久没有写日志,并不是我偷懒或者遗忘,只是最近在研究Managed DirectX(MDX), 比较入迷,无暇顾Blog。
现在写下我这几天的心得。其实综看DirectX的整个渲染架构跟OpenGL大同小异,都是CPU装载Vetex Buffer,传送到GPU渲染, GPU处理Pixel,一起Flip到前台。

我想说的关键的并不是这一点,而是作为一个软件架构师你应该去关注,怎么样的类库可以帮助你更快,更好,更容易的写出高效而容易管理的代码。我以为,DirectX正在倡导的就是这一点,
Opengl是一个规范,而DirectX更像一个实现规范的类库和例子的集合。我研究尚前,但就是几天工夫,我已经摸清了,创建Device,vertex buffer, index buffer, DrawPrimitive, Light, texture, Mesh, SimplifyMesh, EnhancedMesh, ProgressiveMesh等等的基础技术,这说明了两点,一是微软的例子实在通俗易懂,还有就是渲染架构的类似使我学习起来非常容易上手。我现在已经可以有一个带实时LOD的地形渲染的Demo。

对于懒人,你可以直接使用Microsoft.Samples.DirectX.UtilityToolkit,这个Namespace下面有大量你可以重用的工具,几乎所有3D 程序里面要用到的工具。但真正的程序应该有自己的Toolkit,这样才会高效,因为Microsoft的Sample的针对Common的用户,并不是为你一个程序作优化的,你需要有你自己的ResourceCacheManager,你的Timer,你的Camera, 还有你的....才能说是一个引擎,后来我也有了一个不错的想法,就是把Window Component的思想整合到引擎,这样二次开发者只有在form上简单Drag and drop你就可以有一个General的Compoent, F5就可以Run一个Program,Wow,Amazing ~~~
想象一个Camera等都可以做成Component,实在赞~~

posted on 2007-03-20 11:54  SigEric  阅读(207)  评论(0)    收藏  举报

导航