GLScene/ru

From Free Pascal wiki
Revision as of 10:27, 21 March 2009 by Oleglyash (talk | contribs)
Jump to navigationJump to search

About

GLScene это основанная на OpenGL 3D библиотека. Изначально была написана для Delphi, но теперь спокойно работает с C++ Builder, Kylix, Delphi и Lazarus.

Основные карактеристики :

Описание сцены

  • иерархическая структура объектов с множеством объектов (количество зависит от ОЗУ) и простотой расширения
  • интерактивное управление сценой (numerous Delphi experts)
  • простые функции вращения и перемещения для каждого объекта
  • предопределенные объекты (все стандартные от куба до чайника и спрайтов), легко расширяемые
  • структурные объекты (каркасный куб, прокси-объект) для управления композитными объектами
  • процедурные объекты (heightfield, вращение твердых тел, трубы, tesselators...)
  • поддержка 2D и 1D объектов (спрайты, линии с поддержкой сплайнов) полностью интегрирована
  • HUD-объекты (спратый визуализированные в 2D координатах)
  • утилитные объекты (сетки, небо, стрелки...)
  • поддержка классов для прямого доступа OpenGL
  • объекты камеры и света могут быть испольщованы в клюбом месте иерархии объектов сцены
  • поведенческие объекты могут быть привязаны к объектам для их анимации с возможностью расщирения
  • специальные эффекты на объект (до/после визуализации объекта и сцены), с возможностью простого расширения
  • поддержка систем частиц, любые объекты или структуры объектов могут выступать в роли частиц
  • импорт 3D Studio файлов с автоматическим вычислением векторов нормалей (using the given *smoothing groups of the file) и текстурных координат
  • поддержка других форматов импорта: OBJ/OBJF, SMD, MD2, STL, TIN, PLY

Материалы

  • easy to use, optimized, material object
  • material library to share and reuse materials
  • ambient, diffuse, emission, specular and shininess support
  • support of blending modes (transparency, additive...)
  • alpha-channel auto-generation
  • support for OpenGL texture formats, including compressed ones (DXT, S3TC etc.)
  • generic plug-in shaders support
  • High-level Cg shaders support classes
  • polymorphic image support for texturing (allows many formats as well as procedural textures), easily extendable
  • more than 150 predefined colors like clrCornflowerBlue or clrCoolCopper (easily extendable) *in addition to standard colors and direct RGBA specifications
  • easily to use texture movement and scaling properties, independently from texture coordinates
  • 32 bits Bitmap support class

Rendering

  • automatically uses the hardware OpenGL driver if available
  • a well working camera model using focal length and targeting
  • multiple viewers for one or more scenes, easy change of view through camera selection
  • fog and depth-of-view support
  • render to a file, a bitmap or to the printer in any color and pixel resolution
  • full screen support with dynamic resolution changes
  • reflections and mirror effects
  • dynamic shadow casting
  • high-performance scene-wide transparent particles system support
  • automatic frustrum culling (hierarchical or per-object)

Animation

  • propagation of time progression events
  • skeletal animation (multiple bones per vertex)
  • frame interpolation and morph targets
  • easily extendable Behaviours
  • dynamic physics : inertia, acceleration, damping and force application
  • automatic, realtime scene cadenceing

Interface

  • easy-to-use functions to determine picked objects
  • helper functions for camera movements
  • helper functions for picked object's translation
  • helper functions for converting between screen and world coordinates, raycasting

Utilities

  • optimized geometry functions and utilities (vector, quaternion and matrix...)
  • cubic spline support functions and class
  • mesh manipulation and optimization (stripification, vertex-cache awareness, etc.)
  • component to make full-featured screen-saver in a few clicks
  • precise frame speed determination
  • asynchronous timer (multi-threaded)
  • joystick support
  • asynchronous keyboard access, keymap support

Screenshots

Gl effect.jpg Gl cel.jpg Gl trinity.jpg
Gl ode.jpg