1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
public partial class Form1 : Form
{
private Direct3D d3d;
private Device device;
private Sprite sprite;
private Texture texture;
public Form1()
{
InitializeComponent();
InitDevice();
sprite = new Sprite(device);
texture = Texture.FromFile(device, "Content/ship.png");
//Show() und Render() werden nicht ausgeführt ... Die Form öffnet sich aber hiernach dennoch, aber grau statt weiß und ohne meinen sprite :/
Show();
Render();
}
private void InitDevice()
{
d3d = new Direct3D();
PresentParameters pp = new PresentParameters();
pp.SwapEffect = SwapEffect.Discard;
pp.DeviceWindowHandle = Handle;
pp.Windowed = true;
pp.BackBufferWidth = ClientSize.Width;
pp.BackBufferHeight = ClientSize.Height;
pp.BackBufferFormat = Format.A8R8G8B8;
device = new Device(d3d, 0, DeviceType.Hardware, Handle, CreateFlags.HardwareVertexProcessing, pp);
}
public void Render()
{
device.Clear(ClearFlags.Target, new Color4(Color.White), 0, 0);
device.BeginScene();
sprite.Begin(SpriteFlags.None);
sprite.Draw(texture, new Vector3(25, 25, 0), new Vector3(10, 10, 0), new Color4(Color.White));
sprite.End();
device.EndScene();
device.Present();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
device.Dispose();
d3d.Dispose();
sprite.Dispose();
texture.Dispose();
}
}
|