Difference between revisions of "GLScene/ru"

From Free Pascal wiki
Jump to navigationJump to search
 
(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{GLScene}}
 +
 
=== О GLScene ===
 
=== О GLScene ===
 
GLScene это основанная на OpenGL 3D библиотека. Изначально была написана для Delphi, но теперь спокойно работает с C++ Builder, Kylix, Delphi и Lazarus.
 
GLScene это основанная на OpenGL 3D библиотека. Изначально была написана для Delphi, но теперь спокойно работает с C++ Builder, Kylix, Delphi и Lazarus.
  
Основные карактеристики :
+
Основные характеристики :
  
 
Описание сцены
 
Описание сцены
Line 12: Line 14:
 
*процедурные объекты (heightfield, вращение твердых тел, трубы, tesselators...)  
 
*процедурные объекты (heightfield, вращение твердых тел, трубы, tesselators...)  
 
*поддержка 2D и 1D объектов (спрайты, линии с поддержкой сплайнов) полностью интегрирована  
 
*поддержка 2D и 1D объектов (спрайты, линии с поддержкой сплайнов) полностью интегрирована  
*HUD-объекты (спратый визуализированные в 2D координатах)  
+
*HUD-объекты (спрайты визуализированные в 2D координатах)  
 
*утилитные объекты (сетки, небо, стрелки...)  
 
*утилитные объекты (сетки, небо, стрелки...)  
 
*поддержка классов для прямого доступа OpenGL
 
*поддержка классов для прямого доступа OpenGL
*объекты камеры и света могут быть испольщованы в клюбом месте иерархии объектов сцены
+
*объекты камеры и света могут быть использованы в любом месте иерархии объектов сцены
 
*поведенческие объекты могут быть привязаны к объектам для их анимации с возможностью расщирения
 
*поведенческие объекты могут быть привязаны к объектам для их анимации с возможностью расщирения
 
*специальные эффекты на объект (до/после визуализации объекта и сцены), с возможностью простого расширения
 
*специальные эффекты на объект (до/после визуализации объекта и сцены), с возможностью простого расширения
Line 31: Line 33:
 
*общая поддержка шэйдеров
 
*общая поддержка шэйдеров
 
*высокоуровневая поддержка классов Cg шэйдеров
 
*высокоуровневая поддержка классов Cg шэйдеров
*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
+
*более чем 150 предопределенных цветов таких как clrCornflowerBlue или clrCoolCopper (легко расширяемые) *в дополнение к стандартным цветам и прямому использованию спецификации RGBA
*easily to use texture movement and scaling properties, independently from texture coordinates
+
*простое использование перемещения и масштабирования свойств текстур, независимо от координат текстур
*32 bits Bitmap support class
+
*поддержка 32-битны растровых классов
  
Rendering
+
Визуализация
*automatically uses the hardware OpenGL driver if available
+
*автоматическое использование аппаратных возможностей OpenGL, при их наличие
*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)  
 
*automatic frustrum culling (hierarchical or per-object)  
  
Animation
+
Анимация
 
*propagation of time progression events  
 
