Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
24 ноября 2024
2:31
Вход Регистрация Забыли пароль ?

Cut the Rope Experiments | physics
Cut the Rope Experiments | physics
подробнее...

Теги

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

Статьи сайта

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

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

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

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

модуль slider

megainformatic cms seo

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

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

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

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

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

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

webinformatic - ТЗ на сайт по аналогии rys-stroi.ru

megainformatic cms groupon

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     
 

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