資源簡介
direct3d C#繪制三角形的例子 d3d

代碼片段和文件信息
////////////////////////////////////////////////////////////////////////
//??????■■■■?????■■■■■???????■■■■???????■???????■??????//
//????■?????????????????■?????????■???????????????■???????■??????//
//????■?????????????????■?????????■????■■■?????■???????■??????//
//????■?????????????????■?????????■???????■??????■???????■??????//
//??????■■■■?????????■???????????■■■■?????????■■■■???????//
//?Copyright?(c)?三峽大學水利與環(huán)境學院?肖澤云.?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();?//創(chuàng)建窗體對象
????????????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
評論
共有 條評論