|
Простейшие
примитивы
Итак, у вас есть прекрасная возможность почувствовать
себя богом, который создаёт вселенную. Но сначала давайте разберёмся,
из чего же она будет состоять:
А состоит она из всяких разных объектов. Большая часть – это так нами
называемые меши. Что это такое? Сложно сказать словами J… в общем меш
– это просто модель. Цилиндр, куб, шар, ваша собственная модель – всё
это меши. Они состоят из вершин (или вертексов) – это просто точки в
пространстве, и треугольников, состоящих из трёх соединённых вершин.
Но это можно пока и не запоминать – к этому мы придем потом. Но, кроме
мешей, к объектам относятся: свет, камера, и пивоты. Пивоты – это невидимые
точки в пространстве, которые очень помогают работать. Далее, из двухмерного
мира к нам пришли спрайты. Нет, это не феи из Heroes of Might and Magic,
- это просто плоские меши J, состоящие из четырёх вертексов и двух треугольников,
т.е. это просто плоская картинка. Потом плайн – тот же спрайт, только
бесконечный. Проще говоря - плоскость! Их обычно используют для создания
неба, воды – всего, что должно быть плоским и бесконечным J. И, наконец
террайн, но его мы затрагивать не будем.
Далее, вселенная - трёхмерная, так что у неё есть 3 оси
– X,Y,Z. Ось X – это ось ширины, направленная слева направо. Ось Y –
высота, идущая снизу вверх. И ось Z – как, бы длина, направленная вперёд!
Эти оси существуют не только у всей вселенной, но и у каждого объекта
тоже, но и об этом тоже по порядку…
Это была вводная часть в 3D мир, без которого нельзя было
обойтись, чтобы знать, что вообще мы собираемся делать. Но, более или
менее мы всё поняли, так что идём дальше! Пора уже приступать к программированию
– зайдите в Блитц3D, и наберите следующий код:
Graphics3D 640,480,16,1
SetBuffer BackBuffer()
Repeat
Until KeyHit(1)
End
Момент, когда вы это запустите, можете считать историческим, и отмечать
его, как день рождения… - вы только что создали собственный мир! Пусть
там ничего не видно – просто он пока пустой! Разберём все команды по
порядку:
Graphics3D 640,480,16,1 – эта строчка инициализирует Direct3D, ну, и
создаёт вселенную J. Синтакс такой: Graphics3D ширина, высота, глубина
цвета, режим Ширина, высота – размер создаваемого экрана (в пикселях
есь-сно) Глубина – глубина цвета – 16, 24 или 32 бита на пиксель. Режим:
0 - оконный во время разработки (если возможно), полноэкранный
в .exe формате;
1 - всегда полноэкранный
2 - всегда оконный
3 - всегда оконный, с возможностью изменения размеров
окна.
SetBuffer BackBuffer() - устанавливает буфер на задний буфер. Те, кто
знали, те поняли, те же, кто не знали, не поняли вообще J... В общем,
если хотите, чтобы всё было правильно, пишите эту команду после Graphics3D.
Repeat
Until KeyHit(1)
- между этими двумя командами, у нас будет происходить
сам цикл игры. Перевод таков: Повторять … пока не нажата клавиша Esc
J. End – эта команда показывает, что программа завершена.
Что, не впечатляет? А зря – вы только
что создали окно Direct3D – практически ваше окно в мир создания компьютерных
игр!
|