Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Drawing;
- using System.Windows.Forms;
- using Microsoft.DirectX;
- using Microsoft.DirectX.Direct3D;
- class Initialize
- {
- Form target;
- Device device;
- PresentParameters pp;
- VertexBuffer vb;
- public void initializeGraphics(Form window)
- {
- this.target = window;
- this.target.ClientSize = new Size(800, 600);
- this.target.StartPosition = FormStartPosition.CenterScreen;
- setupDevice();
- }
- public void setupDevice()
- {
- pp = new PresentParameters();
- pp.Windowed = true;
- pp.SwapEffect = SwapEffect.Discard;
- device = new Device(0, DeviceType.Hardware, target, CreateFlags.HardwareVertexProcessing, pp);
- device.RenderState.Lighting = false;
- device.RenderState.CullMode = Cull.None;
- device.RenderState.AlphaBlendEnable = true;
- Vector3 cameraPosition = new Vector3(0, 0, -2);
- Vector3 cameraTarget = new Vector3(0, 0, 0);
- Vector3 cameraUp = new Vector3(0, 1, 0);
- device.Transform.View = Matrix.LookAtLH(cameraPosition, cameraTarget, cameraUp);
- device.Transform.Projection = Matrix.OrthoLH(800, 600, -2.0f, 2.0f);
- fillBuffer();
- }
- public void fillBuffer()
- {
- CustomVertex.PositionColored[] verts = new CustomVertex.PositionColored[3];
- verts[0] = new CustomVertex.PositionColored(0f, 1.0f, 0, Color.Blue.ToArgb());
- verts[1] = new CustomVertex.PositionColored(-1.0f, -1.0f, 0, Color.White.ToArgb());
- verts[2] = new CustomVertex.PositionColored(1.0f, -1.0f, 0, Color.Orange.ToArgb());
- vb = new VertexBuffer(typeof(CustomVertex.PositionColored), verts.Length, device, 0, CustomVertex.PositionColored.Format, Pool.Default);
- GraphicsStream stream = vb.Lock(0, 0, LockFlags.None);
- stream.Write(verts);
- vb.Unlock();
- }
- public void Render()
- {
- device.Clear(ClearFlags.Target, Color.Black, 1.0F, 0);
- device.BeginScene();
- device.SetStreamSource(0, vb, 0);
- device.VertexFormat = CustomVertex.PositionColored.Format;
- device.DrawPrimitives(PrimitiveType.TriangleFan, 0, 1);
- device.EndScene();
- device.Present();
- }
- }
Add Comment
Please, Sign In to add comment