Новичок
Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.4.2008
Репутация: нет Всего: нет
|
собстно какойто экзампл простой Код | using System; using System.Drawing; using System.Windows.Forms; using Microsoft.DirectX; using Microsoft.DirectX.Direct3D;
namespace Chapter1Code { /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { private Device device = null; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; private float angle = 0.0f;
public Form1() { // // Required for Windows Form Designer support // InitializeComponent();
this.Size = new Size(800, 600); this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true); }
/// <summary> /// We will initialize our graphics device here /// </summary> public void InitializeGraphics() { // Set our presentation parameters PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true; presentParams.SwapEffect = SwapEffect.Discard;
// Create our device device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams); }
private void SetupCamera() { device.RenderState.CullMode = Cull.None; device.Transform.World = Matrix.RotationAxis(new Vector3(angle / ((float)Math.PI * 2.0f), angle / ((float)Math.PI * 4.0f), angle / ((float)Math.PI * 6.0f)), angle / (float)Math.PI); angle += 0.1f;
device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, this.Width / this.Height, 1.0f, 100.0f); device.Transform.View = Matrix.LookAtLH(new Vector3(0,0, 5.0f), new Vector3(), new Vector3(0,1,0)); device.RenderState.Lighting = true; }
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { device.Clear(ClearFlags.Target, System.Drawing.Color.CornflowerBlue, 1.0f, 0);
SetupCamera();
CustomVertex.PositionNormalColored[] verts = new CustomVertex.PositionNormalColored[3]; //2005/07/10, TheZbuffer.com, Updated for June SDK //verts[0].SetPosition(new Vector3(0.0f, 1.0f, 1.0f)); //verts[0].SetNormal(new Vector3(0.0f, 0.0f, -1.0f));
verts[0].Position=new Vector3(0.0f, 1.0f, 1.0f); verts[0].Normal=new Vector3(0.0f, 0.0f, -1.0f); verts[0].Color = System.Drawing.Color.White.ToArgb(); //2005/07/10, TheZbuffer.com, Updated for June SDK //verts[1].SetPosition(new Vector3(-1.0f, -1.0f, 1.0f)); //verts[1].SetNormal(new Vector3(0.0f, 0.0f, -1.0f)); verts[1].Position=new Vector3(-1.0f, -1.0f, 1.0f); verts[1].Normal=new Vector3(0.0f, 0.0f, -1.0f); verts[1].Color = System.Drawing.Color.White.ToArgb(); //2005/07/10, TheZbuffer.com, Updated for June SDK //verts[2].SetPosition(new Vector3(1.0f, -1.0f, 1.0f)); //verts[2].SetNormal(new Vector3(0.0f, 0.0f, -1.0f)); verts[2].Position=new Vector3(1.0f, -1.0f, 1.0f); verts[2].Normal=new Vector3(0.0f, 0.0f, -1.0f); verts[2].Color = System.Drawing.Color.White.ToArgb();
device.Lights[0].Type = LightType.Point; device.Lights[0].Position = new Vector3(); device.Lights[0].Diffuse = System.Drawing.Color.White; device.Lights[0].Attenuation0 = 0.2f; device.Lights[0].Range = 10000.0f;
//2005/07/10, TheZbuffer.com, Updated for June SDK //device.Lights[0].Commit(); device.Lights[0].Enabled = true;
device.BeginScene(); device.VertexFormat = CustomVertex.PositionNormalColored.Format; device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts); device.EndScene();
device.Present();
this.Invalidate(); }
/// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }
#region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.Size = new System.Drawing.Size(300,300); this.Text = "Form1"; } #endregion
/// <summary> /// The main entry point for the application. /// </summary> static void Main() { using (Form1 frm = new Form1()) { // Show our form and initialize our graphics engine frm.Show(); frm.InitializeGraphics(); Application.Run(frm); } } } }
|
Вызалит оно: "Error 1 The type 'Microsoft.DirectX.Direct3D.Device' exists in both 'd:\WINDOWS\assembly\GAC\Microsoft.DirectX.Direct3D\1.0.900.0__31bf3856ad364e35\Microsoft.DirectX.Direct3D.dll' and 'd:\WINDOWS\assembly\GAC_32\Microsoft.DirectX\2.0.900.0__31bf3856ad364e35\Microsoft.DirectX.dll' E:\omg\material\kniggi\programming\MDXKickstartCSAug05\c# Aug 05\Chapter 1\Lights\Form1.cs 15 17 Lights"
|