- •Учебник
- •Оглавление
- •Введение
- •Глава 1
- •I. Установка
- •II. Удаление
- •Глава 2. Первый проект
- •Глава 3. Создание сцены в режиме design time
- •Создание объектов:
- •Глава 4. Примитивные объекты. Вкладка Basic geometry.
- •Глава 5. Ориентация, координаты.
- •Глава 6. Движение.
- •Глава 7. Как узнать, сколько сейчас fps?
- •Глава 8. Полноэкранный режим.
- •Глава 9. Работа с материалами.
- •I. Прямое обращение к .Material
- •Глава 10. Использование 3d моделей.
- •I. Форматы моделей
- •Глава 11. Прокси объекты.
- •Глава 12. Создание земной поверхности с glTerrainRenderer.
- •Глава 13. Создание земной поверхности с glFreeForm.
- •Глава 14. Итоги работы с glTerainrender и glFreeForm.
- •Глава 15. Создание земной поверхности с glHeightField.
- •Глава 15. Создание неба.
- •Глава 16. GlAtmosphere.
- •Глава 17. Спецэффекты.
- •I. Огонь
- •II. Молния
- •III. Дождь
- •IV. Снег
- •VI. Блики от источников света
- •Глава 18. Растительность.
- •I. Деревья и кустарники
- •II. Трава
- •Глава 19. Работа со шрифтами и вывод надписей.
- •I. Вывод текста через компонент glWindowsBitmapFont
- •II. Проблема с glWindowsBitmapFont в Windows Vista
- •Глава 20. Выделение объекта мышкой.
- •Глава 21. Создание сцены в режиме runtime.
- •Глава 22. Тени.
- •Глава 23. Туман.
- •Глава 24. Vbo или расширение arb_vertex_buffer_object в OpenGl.
- •Глава 25. Fbo или расширение ext_framebuffer_object в OpenGl.
- •Глава 26. Рисование на канве.
- •Глава 27. Использование чистого OpenGl.
- •Глава 28. Звуки.
- •I. Проигрывание звуков с помощью bass
- •II. Проигрывание звуков с помощью fmod
- •III. Проигрывание звуков с помощью OpenAl
- •Глава 29. Игровое меню.
- •Глава 30. Примитивная физика dce.
- •Глава 31. Физика ode.
- •II. Основы библиотеки ode(: tglodeManager и tglodeJointList) на примере создания подобия боулинга.
- •Глава 32. Физика Newton.
- •Глава 33. Ручная проверка коллизий.
- •V. Ручная проверка коллизии
- •Глава 34. Шейдеры. Терменология.
- •Глава 35. Шейдеры. История и компоненты.
- •Глава 36. Шейдеры glsl. Введение.
- •Глава 37. Шейдеры glsl. Использование без компонентов. Самый примитивный шейдер.
- •Глава 38. Шейдеры glsl. Немного о спецификации. Типы данных и переменные
- •Стандартные функции
- •Поддерживаемые компоненты векторов
- •Глава 40. Шейдеры glsl. Текстурирование.
- •Глава 41. Шейдеры glsl. Использование без компонентов. Мультитекстурирование. Смешение трёх цветов по базовой карте.
- •Глава 42. Шейдеры glsl. Использование через компонент glslShader. Часть первая – Первые шаги.
- •Глава 43. Шейдеры glsl. Использование через компонент glslShader. Часть вторая – знакомимся со светом. Передача параметров в шейдер.
- •Глава 44. Шейдеры glsl. Использование через компонент glslShader. Часть третья – текстуры.
- •Глава 45. RenderMonkey.
- •Глава 46. Оптимизация программы.
- •Глава 47. Практика. Создание мира
- •Приложение
- •I. Типы векторов и матриц
- •II. Работа с векторами
- •III. Работа с матрицами
- •IV. Методы объектов glScene
- •Предметный указатель по компонентам glScene
Глава 1
I. Установка
1) Распаковываем архив GLScene в нужную папку, например, С:\GLScene.
2) Затем необходимо прописать пути к файлам GLScene. Для этого заходим в меню Tools Environment Options, переходим на вкладку Library и в Library path добавляем С:\GLScene\Source и все ее подпапки
Теперь ищем папку с пакетами для нужной версии Delphi и запускаем файлы GLScene.dpk (собственно Сцена) и GLSS_BASS.dpk, GLSS_FMOD.dpk, GLSS_OpenAL (поддержка звуковых библиотек BASS, FMOD и OpenAL), а в открывшихся окнах нажимаем кнопку “Install”. Все, Сцена установлена. Ее компоненты можно найти на вкладках GLScene (основные компоненты), GLScene PFX (эффекты), GLScene Utils (вспомогательные компоненты), GLScene Terrain (компоненты для создания земной поверхности) и GLScene Shaders (компоненты для шейдеров).
Напоследок осталось установить внешние библиотеки. Для этого скопируйте файлы dll из папок …GLScene\Source\PhysicsAPIs и …GLScene\Source\SoundAPIs в папку …:\Windows\system32.
II. Удаление
Чтобы удалить GLScene, нужно в верхнем меню нажать "Component" затем в выплывшем меню выбрать "Install Packages...". Теперь самое целомудренное: нужно найти в списке всё, где фигурирует слово "GLScene". Выбираем и жмём "Remove". _____________________________________________________________________ Всё! Теперь устанавливаем заново любую версию любимого GLScene.
Глава 2. Первый проект
Для начала нужно из вкладки GLScene перенести на форму GLScene, GLSceneViewer и
GLCadencer.
GLScene – это инспектор объектов сцены.
GLSceneViever – это окно, в котором будет отображаться сцена.
GLCadencer – таймер. Он отвечает за то, чтобы регулярно обновлять объекты, которые нуждаются в обновлении, например анимация моделей или системы частиц. Насколько регулярно - задаёт пользователь. Если не нужно, чтобы он выжимал все из процессора, смените его свойства, например FixedDeltaTime := 25 или Mode := cmApplicationIdle вместо cmASAP (as fast as possible)
По двойному щелчку на заначке GLScene можно войти в GLScene Editor (инспектор объектов). С помощью него можно добавлять различные объекты в сцену. Так же можно добавлять объекты в ходе выполнения программы, но это будет рассмотрено позже.
Добавим куб
сцену.
Для этого
в GLSceneEditor
выберите
пункт Scene
objects,
по щелчку
правой
кнопкой мыши
откроется меню,
далее выберите
Add
object->
Basic
geometry->
Cube
Для удобства установите отображение осей куба свойство ShowAxes:=True;(x – красная ось, y-
зелёная, z –синяя).
Куб стал
виден,
но видны
только его
контуры, нужно
его осветить.
Добавим
источник света
Scene objects->Add
object->
Заставим куб вращаться. В GLCadencer1 в свойстве scene выберем пункт GLScene1. Два раза
щелкнем по значку GLCadencer будет создана процедура: GLCadencer1Progress, запишем в теле этой процедуры строчку:
GLCube1.Turn(deltaTime*10);
Все теперь можно запускать нашу программу. На экране вы увидите медленно вращающийся кубик (рис снизу).