Can't render the scene

Hi,

Please, help me with my problem. I have a simple app which should render one triangle. But I see a blank screen. Can someone help? I am using Managed DirectX for .NET Framework 2.0 (April update). The source code is here:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.DirectX;

using Microsoft.DirectX.Direct3D;

using Microsoft.DirectX.Generic;

using CV = Microsoft.DirectX.Direct3D.CustomVertex;

namespace dxtest

{

publicpartialclassForm1 :Form

{

privateVertexBuffer vb;

privateDevice device;

public Form1()

{

SetStyle(ControlStyles.AllPaintingInWmPaint |ControlStyles.Opaque,true);

InitializeComponent();

}

publicvoid InitDeviceObjects()

{

PresentParameters presentParameters =newPresentParameters();

presentParameters.DeviceWindowHandle =this.Handle;

presentParameters.SwapEffect =SwapEffect.Discard;

presentParameters.IsWindowed =true;

presentParameters.AutoDepthStencilFormat =DepthFormat.D24X8;

presentParameters.EnableAutoDepthStencil =true;

device =newDevice(0,DeviceType.Reference,this.Handle,CreateFlags.SoftwareVertexProcessing,

presentParameters);

device.RenderState.CullMode =Cull.None;

vb =newVertexBuffer(device, 3 * CV.PositionColored.StrideSize,Usage.None, CV.PositionColored.Format,Pool.Managed,null);

GraphicsBuffer<CV.PositionColored> stream = vb.Lock<CV.PositionColored>(0, 1,LockFlags.None);

stream.Write(new CV.PositionColored(0, 0, 1,Color.White));

stream.Write(new CV.PositionColored(0, 1, 2,Color.White));

stream.Write(new CV.PositionColored(1, 1, 3,Color.White));

vb.Unlock();

}

privatevoid Form1_Paint(object sender,PaintEventArgs e)

{

device.Clear(ClearFlags.Target |ClearFlags.ZBuffer,Color.Blue, 1.0f, 0);

device.BeginScene();

device.Transform.Projection =Matrix.PerspectiveFieldOfViewLeftHanded((float)Math.PI / 4, (float)this.Width /this.Height, 0.1f, 1000.0f);

device.Transform.View =Matrix.LookAtLeftHanded(newVector3(0, 0, -5),newVector3(0, 0, 0),newVector3(0, 1, 0));

device.Transform.World =Matrix.Identity;

device.VertexShader =null;

device.PixelShader =null;

device.SetStreamSource(0, vb, 0);

device.VertexFormat = CV.PositionColored.Format;

device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);

device.EndScene();

device.Present();

this.Invalidate();

}

}

}

[7643 byte] By [netie] at [2007-12-22]