*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...)  
+
*оптимизированные геометрические функции и утилиты (вектор, [http://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D1%82%D0%B5%D1%80%D0%BD%D0%B8%D0%BE%D0%BD кватернион] и матрицы...)  
*cubic spline support functions and class
+
*поддержка функций [http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%81%D0%BF%D0%BB%D0%B0%D0%B9%D0%BD кубических сплайнов] и классов
*mesh manipulation and optimization (stripification, vertex-cache awareness, etc.)  
+
*манипуляции с [http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%88 мэшами]  и оптимизация (stripification, vertex-cache awareness, и т.д.)  
*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) ===
 
=== Снимики экрана (Screenshots) ===
Line 78: Line 80:
 
[[Image:Gl ode.jpg]]
 
[[Image:Gl ode.jpg]]
  
=== Author ===
+
=== Автор ===
Author: initially Mike Lischke<br>
+
Author: изначально Mike Lischke<br>
 
at time maintained by Eric Grange<br>
 
at time maintained by Eric Grange<br>
LCL Port: [[User:Christian|Christian Ulrich]]
+
Порт LCL: [[User:Christian|Christian Ulrich]]
  
=== Download ===
+
=== Скачать ===
==== Latest (v1.0.0.2) ====
+
==== Последняя версия (v1.0.0.2) ====
* A new snapshot release can be found at [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641 Lazarus CCR Files page].
+
* Новый снэпшот релиза можно найти на [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641 Lazarus CCR Files page].
This should be almost identical to the original cvs repository of today in terms of functionality and bugfixes, however, there are still some parts missing. There wont be a "Lazarus-with-GLScene-Installer" with this new release, unless someone else creates it.
+
Этот снэпшот в основном совпадает с оригинальным cvs репозиторием по функциоанальности и исправлению ошибок, но до сих пор отсутствуют некоторые части, которые не появятся в "Lazarus-with-GLScene-Installer", пока кто нибудь не создаст их.
--[[User:Crossbuilder|Crossbuilder]] 20:16, 18 July 2007 (CEST)
 
  
==== Outdated ====
+
--[[User:Crossbuilder|Crossbuilder]] 20:16, 18 Июля 2007 (CEST)
An older release (version 0.9.1.6) can be found on the [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007 Lazarus CCR Files page] together with a lazarus installer with GLScene already in the Lazarus IDE and GLScene demoes.
+
 
UPDATE: This is pretty old now. If possible, use the svn checkout (see below).
+
==== Устаревшая версия ====
 +
Старый релиз (версия 0.9.1.6) можно найти по ссылке [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007 Lazarus CCR Files page] вместе с инсталятором lazarus и интегрированным в него GLScene.
 +
ОБНОВЛЕНИЕ: Это старая версия. Постарайтесь использовать версию из svn (см. ниже).
  
 
=== SVN ===
 
=== SVN ===
you can checkout the actual source from<br>
+
Вы можете проверить последнию версию здесь:<br>
 
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/<br>
 
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/<br>
  
The command would be: <br>
+
Команда для проверки/получения: <br>
 
<pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>
 
<pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>
  
This will download the trunk (main) repository to "glscene" dir to whereever you invoked the command from.
+
Эта команда скачает основной репозиторий в каталог "glscene".
 
 
In windows you can use clients like tortoise SVN and others.
 
  
=== Bug reporting ===
+
В операционной системе Windows вы можете воспользоваться любым клиентом-SVN, например [http://tortoisesvn.tigris.org tortoise].
  
[http://www.freepascal.org/mantis/ Bug Reporting/Featurerequest] Please select Project "Packages" and Category "glscene" for your reports. Thanks.
+
=== Отчет об ошибках ===
  
 +
[http://www.freepascal.org/mantis/ Bug Reporting/Featurerequest] Пожалуйста выберите Проект "Packages" и Категорию "glscene" для своего отчета. Спасибо.
  
=== Change Log ===
+
=== Изменения ===
 
* 18.07.2007 Snapshot release version 1.0.0.2
 
* 18.07.2007 Snapshot release version 1.0.0.2
 
** adjusted some things, so it works with latest lazarus svn version
 
** adjusted some things, so it works with latest lazarus svn version
Line 125: Line 127:
 
*look at GLScene Sourceforge Account for complete Changelog
 
*look at GLScene Sourceforge Account for complete Changelog
  
Status: Beta
+
Статус: Beta
  
=== Installation version 1.0.0.2 ===
+
=== Установка версии 1.0.0.2 ===
'''Requires fpc 2.1.4 or greater  and lazarus 0.9.23 rev. 11348 or greater !!'''
+
'''Требуется fpc 2.1.4 или новее и lazarus 0.9.23 rev. 11348 или новее !!'''
  
* '''extracting the sources'''
+
* '''распаковка исходного кода'''
 
** ZIP:
 
** ZIP:
*** in "lazarus/components/" folder execute "unzip glscene-1.0.0.2.zip" <br>This will create the lazarus/components/glscene/ folder
+
*** в каталоге "lazarus/components/" выполните "unzip glscene-1.0.0.2.zip" <br>При этом будет создан каталог lazarus/components/glscene/
 
** SVN:
 
** SVN:
*** in "lazarus/components/" folder execute <pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>This will create the lazarus/componets/glscene/ folder
+
*** в каталоге "lazarus/components/" выполните <pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>При этом будет создан каталоге lazarus/componets/glscene/
***Tortoise SVN: add the folder "glscene" manually so you have lazarus/components/glscene. Then right-click onto new folder and choose "SVN Checkout...". At field "URL of repository" add <pre>http://svn.freepascal.org/svn/fpcprojects/glscene/trunk</pre>Confirm by "OK".
+
**Tortoise SVN:  
 +
***добавьте каталоге "glscene" вручную, так чтобы получилось lazarus/components/glscene. После этого выполните команду контекстного меню "SVN Checkout..." на созданном каталоге. Введите в поле "URL of repository"<pre>http://svn.freepascal.org/svn/fpcprojects/glscene/trunk</pre>Подтвердите кнопкой "OK".
  
 
   
 
   
  
* '''Finish the installation:'''
+
* '''Завершение установки:'''
** copy "lazarus/components/glscene/globallinks/*.lpl" to "lazarus/packager/globallinks/"
+
** скопируйте "lazarus/components/glscene/globallinks/*.lpl" в "lazarus/packager/globallinks/" (только для *nix)
** start lazarus
+
** запустите lazarus
** select "Configure installed packages ..." from the "Components" menu
+
** выполните команду "Найстройка установленных пакетов..." из меню "Пакет" (Пакет/Найстройка установленных пакетов...)
** select "glscenelazarus" from the "Available packages" list
+
** выберите "glscenelazarus" из списка "Доступные пакеты"
** click "Install selection" button
+
** щелкните по кнопке "Установить выбранное"
** click "Save and rebuild IDE" button
+
** щелкните по кнопке "Сохранить и перезапустить IDE"
*** ATTENTION: There may occur an error that package "jpegforlazarus" is not found. If so do the following:
+
*** ВНИМАНИЕ: Может появится ошибка о том что пакет "jpegforlazarus" не найден. Если такая ошибка появилась, то выполните следующие действия:
*** Components --> Open loaded package...
+
*** выполните команду Пакеты/Открыть загруженный пакет...
*** Choose "glscenelazarus" (Version 1.0.0.3) and click "Open..."
+
*** выберите "glscenelazarus" и щелкните "Открыть..."
*** In the following list go down to "Required Packages" and remove dependency from "jpegfromlazarus".
+
*** в самом низу появившегося списка "Требуемые пакеты" удалите зависимость от "jpegfromlazarus".
*** Look for unit "jpeg" in folder /lazarus/components/glscene/Source/base and replace "LazJPEG" (in uses clause) by "LazJPG" (from package ImagesForLazarus).
+
*** отредактирйте модуль "jpeg" в каталоге /lazarus/components/glscene/Source/base и удалите "LazJPEG" (в разделе uses) в модуле "LazJPG" (из пакета ImagesForLazarus).
*** Save and repeat last 4 steps again.
+
*** сохраните и повторите последние 4 шага опять.
*** HINT: You should have installed package "ImagesForLazarus" (the same way as described for "glscenelazarus" package).  
+
*** ПОДСКАЗКА: Вам следует установить пакет "ImagesForLazarus" (тем же самым способом что и пакет "glscenelazarus").  
** repeat the last 4 steps for the other packages you want to use.
+
** повторите последние 4 шага для остальных пакетов, которые вы собираетесь использовать.
*** Note: glsceneode and glscenecgshader need their respective libs on the system during installation!
+
*** Заметка: glsceneode и glscenecgshader требуют наличия их библиотек в системе во время инсталяции!
** '''Note:''' you can also try to select and install all packages in one go. However, I prefer to do things step by step, so I see where it fails, if it fails ;)
+
** '''Заметка:''' вы также можете попробовать выбрать и установить все пакеты одновременно.Тем не менее, я предпочитаю делать это шаг за шагом, чтобы видеть где произошла ошибка, если она произошла ;)
** '''Install "glscenelazarus" - mistakes:''' (only needed when using glscene-1.0.0.2.zip, in svn these are already fixed)
+
** '''Ошибки при установке "glscenelazarus":''' (только для glscene-1.0.0.2.zip, в версии из svn это уже исправлено)
***To correct the unit GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - at procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);  
+
***Исправьте в модуле GLLCLViewer: измените procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - на procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);  
***To correct the unit GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - at procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);  
+
***Исправьте в модуле GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - на procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);  
***To correct the unit GLLCLFullscreenViewer: Change "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" to "RegisterClasses([TGLFullScreenViewer]);"
+
***Исправьте в модуле GLLCLFullscreenViewer: измените "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" на "RegisterClasses([TGLFullScreenViewer]);"
  
