Компьютерная графика, мультимедиа и игры на Visual C#


Глава Методика проектирования неподвижных и подвижных плоских фигур - часть 3


    this.OnCreateVertexBuffer(myVertexBuffer, null);

}

//Задаем параметры вершин:

public void OnCreateVertexBuffer(object sender, EventArgs e)

{

    GraphicsStream myGraphicsStream = myVertexBuffer.Lock(0, 0, 0);

    CustomVertex.TransformedColored[] Vertex =

        new CustomVertex.TransformedColored[3];

    //Вершина 0:

    Vertex[0].X = 150; Vertex[0].Y = 50; Vertex[0].Z = 0.5f;

    Vertex[0].Rhw = 1;

    Vertex[0].Color = System.Drawing.Color.Aqua.ToArgb();

    //Вершина 1:

    Vertex[1].X = 250; Vertex[1].Y = 300; Vertex[1].Z = 0.5f;

    Vertex[1].Rhw = 1;

    Vertex[1].Color = System.Drawing.Color.Black.ToArgb();

    //Вершина 2:

    Vertex[2].X = 50; Vertex[2].Y = 300; Vertex[2].Z = 0.5f;

    Vertex[2].Rhw = 1;

    Vertex[2].Color = System.Drawing.Color.LightPink.ToArgb();

    myGraphicsStream.Write(Vertex);

    myVertexBuffer.Unlock();

}

//Метод для начала и окончания визуализации

//преобразованных вершин:

public void myRendering()

{

    if (myDevice == null)

        return;

    //Задаем белый цвет (Color.White) форме Form1:

    myDevice.Clear(ClearFlags.Target,

        System.Drawing.Color.White, 1.0f, 0);

   //Начинаем сцену:

    myDevice.BeginScene();

    myDevice.SetStreamSource(0, myVertexBuffer, 0);

    myDevice.VertexFormat = CustomVertex.TransformedColored.Format;

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

    //Заканчиваем сцену:

    myDevice.EndScene();

    myDevice.Present();

}

Теперь в файле Form1.cs (или Program.cs) находим главный метод Main, комментируем весь имеющийся в этом методе автоматически сгенерированный код и записываем код со следующего листинга (для вывода формы Form1 и рисования на ней графики).

Листинг 44.4. Код  для вывода формы и рисования на ней графики.

using (Form1 myForm1 = new Form1())

{

    if (!myForm1.InitializeDirectX())

    {

        MessageBox.Show("Ошибка при инициализации DirectX.");

        return;

    }

    //Показываем форму Form1:




Начало  Назад  Вперед



Книжный магазин