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


         

создаем массив из 100 пользовательских


    // создаем массив из 100 пользовательских вершин:
    CustomVertex.PositionNormalTextured[] Vertex =
        (CustomVertex.PositionNormalTextured[])myVB.Lock(0, 0); // Lock the buffer (which will return our structs)
    for (int i = 0; i < 50; i++)
    {
        //Заполняем вершины данными:
        float theta = (float)(2 * Math.PI * i) / 49;
        //Рассчитываем нормали в вершинах:
        Vertex[2 * i].Normal = new Vector3((float)Math.Sin(theta), 0, (float)Math.Cos(theta));
        //Добавляем в вершину v-компоненту текстуры:
        Vertex[2 * i].Tv = 1.0f;
        //Рассчитываем координаты вершин:
        Vertex[2 * i + 1].Position = new Vector3((float)Math.Sin(theta), 1, (float)Math.Cos(theta));
        //Добавляем в вершину u-компоненту текстуры:
        Vertex[2 * i + 1].Tu = ((float)i) / (50 - 1);
    }
    //Открываем буфер вершин:
    myVB.Unlock();
}
//Включаем таймер и выполняем матричные преобразования:
private void SetupMatrices()
{
    //Используем глобальную матрицу (world matrix),
    //чтобы вращать фигуру вокруг оси y.
    myDevice.Transform.World = Matrix.RotationAxis(
        new Vector3(
        (float)Math.Cos(Environment.TickCount / 250.0f), 1,
        (float)Math.Sin(Environment.TickCount / 250.0f)),
        Environment.TickCount / 1000.0f);
    //Задаем координаты глаза наблюдателя
    //в матрице вида (view matrix):
    myDevice.Transform.View = Matrix.LookAtLH(
        new Vector3(0.0f, 3.0f, -5.0f),
        new Vector3(0.0f, 0.0f, 0.0f),
        new Vector3(0.0f, 1.0f, 0.0f));
    //При помощи матрицы проецирования (projection matrix)
    //выполняем перспективные преобразования:
    myDevice.Transform.Projection =
        Matrix.PerspectiveFovLH(
        (float)Math.PI / 4.0f, 1.0f, 1.0f, 100.0f);
}
//Выполняем визуализацию преобразованных вершин:
public void myRendering()
{
    if (myPause) return;
    //Очищаем и заливаем форму Form1 белым цветом:
    myDevice.Clear(ClearFlags.Target | ClearFlags.ZBuffer,

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий