Сегодня
26 мая 2019
10:08
Вход Sign In Регистрация Sign Up Забыли пароль ? Forgot password ?
Краеугольная особенность работы Web-form на примере смены состояния checkbox
        Другие уроки можно посмотреть в разделе Статьи  
подробнее...

Теги

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

Статьи сайта

Воспроизведение в игре музыки в формате XM

Воспроизведение файлов в формате OGG Vorbis

игра "Веселый Буквоежка" - инструменты разработки

Игра "Веселый Буквоежка" - история создания проекта

Как анимировать паука ?

Моделируем девушку в 3ds max - Текстурируем модель

Моделируем девушку в 3ds max - Текстурируем модель страница 2

Моделируем девушку в 3ds max - Текстурируем модель страница 3

Моделируем девушку в 3ds max - Текстурируем модель страница 4

Моделируем девушку в 3ds max - Текстурируем модель страница 5

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

Моделируем девушку в 3d используя 3ds max

Уроки Fruity Loops Studio - пишем свою музыку

Уроки Fruity Loops Studio - пишем свою музыку - урок 1 - Быстрый старт

Сброник статей по дизайну и компьютерной графике. Обзор.

Уроки 3d на delphi directx - Вывод Заставки

Добро пожаловать в систему управления сайтом megainformatic cms

Создание эскиза и макета страницы сайта

Верстка созданного макета

Добавление модулей обеспечивающих минимально необходимый функционал

Основы добавления контента на сайт, управления и поддержки сайта

Проверка работы сайта, установка на хостинг

Основы продвижения созданного сайта

Создание шаблонов

Создание интернет-магазина

Музыкальные мир - композиция Морозное утро - 10 версий

ЛЕТО

Нечто Необъяснимое - пре релиз

megainformatic cms admin

megainformatic cms admin

Основы создания 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

     
 

Основы 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,4257