虽然上一节这样就算一个完整的direct3d程序了,但是你不看代码的话完全看不出他与一个默认的c#工程有哪些区别,所以,我们必须在我们的场景中建立一些东西来说明我们编写的是一个完整的direct3d程序
方法,所以这个方法内是我们编写代码的好地方,不必去理会用户是否改变的窗口,一切判断都由windows自动帮我们完成了.哈哈函数如下protected override void onpaint(system.windows.forms.painteventargs e){ device.clear(clearflags.target, system.drawing.color.cornflowerblue, 1.0f, 0); device.present();} 【程序编程相关:C#中使用XML——实现DOM 】
在windows forms类中,有一个内部方法可以在适当的时候重画窗口,我们所要做的就是重写此方法,每当窗口发生变化的时候就会从新载入此 【推荐阅读:365Key的Web Service接口】
呵呵,在3d图形系统中,最基础的对象就是三角形,有了足够多的三角形,我们可以创造任何东西,包括平滑的曲面,所以,在我们的一个程序中,很自然的就是想要创造一个三角形.在这里,我们使用的坐标系统是屏幕坐标系统而不是世界坐标,(世界坐标系统与坐标转换我们将在以后详细讨论)在我们创造三角形必须要做两件事:第一,我们需要一些数据信息来构造我们的三角形;第二,我们要告诉我们刚刚建立的设备来着手画这个三角形. 【扩展信息:用VB.Net实现DirectSound】
这里告诉我们要画一个蓝色窗口.clear方法负责清除窗口显示,并且画出底色好了,现在你编译这个程序,会发现窗口已经变成蓝色,而且不管你放大,缩小,最大化,最小化,蓝色总是充满了整个窗口,到这里,你可能会觉得我还是在钻牛角尖,直接在form的属性设置底色为蓝色一样可以达到这样的效果,所以,接下来,我们要来一点稍微不同的东西.
非常幸福的事,managed direct3d运行库已经有现成的构造器来建立我们的三角形,这个就是direct3d命名空间下面的customvertex类,他包括了一些基本的格式来建立基本的图形.... 下一页