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
|
privateMesh myMesh = null;
publicvoid InitializeGraphics()
{
// Paramètre de présentation
presentParams = newPresentParameters();
presentParams.BackBufferHeight = this.Height;
presentParams.BackBufferWidth = this.Width;
presentParams.IsWindowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
// Depth Buffer
presentParams.EnableAutoDepthStencil = true;
presentParams.AutoDepthStencilFormat = DepthFormat.D16;
presentParams.DeviceWindowHandle = this.Handle;
// Créer le device
device = newDevice(0, DeviceType.Hardware, this.Handle,
CreateFlags.SoftwareVertexProcessing, presentParams);
myMesh = Mesh.Teapot(device);
// Device.IsUsingEventHandlers = true;
// device.DeviceRisizing += new CancelEventHandler(this.CancelResize);
// Register an event-handler for DeviceReset and call it to continue
// our setup.
// N'a pas l'air de fonctionner !!!
device.DeviceLost += newEventHandler(device_DeviceLost); // Ok !
device.Disposing += newEventHandler(device_Disposing); // Ok !
device.DeviceReset += newEventHandler(device_DeviceReset); // not Ok !
// device.DeviceReset += new System.EventHandler(this.OnResetDevice);
OnResetDevice(device, null);
}
protectedoverridevoid OnPaint(System.Windows.Forms.PaintEventArgs e)
{
device.Clear(ClearFlags.Target | ClearFlags.ZBuffer,
System.Drawing.Color.CornflowerBlue,
1.0f, 0);
SetLights();
SetupCamera();
device.Transform.World = Matrix.RotationX(angleX);
device.Transform.World *= Matrix.RotationY(angleY);
device.BeginScene();
myMesh.DrawSubset(0);
device.EndScene();
device.Present();
}
|
Partager