|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.03.2008, 13:27 | #1 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Уроки по использованию Direct3D в Delphi
Подготовка к изучению Direct3D.
Для начала вам нужно скачать необходимые библиотеки и модули. библиотеки D3DX9sab.dll и DXErr9ab.dll http://www.develprog.ucoz.ru/Lib.rar (898 kb) Модули Direct3D.pas, D3DX9.pas... http://www.develprog.ucoz.ru/Direct3D.rar (96 kb) D3DX9sab.dll и DXErr9ab.dll скопируйте в папку с проектом или в C:\WINDOWS\system32 Модули Direct3D.pas, D3DX9.pas... скиньте в папку с проектом или в папку с Delphi или задайте путь к файлам в Delphi. Урок 1. Инициализация Direct3D. Код:
http://www.develprog.ucoz.ru/D3DXInit.rar (13 kb) Последний раз редактировалось Kostia; 24.03.2008 в 17:02. |
24.03.2008, 14:44 | #2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Урок 2. Точка, линия, треугольник.
В примере рассмотрен способ вывода точки на экран. http://www.develprog.ucoz.ru/Pixel.rar (14 kb) В примере рассмотрен способ вывода линий на экран. http://www.develprog.ucoz.ru/Lines.rar (15kb) В примере рассмотрен способ вывода треугольника на экран http://www.develprog.ucoz.ru/Triangle.rar (15 kb) Все примеры подробно закомментированы. Последний раз редактировалось Kostia; 24.03.2008 в 15:53. |
24.03.2008, 15:03 | #3 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
Kostia, большая просьба - прикрепи к форуму архивы. спасибо.
|
24.03.2008, 16:59 | #4 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Урок 3. Текстура.
Простой пример для введение работы с текстурами http://www.develprog.ucoz.ru/Texture1.rar (64 kb) Пример охватывающий различные аспекты работы с текстурами http://www.develprog.ucoz.ru/Texture2.rar (73 kb) |
25.03.2008, 11:24 | #5 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Урок 4. Куб.
В примере приведен способ работы в пространственных координатах http://www.develprog.ucoz.ru/Square.rar (17 kb) |
26.03.2008, 16:38 | #6 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Урок 5. Загрузка модели из *.x с наложенной на нее текстурой.
http://www.develprog.ucoz.ru/mesh.rar (76 kb) В следующий раз приведу примеры работы с освещением(Точечный, направленный и прожекторный источники света). Если у кого примеры не запускаются или вы не можете понять код, задавайте вопросы, разберемся вместе. Последний раз редактировалось Kostia; 27.03.2008 в 04:31. |
27.03.2008, 08:26 | #7 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Урок 6. Освещение.
Как я и обещал, этот урок будет посвящен созданию освещения. Вот свежеиспеченный пример точечного типа освещения. http://www.develprog.ucoz.ru/light1.rar (115 kb) |
27.03.2008, 13:16 | #8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Продолжаю приводить примеры для работы с освещением, этот пример показывает работу с направленным источником света.
http://www.develprog.ucoz.ru/light2.rar (112 kb) Кстати, задавайте вопросы, я не пишу пояснения, потому что ни кто не задал еще ни одного вопроса, а это значит, что все понятно. |
27.03.2008, 14:12 | #9 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Последний тип освещения - это прожекторный источник.
http://www.develprog.ucoz.ru/Light3.rar (115 kb) |
31.03.2008, 12:23 | #10 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Матрицы
Урок 7. Матрицы.
Матрицы переноса(положение в пространстве) 1 0 0 0 0 1 0 0 0 0 1 0 x y z 1 Матрица вращения по оси x 1 0 0 0 0 cos(a) sin(a) 0 0 -sin(a) cos(a) 0 0 0 0 0 Матрица вращения вокруг оси y cos(a) 0 -sin(a) 0 0 1 0 0 sin(a) 0 cos(a) 0 0 0 0 1 Матрица повороты вокруг оси z cos(a) sin(a) 0 0 -sin(a) cos(a) 0 0 0 0 1 0 0 0 0 1 Матрица масштабирования a 0 0 0 0 b 0 0 0 0 c 0 0 0 0 1 Функции для работы с матрицами Операция сдвига: function D3DXMatrixTranslation( out mOut: TD3DMatrix; x, y, z: single): PD3DMatrix; stdcall; external d3dx9mathDLL; Функции для вращения function D3DXMatrixRotationX( out mOut: TD3DMatrix; angle: single; ):PD3DMatrix; stdcall; external d3dx9mathDLL; function D3DXMatrixRotationY( out mOut: TD3DMatrix; angle: single; ):PD3DMatrix; stdcall; external d3dx9mathDLL; function D3DXMatrixRotationZ( out mOut: TD3DMatrix; angle: single; ):PD3DMatrix; stdcall; external d3dx9mathDLL; Для масштабирования предназначена функция function D3DXMatrixScaling( out mOut: TD3DMatrix; sx,sy,sz: single ):PD3DMatrix; stdcall; external d3dx9mathDLL; Функция для перемножения матриц function D3DXMatrixMultiply( out mOut: TD3DMatrix; const m1,m2: TD3DMatrix; ):PD3DMatrix; stdcall; external d3dx9mathDLL; Для того что применить несколько трансформаций для одного объекта(повернуть по нескольким ося и масштабирование), нужно правильно перемножить матрицы. Пример для наглядности: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Direct3D: создание карт и ландшафтов | challengerr | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 02.05.2009 02:15 |
Перспектива в Direct3D | Ulex | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 11.03.2008 01:04 |
вопрос по использованию конструкции if | zetrix | Microsoft Office Excel | 0 | 31.10.2006 07:52 |