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;
- Bitmap goo = (Bitmap)Image.FromFile("grass.bmp");
- Bitmap soo = (Bitmap)Image.FromFile("stone.bmp");
- Texture grass;
- Texture stone;
- 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()
- {
- goo.MakeTransparent(goo.GetPixel(1,1));
- soo.MakeTransparent(soo.GetPixel(1,1));
- grass = Texture.FromBitmap(device, goo, 0, Pool.Managed);
- stone = Texture.FromBitmap(device, soo, 0, Pool.Managed);
- CustomVertex.PositionTextured[] verts = new CustomVertex.PositionTextured[8];
- verts[0] = new CustomVertex.PositionTextured(new Vector3(0f,0f,0f), 0, 0);
- verts[1] = new CustomVertex.PositionTextured(new Vector3(0f,-40f,0f), 0, 1);
- verts[2] = new CustomVertex.PositionTextured(new Vector3(40f,0f,0f), 1, 0);
- verts[3] = new CustomVertex.PositionTextured(new Vector3(40f,-40f,0f), 1, 1);
- verts[4] = new CustomVertex.PositionTextured(new Vector3(20f,-10f,0f), 0, 0);
- verts[5] = new CustomVertex.PositionTextured(new Vector3(20f,-50f,0f), 0, 1);
- verts[6] = new CustomVertex.PositionTextured(new Vector3(60f,-10f,0f), 1, 0);
- verts[7] = new CustomVertex.PositionTextured(new Vector3(60f,-50f,0f), 1, 1);
- vb = new VertexBuffer(typeof(CustomVertex.PositionTextured), verts.Length, device, 0, CustomVertex.PositionTextured.Format, Pool.Default);
- GraphicsStream stream = vb.Lock(0, 0, LockFlags.None);
- stream.Write(verts);
- vb.Unlock();
- }
- public void Render()
- {
- device.Clear(ClearFlags.Target, Color.White, 1.0F, 0);
- device.BeginScene();
- device.SetStreamSource(0, vb, 0);
- device.VertexFormat = CustomVertex.PositionTextured.Format;
- device.SetTexture(0, grass);
- device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2);
- device.SetTexture(0, stone);
- device.DrawPrimitives(PrimitiveType.TriangleStrip, 4, 2);
- device.EndScene();
- device.Present();
- }
- }
Add Comment
Please, Sign In to add comment