* '''List of packages:'''
+
* '''Список пакетов:'''
** '''glscenelazarus'''    The main package.
+
** '''glscenelazarus'''    Основной пакет.
** '''glscenecgshader'''    Cg Shader components
+
** '''glscenecgshader'''    Компоненты Cg-шейдеров
** '''glsceneode'''        ODE components
+
** '''glsceneode'''        ODE компоненты
** '''glss_fmodlaz'''      FMOD component
+
** '''glss_fmodlaz'''      FMOD компоненты
** '''gls_winonly'''        Windows only, contains sound support over mmsystem, BASS support and GLScreenSaver component
+
** '''gls_winonly'''        Только для Windows. Содержит поддержку звука через mmsystem, BASS и поддержку компонента GLScreenSaver  
  
* '''Сompilation "demo" - mistakes:'''
+
* '''Ошибки при компиляции "демок":'''
**If not found class - TGLSceneViewer: To correct the uses (demo): GLLCLViewer - at GLViewer
+
**Если не найден класс - TGLSceneViewer, то следует изменить в разделе uses GLLCLViewer на GLViewer
  
=== Installation version 0.9.6.1 ===
+
=== Установка версии 0.9.6.1 ===
* Create the directory lazarus\components\GLScene
+
* Создайте каталог lazarus\components\GLScene
* On this directory, unzip the files from the zip file
+
* В созданном каталоге распакуйте/разархивируйте файлы из архива
* Open lazarus
+
* Запустите Lazarus
* Open the package glscenelazarus.lpk with Component/Open package file (.lpk) from lazarus\components\glscene\Lazarus
+
* Откройте пакет glscenelazarus.lpk командой Компоненты/Открыть пакет(.lpk) из каталоге lazarus\components\glscene\Lazarus
* (Click on Compile is only necessary, if you don't want to install the component into the IDE)
+
* (Щелкните по кнопке Компилировать при необходимости, если не хотите установки компонент в IDE)
* Click on Install
+
* Щелкните по кнопке Установить
* Repeat these steps (open .lpk, click install) for the other packages you want to use. Note: these additional packages need additional libs (fmod, ode, Cg).  
+
* Повторите эти шаги (открыть .lpk, щелкните по кнопке Установить) для остальныъ пакетов, которые хотите использовать. Заметка: эти дополнительные пакеты требуют дополнительных библиотек (fmod, [http://www.ode.org ode], [http://developer.nvidia.com/object/cg_toolkit.htm Cg]).  
** glscenecgshader.lpk : Cg shaders (only with NVidia cards?)
+
** glscenecgshader.lpk : Cg шейдеры (только для карт nVidia)
** glsceneode.lpk : support for ode lib
+
** glsceneode.lpk : поддержка библиотеки ode
** glsss_fmodlaz.lpk : support for fmod lib
+
** glsss_fmodlaz.lpk : поддержка библиотеки fmod
** gls_winonly.lpk : this can be installed on windows only. Contains screensaver stuff as well as support for BASS lib.
+
** gls_winonly.lpk : может быть установлено только в операционной системе Windows. Содержит средства создания хранителей экрана.
  
Hint: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools->Build Lazarus again and it should be ok.
+
Подсказка: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools->Build Lazarus again and it should be ok.
  
 
A full install of Lazarus with GLScene already in the IDE is available as [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739 binary win32 release] or [http://www.skinhat.com/lazarus http://www.skinhat.com/lazarus]
 
A full install of Lazarus with GLScene already in the IDE is available as [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739 binary win32 release] or [http://www.skinhat.com/lazarus http://www.skinhat.com/lazarus]
Line 202: Line 205:
 
* можно найти на [http://www.glscene.org на основной странице GLScene]
 
* можно найти на [http://www.glscene.org на основной странице GLScene]
 
* присоедениться к каналу #glscene на сервере freenode.net
 
* присоедениться к каналу #glscene на сервере freenode.net
 +
* [http://www.glscene.ru/ русский сайт GLScene]

Latest revision as of 11:14, 19 June 2015

Deutsch (de) English (en) français (fr) Bahasa Indonesia (id) 日本語 (ja) 한국어 (ko) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

О GLScene

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

Материалы

  • простые в использовании, оптимизированные, объекты материалов
  • библиотека материалов для совместного использования
  • поддержка света: окружающего, диффузного, излучаемого, отраженного и светимости
  • поддержка режимов смешивание (прозрачность, наложения...)
  • автогенерация альфа-канала
  • поддержка форматов OpenGL текстур, включающих сжатие (DXT, S3TC и т.д.)
  • общая поддержка шэйдеров
  • высокоуровневая поддержка классов Cg шэйдеров
  • полиморфные изображения для текстурирования (позволяют использовать множество форматов также хорошо как и процедурные текстуры, с простым расширением
  • более чем 150 предопределенных цветов таких как clrCornflowerBlue или clrCoolCopper (легко расширяемые) *в дополнение к стандартным цветам и прямому использованию спецификации RGBA
  • простое использование перемещения и масштабирования свойств текстур, независимо от координат текстур
  • поддержка 32-битны растровых классов

Визуализация

  • автоматическое использование аппаратных возможностей OpenGL, при их наличие
  • использование с моделью камеры, фокуса, расстояния и цели
  • множество точек обзора для одной или больше сцен, простая смена вида через выбор камеры
  • поддержка тумана и глубины вида
  • визуализация в файл в виде растровой картинки или на принтер в любом цвете и разрешениии
  • поддержка полноэкранного режима с динамической сменой разрешения
  • эффекты отражения и зеркала
  • динамические тени
  • высокопроизводительная поддержка системы прозрачных частиц во всей сцене
  • automatic frustrum culling (hierarchical or per-object)

Анимация

  • propagation of time progression events
  • скелетная анимация (множество костей на вершину)
  • кадровая интерполяция и морфинг целей
  • простое расширяемое Поведение
  • динамика: инерция, ускорение, затухание и применение силы
  • автоматическая модуляция сцены

Интерфейс

  • простые функции для определения выбранных объектов
  • вспомогательные функции для перемещения камеры
  • вспомогательные функции для для перемещения выбранных объектов
  • вспомогательные функции для для конвертирования экранных координат в мировые

Утилиты

  • оптимизированные геометрические функции и утилиты (вектор, кватернион и матрицы...)
  • поддержка функций кубических сплайнов и классов
  • манипуляции с мэшами и оптимизация (stripification, vertex-cache awareness, и т.д.)
  • компонент для создания полноценнхы хранителей экрана в несколько щелчков
  • точное определение скорости смены кадров
  • асинхронный таймер (многопоточный)
  • поддержка джойстика
  • асинхронный доступ к клавиатуре и поддержка раскладок клавиатуры

Снимики экрана (Screenshots)

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

Автор

Author: изначально Mike Lischke
at time maintained by Eric Grange
Порт LCL: Christian Ulrich

Скачать

Последняя версия (v1.0.0.2)

Этот снэпшот в основном совпадает с оригинальным cvs репозиторием по функциоанальности и исправлению ошибок, но до сих пор отсутствуют некоторые части, которые не появятся в "Lazarus-with-GLScene-Installer", пока кто нибудь не создаст их.

--Crossbuilder 20:16, 18 Июля 2007 (CEST)

Устаревшая версия

Старый релиз (версия 0.9.1.6) можно найти по ссылке Lazarus CCR Files page вместе с инсталятором lazarus и интегрированным в него GLScene. ОБНОВЛЕНИЕ: Это старая версия. Постарайтесь использовать версию из svn (см. ниже).

SVN

Вы можете проверить последнию версию здесь:
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/

Команда для проверки/получения:

svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene

Эта команда скачает основной репозиторий в каталог "glscene".

В операционной системе Windows вы можете воспользоваться любым клиентом-SVN, например tortoise.

Отчет об ошибках

Bug Reporting/Featurerequest Пожалуйста выберите Проект "Packages" и Категорию "glscene" для своего отчета. Спасибо.

Изменения

  • 18.07.2007 Snapshot release version 1.0.0.2
    • adjusted some things, so it works with latest lazarus svn version
    • added object bitmaps for the SceneEditor
    • fixed another AV in SceneEditor
    • incorporated all patches and bugfixes from original glscene cvs repo like dynamic textures ..
  • 13.06.2007 Snapshot release version 1.0.0.1
    • incorporated all patches and bugfixes from original glscene cvs repo
    • improved scene editor (crashes less, but still needs some love)
      Tip: Save your project frequently ;-)
    • seperated mmsystem dependent stuff from generic sound support so e.g. FMOD is available in linux, too
    • many more ..
  • 01.12.06 Added support for ODE, gtk2 and Cg shaders in Linux (ODE is limited to normal release, unsupported are cone, ccylinder and terrains)
  • 10.08.05 Too many changes to post here see cvs history
  • 16.07.05 GLScene 0.9.X Port
  • look at GLScene Sourceforge Account for complete Changelog

Статус: Beta

Установка версии 1.0.0.2

Требуется fpc 2.1.4 или новее и lazarus 0.9.23 rev. 11348 или новее !!

  • распаковка исходного кода
    • ZIP:
      • в каталоге "lazarus/components/" выполните "unzip glscene-1.0.0.2.zip"
        При этом будет создан каталог lazarus/components/glscene/
    • SVN:
      • в каталоге "lazarus/components/" выполните
        svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
        При этом будет создан каталоге lazarus/componets/glscene/
    • Tortoise SVN:
      • добавьте каталоге "glscene" вручную, так чтобы получилось lazarus/components/glscene. После этого выполните команду контекстного меню "SVN Checkout..." на созданном каталоге. Введите в поле "URL of repository"
        http://svn.freepascal.org/svn/fpcprojects/glscene/trunk
        Подтвердите кнопкой "OK".


  • Завершение установки:
    • скопируйте "lazarus/components/glscene/globallinks/*.lpl" в "lazarus/packager/globallinks/" (только для *nix)
    • запустите lazarus
    • выполните команду "Найстройка установленных пакетов..." из меню "Пакет" (Пакет/Найстройка установленных пакетов...)
    • выберите "glscenelazarus" из списка "Доступные пакеты"
    • щелкните по кнопке "Установить выбранное"
    • щелкните по кнопке "Сохранить и перезапустить IDE"
      • ВНИМАНИЕ: Может появится ошибка о том что пакет "jpegforlazarus" не найден. Если такая ошибка появилась, то выполните следующие действия:
      • выполните команду Пакеты/Открыть загруженный пакет...
      • выберите "glscenelazarus" и щелкните "Открыть..."
      • в самом низу появившегося списка "Требуемые пакеты" удалите зависимость от "jpegfromlazarus".
      • отредактирйте модуль "jpeg" в каталоге /lazarus/components/glscene/Source/base и удалите "LazJPEG" (в разделе uses) в модуле "LazJPG" (из пакета ImagesForLazarus).
      • сохраните и повторите последние 4 шага опять.
      • ПОДСКАЗКА: Вам следует установить пакет "ImagesForLazarus" (тем же самым способом что и пакет "glscenelazarus").
    • повторите последние 4 шага для остальных пакетов, которые вы собираетесь использовать.
      • Заметка: glsceneode и glscenecgshader требуют наличия их библиотек в системе во время инсталяции!
    • Заметка: вы также можете попробовать выбрать и установить все пакеты одновременно.Тем не менее, я предпочитаю делать это шаг за шагом, чтобы видеть где произошла ошибка, если она произошла ;)
    • Ошибки при установке "glscenelazarus": (только для glscene-1.0.0.2.zip, в версии из svn это уже исправлено)
      • Исправьте в модуле GLLCLViewer: измените procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - на procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
      • Исправьте в модуле GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - на procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
      • Исправьте в модуле GLLCLFullscreenViewer: измените "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" на "RegisterClasses([TGLFullScreenViewer]);"
  • Список пакетов:
    • glscenelazarus Основной пакет.
    • glscenecgshader Компоненты Cg-шейдеров
    • glsceneode ODE компоненты
    • glss_fmodlaz FMOD компоненты
    • gls_winonly Только для Windows. Содержит поддержку звука через mmsystem, BASS и поддержку компонента GLScreenSaver
  • Ошибки при компиляции "демок":
    • Если не найден класс - TGLSceneViewer, то следует изменить в разделе uses GLLCLViewer на GLViewer

Установка версии 0.9.6.1

  • Создайте каталог lazarus\components\GLScene
  • В созданном каталоге распакуйте/разархивируйте файлы из архива
  • Запустите Lazarus
  • Откройте пакет glscenelazarus.lpk командой Компоненты/Открыть пакет(.lpk) из каталоге lazarus\components\glscene\Lazarus
  • (Щелкните по кнопке Компилировать при необходимости, если не хотите установки компонент в IDE)
  • Щелкните по кнопке Установить
  • Повторите эти шаги (открыть .lpk, щелкните по кнопке Установить) для остальныъ пакетов, которые хотите использовать. Заметка: эти дополнительные пакеты требуют дополнительных библиотек (fmod, ode, Cg).
    • glscenecgshader.lpk : Cg шейдеры (только для карт nVidia)
    • glsceneode.lpk : поддержка библиотеки ode
    • glsss_fmodlaz.lpk : поддержка библиотеки fmod
    • gls_winonly.lpk : может быть установлено только в операционной системе Windows. Содержит средства создания хранителей экрана.

Подсказка: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools->Build Lazarus again and it should be ok.

A full install of Lazarus with GLScene already in the IDE is available as binary win32 release or http://www.skinhat.com/lazarus

Just a warning for (new) Linux users: GLScene in its current state is not working "out of the box" (lots of modifications/additions needed). UPDATE: this is not true anymore. glscene for lazarus is pretty up-to-date and most things work good right out of the box for windows as well as for linux.

As of latest trunk version (see svn above) the linux version is working well. Some demos (about 20%) are still broken but the majority of glscene is now working. We're also moving towards making it work in other Unix platforms like FreeBSD.

The missing/nonworking parts on non-windows are: glKeyboard (uses winapi, but is not required mostly), glSound(which uses mm, we need to use openal or somesuch)

Пока в разработке fully featured windows installer.

Помощь