设为首页 收藏本站
| 数控仿真 | 编程软件 | 技术文章 | 数控大赛 | 斐克科技 | 公路造价 | 文档备份 |
| 幸运之门彩票网 | 彩票论坛 | 彩票新闻 | 免费招聘 | 百科问吧 | 百姓族谱 | 小游戏网 |
古代奥运会简介及起源发展
C#(CSharp) | VC/C++ | C++Builder | ASP(ASP.NET) | SQL Server | OpenGL | CMM | Web | NC | GIS | OS | 免费小游戏 | 彩票论坛
Google
联高软件 > 技术文章 > DirectX > C#+DIRECT3D9.0开发实例之月亮绕着地球转
计算机图形学 | 计算几何 | OpenGL | DirectX | Web3D | 虚拟现实 | 数控技术 |
C#+DIRECT3D9.0开发实例之月亮绕着地球转

发表:联高软件www.legalsoft.com.cn,本文被阅读:1

一、建立空窗体

新建一个工程,添加引用,并导入名称空间。

加入一个设备对象变量:

private Microsoft.DirectX.Direct3D.Device device = null;

添加初始化图形函数,并在这里面对设备对象进行实例化:
当程序执行时,需要绘制场景,代码在这个函数里:
设置照相机的位置:
现在改变主函数,调用我们写的初始化函数,并显示场景:
运行程序,会显示一个空的窗体。

二、加入地球:

在这一步里需创建一个3D网格对象,来作为要显示的地球,为此,在工程中新加入一个类Earth,此类可以包含所创建的网格对象的信息。

加入一些相关变量,含义见注释:
在构造函数中,把Device设备拷贝到私有成员变量,这样就可以在这个类的其它方法内使用它,另外就是把位置变量进行赋值:
下面这个函数是装入.X文件。
在这个方法内,使用Mesh.FromFile()这个方法,从给定的文件名中找到.X文件,并装入相关数据,一旦数据格式设置完成,可以从此文件中找到材质和贴图信息,并把它存放在数组中,并通过文件路径,得到纹理文件文件的路径,最后返回真值,如果整个过程出现错误,返回假值。

下面这个Render()方法,是把此对象,即地球显示在设备对象上,此方法较简单,通过变形操作来得到网格对象的X,Y,Z坐标,接着设置网格对象的材质和纹理,最后,将每个材质和纹理应用到每个网格。
现在回到窗体代码中,添加引用网格对象的相关变量:
在图形初始化函数中,需要对网格对象进行初始化。加入下面的代码:
代码第一句把网格对象的位置定为原点,接着偏移X轴2个单位,接下来从文件中得到此.X文件。如果成功设置,meshLoaded置为真。注意,这里有一个.X文件,在源代码中有此文件。

在设置相机的函数中,加入一盏灯光:
此灯光较简单,仅为一个直射型白光灯。

最后,在Render()方法中,调用网格对象的Render()方法,以显示地球。



 联高软件 > 技术文章 > DirectX
·超强C#图片上传,加水印,自动生成缩略图源代码(联高原创) (500)
·C#中用SYSTEM.XML读写XML说明与代码 (479)
·C#取真实IP地址及分析 (499)
·ASP程序员学习C#之超级攻略 (387)
·通过C#实现集合类纵览.NETCOLLECTIONS及相关技术 (159)
·C#开发WAP程序实例 (268)
·C#3.0中对象初始化器和集合初始化器 (87)
·C#3.0新特性速览 (141)
·简单实用的C#分词源代码(含词库素材下载) (607)
 最新文章
