Сегодня
15 декабря 2018
7:32
Вход Sign In Регистрация Sign Up Забыли пароль ? Forgot password ?
VARVE - Уроки delphi directx 8.1 - Урок 1 - Введение в Delphi DirectX 8.1. Создание шаблона стартового приложения. Страница 2
       
подробнее...

Теги

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

Статьи сайта

Основы создания 3d игр - проект Тайны Морских Глубин

уроки delphi directx 8.1 3d - Основы Вращений и Управления камерой

megainformatic cms seo

Моделируем девушку в 3ds max - Создаем скелет для модели

Моделируем девушку в 3d - Подготовка 2d-эскиза тела человека

megainformatic cms stat kit

megainformatic cms seo

Теория и практика 3d игр - О Кватернионах

Теория и практика 3d игр - Основы теории векторов

Теория и практика 3d игр - Важные замечания

Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

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

megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

ТЗ на сайт коллективных покупок

Моделируем девушку в 3ds max - Знакомимся с основами анимации созданного персонажа

Моделируем девушку в 3ds max - Знакомимся с основами анимации созданного персонажа страница 2

Поддержка сайтом нескольких языков - модуль multi lang

Моделируем девушку в 3ds max - Выполняем экспорт созданной модели в формат X

Моделируем девушку в 3d используя 3ds max - другие статьи сборника статей - обзор

установка нового шаблона в joomla 2.5.4

Описание продукта megainformatic cms social

Моделируем девушку в 3ds max - Рассматриваем особенности работы с анимированными персонажами в приложениях C++ DirectX 9

Моделируем девушку в 3ds max - Подводим общие итоги проделанной работы

megainformatic cms groupon

дизайн сайта строительной компании УЛЬТРА-СТРОЙ

Тестирование подключения платежной системы

Выпадающее окно регистрации на сайте

Тестирование подключения к платежной системе с использованием скрипта эмулятора

Модуль для регистрации пользователя на сайте

Код для модуля регистрации пользователя на сайте

Быстрый подсчёт ключевых слов в статье

Модуль подсчёта ключевых слов в статье

Онлайн-сервис для подсчёта статистики ключевых слов

Пишем слайдер на javascript с нуля

Логика работы слайдера на javascript

Пишем свою соц. сеть - модуль предложений для webjob

Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета

Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

Тестирование подключения к платежной системе ЕДИНЫЙ КОШЕЛЕК (w1.ru) с использованием скрипта эмулятора

Пишем свою cms - шаг 1

Пишем свою cms - шаг 2

Пишем свою cms - шаг 3

бесплатная флеш игра freeway fury 2 - разработчик Serius Games

бесплатные флеш игры сторонних разработчиков

Как я осваивал Flash

Список уроков на тему создания flash приложений и игр

Как я осваивал Flash - шаг 2 - Основы создания простейших flash - игр

проект портала Идеи Комфорта

игра Веселый Буквоежка

игра Веселый Буквоежка

Использование cron, crontab и планировщика задач

Совместное использование jquery и mootools или других js-фреймворков

Модуль content php performer для megainformatic cms

Пишем компактный слайдер

Что нужно знать для создания сайта ?

Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

Что нужно знать для создания сайта ? Содержание

Что нужно знать для создания сайта ? css - стили

preg_match или Использование регулярных выражений в php

статьи Тимонина Андрея - Flash. Содержание

статья Тимонина Андрея - Flash. Подготовка к работе.

статья Тимонина Андрея - Flash. Hello world.

статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

Тимонин Андрей - Несколько слов о себе

статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

статья Тимонина Андрея - Хронология работы программы. Создаем Лог

статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

статья Тимонина Андрея - States. Создаем менеджер состояний игры.

статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

статья Тимонина Андрея - Таймер. Выводим время игры.

статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

статья Тимонина Андрея - DirectX9. Создаем первое приложение.

Что нужно знать для создания сайта ? float - использование в css - стилях

Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

Что нужно знать для создания сайта ? Стандартные шрифты для сайта

Что нужно знать для создания сайта ? ASC II Коды символов

Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

Популяризация Современных Научных Знаний и Размышления на околонаучные темы. СОДЕРЖАНИЕ

Популяризация Современных Научных Знаний и Размышления на околонаучные темы. Энергетический кокон

Модуль галерей для любой cms

Уроки Photoshop - Быстрый старт

Мои Музыкальные Миры - страница 2

megainformatic cms rs

Мега Информатик - Примеры моих работ

Мега Информатик - Портфолио выполненных проектов сайтов и приложений

Уроки Photoshop - Текстуры

Уроки Photoshop - Создаем текстуру горной породы

Уроки Photoshop - Создание вариантов на тему созданной текстуры

Уроки Photoshop - Рисование текстуры травы

Уроки css - атрибут position

Уроки Photoshop - Рисование текстуры песка

Уроки Photoshop - Подготовка набора текстур

Уроки Photoshop - Рисование текстур глина, грязь

Новогодняя дискотека 2013 на megainformatic точка ru

Программируем на C++ с использованием MFC

Программируем на C++ с использованием MFC - Создание MFC приложения

Программируем на C++ с использованием MFC - Создание MFC приложения - hello, world !

Как создать игру ? - Пишем игровой движок с нуля

Как создать игру ? - Пишем игровой движок с нуля - Вступление

Как создать игру ? - Пишем игровой движок с нуля - Общая структура будущего игрового движка

Разное

Как создать игру ? - Пишем игровой движок с нуля - DXUTMainLoop - цикл работы DirectX-приложения

Варианты макетов Психолог 911

Шаблоны для сайтов - что это и какие они бывают ?

     
 

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

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

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

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

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

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

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

 

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

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


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

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

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



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

- медиа-файлы (модели, текстуры, шейдеры) - (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 вызывается во время отсутствия активности пользователя и других сообщений системы.

 
Это был краткий обзор примера.
 
[статьи] [как создать игру ну, погоди!] [к содержанию]
 
 
 
 
 
     
     
     
     
     
 

Оставленные комментарии



Рейтинг@Mail.ru
Время загрузки: 0,1199