vbnet的directx程序设计

vbnet的directx程序设计

ID:36318192

大小:2.17 MB

页数:33页

时间:2019-05-09

vbnet的directx程序设计_第1页
vbnet的directx程序设计_第2页
vbnet的directx程序设计_第3页
vbnet的directx程序设计_第4页
vbnet的directx程序设计_第5页
资源描述:

《vbnet的directx程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章VB.Net的DirectX程序设计6.1DirectX简介为了使得各种语言都能开发DirectX,尤其是支持.Net托管框架。微软发布了托管版本的ManagedDirectXSDK。ManagedDirectX实质上是对DirectX进行了一个轻量级的封装。一方面使它供.NET平台下的其他语言调用(如C#);另一方面对DirectX程序编写进行了进一步简化。ManagedDirectX所支持的托管代码语言:MicrosoftVisualC#MicrosoftVisualBasic.NETMicrosoftVisualC++Micros

2、oftJScript.NET6.2第一个DirectX程序6.2.1配置环境6.2.2新建项目6.2.3添加新窗体6.2.4添加引用6.2.5Device类及初始化6.2.6定义渲染函数6.2.7定义运行的事件过程6.2.8设置启动窗体6.3绘制一个三角形通过Direct3D绘制的每个对象都是有三角形组成的,一个三角形由三个点组成,而每个点都定义成一个向量来指定点的X、Y和Z坐标。DirectX中有一种定义顶点的结构,那就是CustomVertex类。6.4绘制基本图元类型值说明示意图TriangleFan6绘制扇形三角形,所有的三角形都共享

3、一个顶点TriangleStrip5绘制三角形带,每两个相邻的三角形共享两个顶点。TriangleList4每三个顶点被绘制为一个单独的三角形LineStrip3绘制折线LineList2绘制分段直线PointList1绘制离散点6.5摄像机基础三个空间:世界空间(worldspace)、摄像机空间(cameraspace)和模型空间(modelspace)。三个变换:视图变换(ViewTransformation)、世界变换(WorldTransformation)和投影变换(ProjectionTransformation)。6.5.1定

4、义视图变换使用Matrix.LookAtLH或Matrix.LookAtRH来创建一个视图矩阵,用于表示摄像机位置和摄像机目标位置,其中Matrix.LookAtLH用于创建左手法则的视图矩阵,Matrix.LookAtRH用于创建右手法则的视图矩阵。DimviewMatrixAsMatrix=Matrix.LookAtLH(eye,at,up)6.5.2定义投影变换使用Matrix.PerspectiveFovLH或Matrix.PerspectiveFovRH创建一个基于视场(FOV)的投影变换,其中PerspectiveFovLH用于创

5、建左手法则的投影矩阵,PerspectiveFovRH用于创建右手法则的投影矩阵。DimprojectionAsMatrix=Matrix.PerspectiveFovLH(Math.PI/4,Me.Width/Me.Height,1.0F,50.0F)6.5.3设置绘图设备投影及视图矩阵device.Transform.Projection=projectiondevice.Transform.View=viewMatrix6.5.4绘制三角形采用PositionColored形式来定义顶点。Dimvertices(3)AsCustomVe

6、rtex.PositionColored'定义顶点vertices(0).Position=NewVector3(0.0F,0.0F,0.0F)vertices(0).Color=Color.Red.ToArgb()vertices(1).Position=NewVector3(10.0F,0.0F,0.0F)vertices(1).Color=Color.Green.ToArgb()vertices(2).Position=NewVector3(5.0F,10.0F,0.0F)vertices(2).Color=Color.Yellow.T

7、oArgb()device.VertexFormat=CustomVertex.PositionColored.Formatdevice.DrawUserPrimitives(PrimitiveType.TriangleList,1,vertices)‘取消反面消隐device.RenderState.CullMode=Cull.None‘关闭灯光,使用点颜色device.RenderState.Lighting=False6.5.5显示线框device.RenderState.FillMode=FillMode.WireFrame6.6输入

8、事件键盘和鼠标作为一种输入设备,在DirectX中也有相应的类用于表示这类输入设备,那就是Microsoft.DirectX.DirectInput.Device6

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。