GLScene/ru: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: GLScene/ru
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ### О GLScene | |
| 2 | + | ||
| 3 | + | GLScene это основанная на OpenGL 3D библиотека. Изначально была написана для Delphi, но теперь спокойно работает с C++ Builder, Kylix, Delphi и Lazarus. | |
| 4 | + | ||
| 5 | + | Основные характеристики : | |
| 6 | + | ||
| 7 | + | Описание сцены | |
| 8 | + | ||
| 9 | + | - иерархическая структура объектов с множеством объектов (количество зависит от ОЗУ) и простотой расширения | |
| 10 | + | - интерактивное управление сценой (numerous Delphi experts) | |
| 11 | + | - простые функции вращения и перемещения для каждого объекта | |
| 12 | + | - предопределенные объекты (все стандартные от куба до чайника и спрайтов), легко расширяемые | |
| 13 | + | - структурные объекты (каркасный куб, прокси-объект) для управления композитными объектами | |
| 14 | + | - процедурные объекты (heightfield, вращение твердых тел, трубы, tesselators...) | |
| 15 | + | - поддержка 2D и 1D объектов (спрайты, линии с поддержкой сплайнов) полностью интегрирована | |
| 16 | + | - HUD-объекты (спрайты визуализированные в 2D координатах) | |
| 17 | + | - утилитные объекты (сетки, небо, стрелки...) | |
| 18 | + | - поддержка классов для прямого доступа OpenGL | |
| 19 | + | - объекты камеры и света могут быть использованы в любом месте иерархии объектов сцены | |
| 20 | + | - поведенческие объекты могут быть привязаны к объектам для их анимации с возможностью расщирения | |
| 21 | + | - специальные эффекты на объект (до/после визуализации объекта и сцены), с возможностью простого расширения | |
| 22 | + | - поддержка систем частиц, любые объекты или структуры объектов могут выступать в роли частиц | |
| 23 | + | - импорт 3D Studio файлов с автоматическим вычислением векторов нормалей (using the given *smoothing groups of the file) и текстурных координат | |
| 24 | + | - поддержка других форматов импорта: OBJ/OBJF, SMD, MD2, STL, TIN, PLY | |
| 25 | + | ||
| 26 | + | Материалы | |
| 27 | + | ||
| 28 | + | - простые в использовании, оптимизированные, объекты материалов | |
| 29 | + | - библиотека материалов для совместного использования | |
| 30 | + | - поддержка света: окружающего, диффузного, излучаемого, отраженного и светимости | |
| 31 | + | - поддержка режимов смешивание (прозрачность, наложения...) | |
| 32 | + | - автогенерация альфа-канала | |
| 33 | + | - поддержка форматов OpenGL текстур, включающих сжатие (DXT, S3TC и т.д.) | |
| 34 | + | - общая поддержка шэйдеров | |
| 35 | + | - высокоуровневая поддержка классов Cg шэйдеров | |
| 36 | + | - полиморфные изображения для текстурирования (позволяют использовать множество форматов также хорошо как и процедурные текстуры, с простым расширением | |
| 37 | + | - более чем 150 предопределенных цветов таких как clrCornflowerBlue или clrCoolCopper (легко расширяемые) *в дополнение к стандартным цветам и прямому использованию спецификации RGBA | |
| 38 | + | - простое использование перемещения и масштабирования свойств текстур, независимо от координат текстур | |
| 39 | + | - поддержка 32-битны растровых классов | |
| 40 | + | ||
| 41 | + | Визуализация | |
| 42 | + | ||
| 43 | + | - автоматическое использование аппаратных возможностей OpenGL, при их наличие | |
| 44 | + | - использование с моделью камеры, фокуса, расстояния и цели | |
| 45 | + | - множество точек обзора для одной или больше сцен, простая смена вида через выбор камеры | |
| 46 | + | - поддержка тумана и глубины вида | |
| 47 | + | - визуализация в файл в виде растровой картинки или на принтер в любом цвете и разрешениии | |
| 48 | + | - поддержка полноэкранного режима с динамической сменой разрешения | |
| 49 | + | - эффекты отражения и зеркала | |
| 50 | + | - динамические тени | |
| 51 | + | - высокопроизводительная поддержка системы прозрачных частиц во всей сцене | |
| 52 | + | - automatic frustrum culling (hierarchical or per-object) | |
| 53 | + | ||
| 54 | + | Анимация | |
| 55 | + | ||
| 56 | + | - propagation of time progression events | |
| 57 | + | - скелетная анимация (множество костей на вершину) | |
| 58 | + | - кадровая интерполяция и морфинг целей | |
| 59 | + | - простое расширяемое Поведение | |
| 60 | + | - динамика: инерция, ускорение, затухание и применение силы | |
| 61 | + | - автоматическая модуляция сцены | |
| 62 | + | ||
| 63 | + | Интерфейс | |
| 64 | + | ||
| 65 | + | - простые функции для определения выбранных объектов | |
| 66 | + | - вспомогательные функции для перемещения камеры | |
| 67 | + | - вспомогательные функции для для перемещения выбранных объектов | |
| 68 | + | - вспомогательные функции для для конвертирования экранных координат в мировые | |
| 69 | + | ||
| 70 | + | Утилиты | |
| 71 | + | ||
| 72 | + | - оптимизированные геометрические функции и утилиты (вектор, [кватернион](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) и матрицы...) | |
| 73 | + | - поддержка функций [кубических сплайнов](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) и классов | |
| 74 | + | - манипуляции с [мэшами](http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%88) и оптимизация (stripification, vertex-cache awareness, и т.д.) | |
| 75 | + | - компонент для создания полноценнхы хранителей экрана в несколько щелчков | |
| 76 | + | - точное определение скорости смены кадров | |
| 77 | + | - асинхронный таймер (многопоточный) | |
| 78 | + | - поддержка джойстика | |
| 79 | + | - асинхронный доступ к клавиатуре и поддержка раскладок клавиатуры | |
| 80 | + | ||
| 81 | + | ### Снимики экрана (Screenshots) | |
| 82 | + | ||
| 83 | + |   \ | |
| 84 | + |  | |
| 85 | + | ||
| 86 | + | ### Автор | |
| 87 | + | ||
| 88 | + | Author: изначально Mike Lischke\ | |
| 89 | + | at time maintained by Eric Grange\ | |
| 90 | + | Порт LCL: Christian Ulrich | |
| 91 | + | ||
| 92 | + | ### Скачать | |
| 93 | + | ||
| 94 | + | #### Последняя версия (v1.0.0.2) | |
| 95 | + | ||
| 96 | + | - Новый снэпшот релиза можно найти на [Lazarus CCR Files page](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641). | |
| 97 | + | ||
| 98 | + | Этот снэпшот в основном совпадает с оригинальным cvs репозиторием по функциоанальности и исправлению ошибок, но до сих пор отсутствуют некоторые части, которые не появятся в "Lazarus-with-GLScene-Installer", пока кто нибудь не создаст их. | |
| 99 | + | ||
| 100 | + | --Crossbuilder 20:16, 18 Июля 2007 (CEST) | |
| 101 | + | ||
| 102 | + | #### Устаревшая версия | |
| 103 | + | ||
| 104 | + | Старый релиз (версия 0.9.1.6) можно найти по ссылке [Lazarus CCR Files page](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007) вместе с инсталятором lazarus и интегрированным в него GLScene. ОБНОВЛЕНИЕ: Это старая версия. Постарайтесь использовать версию из svn (см. ниже). | |
| 105 | + | ||
| 106 | + | ### SVN | |
| 107 | + | ||
| 108 | + | Вы можете проверить последнию версию здесь:\ | |
| 109 | + | <http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/>\ | |
| 110 | + | Команда для проверки/получения:\ | |
| 111 | + | ||
| 112 | + | svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene | |
| 113 | + | ||
| 114 | + | Эта команда скачает основной репозиторий в каталог "glscene". | |
| 115 | + | ||
| 116 | + | В операционной системе Windows вы можете воспользоваться любым клиентом-SVN, например [tortoise](http://tortoisesvn.tigris.org). | |
| 117 | + | ||
| 118 | + | ### Отчет об ошибках | |
| 119 | + | ||
| 120 | + | [Bug Reporting/Featurerequest](http://www.freepascal.org/mantis/) Пожалуйста выберите Проект "Packages" и Категорию "glscene" для своего отчета. Спасибо. | |
| 121 | + | ||
| 122 | + | ### Изменения | |
| 123 | + | ||
| 124 | + | - 18.07.2007 Snapshot release version 1.0.0.2 | |
| 125 | + | - adjusted some things, so it works with latest lazarus svn version | |
| 126 | + | - added object bitmaps for the SceneEditor | |
| 127 | + | - fixed another AV in SceneEditor | |
| 128 | + | - incorporated all patches and bugfixes from original glscene cvs repo like dynamic textures .. | |
| 129 | + | - 13.06.2007 Snapshot release version 1.0.0.1 | |
| 130 | + | - incorporated all patches and bugfixes from original glscene cvs repo | |
| 131 | + | - improved scene editor (crashes less, but still needs some love)\ | |
| 132 | + | **Tip:** Save your project frequently ;-) | |
| 133 | + | - seperated mmsystem dependent stuff from generic sound support so e.g. FMOD is available in linux, too | |
| 134 | + | - many more .. | |
| 135 | + | - 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) | |
| 136 | + | - 10.08.05 Too many changes to post here see cvs history | |
| 137 | + | - 16.07.05 GLScene 0.9.X Port | |
| 138 | + | - look at GLScene Sourceforge Account for complete Changelog | |
| 139 | + | ||
| 140 | + | Статус: Beta | |
| 141 | + | ||
| 142 | + | ### Установка версии 1.0.0.2 | |
| 143 | + | ||
| 144 | + | **Требуется fpc 2.1.4 или новее и lazarus 0.9.23 rev. 11348 или новее !!** | |
| 145 | + | ||
| 146 | + | - **распаковка исходного кода** | |
| 147 | + | - ZIP: | |
| 148 | + | - в каталоге "lazarus/components/" выполните "unzip glscene-1.0.0.2.zip"\ | |
| 149 | + | При этом будет создан каталог lazarus/components/glscene/ | |
| 150 | + | - SVN: | |
| 151 | + | - в каталоге "lazarus/components/" выполните | |
| 152 | + | svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene | |
| 153 | + | ||
| 154 | + | При этом будет создан каталоге lazarus/componets/glscene/ | |
| 155 | + | - Tortoise SVN: | |
| 156 | + | - добавьте каталоге "glscene" вручную, так чтобы получилось lazarus/components/glscene. После этого выполните команду контекстного меню "SVN Checkout..." на созданном каталоге. Введите в поле "URL of repository" | |
| 157 | + | http://svn.freepascal.org/svn/fpcprojects/glscene/trunk | |
| 158 | + | ||
| 159 | + | Подтвердите кнопкой "OK". | |
| 160 | + | ||
| 161 | + | - **Завершение установки:** | |
| 162 | + | - скопируйте "lazarus/components/glscene/globallinks/*.lpl" в "lazarus/packager/globallinks/" (только для *nix) | |
| 163 | + | - запустите lazarus | |
| 164 | + | - выполните команду "Найстройка установленных пакетов..." из меню "Пакет" (Пакет/Найстройка установленных пакетов...) | |
| 165 | + | - выберите "glscenelazarus" из списка "Доступные пакеты" | |
| 166 | + | - щелкните по кнопке "Установить выбранное" | |
| 167 | + | - щелкните по кнопке "Сохранить и перезапустить IDE" | |
| 168 | + | - ВНИМАНИЕ: Может появится ошибка о том что пакет "jpegforlazarus" не найден. Если такая ошибка появилась, то выполните следующие действия: | |
| 169 | + | - выполните команду Пакеты/Открыть загруженный пакет... | |
| 170 | + | - выберите "glscenelazarus" и щелкните "Открыть..." | |
| 171 | + | - в самом низу появившегося списка "Требуемые пакеты" удалите зависимость от "jpegfromlazarus". | |
| 172 | + | - отредактирйте модуль "jpeg" в каталоге /lazarus/components/glscene/Source/base и удалите "LazJPEG" (в разделе uses) в модуле "LazJPG" (из пакета ImagesForLazarus). | |
| 173 | + | - сохраните и повторите последние 4 шага опять. | |
| 174 | + | - ПОДСКАЗКА: Вам следует установить пакет "ImagesForLazarus" (тем же самым способом что и пакет "glscenelazarus"). | |
| 175 | + | - повторите последние 4 шага для остальных пакетов, которые вы собираетесь использовать. | |
| 176 | + | - Заметка: glsceneode и glscenecgshader требуют наличия их библиотек в системе во время инсталяции! | |
| 177 | + | - **Заметка:** вы также можете попробовать выбрать и установить все пакеты одновременно.Тем не менее, я предпочитаю делать это шаг за шагом, чтобы видеть где произошла ошибка, если она произошла ;) | |
| 178 | + | - **Ошибки при установке "glscenelazarus":** (только для glscene-1.0.0.2.zip, в версии из svn это уже исправлено) | |
| 179 | + | - Исправьте в модуле GLLCLViewer: измените procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - на procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams); | |
| 180 | + | - Исправьте в модуле GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - на procedure TGLSceneViewerLCL.EraseBackground(DC: HDC); | |
| 181 | + | - Исправьте в модуле GLLCLFullscreenViewer: измените "RegisterClasses(\[TGLSceneViewer, TGLFullScreenViewer\]);" на "RegisterClasses(\[TGLFullScreenViewer\]);" | |
| 182 | + | ||
| 183 | + | - **Список пакетов:** | |
| 184 | + | - **glscenelazarus** Основной пакет. | |
| 185 | + | - **glscenecgshader** Компоненты Cg-шейдеров | |
| 186 | + | - **glsceneode** ODE компоненты | |
| 187 | + | - **glss_fmodlaz** FMOD компоненты | |
| 188 | + | - **gls_winonly** Только для Windows. Содержит поддержку звука через mmsystem, BASS и поддержку компонента GLScreenSaver | |
| 189 | + | ||
| 190 | + | - **Ошибки при компиляции "демок":** | |
| 191 | + | - Если не найден класс - TGLSceneViewer, то следует изменить в разделе uses GLLCLViewer на GLViewer | |
| 192 | + | ||
| 193 | + | ### Установка версии 0.9.6.1 | |
| 194 | + | ||
| 195 | + | - Создайте каталог lazarus\components\GLScene | |
| 196 | + | - В созданном каталоге распакуйте/разархивируйте файлы из архива | |
| 197 | + | - Запустите Lazarus | |
| 198 | + | - Откройте пакет glscenelazarus.lpk командой Компоненты/Открыть пакет(.lpk) из каталоге lazarus\components\glscene\Lazarus | |
| 199 | + | - (Щелкните по кнопке Компилировать при необходимости, если не хотите установки компонент в IDE) | |
| 200 | + | - Щелкните по кнопке Установить | |
| 201 | + | - Повторите эти шаги (открыть .lpk, щелкните по кнопке Установить) для остальныъ пакетов, которые хотите использовать. Заметка: эти дополнительные пакеты требуют дополнительных библиотек (fmod, [ode](http://www.ode.org), [Cg](http://developer.nvidia.com/object/cg_toolkit.htm)). | |
| 202 | + | - glscenecgshader.lpk : Cg шейдеры (только для карт nVidia) | |
| 203 | + | - glsceneode.lpk : поддержка библиотеки ode | |
| 204 | + | - glsss_fmodlaz.lpk : поддержка библиотеки fmod | |
| 205 | + | - gls_winonly.lpk : может быть установлено только в операционной системе Windows. Содержит средства создания хранителей экрана. | |
| 206 | + | ||
| 207 | + | Подсказка: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools-\>Build Lazarus again and it should be ok. | |
| 208 | + | ||
| 209 | + | A full install of Lazarus with GLScene already in the IDE is available as [binary win32 release](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739) or [<http://www.skinhat.com/lazarus>](http://www.skinhat.com/lazarus) | |
| 210 | + | ||
| 211 | + | 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. | |
| 212 | + | ||
| 213 | + | 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. | |
| 214 | + | ||
| 215 | + | 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) | |
| 216 | + | ||
| 217 | + | Пока в разработке [[Lazarus- Game Developers Edition|fully featured windows installer]]. | |
| 218 | + | ||
| 219 | + | ### Помощь | |
| 220 | + | ||
| 221 | + | - можно найти на [на основной странице GLScene](http://www.glscene.org) | |
| 222 | + | - присоедениться к каналу \#glscene на сервере freenode.net | |
| 223 | + | - [русский сайт GLScene](http://www.glscene.ru/) | |
| 224 | + | ||
| 225 | + | --- | |
| 226 | + | *From the Free Pascal wiki, page "GLScene/ru", as it stood on 2015-06-19 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
