Привет всем,попробую написать пару уроков по директу,тут сложного нечего нету,все достаточно просто.На первом уроке я покажу как инициализировать DirectX без разници какой,и закрасить окно цветом.Ну поехали,запускайте VisualStudio язык C# и создаем обычный проект.Совсем забыл обязательно скачайте DirectXSDK и установите.Далее мы должны добавить ссылку на компонент директа а именно DirectX,Direct3D. значит если вы установили сдк то выбирайте в обозреватели решений "ссылки.добаыить ссылку" и в компонентах выбирете соответсвующий.Все теперь подключите пространство имен using Microsoft.DirectX.Direct3D;
using Microsoft.DirectX;
сейчас необходимо инициализировать устройство,для этого создадим обычную функцию куда и запишим все параметры.правой кнопкой по форме и в выпадающем меню "перейти к коду" именно здесь мы будем описывать устройство и выполнять разные операции. После объявления класса объявим ссылку на устройство и присвоем ей null
//устройство
public Device device = null;
public Form1()
{
InitializeComponent();
}
public void InitializeGraphics()
{
}
Теперь добавляем сам код в функцию
//настраиваем некоторые параметры
PresentParameters presentParams = new PresentParameters()
presentParams.Windowed = true;
presentParams.SwapEffeet = SwapEffect.Discard;
// Создаем устройство
device = new Device(0, DeviceType.Hardware, this,
CreateFlags.SoftwareVertexProcessing, presentParams);
рассмотрим параметры устройства.. 0-установка устройства по-умолчанию,DeviceType.Hardware-тип устройства,this-текущая форма,и остальное центральцый процессор
теперь надо вызвать этот метод.Его вызывать будем в классе Programs.cs
static void Main()
{
using (Form1 frm = new Form1())
{
frm.Show();
frm.InitializeGraphics();
Application.Run(frm);
}
}
Здесь тоже все просто,мы показываем окно что оно загружено и работает далее вызов функции создания устройства,и стандартный для приложения Application.Run(frm); сама форма.
Вот и все устройство создано и должно работать,но нам надо что то выводить,для этого мы создадим метод OnPaint и в нем будем перекрашивать окно.Далее после метода создания устройтсва в классе формы добавьте следующею функцию
//функция прорисовки
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
device.Clear(ClearFlags.Target, System.Drawing.Color.CornflowerBlue,
1.0f, 0);
device.Present();
}
Это стандартная функция для прорисовки,она будет очищать окно,методом Clear.Если запустите окно то оно будет синим цветом.В целом мы создали устройство и с помощью него заполняли окно цветом,но это не лучший вариант,хотя и для прорисовки используется DirectX.Поэтому в следующим уроке я покажу как загружать модели и отрисовывать их,и более подробно расскажу о прорисовки.