Guest User

Untitled

a guest
Jul 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4. using Microsoft.DirectX;
  5. using Microsoft.DirectX.Direct3D;
  6.  
  7. class Initialize
  8. {
  9. Form target;
  10. Device device;
  11. PresentParameters pp;
  12. VertexBuffer vb;
  13.  
  14. public void initializeGraphics(Form window)
  15. {
  16. this.target = window;
  17. this.target.ClientSize = new Size(800, 600);
  18. this.target.StartPosition = FormStartPosition.CenterScreen;
  19.  
  20. setupDevice();
  21. }
  22.  
  23. public void setupDevice()
  24. {
  25. pp = new PresentParameters();
  26. pp.Windowed = true;
  27. pp.SwapEffect = SwapEffect.Discard;
  28.  
  29. device = new Device(0, DeviceType.Hardware, target, CreateFlags.HardwareVertexProcessing, pp);
  30. device.RenderState.Lighting = false;
  31. device.RenderState.CullMode = Cull.None;
  32. device.RenderState.AlphaBlendEnable = true;
  33.  
  34. Vector3 cameraPosition = new Vector3(0, 0, -2);
  35. Vector3 cameraTarget = new Vector3(0, 0, 0);
  36. Vector3 cameraUp = new Vector3(0, 1, 0);
  37.  
  38. device.Transform.View = Matrix.LookAtLH(cameraPosition, cameraTarget, cameraUp);
  39. device.Transform.Projection = Matrix.OrthoLH(800, 600, -2.0f, 2.0f);
  40.  
  41. fillBuffer();
  42. }
  43.  
  44. public void fillBuffer()
  45. {
  46. CustomVertex.PositionColored[] verts = new CustomVertex.PositionColored[3];
  47. verts[0] = new CustomVertex.PositionColored(0f, 1.0f, 0, Color.Blue.ToArgb());
  48. verts[1] = new CustomVertex.PositionColored(-1.0f, -1.0f, 0, Color.White.ToArgb());
  49. verts[2] = new CustomVertex.PositionColored(1.0f, -1.0f, 0, Color.Orange.ToArgb());
  50.  
  51. vb = new VertexBuffer(typeof(CustomVertex.PositionColored), verts.Length, device, 0, CustomVertex.PositionColored.Format, Pool.Default);
  52.  
  53. GraphicsStream stream = vb.Lock(0, 0, LockFlags.None);
  54. stream.Write(verts);
  55. vb.Unlock();
  56. }
  57.  
  58. public void Render()
  59. {
  60. device.Clear(ClearFlags.Target, Color.Black, 1.0F, 0);
  61. device.BeginScene();
  62.  
  63. device.SetStreamSource(0, vb, 0);
  64. device.VertexFormat = CustomVertex.PositionColored.Format;
  65. device.DrawPrimitives(PrimitiveType.TriangleFan, 0, 1);
  66.  
  67. device.EndScene();
  68. device.Present();
  69. }
  70. }
Add Comment
Please, Sign In to add comment