资源简介
direct3d C#绘制三角形的例子 d3d
代码片段和文件信息
////////////////////////////////////////////////////////////////////////
// ■■■■ ■■■■■ ■■■■ ■ ■ //
// ■ ■ ■ ■ ■ //
// ■ ■ ■ ■■■ ■ ■ //
// ■ ■ ■ ■ ■ ■ //
// ■■■■ ■ ■■■■ ■■■■ //
// 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 DrawTriangle : Form
{
Device device = null;//定义绘图设备
public DrawTriangle()
{
this.ClientSize = new Size(800 600);//指定窗体尺寸
this.Text = “绘制一个三角形“;//指定窗体标题
}
public bool InitializeDirect3D()
{
try
{
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true; //指定以Windows窗体形式显示
presentParams.SwapEffect = SwapEffect.Discard; //当前屏幕绘制后它将自动从内存中删除
device = new Device(0 DeviceType.Hardware this CreateFlags.SoftwareVertexProcessing presentParams); //实例化device对象
return true;
}
catch (DirectXException e)
{
MessageBox.Show(e.ToString() “Error“); //处理异常
return false;
}
}
public void Render()
{
if (device == null) //如果device为空则不渲染
{
return;
}
device.Clear(ClearFlags.Target Color.DarkSlateBlue 1.0f 0); //清除windows界面为深蓝色
device.BeginScene();
//在此添加渲染图形代码
CustomVertex.TransformedColored[] vertices = new CustomVertex.TransformedColored[3];//定义顶点
vertices[0].Position = new Vector4(150f 400f 0f 1f);
vertices[0].Color = Color.Red.ToArgb();
vertices[1].Position = new Vector4(this.Width / 2 100f 0f 1f);
vertices[1].Color = Color.Green.ToArgb();
vertices[2].Position = new Vector4(this.Width-150f 400f 0f 1f);
vertices[2].Color = Color.Yellow.ToArgb();
device.VertexFormat = CustomVertex.TransformedColored.Format;
device.DrawUserPrimitives(PrimitiveType.TriangleList 1 vertices);
device.EndScene();
device.Present();
}
static void Main()
{
DrawTriangle DrawTriangle = new DrawTriangle(); //创建窗体对象
if (DrawTriangle.InitializeDirect3D() == false) //检查Direct3D是否启动
{
MessageBox.Show(“无法启动Direct3D!“ “错误!“);
return;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-21 22:10 04绘制一个三角形\绘制一个三角形\bin\Debug
目录 0 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形\bin\Release
目录 0 2012-05-21 22:10 04绘制一个三角形\绘制一个三角形\bin
文件 3740 2010-01-27 11:08 04绘制一个三角形\绘制一个三角形\DrawTriangle.cs
文件 1181 2009-12-12 15:43 04绘制一个三角形\绘制一个三角形\DrawTriangle.Designer.cs
文件 5574 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 16689 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形\obj\Debug\ResolveAssemblyReference.cache
目录 0 2010-03-21 11:28 04绘制一个三角形\绘制一个三角形\obj\Debug\TempPE
文件 2311 2012-05-21 11:38 04绘制一个三角形\绘制一个三角形\obj\Debug\绘制一个三角形.csproj.FileListAbsolute.txt
文件 6144 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形\obj\Debug\绘制一个三角形.exe
文件 17920 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形\obj\Debug\绘制一个三角形.pdb
目录 0 2012-05-21 22:10 04绘制一个三角形\绘制一个三角形\obj\Debug
文件 567 2009-12-30 11:30 04绘制一个三角形\绘制一个三角形\obj\绘制一个三角形.csproj.FileList.txt
目录 0 2012-05-21 22:10 04绘制一个三角形\绘制一个三角形\obj
文件 3378 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形\绘制一个三角形.csproj
文件 931 2012-05-21 11:38 04绘制一个三角形\绘制一个三角形\绘制一个三角形.sln
..A..H. 12288 2012-05-21 11:38 04绘制一个三角形\绘制一个三角形\绘制一个三角形.suo
目录 0 2012-05-21 22:10 04绘制一个三角形\绘制一个三角形
文件 953 2012-05-21 11:36 04绘制一个三角形\绘制一个三角形.sln
..A..H. 16896 2012-05-21 11:37 04绘制一个三角形\绘制一个三角形.suo
目录 0 2012-05-21 22:10 04绘制一个三角形
----------- --------- ---------- ----- ----
88572 21
评论
共有 条评论