OGFViewer
MeshTool/OGFViewer
Тип | Комплект утилит |
Автор | NatteFrost |
Последняя версия | 1.0.5 .20131229 |
Архив версий | файлохранилище |
Платформа | x86, x86-64, etc, etc |
Написан на | C++ |
Обратная связь | форум gameru.net |
MESHTOOL/OGFVIEWER — кроссплатформенный комплект утилит для просмотра, конвертации разнообразных 3d-моделей и уровней.
Использовались 3D интерфейсы, API: Microsoft DirectX, OpenGL (Microsoft, SGI, IBM, Mesa3D, Scitech SNAP, glut, libtk, glaux), allegro, Irrlicht.
Cистемные требования:
- Платформа Microsoft Windows: Windows 9x/NT/2000/XP/2003/Vista/2008/7/8/2012 [x86/x64] (а также Linux+Wine :) )
Возможна работа без аппаратной 3D-акселерации. ( MESHTOOL cовместим с TransGaming SwiftShader, Realtech VR DXGL Wrapper, AltOpenGL, TechLand Soft OpenGL, mesaFX OpenGL. )
- Платформа IBM OS/2: OS/2 Warp 3, Warp 4, eComStation.
Поддерживается OpenGL: IBM 1.0, IBM 1.1, WarpMesaGL 1.4, SNAPGL 1.5
- Платформа DOS: DOS 3.3 и старше.
Поддерживается OpenGL: SNAPGL 1.5, allegro
Содержание
- 1 Что умеем?
- 2 Комплектация пакета Microsoft Windows, IBM OS/2, DOS32
- 3 Отличия, особенности версий OGFViewer
- 4 Управление клавиатурой, мышью
- 5 Установка и использование
- 6 Как установить 3ds Max-плагин
- 7 Как просматривать уровни
- 8 Как конвертировать ogf и omf-анимации в smd
- 9 Методичка по консольным утилитам
- 10 История изменений
- 11 Планы
- 12 Использованные материалы и благодарности
Что умеем?[править]
Открываем:
- X-Ray OGF v4 (builds 2xxx-3xxx), возможен экспорт анимаций в smd
- X-Ray OGF v3 (builds 1xxx) — частично
- X-Ray object v3 (builds 1xxx), только статика
- X-Ray object v4 (builds 2xxx-3xxx), только статика
- X-Ray level (builds 2xxx-3xxx), через ogf-конвертацию (parse_lev) или через object-конвертацию (converter.exe)
- Orion engine v1 MSH (Stalin Subway, Red Veil, Метро-2, Метро-2: Смерть вождя)
- Autodesk 3D Studio MAX 3ds
- DS2 Engine *.ds2md (You Are Empty, только статика)
- 4A Games Engine *.model, *.mesh (Metro 2033, Metro Last Light)
- DirectDraw surface *.dds (картинка на плоскость 2x2 метра)
Форматы для экспорта:
- Wavefront Object (*.OBJ)
- Valve Software HalfLife (*.SMD)
- ASCII Scene Export (*.ASE)
- Autodesk 3dsMax (*.3DS)
- Autodesk AutoCAD (*.DXF)
- LightWave 3D (*.LWO) — в разработке
- StereoLitho (*.STL)
- Collada XML (*.DAE)
- MilkShape3D (*.MS3D)
- X-Ray OGF (*.OGF)
- POV-Ray (*.POV)
- DirectX SDK Mesh (*.X)
Конвертация:
- parse_lev: level+level.geom+level.cform -> ogf
- ogfviewer(gui), meshconv(console): ogf, object, msh, 3ds, ds2md, model, mesh -> obj, ase, smd, 3ds, pov, dae, dxf, stl, ms3d, ogf (без анимаций)
- ogf2smda: ogf,ogf+omf -> smd(reference), smd(reference+separate animations)
- obj2ogf: obj -> ogf
- ogf2obj: ogf -> obj
- ogf2pov: ogf -> pov
- ogf2x: ogf -> x (directx sdk mesh)
Обратите внимание, что OGFViewer подразумевает, что все координаты моделей заданы в метрах. Для моделей Orion engine v1 используется масштабирование, т.к. они сделаны в сантиметрах.
Какие форматы текстур умеем:
- Windows OpenGL: BMP/DIB, DDS, JPG, PNG, PPM, TGA, TIF
- OS/2, DOS OpenGL: BMP/DIB, DDS, PPM, TGA
- Microsoft DirectX: BMP/DIB, DDS, JPG, PNG, PPM, TGA
- allegro: BMP/DIB, LBM, PCX, TGA
Комплектация пакета Microsoft Windows, IBM OS/2, DOS32[править]
- MESHTOOL\WIN32\GL_MS — Версии для Microsoft OpenGL, x86
- MESHTOOL\WIN32\GL_SGI — Версии для SGI/MMX OpenGL, x86
- MESHTOOL\WIN32\SNAP — Версии для Windows SNAPGL, x86
- MESHTOOL\WIN64\GL_MS — Версии для Microsoft OpenGL, x64
- MESHTOOL\IA64\GL_MS — Версии для Microsoft OpenGL, ia64
- MESHTOOL\OS2\GL10 — Версии для IBM OpenGL 1.0, OS/2
- MESHTOOL\OS2\GL11 — Версии для IBM OpenGL 1.1 beta, OS/2
- MESHTOOL\OS2\WMGL — Версии для WarpMesaGL 1.4, OS/2
- MESHTOOL\OS2\SNAP — Версии для SnapGL 1.5, OS/2
- OGFViewer.exe — Базовая GUI версия (для моделей).
- OGFViewerA.exe — Альтернативная GUI версия (для уровней).
- OGFFscr.exe — Базовая wgl полноэкранная версия (для моделей) *.
- OGFFscrA.exe — Альтернативная wgl полноэкранная версия (для уровней) *.
- OGF_GLUT.exe — Базовая GLUT версия (для моделей) *.
- OGF_GLUTA.exe — Альтернативная GLUT версия (для уровней) *.
- ogf_tk.exe — Базовая LIBTK версия (для моделей) *.
- ogf_tka.exe — Альтернативная LIBTK версия (для уровней) *.
- ogf_os2.exe — Базовая pgl версия (для моделей) *.
- ogf_os2a.exe — Альтернативная pgl версия (для уровней) *.
- ogf_cons.exe — Базовая LIBAUX версия (для моделей) *.
- ogf_consa.exe — Альтернативная LIBAUX версия (для уровней) *.
- ogf_snap.exe — Базовая LIBAUX версия (для моделей) *.
- ogf_snapa.exe — Альтернативная LIBAUX версия (для уровней) *.
- MESHTOOL\WIN32\DX8_MS — Версии для Microsoft DirectX8, x86
- MESHTOOL\WIN32\DX9_MS — Версии для Microsoft DirectX9, x86
- MESHTOOL\WIN64\DX9_MS — Версии для Microsoft DirectX9, x64
- OGFViewer_DX.exe — Базовая GUI версия (для моделей).
- OGFViewerr_DXA.exe — Альтернативная GUI версия (для уровней).
- OGF_DXA.exe — Альтернативная полноэкранная версия (для уровней) *.
- OGF_DXBA.exe — Альтернативная BUMP полноэкранная версия (для уровней) *.
- OGF_DXSA.exe — Альтернативная SM полноэкранная версия (для уровней) *.
- MESHTOOL\WIN32\ALLEGRO — Версии для allegro library, x86 *
- OGFConsA.exe — Базовая версия (для моделей).
- OGFConsAW.exe — Базовая версия (для моделей).
- OGFConsAF.exe — Базовая FIXEDMATH версия (для моделей).
- OGFConsAFW.exe — Базовая FIXEDMATH версия (для моделей).
- MESHTOOL\DOS32 — Версии для allegro, x86, DOS32 *
- MESHTOOL\WIN32\CONSOLE — Консольные утилиты, x86 *
- dx7capsG.exe — табло памяти DirectX.
- descale.exe — пропорционально уменьшает текстуры.
- glxinfo.exe — системная информация, MS OpenGL версия.
- glxinfo_sgi.exe — системная информация, SGI/MMX OpenGL версия.
- make_box.exe — создает "коробочный" ландшафт для бенчмарков.
- Make_box2.exe — создает "коробочный" ландшафт для occlusion, dot3 bump тестов.
- Make_Ogf.exe — создает псевдослучайную OGF-модель.
- MeshConv.exe — конвертер моделей в 3DS формат.
- OBJ2OGF.exe — конвертер WAVEFRONT OBJ-моделей в X-Ray OGF формат.
- OGF2OBJ.exe — конвертер X-Ray OGF-моделей в WAVEFRONT OBJ формат.
- OGF2SMDa.exe — конвертер X-Ray OGF-моделей/анимаций в SMD формат.
- OGF2POV.exe — конвертер X-Ray OGF-моделей в POVRAY формат.
- OGF2X.exe — конвертер X-Ray OGF-моделей в DirectX SDK X формат.
- Parse_203.exe — конвертер 4A Engine уровней в OGF формат.
- Parse_Lev.exe — конвертер Xray уровней в OGF формат.
- Parse_Or1.exe — парсер orion engine v1 моделей.
- Parse_Obj.exe — парсер Xray object-моделей.
- Parse_Ogf.exe — парсер Xray ogf-моделей.
- suntest.exe — расчет освещения.
- MESHTOOL\WIN32\PLUGINS — Импорт плагины для Autodesk 3DS MAX, x86
- MESHTOOL\WIN64\PLUGINS — Импорт плагины для Autodesk 3DS MAX, x64
* Запуск из командной строки, Far Manager, File Commander.
Прочее[править]
- MESHTOOL\REF\ORIONV1.TXT — Orion engine v1 MSH format datasheet
- MESHTOOL\REF\OGF3.H — xray ogf v.3 datasheet
- MESHTOOL\REF\OGF4.H — xray ogf v.4 datasheet
- MESHTOOL\REF\OBJECT.H — xray object datasheet
- MESHTOOL\SAMPLES — каталог с примерами
- MESHTOOL\REG\ — ветки реестра для ассоциаций (Windows)
- MESHTOOL\SKY\ — текстуры неба для ALT-версии (текстуры sky?.dds положить в gamedata\textures\sky)
- MESHTOOL\soft_gl.7z — Mesa3D OpenGL 2.1 library v6.5.2, v7.3 (software OpenGL emulation)
- MESHTOOL\soft_dx.7z — Microsoft Software DirectX rasterizer library v8.x (software DirectX emulation)
- MESHTOOL\READMEOS2.HTM — FAQ & README for OS/2 (HTML)
- MESHTOOL\FAQ.HTM — FAQ & README (HTML)
Отличия, особенности версий OGFViewer[править]
Для всех версий[править]
- Существует ограничение на количество индексов вершин до 65535 включительно т.к. они хранятся в unsigned short формате.
- Существует визуальные проблемы с работой программы при включенном Windows Aero (desktop composition). Варианты решения - временно переключиться в классическую схему оформления или остановить службу Темы (c правами администратора):
- для английской версии
net stop Themes
- для русской версии
net stop Темы
- для английской версии
Базовая[править]
- Вращается и двигается модель относительно центра координат. Вариант для просмотра отдельных моделей. Умеет VBO (OpenGL). Включен мипмэппинг и фильтрация текстур. Использование буфера VBO (OpenGL) имеет "обратную сторону" - при его переполнении эффективность от VBO пропадает.
Альтернативная[править]
- Вращается и двигается свободная камера. Вариант для просмотра уровней и крупных объектов. Вместо скайбоксов используется туман. Включена DXT-компрессия (OpenGL), фильтрация текстур.
На движке SGI OpenGL (Windows x86)[править]
- OpenGL движок, программная его часть оптимизирована под инструкции MMX (Pentium и старше). Немного быстрее, чем движок MS OpenGL.
Программный режим (OpenGL)[править]
- MS OpenGL (Windows): Если при запуске идут сообщения об ошибках - положите в каталог программы opengl32.dll из soft_gl.7z.
- SGI OpenGL (Windows): Если при запуске идут сообщения об ошибках - отключите видеоакселерацию в панели управления или впишите (импортируйте) эту строчку в реестр, значение = 00000001:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Silicon Graphics\OpenGL]
;"OverrideDispatch"=dword:00000000 ; default (use OpenGL for Windows unless hardware accelerated)
"OverrideDispatch"=dword:00000001 ; force use of OpenGL for Windows
;"OverrideDispatch"=dword:00000002 ; force use of Microsoft's OpenGL Implementation
Программный режим (DirectX)[править]
- Если при запуске программы она показывает пустой черный экран - положите в каталог WINDOWS\SYSTEM32
- DirectX 8 — d3dref8.dll из soft_dx.7z (или DirectX 8.x SDK).
- DirectX 9 (XP/2003) — d3dref9.dll, rgb9rast_1.dll, rgb9rast_2.dll из soft_dx.7z (или DirectX 9.x SDK).
- DirectX 9 (Vista/2008/7/8/2012) — rgb9rast.dll (поставляется в комплекте, обновление не требуется)
Если при запуске программы программы она тормозит или глючит — положите в каталог программы d3d8.dll и d3d9.dll из SwiftShader. На вопрос "Use software renderer?" ответить "No".
Управление клавиатурой, мышью[править]
Общие[править]
- B, < * > на цифровой клавиатуре меняет цвет фона
- /, < / > на цифровой клавиатуре меняет гамма-коррекцию
- TAB, SPACE = режим просмотра wireframe / color / texture
- N = отсечение объектов в радиусе обзора в(ы)кл
- F1, G - сетка, небо, оси в(ы)кл
- F4, L = свет, фары, лампы в(ы)кл
- F5, F = меняет FOV (field of view) +5
- F7, 7 = шаг движения * 4
- F8, 8 = шаг движения / 4
- F9, M = режим фильтрации текстур
- F11 = полный экран в(ы)кл
- I = информация о 3D-рендерере
- T = выгрузка статистики в object.log
- Z = листание в начало
- X = листание вперед
- C = листание назад
- V = листание в конец
- 3, 7, +, < + > на цифровой клавиатуре = время + 1 час
- 4, 8, -, < - > на цифровой клавиатуре = время - 1 час
- 5 = уменьшает aspect ratio
- 6 = увеличивает aspect ratio
- 9 = сброс времени 06:00 <-> 18:00
- 0 = сброс времени на 12:00
Базовая GUI-версия (ogfviewer*.exe)[править]
- INSERT, DELETE, A, D = смещение по оси X
- HOME, END, W, S = смещение по оси Z
- PGUP, PGDOWN = смещение по оси Y
- стрелки = вращение по осям X/Y на 1 градус
- SHIFT, CONTROL = вращение по оси Z на 1 градус
- +, < + >, -, < - > на цифровой клавиатуре = zoom in/out
- BACKSPACE = сброс координат
- Ctrl+N = очистить все
- R = вращение вокруг оси Y (влево/вправо/выкл (ogffscr.exe))
- F2, Ctrl+S = сохранить как
- F3, Ctrl+O = открыть
- F12 = центрирует модель
- движение с нажатой левой кнопкой = вращение по осям X/Y
- движение вверх/вниз с нажатой правой кнопкой = zoom in/out
- движение с нажатой cредней кнопкой (колесиком) = смещение по осям X/Y
- вращение колесика = zoom in/out
Альтернативная GUI-версия (ogfviewer*.exe,ogffscr.exe)[править]
- HOME = поворот камеры вверх на 5 градусов
- END = поворот камеры вниз на 5 градусов
- DELETE = движение камеры влево
- PGDOWN = движение камеры вправо
- стрелка влево, A = поворот камеры влево на 5 градусов
- стрелка вправо, D = поворот камеры вправо на 5 градусов
- стрелка вверх, W = движение камеры вперед
- стрелка вниз, S = движение камеры назад
- SHIFT = движение камеры вверх
- CONTROL = движение камеры вниз
- BACKSPACE = сброс координат
- Ctrl+N = очистить все
- R = вращение вокруг оси Y (влево/вправо/выкл (ogffscr.exe))
- F2, Ctrl+S = сохранить как
- F3, Ctrl+O = открыть
- F6 = "качество" картинки draft/release
- F12 = помещает камеру в центр модели
- движение с нажатой левой кнопкой = поворот камеры влево/вправо, вверх/вниз
- движение вверх/вниз с нажатой правой кнопкой = движение камеры вперед/назад
- движение с нажатой cредней кнопкой (колесиком) = движение камеры вперед/назад, влево/вправо
- вращение колесика = движение камеры вперед/назад
Базовая Console-версия (ogf_glut.exe)[править]
- A, D = смещение по оси X
- HOME, END, W, S = смещение по оси Z
- PGUP, PGDOWN = смещение по оси Y
- стрелки = вращение по осям X/Y на 1 градус
- Z, X = вращение по оси Z на 1 градус
- +, -, < + >, < - >, C, V на цифровой клавиатуре = zoom in/out
- BACKSPACE, E, F10 = сброс координат
- G = сетка, небо, оси в(ы)кл
- R = вращение вокруг оси Y - влево/вправо/выкл
- F1, 1 = "качество" картинки draft
- F2, 2 = "качество" картинки release
- F9, M = режим фильтрации текстур
- F12 = центрирует модель
- I = информация о 3D-рендерере на экран (в OS/2 - пишет в gldump.log)
- движение с нажатой левой кнопкой = вращение по осям X/Y
- движение вверх/вниз с нажатой правой кнопкой = zoom in/out
- движение с нажатой cредней кнопкой (колесиком) = смещение по осям X/Y
- вращение колесика = zoom in/out
- Q = выход
Альтернативная Console-версия (ogf_gluta?.exe)[править]
- HOME, C = поворот камеры вверх на 5 градусов
- END, V = поворот камеры вниз на 5 градусов
- Z = движение камеры влево
- X = движение камеры вправо
- стрелка влево, A = поворот камеры влево на 5 градусов
- стрелка вправо, D = поворот камеры вправо на 5 градусов
- стрелка вверх, W = движение камеры вперед
- стрелка вниз, S = движение камеры назад
- PGUP, O = движение камеры вверх
- PGDOWN, P = движение камеры вниз
- < * >, B = меняет цвет фона
- BACKSPACE, E, F10 = сброс координат
- R = вращение вокруг оси Y (влево/вправо/выкл)
- F1, 1 = "качество" картинки draft
- F2, 2 = "качество" картинки release
- F12 = помещает камеру в центр модели
- I = информация о 3D-рендерере на экран (в OS/2 — пишет в gldump.log)
- движение с нажатой левой кнопкой = поворот камеры влево/вправо, вверх/вниз
- движение вверх/вниз с нажатой cредней кнопкой = движение камеры вперед/назад
- движение с нажатой правой кнопкой (колесиком) = движение камеры вперед/назад, влево/вправо
- вращение колесика = движение камеры вперед/назад
- Q = выход
Базовая OGF_DX-версия (ogf_dx?.exe)[править]
- стрелки и мышь = движение
- F1 = 16-бит текстуры в(ы)кл
- F2 = меняет видеорежим, рендерер и проч.
- F3 = фильтрация текстур в(ы)кл.
- F6 = циклически меняет масштаб текстур (вниз)
- O, P = меняет сглаживание (flat/gouraud)
- Y = "погода": типовой, нейтральный, красный, оранжевый или "лунный" свет
- 1, 2, 3 = LOD=0, LOD--, LOD++
- 4 = ValidateDevice
- 7, +, < + > на цифровой клавиатуре = время +15 мин
- 8, -, < - > на цифровой клавиатуре = время -15 мин
- B, < * > на цифровой клавиатуре = меняет цвет фона
- F11 = помещает камеру в 0.0.0
- F12 = центрирует модель
Альтернативная OGF_DX-версия (ogf_dx?a.exe)[править]
- стрелки, PGUP, PGDOWN, Q, W, E, A, S, D и мышь = движение
- HOME = сброс камеры
- F1 = 16-бит текстуры в(ы)кл.
- F2 = меняет видеорежим, рендерер и проч.
- F3 = фильтрация текстур в(ы)кл.
- F6 = циклически меняет масштаб текстур (вниз)
- O, P = меняет сглаживание (flat/gouraud)
- Y = "погода": типовой, нейтральный, красный, оранжевый или "лунный" свет
- T = свет от фонарика (FFP), освещение от камеры (SM20) в(ы)кл.
- R = Обычный(FFP) -> dot3bump mul -> dot3bump add render.
- TAB = Режимы наложения текстур (SM20).
- 1, 2, 3 = LOD=0, LOD--, LOD++
- 4 = ValidateDevice
- +, < + > на цифровой клавиатуре = время +15 мин
- -, < - > на цифровой клавиатуре = время -15 мин
- B, < * > на цифровой клавиатуре = меняет цвет фона, скайбокс (sky_hdr_test_cube, sky_?_cube (? = 0..25), ...)
- F11 = помещает камеру в 0.0.0
- F12 = помещает камеру в центр модели
Установка и использование[править]
Распаковываем ресурсы игры, используя converter.exe из xray-re tools (xray.codeplex.com, bitbucket.org/stalker/xray_re-tools/):
converter.exe -unpack -2215 gamedata.db0
converter.exe -unpack -2945 gamedata.db0
converter.exe -unpack -2947ru gamedata.db0
converter.exe -unpack -2947ww gamedata.db0
converter.exe -unpack -xdb gamedata.xdb
Ключи после -unpack
позволяют указать тип архива с игровым контентом.
В результате имеем:
- модели gamedata\meshes
- уровни gamedata\levels
- текстуры gamedata\textures
Если просмотр моделей с текстурами нам необходим, в ogfviewer.cfg записывем путь к текстурам. Если игра лежит у нас в C:\GSC\STALKER, то в в ogfviewer.cfg пишем:
- C:\GSC\STALKER\gamedata\textures\
Возможен запуск нескольких копий ogfviewer одновременно.
Как (где) ищется конфигурация ogfviewer.cfg?[править]
- В каталоге, откуда запустили
- В каталоге, где лежит ogfviewer.exe
Как ищутся текстуры?[править]
- При отсутствии ogfviewer.cfg — gamedata\textures
- Если есть ogfviewer.cfg — пути по тексту, разделенные \0
Размер ogfviewer.cfg — 255 символов максимум.
OpenGL: Если размер текстуры для объекта превышает допустимый, то он масштабируется до максимально допустимого размера. Если в итоге указанная текстура для объекта не находится, то в drawmode #2 объект с данной текстурой не отображается.
Как ассоциировать файлы с ogfviewer?[править]
Требуются права администратора!
Отредактировать REG\instreg.txt, исправив там путь к файлу, затем выполнить
regedit instreg.txt
Как убрать ассоциацию c ogfviewer?[править]
Требуются права администратора!
Выполнить
regedit delreg.txt
Как установить 3ds Max-плагин[править]
Скопировать xrMtMax*.dlt и OGFViewer.cfg в папку 3dsmax\plugins.
Как просматривать уровни[править]
Предположим, что имя нашего уровня — testers_mp_railroad
Первый вариант — через ogf-экспорт[править]
- Для конвертации используем parse_lev.exe.
Из gamedata\levels\testers_mp_railroad запустить:
parse_lev 0 testers_mp_railroad.ogf
- Скопировать текстуры ландшафта:
gamedata\levels\testers_mp_railroad\terrain\*.dds -> gamedata\textures\terrain\
- Полученный файл testers_mp_railroad.ogf открывать любой т.н. альтернативной версией, например:
- WIN\GUI\ALT\ogfviewer.exe
- WIN\GUI\ALT\ogfviewer_sgi.exe
- WIN\GUI\ALT\ogfviewer_dx.exe
Второй вариант — через object-экспорт[править]
- Для конвертации используем converter.exe из xray_re_tools.
При данном виде конвертации - деревья, кусты, техника, некоторые прочие объекты - не переносятся.
- Cкопировать текстуры ландшафта:
gamedata\levels\name\terrain\*.dds -> gamedata\textures\terrain\
- Отредактировать converter.ini, прописать там пути к папкам с распакованными ресурсами игры.
- В той же папке, где лежит gamedata\, создать rawdata\objects\levels
- Запускаем из папки, где лежат converter.ex и converter.ini:
converter.exe -level testers_mp_railroad -out testers_mp_railroad -mode maya
- Полученный файл testers_mp_railroad.object открывать любой т.н. альтернативной версией, например:
- WIN\GUI\ALT\ogfviewer.exe
- WIN\GUI\ALT\ogfviewer_sgi.exe
- WIN\GUI\ALT\ogfviewer_dx.exe
Для открытия крупных уровней вроде marsh, pripyat необходимо много оперативной памяти! Рекомендуется при этом закрыть ВСЕ прочие запущенные программы.
Как конвертировать ogf и omf-анимации в smd[править]
Предположим, что имя нашей модели — сat.ogf
Если к ней есть анимация cat_animation.omf, объединяем их:
copy /b cat.ogf + cat_animation.omf cat_full.ogf
ogf2smda.exe cat_full.ogf
Иначе пропускаем этот шаг и выполняем:
ogf2smda.exe cat.ogf
В итоге имеем каталог SMD, там:
- SMD\reference.smd — базовая, остальные — отдельные анимации.
Далее, используя плагин SMDImporter.mzp к Autodesk 3DStudio MAX, можно импортировать полученные SMD файлы.
Методичка по консольным утилитам[править]
Утилита: dx7capsG
Запуск: dx7capsG
Результат: статистка памяти directx на экране
Утилита: glxinfo
Запуск: glxinfo.exe [ > parse.log ]
Результат: показывает microsoft opengl info на экран, при указании parse.log пишется в файл
Утилита: glxinfo_sgi
Запуск: glxinfo_sgi.exe [ > parse.log ]
Результат: показывает sgi opengl info на экран, при указании parse.log пишется в файл
Утилита: meshconv
Запуск: meshconv имя_модели.ext
- имя_модели.ext: xray ogf, object или orion msh
Результат: конверсия в файл export.3ds (формат 3D Studio Max)
Утилита: obj2ogf
Запуск: ogf2obj имя_модели.obj [ имя_модели.object ] [ > parse.log ]
Если имя_модели.obj опущено — показывает структурированный дамп содержимого модели на экран, при указании parse.log пишется в файл, иначе конверсия в имя_модели.ogf (формат XRay OGF)
Утилита: ogf2obj
Запуск: ogf2obj имя_модели.ogf [ имя_модели.obj ] [ > parse.log ]
Если имя_модели.obj опущено — показывает структурированный дамп содержимого модели на экран, при указании parse.log пишется в файл, иначе конверсия в имя_модели.obj (формат Wavefront OBJ)
Утилита: ogf2smda
Запуск: ogf2smd имя_модели.ext
- имя_модели.ext: XRay OGF v4 (составная модель, склеивается так:
copy /b cat.ogf + cat_animation.omf
)
Результат: конверсия в каталог /smd анимаций (формат Valve SMD), reference.smd — базовая модель
Утилита: ogf2pov
Запуск: ogf2obj имя_модели.ogf [ имя_модели.pov ] [ > parse.log ]
Если имя_модели.obj опущено, то показывает структурированный дамп содержимого модели на экран, при указании parse.log пишется в файл, иначе конверсия в имя_модели.pov ( povray формат )
Утилита: ogf2x
Запуск: ogf2obj имя_модели.ogf [ имя_модели.x ] [ > parse.log ]
Если имя_модели.obj опущено, то показывает структурированный дамп содержимого модели на экран, при указании parse.log пишется в файл, иначе конверсия в имя_модели.x ( x формат )
Утилита: parse_lev
Запуск: parse_lev < режим > [ имя_уровня.ogf ] [ > parse.log ]
Результат: конверсия уровня XRay в имя_уровня.ogf (формат XRay OGF).
- режим 0/1: с оптимизацией вертексов? — нет/да (включать не рекомендуется!)
- режим 0/2: пропускать lod-, fake-объекты? — нет/да (включать не рекомендуется!)
- режим 0/4: пропускать лайтмапы? — да/нет (включать не рекомендуется!)
- режим 0/8: не конвертировать, только дамп? — нет/да
Режимы складываются. При указании parse.log ведется запись лога в файл.
Утилита: parse_msh, parse_ogf, parse_obj
Запуск: parse_msh (или parse_ogf, parse_obj) имя_модели.ext [ > parse.log ]
Результат: показывает структурированный дамп содержимого модели на экран, при указании parse.log пишется в файл
Утилита: make_ogf
Запуск: make_ogf < к-во вертексов > < к-во индексов > < имя_модели.оgf >
- Вертексы: от 3 до 2^32 (отсекается до кратного 3)
- Индексы: от 3 до 65535 (отсекается до кратного 3)
- имя_модели.оgf: имя файла-приёмника
Результат: создание "мусорной" псевдослучайной модели 2 x 2 метра для тестирования нагрузки на движок и видеокарту.
Утилита: parse_203
Запуск: parse_203 < режим > [ имя_уровня.ogf ] [ > parse.log ]
Результат: конверсия уровня 4A Engine Metro 2033 в имя_уровня.ogf (формат XRay OGF).
- Режим 0/1: с оптимизацией вертексов? — нет/да (включать не рекомендуется!)
- Режим 0/2: пропускать lod-,prop_fake-объекты? — нет/да (включать не рекомендуется!)
- Режим 0/4: пропускать лайтмапы? — да/нет (включать не рекомендуется!)
- Режим 0/8: не конвертировать, только дамп? — нет/да
Режимы складываются. При указании parse.log лог пишется в файл.
Утилита: lzhuf
Запуск: lzhuf
Результат: распаковывает уровни 22xx, 19xx из level в level.unp
Утилита: make_box
Запуск: make_box < к-во кубов в стороне > < имя_модели.оgf >
Результат: создает "коробочный ландшафт" x*x*x для окклюжен тестирования, бенчмарков
Утилита: parse_spw
Запуск: parse_spw [ имя_cпавна.spawn ] [ имя_уровня.ogf ] [ > parse.log ]
Результат: дамп/конверсия объектов спавна в имя_уровня.ogf ( xray ogf формат ).
При указании parse.log лог пишется в файл.
Утилита: make_box2
Запуск: make_box2 < к-во кубов > < имя_модели.оgf >
(к-во кубов <=7!!!)
Результат: создает "коробочный ландшафт" для dot3, light тестирования
Утилита: descale
Запуск: descale
Результат: пропорционально уменьшает dds-текстуры, лежащие в папке с descale.exe
Утилита: suntest
Запуск: suntest
Результат: рассчитывает компоненты освещения
Утилита: surfconv
Запуск: surfconf < srcfile.ext > [ destfile.ext ] [-flag1] [-flag2]
Результат: конвертирует изображение средствами DirectX, с возможным преобразованием.
- srcfile.ext: исходный файл изображения
- destfile.ext: конечный файл изображения
- flag1: режимы конвертации — если опущено, то сохраняется как есть
- -invrgb: ивертирует цветовые каналы (RGBA <-> BGRA)
- -invnrm: ивертирует порядок нормалей (RGBA <-> ABGR, Nxyzw <-> Nwzyx)
- flag2:
- -v: verbose — подробный вывод на экран.
Все консольные утилиты удобнее запускать из Far Manager, File Commander (или cmd.exe) :)
История изменений[править]
Изменения (19.02.2010):
- OGFViewer: Масштабирование не вызывает геометрических искажений
- OGFViewer: Оси XYZ yвеличены до 5 единиц
- OGFViewer: Поддержка колесика мыши
- OGFViewer: Исправлена поддержка вложенных (CHILDREN) моделей (напр. wpn_gauss.ogf)
- OGFViewer: Сохранение в *.object
- OGFViewer: Исправлена совместимость с MESA3D OpenGL
- OGFViewer: Исправлены "косяки" с ориентацией тесктур (из-за nv_dds.obj)
- OGFViewer: Снято ограничение DXT-compressed DDS - поддержка ARB_texture_compression не актуальна
- OGF2obj: новая версия
Изменения (21.02.2010):
- OGFViewer: Исправлено падение программы при отмене открытия OGF-файла
- OGFViewer: Исправлена точность вращения по левой кнопке мыши
- OGFViewer: Исправлен глюк с "мерцающими" цветами осей и путей DDS
- OGFViewer: режим просмотра wireframe (сетка) / normal по ср.кн.м. (или колесику)
Изменения (28.02.2010):
- OGFViewer: Исправлено 8-bit/4-bit OpenGL render
- OGFViewer: Исправлена точность вращения
- OGFViewer: Добавлено управление с клавиатуры
- OGFViewer: Исправлена ошибка: не создавался ogfmodel.mtl
- OGFViewer: Шрифт для DDS: Lucida Console (Normal)
- OGFViewer: Коррекная конвертация "многотекстурных" моделей
- OGF2obj: Коррекная конвертация "многотекстурных" моделей
Изменения (06.03.2010):
- OGFViewer: Оптимизация ( удаление невидимых граней, glVertex3fv(), glDrawElements() )
- OGFViewer: Показываем "вменяемую" ошибку glTexImage2D()
- OGFViewer: Ограничение вращений -360.0 ... +360.0
- OGFViewer: Имя файла и версия программы в заголовке окна
- OGFViewer: Цветные подписи ( FPS, dds[?] )
- OGFViewer: Исправлена утечка памяти при загрузке текстур
- OGFViewer: 3 режима фигуры - wireframe, colored, textured
- OGFViewer: Поддержка командной строки, фикс на относительные пути
- OGFViewer: Файл реестра для ассоциации моделей с программой
- OGFViewer: Выбор пути к текстурам по клавише F5
- OGFViewer: При отсутствии OGFViewer.cfg путь по умолчанию — textures\
- OGFViewer: "Горячие" клавиши F3 — открыть, F2 - сохранить.
Изменения (14.03.2010):
- OGFViewer: Cетка 20x20 метров (как в X-Ray SDK ActorEditor), F1 — в(ы)кл
- OGFViewer: Новое освещение для colored-режима
- OGFViewer: Чтение моделей X-Ray object (частично)
- OGFViewer: Чтение моделей XRay ogf #0x0112 (экспорт-модель из X-Ray SDK)
- OGFViewer: Поддержка до 1000 материалов в модели (veh\niva, veh\mi-26)
- OGFViewer: Исправление управляющих клавиш и движения камеры (см. выше).
- OGFViewer: Поддержка текстур TGA (Targa)
- OGF2obj: Чтение моделей XRay ogf #0x0112 (экспорт-модель из X-Ray SDK)
- OGF2obj: Поддержка до 1000! материалов в модели (veh\niva, veh\mi-26)
Изменения (21.03.2010):
- OGFViewer: Свет F9 on/off, шаг движения F7 (*10), F8 (/10), F11 - OpenGL info
- OGFViewer: Считывание bounding box-ов (окр. прямоугольника)
- OGFViewer: Стандартизация форматов 3d векторов, небольшая оптимизация скорости загрузки (для уровней в *.object)
- OGFViewer: Увеличение materialcount до 100000 (для уровней в *.object)
- OGFViewer: Поддержка текстур RGB24 = 8/8/8
- OGFViewer: Поддержка прозрачных текстур (стёкла, фары и т.п., veh\niva)
- OGFViewer: Экспорт в Autodesk ASE, 3DS (только геометрия)
- OGFViewer: Исправлена утечка при незакрытии файла
- OGFViewer: Импорт Orion engine v1 MSH (1 материал)
- OGFViewer: Исправлено — падение при экспорте object в obj,ase
- OGFViewer: ogfcons3 — тестовая console версия OGFViewer
Изменения (28.03.2010):
- OGFViewer: Экспорт в ASE теперь с текстурами
- OGFViewer: Microsoft DirectX рендерер (рендерит быстрее GL :), но модели отражаются зеркально :( )
- OGFViewer: SGI GL рендерер (+ opengl.dll, glu.dll), немного быстрее MS GL :)
- OGFViewer: F12 центрирует модель по bounding box
- OGFViewer: в OGF моделях одинаковые текстуры не загружаются повторно
Изменения (11.04.2010):
- OGFViewer: Не работаем в 1/4/8-бит цвете (DirectX)
- OGFViewer: Выбор аппаратной/программной отрисовки (DirectX)
- OGFViewer: Теперь все модели ориентированы правильно (DirectX)
- OGFViewer: F4 — режим прозрачности
- OGFViewer: Уточнены коррдинатные системы (dx:x/y/z,gl:x/-y/z)
- OGFViewer: Msh модели теперь ориентированы правильно
- OGFViewer: Загрузка и сохранение в 3DS формат
- OGFViewer: Исправлены ошибки при загрузки 'огромных' объектов (уровни в object)
- OGFViewer: Рендерер на базе allegro gaming library (DOS32/WIN32)
Изменения (23.04.2010):
- OGFViewer: Сделано альтернативное управление (в OpenGL — с туманом)
- OGFViewer: Fov = 46.0f (как в S.T.A.L.K.E.R.)
- OGFViewer: Ускорение FPS в wireframe-режиме
- OGFViewer: Исправлены фиктивные ошибки загрузки текстур (OpenGL, MS/SGI)
- OGFViewer: Исправлен СNT-счётчик
- OGFViewer: "Правильное" освещение и "радуга" в colored-режиме (OpenGL)
- OGFViewer: Расчёт нормалей для 3DS/object
- OGFViewer: Оптимизация рендеринга - без задержек (glFlush/glFinish), VBO (OpenGL)
- OGFViewer: Многопроцессорность в рендерере (DirectX)
- OGFViewer: Исправлен перебор текстур в object-моделях (DirectX)
- OGFViewer: Не вылетаем с ошибкой при выходе из проги :) (DirectX)
- OGFViewer: Текущая версия требует наличия расширения GL_ARB_vertex_buffer_object (OpenGL)
- OGFViewer: Исправлено обработка сообщений палитры в 8-bpp (OpenGL, MS)
- OGFViewer: Приложена новая библиотека Mesa3D 7.3 (стандарт OpenGL 2.1)
- OGFViewer: Шрифт сообщений — "Verdana"
Изменения (10.05.2010):
- MeshConv: Исправлен экспорт моделей
- OGFViewer: CNT-cчетчик форматируется корректно (000xxx.00)
- OGFViewer: Исправлен расчёт нормалей, при отключенном свете они не нужны
- OGFViewer: Изменения состояний и свет считаем один раз
- OGFViewer: [ * ] на цифровой клавиатуре меняет цвет фона
- OGFViewer: [ / ] на цифровой клавиатуре меняет гамма-коррекцию
- OGFViewer: Дальность обзора - 300 метров
- OGFViewer: Туман — 100...300 метров (OpenGL)
- OGFViewer: Не запускаем glGetError() без необходимости (OpenGL)
- OGFViewer: Неточность при запуске glNewList() (OpenGL)
- OGFViewer: Поддержка света (DirectX)
- OGFViewer: Исправлен выбор пути для текстур
- OGFViewer: Исправлен расчёт текстурных координат для object
- OGFViewer: Корректный выход из программы при открытии "битых" object-файлов
- OGFViewer: Теперь умеем читать object-модели с костями (spesnaz_run.object)
- OGFViewer: Ускорена загрузка текстур у object моделей
- OGFViewer: Существенно ускорена загрузка текстур у Orion engine v1 моделей
- OGFViewer: Теперь умеем читать Orion engine v1 модели без привязанных текстур
- OGFViewer: Отключаем сглаживание (blending) для terrain-текстур
- OGFViewer: Для ускорения вращения/движения сцены сбрасываем настройки качества на минимум
- OGFViewer: Исправлено форматирование в выходном файле экспорта (ASE-формат)
- OGFViewer: В обычной версии временно включена поддержка VBO + mipmap-сглаживание (OpenGL)
- OGFViewer: В ALT-версии временно включено mipmap-сглаживание (OpenGL)
Изменения (26.05.2010):
- OGFViewer: Моделей с "встроенными" анимациями (cat.ogf) считываются без лишней геометрии
- OGFViewer: Экспорт в HalfLife SMD (cтатика + текстуры)
- OGFViewer: Корректно считываем блоки 0x1008, 0x1012 (object)
- OGFViewer: Скорректированы трансформации и вращение (DirectX)
- OGFViewer: Исправлено незакрытие ogf-файлов
- OGFViewer: Унифицировано управление (OpenGL <-> DirectX)
- OGFViewer: Новая документация (каталог \REF)
- OGFViewer: Cчитаем что везде красная ось — X, зеленая ось — Y, синяя ось — Z
- OGFСons: Убраны буквы осей X, Y, Z
- parse_lev: Новая утилита, анализирующая геометрию уровней
- parse_obj, parse_ogf, parse_msh: Утилиты, анализирующая структуру моделей
- OGF2SMDa: "воскрешен" экспорт OGF,OMF анимаций в HalfLife SMD (на базе OGF2SMD SRC 2.03)
- OGF2SMDa: Читаем все модели OGFv4 (2215, ТЧ, ЧН, ЗП)
- OGF2SMDa: Читаем OMF ('copy /b man.ogf + man_animation.omf man_full.ogf', затем 'OGF2SMDa man_full.ogf')
- OGF2SMDa: Для "беспозвоночных" моделей формируются фейковые кости
- OGF2SMDa: Модели и текстуры ориентированы правильно
Изменения (25.07.2010):
- OGFViewer: убраны лишние вызовы RenderScene(), txload()
- OGFViewer: Cоздаем координаты p,n,t однократно
- OGFViewer: Общая оптимизация утилитой Мicrosoft Prefast
- OGFViewer: Работает статусная строка
- OGFViewer: Балансировка альт. версии — работает DXT, но отключен мипмэппинг
- OGFViewer: Для скорости удаление невидимых линий включено, может вызывать глюки на уровнях
- OGFViewer: Опция использовать программный рендерер (OpenGL)
- OGFViewer: Инфо панель (F11) показывыет тип акселерации (OpenGL)
- OGFViewer: Более темный цвет материала, может ухудшаться освещение в colored-режиме (DirectX)
- OGFViewer: Текстуре воды (water*) не нужен блендинг (карта limansk)
- OGFViewer: Aвтомасштабирования текстур "вниз" для поддержки старых видеокарт (3Dfx, ATI Rage, Trident, S3)
- OGFViewer: Исправлены ошибки в программном редеринге 16bpp (MS OpenGL)
- OGFViewer: Не перерисовываем экран при нажатии < KPad / > "Гамма"
- OGFViewer: FOV меняется 45-60-75-90 (шаг 15), < KPad 5 >
- OGFViewer: Глубина обзора — 0.2/500.0 метров — базовая, 1.0/500.0 метров — альтернативная
- OGFViewer: Туман 100-500 метров (OpenGL)
- OGFViewer: Альфасмешивание в альт. версии (OpenGL)
- OGFViewer: Новые директивы компиляции USE_ANISO, NO_3DS, USE_GL10
- glxinfo: новая информационная утилита для OpenGL
- glxinfo: испралены глюки glxinfo на картах nVidiа
- parse_lev: исправленная версия, в перспективе войдет в состав парсера OGFViewer
Изменения (15.08.2010):
- parse_lev: Cчитывание level-ов (билды 2xxx, 3xxx), и конвертация их в ogf
- OGFViewer: Клавиша FOV — < F5 >
- OGFViewer: Глубина обзора — 0.2/500.0 метров — базовая, 0.2/1500.0 метров — альтернативная
- OGFViewer: В некоторых текстурах просвечивает фон заднего плана :(
- OGFViewer: Разбор шейдеров, материалов
- OGFViewer: Текстуры грузятся отдельно от модели, пригодится для анимаций
- OGFViewer: Текстурирование работает в OpenGL 1.0
- OGFViewer: Несколько путей до текстур в ogfviewer.cfg
- OGFViewer: Поддержка текстур PNG, BMP
- OGFViewer: Туман (DirectX, alt)
- OGFViewer: Клавиша < F9 > в colored-режиме в(ы)ключает освещение.
- OGFViewer: Клавиша < F9 > в textured-режиме в(ы)ключает фары, светильники, и проч.
- OGFViewer: Очередная бета DOS32-версии OGFViewer :)
- OGFViewer: Исправлены глюки с alphablend (DirectX)
- OGFViewer: Клавиша < F1 > показывает список материалов и шейдеров, в командной строке - статистика
- OGFViewer: В ALT-версия рисуется небо (текстуры sky?.dds положить в textures\sky)
- OGFViewer: ALT-версия значится в заголовке как 1.0.5@ (базовая без @)
Изменения (27.08.2010):
- OGFViewer: Правильная ориентация граней в cubemap-е неба, промо-версия (GL)
- OGFViewer: Клавиши < W >< A >< S >< D > — управление с клавиатуры
- OGFViewer: Ogfview.cfg - сначала ищем в каталоге программы, затем в каталоге запуска
- OGFViewer: Cетка перемещается вместе с моделью
- OGFViewer: Новый механизм удаления невидимых объектов в альт. версии (видимы только объекты перед наблюдателем на дистанции 150m)
- OGFViewer: Альфасмешивание включено всегда
- OGFViewer: Не переключаем мипмэппинг при движении сцены
- OGFViewer: Клавиша < F4 > теперь управляет освещением/фарами
- OGFViewer: Клавиша < F9 > переключает фильтрацию текстур
- OGFViewer: Рассчитываем bounding box и bounding sphere, radius для ogf, object
- OGFViewer: Не рисуем сцену после < F7 >, < F8 >, < F11 >
- OGFViewer: Автонормализация векторов в mode #1
- OGFViewer: Количество материалов ограничено до максимум 500
- OGFViewer: Количество объектов в модели ограничено до максимум 15000
Изменения (13.11.2010):
- OGFViewer: Skybox cubemap (DirectX, alt, Promo)
- OGFViewer: Корректное отсечение невидимых объектов на 150м (alt)
- OGFViewer: Исправлена медленная загрузка программы при отсутствии текстур
- OGFViewer: Сжатие/оптимизация линий в drawmode#0 быстрее
- OGFViewer: Не используем OpenGL glCallList() в OpenGL 1.0 (GL)
- OGFViewer: Отключаем drawmode#2 если disable_texturing=1 (DirectX)
- OGFViewer: Выложен подробный FAQ / README по OGFVIEWER
- OGFViewer: Исправлено падение на выходе (Allegro)
- OGFViewer: Новая версия библиотеки DevIL (OpenIL) 1.7.8, поддержка новых форматов (GL)
- OGFViewer: Общая оптимизация переменных
- OGFViewer: Корректное перемещение свободной камеры (alt)
- OGFViewer: Клавиша "N" отключает отсечение невидимых объектов на 150м (alt)
- OGFViewer: Увеличен радиус вращения с 1 до 5 углов (alt)
- OGFViewer: Клавиша "L" управляет светом, фарами
- OGFViewer: Клавиша "I" - информация о рендерере
- OGFViewer: Клавиша "F11" - полный экран
- OGFViewer: Клавиша "F6" - "качество" картинки
- OGFViewer: Расчет радиуса для ogfv3, object
- OGFViewer: Корректное отсечение прозрачных объектов в object-уровнях (alt)
- OGFViewer: Считываем всех IFF-секций (на потом)
Изменения (26.12.2010):
[New features]
- OGFViewer: Единственный источник света в ALT-версии (drawmode #1)
- OGFViewer: Новое меню, кнопки (отдельно base/alt), MFC-иконка теперь видна
- OGFViewer: Не используется отсечение невидимых граней для прозрачных объектов
- OGFViewer: Опциональная поддержка single-buffering (GL)
- OGFViewer: Поддержка ogfv3 тип 0x00000112, формат AE/LE 1xxx
- OGFViewer: Начальная позиция камеры 0, -3(или 3), -10 — согласно GSC AE/LE (alt)
- OGFViewer: Дистанция отсечения base/alt ~150 м
- OGFViewer: Дистанция отсечения (alt+fog) alt версии 200 м
- OGFViewer: Дистанция отсечения (alt+sky) promo версии 1500 м
- OGFViewer: Поддержка 32,24 bpp ZBuffer (DirectX, alt)
- OGFViewer: ZBuffer info по клавише "I" (GL)
- OGFViewer: Клавиша "M" — дамп статистики в object.log
- OGFViewer: Переделан счетчик FPS/ms
- meshconv: Новая утилита для конвертации
- make_ogf: Новая утилита для создания тестовых бенчмарк OGF моделей из "мусора"
- ogfdos16: Поддержка OpenWatcom compiler
[Fixed bugs]
- OGFViewer: В диалоге открытия файла показываются по маске все поддерживаемые форматы
- OGFViewer: При экспорте в wavefront obj одинаковое имя для obj- и mtl- файлов
- OGFViewer: В режиме VBO работает отключение vsync (GL)
- OGFViewer: Новый порядок отрисовки drawmode #2 — сначала "обычные" меши, затем меши с alphablend
- OGFViewer: Корректная отрисовка water, wallmarks, down skybox в drawmode #2
- OGFViewer: Блокируется F12 если модель не загружена (base)
- OGFViewer: ilShutdown() на выходе (GL)
- OGFViewer: Баги GL 1.0 (single-(multi-)texture, mipmap, visible[], proxy, txload() err chk)
- OGFViewer: Не отсекались невидимые грани в drawmode #2 — GL_CULL_FACE (GL)
- OGFViewer: Карты nVidia требуют glFinish() перед выводом в GDI (GL)
- OGFViewer: Предустановка света только для drawmode #1
- parse_lev: Корректный экспорт в OGF без "мусора" (учёт swidata, swicntr)
[Optimizations]
- OGFViewer: Вызываем SetTexture(NULL) один раз (DirectX)
- OGFViewer: Не грузить текстуры повторно если у них один растр, а шейдеры разные
- OGFViewer: Исправлена ошибка в классах MFC - OnXXX (palettes, m/wheel)
- OGFViewer: Не используем Lstr... функции (Lstr... -> str...)
- OGFCons: Не линкуем MFCxx.LIB
- OGFViewer: Не используем нормали в drawmode #2 (GL)
- OGFViewer: Опция USE_ZTRICK для ATIRage, Permedia, 3Dfx (GL)
- OGFViewer: Отдельная функция для выгрузки иодели
- OGFViewer: Начата поддержка экспорта в LWO формат
Изменения (11.02.2011):
[New features]
- OGFFSCR: Новая версия для MS OpenGL, "отвязанная" от MFC
- DX7ALT/DX7BASE: Новая версия для MS DirectX7
- OGF_GLUT: Новая версия на базе GLUT.DLL (Windows, OS/2)
- OGF_TK: Новая версия на базе LIBTK.DLL (OS/2)
- OGFCons: Новая версия на базе LIBAUX.DLL (OS/2)
- OGFViewer: F12 центрирует модель (ALL)
- OGFViewer: F12 смещает камеру в центр модели (ALL,alt-версия)
- OGF2OBJ: показывает LOD-объекты
- OGFFSCR: отлажен для mesafx 6.2, techland, altogl
- OGFFSCR,OGF_GLUT,OGF_TK: "M" ("T" для OS/2) - дамп материалов в object.log
- OBJ2OGF: Новая утилита для конверсии wavefront obj в xray ogf v4
- MAKE_OGF: Новая утилита для создания псевдослучайных моделей xray ogf v4
- OS2: Портирован DevIL 1.7.8 на платформу OS/2 (devil.dll, ilu.dll), умеем только DDS!
- OGFViewer: опция DM2_LIGHT
[Fixed bugs]
- OGFViewer: контроль переполнения maxmesh/maxmat
- OGFViewer: maxmesh увеличен до 17000 (levels\aver)
- OGFViewer: пересчитываем FOV для widescreen (?)
- OGFViewer: в предыдущей версии поддержка Orion v1 MSH была сломана - починили
- OGFConsA: Имя cfg-файла в формате 8:3 (ogfview.cfg), алгоритм так же как и в Win32-версии
- OGFViewer, Parse_Obj: считываем все известные разновидности object-формата
- OGFViewer: нет внутреннего бордюра (WS_EX_CLIENTEDGE) в GUI-версии
- OGFViewer: свет на 0.25m выше камеры (ALL,alt-версия)
- DX7: Поддержка VertexBuffers, правильный aspect ratio
- Parse_Lev: Точные вычисление нормалей (в уровнях они сжаты с потерями :()
- OGFViewer: во всех версиях - 8 типов фона
- OGFConsA: задержка после "TAB", "F1"
[Optimizations]
- OGFViewer: Только один fseek() в ogf_readchunk()
- OGFViewer: Пропускаем ненужные секции (ogf/object)
- OGFViewer: Генерируем массивы индексов отдельно, после считывания модели (DirectX)
- OGFViewer: GL1.0: при смене miplevel - вызываемl glTex...() 1 раз (OpenGL)
- OGFViewer: отключаем IsList(), убираем кисть - RegisterClass(...,HBRUSH = null,...)
- OGFViewer: новый механизм разбора шейдеров m_Flags, различаем 'terrain', 'model', 'models/model'
[Notes]
- ALTOGL: работает только с опцией LIMIT_DDS или без текстурирования, полный экран (ogffscr)
- TechLand Software(3dfx,s3,d3d): работает только в drawmode #1/#2, полный экран (ogffscr)
Изменения (11.06.2011):
[New features]
- Поддержка экспорта в stl/ascii (на тестировании...)
- Новая модель освещения в drawmode#1
- DX7: поддержка drawmode#0, drawmode#1 (без освещения)
- Экспериментальные версии: ogf_dx9 (DX9SDK), ogf_irr (irrlicht engine)
- Поддержка считывания моделей YouAreEmpty(DS2 engine) и Metro2033 (статика)
- Теперь можем читать уровни build1935 экспортированные xray_re converter.exe
[Fixed bugs]
- Корректное создание нормалей для *.3ds, *.object
- Правильный расчет bounding box для object, ogfv3
- DX: Проверка всех функций на D3D_OK, напр. Create...Buffer()
- DX: Показывает оставшуюся текстурную память ("I" клавиша)
- PARSE_LEV: Можем конвертировать уровни build1935 и нек-рых build22xx
[Optimizations]
- OS2: улучшена поддержка, ogf_snap умеет VBO, DevIL.DLL читает не только DDS формат
- OS2: Версия написанная на OpenWatcom умеет 3DS модели (требует LIB3DS.DLL)
- ALL: ускорение обработки 'terrain', 'water' мешей
- OGFLoader: Ускорение загрузки мешей (DX, object)
- OGFLoader: Совмещены секции 0x1011, 0x1012 (object)
- OGFModel: Rendering optimization (OpenGL, non-VBO)
- ALL: Режим drawmode#2 с освещением переписан (на тестировании...)
- ALL: Для корректной работы мипмэппинга коэфф. ALPHAREF = 50% для LOD-ов (деревьев и пр.)
- ALL: Максимум мешей поднят до 30000 (для object)
- ALL: Опция COMPACT_OBJECT, теперь вертексы в object-ах сжимаются
[Notes]
- Отключение Aero (desktop composition) решает проблемы с пропадением текста в окне программы
Изменения (17.07.2011):
[New features]
- ALL: режим листания (клавиши "Z","X","C","V")
- ALL: новая схема освещения ( drawmode #1, #2 )
- ALL: поддержка моделей Orion engine v1 с заголовком 0x00000102
- NEW: новый парсер parse_2033 для уровней Metro2033
- DX: расширено окно информации (клавиша "I")
- DX7: поддержка фильтрации текстур, референс рендер
[Fixed bugs]
- PARSE_LEV: учитываем поправочные коэффициенты для U, V в текстурах
- ALL: FOV считается по Y, начало с 67.5 (FovX = 90) до 100 с шагом 5 потом сброс на 47.5
- ALL: убраны несуществущие комбинации фильтраций текстур и мипмапов
- ALL: скайбокс теперь 3000x1500x3000 метров, дистанция ~= 2500 метров
- OGF_DX?: не освещаем небо, сетка и base/alt режимы
- OGFViewer: выбор model/ds2md в диалоге, выкинут D3DRS_COLORVERTEX (OGFViewer_DX)
- DX7: включен клиппинг, исправления в работе с VB, корректный minimize окна
- DX7: быстрый однотекстурный режим (активен когда нет OGFViewer.cfg)
- ALLE: z-дистанция = -10 ( было -20 )
- OGFLoader: 0x1008 блок - теперь допуcтимо max=10 vmrefs (было max=4)
- OGFViewer_DX: Улучшена совместимость с DX8.0A+Win95, выкинут PURE device
- OGFViewer_DX: нет мусора на окне в dm#1 после "G", "I", "F5"
[Optimizations]
- ALL: "умное" ремасштабирование, не вызваем D3DXCreateTextureFromFileEx() повторно (для версий без мипмапов)
- DX: скайбокс создается однократно
[Notes]
- Это миниверсия пакета, так что некоторые дополнительные экзешники выкинуты :)
Изменения (22.08.2011):
[New features]
- OGF_DX7: Новая версия для DX7 на 7-м DXUT-е
- OGF_DX?T: "Однобуферная" версия ogf_dx? (на современных видеокартах рендерит быстрее)
- MAKE_BOX: лепит модель из x*x*x кубов для бенчмарка, x задаётся
[Fixed bugs]
- OGF_DX?: DXUT код — улучшена совместимость с DX80A/Win95
- OS2: исправлены мелкие неточности, вызывавшие ошибки при компиляции
- DX7: убрано SPECULAR освещение
- OGFFSCR: 16 BPP буфер глубины вместо базовой версии - включался на альтернативной, исправлено
- OGFFSCR, OGFViewer: полностью переписан детект акселерации для OpenGL (ICD/MCD/Software)
- OGFLoader: Исправлен результат LimScale() (DX)
- DX7, ALLE: Здесь Right-hand система координат (документация DirectX7 врёт?)
- OGF_DX?: Исправлено движение камеры в базовой версии
- OGF_DX?: Листание моделей вызывает (Z,X,C,V) серъезную утечку памяти, исправлено
- PARSE_203: В картах 4A Engine cуществует материал #0, авторасчет bounding box
- DX7, OGFViewer_DX: Уточнена фильтрация текстур, SetTextureStage() (DX)
- OGFViewer: Уточнена фильтрация текстур, GL_TEXTURE_ENV_MODE (GL)
- DX7: F6 переключает VB-noVB
- DX7, OGFLoader: Проверка на лимит размеров текстур
[Optimizations]
- OGFLoader: исправление неточности в загрузке моделей ds2md, metro2033 (найдено prefast)
- DX: код установки тумана переписан
- OGF_DX?: убран SetPixelshader() из DXUT
- OGF_DX?: Листание моделей убрано из альтернативной версии, опция COMPACT_NVTS
- OGF_DX?: При смене видеорежима не слетает настройка фильтрации текстур
- OGF_DX?, OGFViewer_DX: возвращена поддержка pure_device (DX)
- ALL: Убрана "автонормализация" (DX, GL)
- DX: Применено обновление библиотек DirectX8
- OGF_DX?: Для USE_SUBST вызываем SetTexture() один раз
- OGF_DX?: Новая модель освещения по погоде S.T.A.L.K.E.R. ТЧ (ambient по 0.7, sun по 1.0)
[Notes]
- Отключение Aero (desktop composition) решает проблемы с пропадением текста в окне программы
- Некоторые карты декларируют поддержку DXT-текстур, но не умеет её (Rage128,Voodoo3)
Это полная версия пакета!
Изменения (31.01.2012):
[New features]
- CONSOLE: новые утилиты - suntest make_box2 descale ltest
- ALL: Скайбокс "аутентичный" игровому (10 плоскостей)
- OGF_DX?: обновление версии на движке DirectX SDK, умеет dot3 bumpmapping, шейдеры, свет от фонарика, "погодное" освежение.
- ALL: базовая дистанция сокращена до 400,200,400 + 350 м., как в конфигах игры (опция HI_DIST иx возвращает 3000,1500,3000 + 2600)
- ALL: новая схема освещения в drawmode#2, как в OGF_DX?, время меняет угол света к горизонту
- OGFVIEWER: поддержка тем Windows XP/Vista/7
- ALL: Умеем Widescreen - 16:9 и пр. (клавиши "5","6") и меню
- OGFVIEWER: угол света к горизонту и время менем клавишами 7,8,9,0,< + >,< - > (drawmode#2)
- ALL: Опция для SGI glut.dll (GL)
[Fixed bugs]
- ALL: На источники света не должно действовать фоновое освещение, check_model_end(lightflag,...)
- OGFLOADER,OGF_DX?: тип model\selflightl = "обычный" объект
- OGFLOADER: при загрузке 3DS моделей проверяем лимиты по материалам и мешам
- OGFMODELl: убран лишний glEnd() в drawmode#2 (GL10)
- OGFLOADER: для OGF_DX? выворачивались нормали -> исправлено ( !DX_REND стало USE_YXLAT )
- OS2: полноэкранный режим (PM_PM) кроме ogfcons, убран printf(),WinMessageBox()
- OGF_GLUT: WarpMesaGL инвертирует ось Y
[Optimizations]
- OGFCONSA: отключен zbuffer в drawmode#0, версия с fixed-math (ogfconsaF), оптимизация (ALLEGRO)
- OGFLOADER: переписана загрузка DDS текстур, поддержка FXT1 - для Intel-ов (GL)
- PARSE_LEV: возможна загрузка нормалей из уровней (обратный порядок - zyx), а не их расчет, опция USE_NZYX
- MAKE_BOX: make_box для бенчмарка кубами, make_box2 для occlusion теста, dot3 bump
- OGF2OBJ, OGFLOADER, STDAFX: переписна загрузка OGFv3 чанков для анимаций 0x0D, 0x10, 0x17, 0x19, 0x1C
- OGFLOADER: восстановление bind pose из костей для OGFv3 моделей (на тестировании)
- OGF_DX?: убраны FVF коды из структуры D3DVERTEX
[Notes]
- Отключение Aero (desktop composition) решает проблемы с пропадением текста в окне программы.
Это мини версия пакета!
Изменения (01.04.2012):
[New features]
- OGFLOADER: Экспорт в Collada XML (*.DAE).
- OGFLOADER: Экспорт в AutoDesk DXF, меши по слоям.
- OGFLOADER: "Чтение" DDS-файлов, наложение на плоскость 2x2 метра.
- OGFLOADER: Экспорт в StereoLitho (*.STL), MilkShape3D (*.MS3D), X-Ray SDK (*.OGF).
- OGFDOS16: Свой ANM-формат для хранения анимаций - на 1 меш.
- SURFCONV: Конвертер текстур на базе DX8/DX9 SDK- в разработке.
- SURFCONV: D3DX_DEFAULT_NONPOW2 - произвольные размеры текстур в DX9, "ручное" сохранение в TGA.
[Fixed bugs]
- OGF_DX9(SM20): Формат тангента float[4], исправлена потеря контекста шейдером, радиус света = 20 (был 10).
- OGF_DX9(SM20): Считываем бампы orion m1
- OGFLOADER: Читаем "многоблочные" *.DS2MD (You Are Empty).
- OGFLOADER: В *.SMD, *.ASE материалы назначались некорректно - исправлено.
- OGFLOADER: В *.SMD исправлен "офигический" 100x масштаб.
- OGFLOADER: Экспорт obj приведен в соответствие с методикой X-Ray ActorEditor (всё в 1 файл).
- OGFLOADER/OGFMODEL: BoundingBox отрисовывался отражённым по оси Y (OpenGL).
[Optimizations]
- OGFDOS16: Нормали, код переписан, 2D-"анимации" (OGFPLY16), FastGraph engine.
- OGFVIEWER: Поддержка DX9 SDK, SW рендерер, задел на будущее?
- ALLE: Модели загружаются быстрее, свет сверху вниз, статистику (totvert/totind) берём из модели.
- ALL: Затенение по Фонгу должно быть недоступно в DirectX 7/8/9 (DirectX).
- MESHCONV: Лог расширен.
[Notes]
- Отключение Aero (desktop composition) решает проблемы с пропадением текста в окне программы.
Это мини-версия пакета!
Изменения (31.07.2012):
[New features]
- OGFVIEWER: Подсказки к кнопкам (floating tooltips).
- OGFVIEWER: Поддержка тем XP/2003/Vista/7/...
- OGFVIEWER: Новая сокращенная панель кнопок, свойства модели в виде "дерева" (TreeView/ListView).
- PARSE_SPW: новый инструмент для разбора GSC spawn
- ALL: 22 варианта цветов для неба skycolors.png - DaySkyColorReference (frostbo.devianart.com)
- OGFVIEWER: Версия для 64-бит процессоров (WIP).
- ALL(GL): Все версии теперь умеют два вида направленного освещения — от наблюдателя и "солнечное".
[Fixed bugs]
- OGF_DX9: исправлена утечка памяти (лишний new OGFModel[])
- OGFLOADER: "Потерянная" поддержка multi-mesh ds2md вернулась. :)
- OGF_DX9(SM_20): Многочисленные исправления — коэффициенты specular (0.5 -> 0.75), "дырки" в скайбоксе.
- OGF_DX9(SM_20): SetTechnique вызываем один раз.
- OGF_DX9(SM_20): Исправления в changeskybox().
- OGF_DX7: Многочисленные исправления
- ALL (BASE): LOCALVIEWER render-state, рефлексы теперь выглядят "грамотнее".
- OGF_GLUT, OGF_TK: OnMouseMove() — убраны дублированные x,y переменные.
- OGFLOADER: Исправлена ориентация faces в коде экспорта ms3d.
[Optimizations]
- ALL: шаг движения cокращен F7 (*4), F8 (/4)
- metro2033 support: check for dup-ed materials
- OGFVIEWER: Относительный путь в ogfviewer.cfg (типа \gamedata\textures\) временно не работает - используйте полный путь D:\games\stk\gamedata\textures\ .
- OGFVIEWER: Последний каталог для открытия и сохранения моделей запоминается отдельно.
- OGFVIEWER: 3DLook для Windows NT 3.51. :)
- OGFLOADER: Убрано ограничение на количество мешей, материалов в исходном файле.
- OGFLOADER: В моделях metro2033 проверяем дублированные материалы.
- NEW_REND, OGFSCENE: Попытка переписать движок OGFVIEWER (WIP).
- PARSE_YAE: Теперь разбираем модели (ds2md) и геометрию (ds2, WIP).
Изменения (31.10.2012):
[New features]
- PARSE_YAE: Теперь разбираем двоичные модели (ds2md) версий 0.6, 0.9, 1.0
- ALL: Поддержка двоичных ds2md (YaE) моделей версии 0.9 (beriya.ds2md, ship.ds2md)
- ALL: Поддержка двоичных ds2md (YaE) моделей версии 0.6 (krovat.ds2md medscen1.ds2md medscen2.ds2md toilet.ds2md trash_box.ds2md)
- ALL: Autodesk 3dsmax plugin (x86, версии 5.1,6,7,8,9,2008,2009,2010,2011,2012) на движке MeshTool
- ALL(DX, GL): В альтернативных версиях отсечение увеличено до 3 км = 3000 м (было 400 м), для этого есть клавиша "N".
[Fixed bugs]
- OGFLOADER: Исправление для ds2md (YaE) моделей, с неполными путями до текстур.
- ALL(GL): Не вызываем glBegin(GL_LINES) для сетки дважды.
- ALL: Правильное масштабирование ds2md моделей (в 100 раз) и считывание bounding box (ds2md 1.0)
[Optimizations]
- OGFMODEL: Классы движка конфликтовали с 3ds Max — исправлено (Mesh -> mtMesh ...).
- ALL: Повсеместно убраны _try {} except (1)
- OGF_DX9(B, SM): Клавиша "4" даёт результат ValidateDevice().
- OGF_DX9(B, SM): Клавиши "7","8" в(ы)кл учёт D3DRS_SPECULARENABLE в FFP.
[Notes]
- ALL: Установка 3ds Max-плагина: xrMtMax*.dlt и OGFViewer.cfg переписать в папку 3dsmax\plugins.
- ALL: Убраны все 64-битные версии "до выяснения" проблем с ними.
- ALL: "VIA Tech VT8361/VT8601 Graphics Controller (aka KPLE133)" не умеет рисовать линии в "hardware".
- OGF_DX9(SM_20): Карты Intel не умеют порядок координат p,u/v,n,t для FFP.
- OGFLOADER: Размер ms3d модели при экспорте ограничен 65535 индексами, вертексами ("железное" ограничение формата!).
- Отключение Aero (desktop composition) решает проблемы с пропадением текста в окне программы.
Это мини-версия пакета!
Изменения (29.12.2012):
[New features]
- ALL: Возвращены 64-битные версии. :)
- PARSE_BKP: Новая утилита для восстановления xray-level source backups
- MBENCH: new bench tool with tri, ply, nmb? model support, also ltest tool refresh
- ALL,DX,GL: полностью реализована aнизотропная фильтрация
- ALL,DX: Макс. aнизотропная фильтрация включена по умолчанию
- ALL,DX,ALT: добавлен второй sun-like режим освещения, как для GL
- PARSE_LEV: Опция 4 корректно конвертирует лайтмапы отдельно от базовой геометрии
[Fixed bugs]
- PARSE_LEV: Исправление при удалении несуществующего массива ( delete [] swiblk )
- OGFLOADER: Обрезаем vtx block до 65535 для БОЛЬШИХ объектов
- OS2: Исправлен плавающий таймер - теперь используем DosTmrQueryFreq/Time, "отвязались" от tcpip.lib
- OS2: IBM CPP требует откл. оптимзаций (-O+) или замены на (-Oc+) чтобы отсечение по bbox работало правильно
- OGFLOADERZ: Импорт моделей не завит от "pragma pack #1" ( /Zp1 ), сделано для MAX плагина
- OGFLOADER: Исправлено считывание секции 0x0E S_BONE_NAMES
[Optimizations]
- ALL: v_far_dist, HI_DIST теперь везде (не только в ogf_dx?)
- OGFLOADER: Считываем object блок 0x1005 целиком, вне зависимости от USE_XLAT
- MESHCONV: Определяем USE_DX9 для отключения бессмысленной опции USE_XLAT
- OGFLOADER: Заменяем memcpy() где возможно на присваивание, напр. *(int*)
- OGFLOADER: Рассчитывем нормали, bbox для object, m2033 один раз в конце, bs_radius для *.ds2md
- PARSE_LEV: Теперь удаляем дублированыые вертексы при конвертации (10% экономии для "финалок", 30-40% для "билдов")
- OS2: Безопасно использовать -onatx (т.е. OPT=1) в Watcom-е
- IL_WRAP: Пишем лог только при USE_LOG, умеем MIPMAP
- ALL,GL,OGFLOADER: aнизотропная фильтрация - это float константа
- ALL: Оптимизация 'F9' MIPMAP кода
- ALL,GL: Расширение glCompressedTeximage2D добавлено везде кроме "pure" OS/2
[Notes]
- ALL,GLUT,MS: Миним. полноэкранное разрешение для Microsoft glut32 - 400x300 но оно патчится.
Это полная версия пакета!
Изменения (30.06.2013):
[New features]
- MESHCONV: поддержка масштабирования в процессе конвертации
- OGFLOADER: Теперь умеем все виды моделей 4A Engine (Metro 2033, Metro Last Light) - *.model, *.mesh
[Fixed bugs]
- CHILDVIEW: При декларации DISABLE_TEXTURING программа не собиралась.
[Optimizations]
- OGFLOADER: Внутренний код формата 4A Engine изменен с 0x2033 на 0x4AE0
- ALL,GL: Показываем версию GLSL
- PARSE_203: Теперь удаляем дублированыые вертексы при конвертации (см. PARSE_LEV выше)
[Notes]
- ALL,GLUT,MS: Миним. полноэкранное разрешение для Microsoft glut32 - 400x300 но оно патчится.
Это полная версия пакета!
Изменения (29.12.2013):
[New features]
- OGF2POV: Утилита конвертирует модели в формат *.POV - POV-Ray 3.6-3.7rc7.
- OGFLOADER: Также сохраняем в *.POV, но с оптимизацией.
- OGFLOADER: Удален нерабочий экспорт в *.LWO.
- OGFf2X: Утилита конвертирует модели в формат *.X (ASCII) - DirectX SDK.
- OGF(_GLUT, _TK, FSCR): Клавиша 'R' вращает модель вокруг оси Y, вперед - назад, 'F7'/'F8' - скорость +/-.
[Fixed bugs]
- OGF_DX9/8: gdifont.cpp/h - выводим шрифты через GDI (меньше глюков и тормозов).
- CHILDVIEW: В режиме wireframe на черном фоне цвет модели желтый.
- OGFMODEL: В режиме wireframe клавиша 'L' меняет цвет модели (GL).
[Optimizations]
- ALL: Теперь меняем цвет фона клавишей 'B' (ранее было 'F','*').
- ALL: Лог файл сохраняем клавишей 'T' (ранее было 'M').
- OGF_DX9(SM_20): Поддержка бампа с параллаксом в моделях (масштаб приведен в соответствие к XRay).
- OGF_DX9/8: Поддержка "пролистывания" текстур неба sky_?_dx9_cube.dds.
- OGF_DX9/8: По умолчанию нет окна информации (клавиша 'I').
- OGF_DX8/9/BB/F/S: Общая оптимизация - выкинуто всё лишнее (createTangentSpaceVectors, ...) из SetAC().
- OGF_DX9(SM_20): Убраны лишние массивы N,T,B - экономия памяти.
- PARSE_SPW: Дорабатываем...
[Notes]
- ALL,GLUT,MS: Миним. полноэкранное разрешение для Microsoft glut32 - 400x300, но оно патчится.
Это полная версия пакета!
Планы[править]
- Чтение анимаций (ogf,omf), секций S_BONE_NAMES, S_IKDATA, S_MOTIONS
- Чтение анимаций (object,skl,bones)
- Чтение particles
- Чтение level из билдов 1xxx (XRLC формат 0x0C и ранее)
- Импорт/экспорт *.lwo (LightWave3D)
- Экспорт плагин для 3DSMax
- Импорт/экспорт плагин для Maya
- Экспорт в *.object (XRay SDK), *.ma (Maya ASCII)
- Чтение level DS2 Engine 'You are empty', Orion engine v1 'Метро-2'
- Чтение моделей уровней Cryostasis, Singularity, Unreal Engine 3 (Dishonored, etc.)
- Реализация FSAA, lightmap generation, guardband clipping, deferred render.
- Поддержка UNICODE.
- Полностью программный рендерер.
- Рендерер на базе irrlicht, ogre.
- INI-фaйл для OGFViewer (meshtool.ini?)
- Нативные версии для Windows (alpha, mips, ppc, WinCE, arm)
- Мультитекстурирование, расчет лайтмапов, улучш. освещение (шейдеры, FFP)
Использованные материалы и благодарности[править]
- batya: исходники OGFViewer 1.0.2 (26 Nov 2006)
- batya: исходники LevelEditor 0.0.2 (07 Apr 2007)
- bardak: исходники X-RAY RE-Tools-SRC (10 Sep 2008)
- kasper, haron: исходники OGF2SMD SRC 2.03
- iOrange: исходники конвертеров для Metro 2033 (Apr 2010)
- Stalkerin wiki: http://stalkerin.gameru.net/wiki/index.php/Категория:Форматы_файлов
- Wavefront obj format: http://en.wikipedia.org/wiki/Obj
- Wavefront mtl format: http://en.wikipedia.org/wiki/Material_Template_Library
- DevIL, OpenIL: http://openil.sourceforge.net/, DDS,TGA reading support
- lib3ds: http://lib3ds.sourceforge.net, 3DS import, export
- Mesa3D: http://www.mesa3d.org/, software OpenGL
- SGI OpenGL 1.1.1/MMX (ver 2.0): opengl2.exe
- TransGaming SwiftShader (ver 2.01): http://www.transgaming.com/business/swiftshader/technology/
- Realtech OpenGL Extensions Viewer: http://www.realtech-vr.com/glview/
- Realtech VR DXGL Wrapper: http://www.realtech-vr.com/directx/
- ATI Radeon 9700 OpenGL SDK: http://developer.amd.com/downloads/Gl_sdk.zip
- GL_ARB_vertex_buffer_object: http://www.nvidia.com/dev_content/nvopenglspecs/GL_ARB_vertex_buffer_object.txt
- GL_EXT_compiled_vertex_array: http://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt
- GL_ARB_texture_compression: http://www.opengl.org/registry/specs/ARB/texture_compression.txt
- GL_SGIS_generate_mipmap: http://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt
- GL_EXT_cull_vertex: http://www.opengl.org/registry/specs/EXT/cull_vertex.txt
- Graphic Remedy gDEBugger version 4.5: http://www.gremedy.com/
- GMax 1.2, free game modeling tool (3DSMax compatible): http://www.turbosquid.com/gmax/
- Blender 3D cross platform suite: http://www.blender.org/
- NVIDIA DDS plug-in: http://www.nvidia.com/object/photoshop_dds_plugins.html
- NvTriStrip Library: http://developer.nvidia.com/object/nvtristrip_library.html
- Allegro - A game programming library: http://alleg.sourceforge.net/
- UniLink: ftp://ftp.styx.cabel.net/pub/UniLink (by Юрий Харон)
- level format: http://haperpage.narod.ru/format/
- level format: http://www.gamedev.ru/community/gde/articles/
- camera: http://pmg.org.ru/nehe/nehe_camera.htm
- culling: http://www.flipcode.com/archives/Frustum_Culling.shtml
- lwo format: http://www.sandbox.de/osg/lightwave.htm
- soft. raster.: http://pmg.org.ru/basic3d/index.html
- VBO whitepaper: http://www.spec.org/gwpg/gpc.static/vbo_whitepaper.html
- "Batch": http://developer.nvidia.com/docs/io/8230/batchbatchbatch.pdf
- SGI OpenGL: http://www.gameprog.it/pub/oldtuts/GuideOGLwin/releasenotes.html#hwconfig
- Techland MiniGL driver: http://www.techlandsoft.com/english/minigl.htm
- GLIntercept v0.5: http://glintercept.nutty.org/
- OpenGL on OS/2: http://www.edm2.com/common/authors/pnewhook.html
- demo.design 3D programming FAQ: http://www.enlight.ru/faq3d/content.htm
- good directx faq: http://www.toymaker.info/Games/html/directx_9_0c.html
- Lection #32. R.E.N.D.E.R.: http://www.gamedev.ru/community/gamedev_lecture/articles/r_e_n_de_r
- GSC Game World. S.T.A.L.K.E.R. Oblivion Lost. http://www.gamedev.ru/industry/articles/?id=4308
- OGRE engine S.T.A.L.K.E.R. level loader http://www.gamedev.ru/users/?id=2251&lasttop
- http://www.gamedev.ru/code/articles/ShadowMapGLSL
- http://www.gamedev.ru/code/articles/Software_occlusion
- http://www.gamedev.ru/code/articles/OpenGL_Shaders
- http://www.gamedev.ru/code/articles/Cg
- OGRE engine: http://www.ogre3d.org/
- Irrlicht engine: http://irrlicht.sourceforge.net/
- yae-tools: http://code.google.com/p/yae-tools/
- xray-extensions: http://code.google.com/p/xray-extensions/
- metro2033-tools: http://code.google.com/p/metro2033-tools/
- directx collection: http://www.falconfly.de/directx.htm
- Direct3D (DirectX 9.0) Code Samples http://www.codesampler.com/dx9src.htm
- Direct3D (DirectX 8.1) Code Samples http://www.codesampler.com/dx8src.htm
- OpenGL (1.2 - 2.0) Code Samples http://www.codesampler.com/oglsrc.htm
- Guard Band Clipping in Direct3D: http://developer.download.nvidia.com/assets/gamedev/docs/Guard_Band_Clipping.pdf
- MyTips_DeadlyLight.doc http://software.intel.com/file/9889/
- Deferred Shading Tutorial Deferred_Shading_Tutorial_SBGAMES2005.pdf
- GeForce_Optimization2.pdf
- ARB_occl_query.pdf
- 10.1.1.93.8402.pdf
- bittner-eg04-chcull.pdf
- GPU_Programming_Guide.pdf
- bavoil_trimeshes_2005.pdf
- KRI 2006-OpenGL optimizations.pdf
- ARB_texture_compression.pdf
- Dot_Product_Texture_Blending.pdf
- gdc2002_d3d_performance.pdf
- gf2_overview.pdf
- Introduction_DX8_Pixel_Shaders.pdf
- Nsr.pdf
- premier-press-beginning-direct3d-game-programming.pdf
- DUMPCAPS: http://d3dcaps.chris.dragan.name/
- http://code.google.com/p/cut-x-ray-project/
- https://bitbucket.org/stalker/xray_re-tools/
- https://bitbucket.org/stalker/weather_cycle_adjuster/
- http://xray-engine.org/
- ODE: www.ode.org/
- bugtrap.dll: http://www.codeproject.com/Articles/14618/Catch-All-Bugs-with-BugTrap
- practical_per_pixel_effects.pdf
- D3DTutorial1_Shaders.pdf
- Game Coding Complete, Fourth Edition.pdf
- Wordware Publishing, Inc - DirectX 9 Graphics. The Definitive Guide to Direct3D.pdf
- Chapter_06_Textbook.pdf