Вакансии
Игродельня
Сегодня
28 ноября 2024
10:52
Вход Регистрация Забыли пароль ?

webinformatic - Модуль отзывов/комментариев для вашего сайта
Модуль отзывов/комментариев для вашего сайта
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

webinformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 4

webinformatic - Уроки Photoshop - Анимируем волка из мультфильма

webinformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 2

webinformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3

webinformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 4

webinformatic - Эмулятор игры Ну, Погоди!

webinformatic - Оплата заказа через Сбербанк

webinformatic - Пример игры с исходным кодом Donuts3D

webinformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

webinformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

webinformatic - Открытый Полный Исходный код игры Дорога в Город

webinformatic - Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

webinformatic - Как создать игру - Веселый Единственный Буквоежка - выводим заставку

webinformatic - Как создать игру - Веселый Единственный Буквоежка - игровое меню

webinformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

webinformatic - Примеры моих работ

webinformatic - Музыкальные темы

webinformatic - Уроки Photoshop - Чудеса

webinformatic - Купить Уроки Photoshop - Чудеса

webinformatic - Онлайн Обучение, Репетитор

webinformatic - Уроки Photoshop - Рисуем и Анимируем

webinformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

webinformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

webinformatic - DirectX 9c - Изучаем пример MultAnimation

webinformatic - megainformatic cms Система Управления Контентом

webinformatic - Темы для WordPress

webinformatic - Что нужно для создания собственного сайта ?

webinformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

webinformatic - Итоги 2010 года

webinformatic - Что нужно для создания собственного сайта ?

webinformatic - как создать инсталлятор для собственной cms

webinformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

webinformatic - Выгрузка файла на сайт

webinformatic - выпадающее меню на html и css

webinformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

webinformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

     
 

Основы 3D-программирования DirectX8.1 в Delphi 6-7: теоретические и практические основы создания игр

 
     
  [статьи] [как создать игру ну, погоди!] [к содержанию]  
     
 

Подводная лодка и подводный мир

В данном уроке построенном в форме упражнений Вы попробуете разобраться в том как

Подводные миры
 

- имитировать подводную сцену при помощи тумана;

- использовать вершинные шейдеры для имитации бликов от воды на поверхности морского дна и подводной лодки;

 

Для изучения методик Вам потребуется скачать:

- архив с общим кодом -


Скачиваний : 2

(если Вы его еще не скачали в предыдущем уроке)

- исходный код данного примера (32 Кб)



Скачиваний : 1

- медиа-файлы (модели, текстуры, шейдеры) - (676 Кб)



Скачиваний : 0
 

Краткое описание приложения: данное приложение предсталяет WinAPI-приложение для использования библиотеки DirectX 8.1. Для обращения к функциям библиотеки d3dx8.lib используется ее dll-аналог - D3DX81ab.dll

Файл DXErr81ab.dll представляет дополнительную библиотеку для вывода сообщений об ошибках приложения.

Поскольку Ваше приложение будет обращаться к этим библиотекам, необходимо разместить эти файлы в той же папке, что и исполнимый файл (*.exe) Вашего DirectX-приложения на Delphi.

 

Краткий обзор исходного кода модуля Main.pas:

класс приложения CSubmarineD3DApp производится от CD3DApplication (префикс типа C вместо T - как принято в Delphi - дань традициям заложенным в исходном коде на C++).

В конструкторе constructor CSubmarineD3DApp.Create; инициализируются все основные поля класса приложения, здесь же устанавливается цвет тумана - m_dwFogColor := D3DCOLOR_ARGB(255, 58, 180, 197);

 
Инициализация самого класса CD3DApplication происходит в коде модуля проекта - submarine.dpr путём вызова метода d3dApp.Create_
 

Т.к. класс CD3DApplication описан в модуле D3DApp8.pas, то заглянув в метод function CD3DApplication.Create_ Вы и узнаете какие методы вызываются во время инициализации вашего D3D-приложения:

{... здесь мы опускаем код, необходимый для инициализации Direct3D8, построения списка устройств и создания окна приложения}

// запускается DX-Timer - для организации вызовов периодических процессов D3D-приложения - это основной движущий процесс любого DirectX-приложения!

DXUtil_Timer(TIMER_START);

// первоначальная инициализация сцены Вашего 3D-приложения

OneTimeSceneInit;

// все остальные необходимые инициализации: InitDeviceObjects, RestoreDeviceObjects, InvalidateDeviceObjects,
DeleteDeviceObjects. Также обратите внимание на англоязычные комментарии (Если знаете английский :))

Initialize3DEnvironment;

 

Теперь Вам должно быть понятно откуда вызываются основные методы нашего приложения (InitDeviceObjects, RestoreDeviceObjects, InvalidateDeviceObjects, DeleteDeviceObjects).

Методы Render для отрисовки статичных объектов сцены и метод FrameMove для анимированных объектов вызываются в методе function CD3DApplication.Render3DEnvironment. Этот метод в свою очередь вызывается из function CD3DApplication.Run.

function CD3DApplication.Run вызывается в модуле проекта - submarine.dpr путём вызова d3dApp.Run

 
Обработка сообщений системы (а не событий в классе TForm!!!) производится в методе function CSubmarineD3DApp.MsgProc. Почему? Вспомните - наше приложение WinAPI, т.е. без использования VCL. Именно поэтому!
 

Интерес представляет также содержимое метода d3dApp.Run, заглянув в который Вы увидите

...

// Render a frame during idle time (no messages are waiting)
if (m_bActive and m_bReady) then
begin
if FAILED(Render3DEnvironment) then
SendMessage(m_hWnd, WM_CLOSE, 0, 0);
end;

т.е. метод Render3DEnvironment вызывается во время отсутствия активности пользователя и других сообщений системы.

 
Это был краткий обзор примера.
 
[статьи] [как создать игру ну, погоди!] [к содержанию]
 
 
 
 
 
     
     
     
     
     
 
Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
Время загрузки: 0,2362