- •Учебник
- •Оглавление
- •Введение
- •Глава 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
Глава 3. Создание сцены в режиме design time
В предыдущих главах я показал небольшой пример создания проекта с использование GLScene, что бы было понятно, как просто использовать GLScene. Теперь рассмотрим более подробно статическое проектирование сцены.
Как уже говорилось по двойному щелчку на заначке GLScene можно войти в GLScene Editor (инспектор объектов сцены).
Создание камеры:
1. Нажмите правой кнопкой на ветвь Scene objects.
Свойства камеры:
Свойство |
Описание |
DepthOfView |
Указывает, как далеко может видеть камера, все что дальше этого расстояния не показывается. |
FocalLength |
чем меньше этот параметр, тем больше искажения по краям камеры |
SceneScale |
масштаб всей сцены |
TargetObject |
объект на который будет направлена камера(можно оставить пустым). |
Создание объектов:
1.Выберите подходящий родительский объект. Родительскими объектами могут быть любые ветви в древе объектов.
2.Нажмите кнопку Add object и выберите то, что вы хотите добавить. Объекты можно перетаскивать мышкой по иерархии.
Некоторые примитивные и часто используемые объекты:
1.GLLightSource – источник света.
2.GLDummyCube – это невидимый объект, он нужен для объединения других объектов. Все изменения, сделанные с GLDummyCube, будут сделаны и со всеми входящими в него объектами.
Глава 4. Примитивные объекты. Вкладка Basic geometry.
Сейчас мы рассмотрим примитивные объекты GLScene. Все они расположены на вкладке Basic geometry инспектора объектов сцены.
Объект |
Описание |
Sprite |
Плоский четырехугольник, который все время повернут плоскостью к камере. |
GLPoints |
Точка в 3D пространстве. Размер задается параметром Size. Вид точки задается параметром Style (psSquare – в виде квадрата, psRound – в виде круга) |
GLLines |
Линия в 3D пространстве. Чтобы добавить линию, щёлкните в инспекторе объектов по свойству Node. В открывшемся окошке создайте несколько точек с помощью кнопки Add News. Между этими точками будут проведены линии. |
GLPlane |
Плоскость. Обратите внимание, что плоскость, повёрнутая к камере задней частью, становится невидимой. |
GLPolygon |
Плоскости, заданные набором точек. Точки задаются также, как в случае с GLLines. |
GLCube |
Куб. В свойстве Parts указывается, какие грани будут видимые |
GLFrustrum |
Усеченная пирамида. |
GLSphere |
Сфера. Количество полигонов, из которых сделана сфера, задается параметрами Slices и Stacks. Можно обрезать сферу снизу – параметр Bottom, сверху – параметр Top или вырезать дольку, используя параметры Start или Stop. |
GLDisk |
Диск. Параметр SweepAngle показывает, на сколько градусов заполнен диск. |
GLCone |
Конус. |
GLCylinder |
Цилиндр. |
GLDodecahedron |
Додекаедр. |
GLIcosahedron |
Икосаедр. |