• 大小: 21KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C#
  • 标签: direct3d  d3d  

资源简介

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


评论

共有 条评论

相关资源