Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по DirectX

  Все выпуски  

Уроки по DirectX


Информационный Канал Subscribe.Ru


DirectX. Уроки с сайта http://progs.biz

Рассылка №3

DirectX. Direct3D. Урок 1. Готовим окно для рисования.

Полные версии уроков (с картинками) можно найти по адресам:
Урок 1. Готовим окно для рисования.

И. Хабибуллин. Создание распределенных приложений на Java 2

Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по VB.NET
Уроки по Visual Basic.NET. Написание Windows-программ, создание собственных компонентов, примеры и исходники, работа с базами данных, создание веб-приложений, FAQ, и многое другое.

Direct3D для VB.NET. Урок 1. Готовим окно для рисования

На этом уроке мы с вами подготовим окно для рисования в нем.

Начнем с того, что создадим обычное приложение VB.NET для Windows. Проект для определенности назовем dx (от DirectX, естественно).

Подключаем нужные пространства имен:

Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D

Кроме таких строк надо добавить еще нужные References. Для этого щелкаем правой кнопкой мыши на имени решения dx в окне Solution Explorer, в появившемся окне Add Reference выбираем строки Microsoft.DirectX и Microsoft.DirectX.Direct3D.

Далее нажимаем на кнопку Select и затем на OK. Соответствующие ссылки появятся в ветке References окна Solution Explorer.

Двигаемся дальше. В классе нашей формы объявляем переменную device типа Device и обнуляем ее:

Private device As Device = Nothing

Можно считать в первом приближении, что эта переменная представляет из себя видеокарту. Именно через нее мы и будем работать.

Далее мы инициализируем нашу видеокарту (т. е. переменную device). Для этого добавляем метод InitializeGraphics:

    Public Function InitializeGraphics() As Boolean
        Try
            Dim presentParams As New PresentParameters
            presentParams.Windowed = True
            presentParams.SwapEffect = SwapEffect.Discard
            'Создание device на с параметрами, задаваемыми presentParams.
            device = New Device(0, DeviceType.Hardware, Me, CreateFlags.SoftwareVertexProcessing, presentParams)
            Return True
        'Если неудача, то возврящаем False.
        Catch e As DirectXException
            Return False
        End Try
    End Function

Тут создаем новый экземпляр класса PresentParameters (из пространства имен Microsoft.DirectX.Direct3D). Для него мы задаем ряд параметров - например, что наша программа будет оконной (а не полноэкранной).

Затем добавляем функцию Main (именно с нее и начнется выполнение нашей программы):

    Shared Sub Main()
        Dim frm As New Form1()
        'Пытаемся инициализировать Direct3D.
        If Not frm.InitializeGraphics() Then
            MessageBox.Show("Direct3D не инициализируется.")
            Return
        End If
        'Показываем форму.
        frm.Show()
        While frm.Created
            frm.Render()
            Application.DoEvents()
        End While
    End Sub

Пока у нас не написан метод Render для класса формы. Добавим его:

    Private Sub Render()
            If device Is Nothing Then
                Return
            End If
            'Устанавливаем цвет фона в голубой.
            device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0F, 0)
            'Начинаем сцену.
            device.BeginScene()
            'Тут будем добавлять код.
            'Заканчиваем сцену.
            device.EndScene()
            device.Present()
        End Sub

Все! Запускаем программу. Мы должны увидеть характерный синий фон в нашей форме.

Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное