- •Учебник
- •Оглавление
- •Введение
- •Глава 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
III. Работа с матрицами
MatrixMultiply(const M1, M2: TMatrix): TMatrix; - перемножение двух матриц. VectorTransform(const V: TVector; const M: TMatrix) : TVector; - умножение матрицы на вектор. MatrixDeterminant(const M: TMatrix): Single; - нахождение определителя матрицы. ScaleMatrix(var M : TMatrix; const factor : Single); - умножает все элементы матрицы M на factor. TransposeMatrix(var M: TMatrix); - транспонирование матрицы.
InvertMatrix(var M : TMatrix); - вычисляет обратную матрицу (размер матрицы 4х4).
NormalizeAngle(angle : Single) : Single; - нормализует угол к интервалу [-PI; +PI] NormalizeDegAngle(angle : Single) : Single; - нормализует угол к интервалу [-180; 180]
IV. Методы объектов glScene
SqrDistanceTo(anObject : TGLBaseSceneObject) : Single; - возвращает квадрат расстояния до указанного объекта.
SqrDistanceTo(const pt : TVector) : Single; - возвращает квадрат расстояния до указанной точки.
DistanceTo(anObject : TGLBaseSceneObject) : Single; - возвращает расстояние до указанного объекта. DistanceTo(const pt : TVector) : Single; - возвращает расстояние до указанной точки.
PointInObject(const point : TVector) : Boolean; - проверяет попадает ли точка в объект.
MoveUp; - поднимает объект в иерархии объектов GLScene. MoveDown; - опускает объект в иерархии объектов GLScene.
Lift(ADistance: Single); - двигает объект вдоль вектора Up. Move(ADistance: Single); - двигает объект вдоль вектора Direction.
Translate(tx, ty, tz : Single); - перемещает объект на соответствующее расстояние.
MoveObjectAround(anObject : TGLBaseSceneObject; pitchDelta, turnDelta : Single); - вращает объект вокруг указанного объекта anObject на заданный угол pitchDelta, turnDelta.
Pitch(angle : Single); - поворачивает объект вокруг оси X. Turn(angle : Single); - поворачивает объект вокруг оси Y. Roll(angle : Single); - поворачивает объект вокруг оси Z.
ResetRotations; - обнуляет все повороты и восстанавливает Direction и Up по умолчанию
ResetAndPitchTurnRoll(const degX, degY, degZ : Single); - делает то же, что и ResetRotations, но еще устанавливает новые значения поворота объекта вокруг осей.
Slide(ADistance: Single); - перемещает объект влево/вправо.
Предметный указатель по компонентам glScene
Вкладка GLScene
GLSceneViewer………………………Глава 2. Первый проект.
GLMaterialLibrary ………………………Глава 9. Работа с материалами.
GLCadencer………………………Глава 2. Первый проект.
GLSoundLibrary ………………………Глава 28. Звуки.
GLFullScreenViewer………………………Глава 8. Полноэкранный режим.
GLSMBASS………………………Глава 28. Звуки.
GLSMFMOD……………………… Глава 28. Звуки.
GLSMOpenAL……………………… Глава 28. Звуки.
Вкладка GLScene PFX
GLPerlinPFXManager……………………… Глава 17. Спецэффекты.
GLThorFXManager……………………… Глава 17. Спецэффекты.
GLFireFXManager……………………… Глава 17. Спецэффекты.
Вкладка GLScene Utils
CollisionManager……………………… Глава 33. Ручная проверка коллизий.
GLDCEManager……………………… Глава 30. Примитивная физика DCE.
GLUserInterface……………………… Глава 5. Движение.
GLNavigator ………………………Глава 5. Движение.
Вкладка GLScene Terrain
GLBitmapHDS……………………… Глава 11. Создание земной поверхности с GLTerrainRenderer.
GLCustomHDS……………………… Глава 11. Создание земной поверхности с GLTerrainRenderer.
Вкладка GLScene Shaders
GLCelShader.………………………Глава 31. Шейдеры. История и компоненты.
GLBumpShader……………………… Глава 31. Шейдеры. История и компоненты.
GLSLBumpShader……………………… Глава 31. Шейдеры. История и компоненты.