资源简介
C# directX 3d对象拾取

代码片段和文件信息
////////////////////////////////////////////////////////////////////////
// ■■■■ ■■■■■ ■■■■ ■ ■ //
// ■ ■ ■ ■ ■ //
// ■ ■ ■ ■■■ ■ ■ //
// ■ ■ ■ ■ ■ ■ //
// ■■■■ ■ ■■■■ ■■■■ //
// Copyright (c) 三峡大学水利与环境学院 肖泽云. All rights reserved. //
////////////////////////////////////////////////////////////////////////
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
namespace 拾取对象
{
public partial class Pickobject : Form
{
Device device = null;//定义绘图设备
private float angleY=0.01f;//定义绕Y轴旋转变量
private Vector3 CamPostion = new Vector3(0 30 -30);//定义摄像机位置
private Vector3 CamTarget = new Vector3(0 0 0);//定义摄像机目标位置
private int mouseLastXmouseLastY;//记录鼠标按下时的坐标位置
private bool isRotateByMouse=false;//记录是否由鼠标控制旋转
private bool isMoveByMouse = false;//记录是否由鼠标控制移动
//private Mesh meshObj;//定义茶壶网格对象
//private Material meshMaterials; //定义网格材质对象
private Mesh[] meshObj;//定义茶壶网格对象
private Material[] meshMaterials; //定义网格材质对象
private Matrix[] meshPosition;//定义茶壶网格的位置
public Pickobject()
{
this.ClientSize = new Size(800 600);//指定窗体尺寸
this.Text = “拾取对象“;//指定窗体标题
}
public bool InitializeDirect3D()
{
try
{
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true; //指定以Windows窗体形式显示
presentParams.SwapEffect = SwapEffect.Discard; //当前屏幕绘制后它将自动从内存中删除
presentParams.AutoDepthStencilFormat = DepthFormat.D16;
presentParams.EnableAutoDepthStencil = true;
presentParams.PresentationInterval = PresentInterval.Immediate;
device = new Device(0 DeviceType.Hardware this CreateFlags.SoftwareVertexProcessing presentParams); //实例化device对象
/*
meshObj = Mesh.Teapot(device);//定义茶壶对象
//定义材质
meshMaterials.Diffuse = Color.White;
meshMaterials.Ambient = Color.White;
meshMaterials.Specular = Color.LightGray;
meshMaterials.SpecularSharpness = 15.0F;
*/
//定义三个茶壶对象
meshObj = new Mesh[3];
meshObj[0] = Mesh.Teapot(device);//定义茶壶对象
meshObj[1] = Mesh.Teapot(device);//定义茶壶对象
meshObj[2] = Mesh.Teapot(device);//定义茶壶对象
//定义茶壶位置
meshPosition = new Matrix[3];
meshPosition[0] = Matrix.Translation(-10f 0f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-21 22:12 15.3拾取对象\拾取对象\bin\Debug
目录 0 2012-05-21 22:12 15.3拾取对象\拾取对象\bin
目录 0 2010-03-21 11:28 15.3拾取对象\拾取对象\obj\Debug\Refactor
文件 16512 2009-12-17 07:56 15.3拾取对象\拾取对象\obj\Debug\ResolveAssemblyReference.cache
目录 0 2010-03-21 11:28 15.3拾取对象\拾取对象\obj\Debug\TempPE
文件 24576 2010-01-25 09:30 15.3拾取对象\拾取对象\obj\Debug\包围盒.exe
文件 22016 2010-01-25 09:30 15.3拾取对象\拾取对象\obj\Debug\包围盒.pdb
文件 24576 2010-01-27 11:17 15.3拾取对象\拾取对象\obj\Debug\拾取对象.exe
文件 22016 2010-01-27 11:17 15.3拾取对象\拾取对象\obj\Debug\拾取对象.pdb
文件 24576 2010-01-25 21:26 15.3拾取对象\拾取对象\obj\Debug\点击射线.exe
文件 19968 2010-01-25 21:26 15.3拾取对象\拾取对象\obj\Debug\点击射线.pdb
目录 0 2012-05-21 22:12 15.3拾取对象\拾取对象\obj\Debug
文件 142 2010-01-25 13:48 15.3拾取对象\拾取对象\obj\包围盒.csproj.FileList.txt
文件 154 2010-01-27 11:17 15.3拾取对象\拾取对象\obj\拾取对象.csproj.FileList.txt
文件 166 2010-01-24 20:29 15.3拾取对象\拾取对象\obj\摄像机变换.csproj.FileList.txt
文件 154 2010-01-25 21:36 15.3拾取对象\拾取对象\obj\点击射线.csproj.FileList.txt
目录 0 2012-05-21 22:12 15.3拾取对象\拾取对象\obj
文件 16561 2010-01-27 11:08 15.3拾取对象\拾取对象\Pickob
文件 1173 2010-01-25 21:38 15.3拾取对象\拾取对象\Pickob
文件 2618 2010-01-25 21:37 15.3拾取对象\拾取对象\拾取对象.csproj
目录 0 2012-05-21 22:12 15.3拾取对象\拾取对象
文件 925 2010-01-27 11:17 15.3拾取对象\拾取对象.sln
..A..H. 16384 2010-01-27 11:17 15.3拾取对象\拾取对象.suo
目录 0 2012-05-21 22:12 15.3拾取对象
----------- --------- ---------- ----- ----
192517 24
相关资源
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
- C#指纹识别系统程序 报告
评论
共有 条评论