·如何使用SQLSERVER2000中的XML功能
·超强C#图片上传,加水印,自动生成缩略图
·C#中用SYSTEM.XML读写XML说明与代码
·C#取真实IP地址及分析
·C#+DIRECT3D9.0开发实例之月亮绕着地球转
·ASP程序员学习C#之超级攻略
·通过C#实现集合类纵览.NETCOLLECTIONS及
·C#开发WAP程序实例
·C#3.0中对象初始化器和集合初始化器
·C#3.0新特性速览
·ASP和ASP.NET的MD5加密中文结果不同原因
·CSS截取固定长度字符串
·简单实用的C#分词源代码(含词库素材下载
·C#高效分页代码(不用存储过程)
·SERVER.TRANSFER是在两个页面之间进行传
·一个克隆对象的C#基类
·C#语言FTP客户端代码
·递归枚举排列、组合的C#源码
·在C#.NET中跟踪代码的运行过程
·ASP.NET2.0中实现跨页面提交
·C#通用的数据操作类
·常用的C#数据检查类
·C#中的域(FIELD)和属性(PROPERTY)
·C#编码规范和编程好习惯
·C#编码好习惯
·用C#实现C/S模式下软件自动在线升级
·C#参考之访问关键字:BASE、THIS
·C#实现遗传算法模拟花朵的进化
·用C#的类实现数据结构的堆栈算法
·在C#中应用哈希表(HASHTABLE)
·用C#生成中文汉字验证码的基本原理
·C#.NET支付宝接口
·在C#中利用SHARPZIPLIB进行文件的压缩和
·程序员必须知道的SQLSERVER数据库优化技
·360度全方位比较C#和VB
·C#设计模式之建造者(BUILDER)模式示例源
·C#抽象工厂模式的几种实现方法及比较
·用设计模式固化C#程序
·数据结构与算法(C#实现)系列---二叉树
·在C#中建立复杂的、灵活的SQL查询/命令
·解读C#中的正则表达式
·对C#开发的两个基本原则的深入讨论
·正则表达式使用高级技巧之组的概念
·模板和泛型如何配合使用
·C#中提供的VB不支持的新特性
·关于C#在LUCENE.NET下的中文切词
·无废话C#设计模式之十:FLYWEIGHT
·无废话C#设计模式之十一:COMPOSITE
·无废话C#设计模式之十二:BRIDGE
·无废话C#设计模式之十三:DECORATOR
 热门文章
·程序员必须知道的SQLSERVER数据库优化技
·OpenGL 入门教程(一)
·OpenGL基础篇
·使用回调函数(VC & Delphi)
·OpenGL 入门教程(二)
·C++Builder的一些技巧
·数控加工技术试题库
·矩阵相乘的快速算法
·如何实现进程间数据通讯技术
·数控考题(二)
·矩阵求逆的快速算法
·第一个三角形:NeHe的OpenGL第二课
·数控试题(一)
·Universal Geospatial Data Exchange
·TServerSocket和TClientSocket的使用
·地理信息系统中的常规网络分析功能及相关
·选择与反馈 (OpenGL)
·函数调用的几个概念:_stdcall,_cdecl..
·OpenGL 入门教程(三)
·OpenGL 入门教程(六)
·Dijkstra 最短路径算法的一种高效率实现
·数控车床加工编程典型实例分析
·应用程序的网上升级-VB
·OpenGL 入门教程(四)
·OpenGL 入门教程(五)
·自己绘制True type font字体
·数控车床基本坐标关系及几种对刀方法比较
·OpenGL 入门教程(七)
·数控机床标准M代码
·关于VC多文档应用中OpenGL的使用
免费小游戏
宠物连连看

真人美女换装

美女脱衣服

美女胴体猜猜看

调戏床上美女

黄金矿工
如何购买奥运会门票?
| 幸运之门 | 免费招聘 | 小游戏网 | 百科问吧 | 国际机票 | 我的信息 | 技术文章 | 文档备份 | 公路造价软件 | 联系我们 | 广告代理 | 媒体合作 | 免责条款 |
北京联高软件开发有限公司 1999-2008© 京ICP备05034864号 工商
地址:北京市海淀区中关村北二条13号中科科仪1号楼5层 地图
电话:010-82386887 010-62343002