MESHTOOL/OGFVIEWER README, FAQ [201107xx]


  1. Что это?

  2. Что умеем?

  3. Комплектация пакета

  4. Отличия, особенности версий ogfviewer

  5. Управление клавиатурой, мышью

  6. Предварительные действия

  7. Какие форматы текстур умеем

  8. Как (где) ищется конфигурация ogfviewer.cfg

  9. Как ищутся текстуры

  10. Как ассоциировать файлы с ogfviewer?

  11. Как убрать ассоциацию c ogfviewer?

  12. Как смотреть уровни

  13. Как конвертировать ogf и omf-анимации в smd

  14. Методичка по консольным утилитам

  15. Директивы компиляции

  16. История изменений

  17. Планы

  18. Использованные материалы и благодарности


  1. Что это?

    MESHTOOL/OGFVIEWER - кроссплатформенный комплект утилит для просмотра, конвертации разнообразных 3d-моделей и уровней.

    Использовались 3D API интерфейсы: Microsoft Directx, Microsoft OpenGL, SGI OpenGL, IBM OpenGL, Mesa3D OpenGL, allegro, Irrlicht.

    Cистемные требования:

    Возможна работа без аппаратной 3D-акселерации. ( MESHTOOL cовместим с TransGaming SwiftShader, Realtech VR DXGL Wrapper, AltOpenGL, TechLand Soft OpenGL, mesaFX OpenGL. )


  2. Что умеем?

    Смотрим:

    Форматы экспорта:

    Конвертируем:

    Обратите внимание, что в OGFViewer-е подразумевается что все координаты моделей заданы в метрах. Для моделей Orion engine v1 используется масштабирование, т.к. они сделаны в сантиметрах.


  3. Комплектация пакета

    Microsoft Windows:
    
    MESHTOOL\WIN\GUI\OGFViewer.exe - Win32 MS OpenGL версия.
    MESHTOOL\WIN\GUI\OGFViewer_sgi.exe - Win32 SGI/MMX OpenGL версия.
    MESHTOOL\WIN\GUI\OGFViewer_DX.exe - Win32 MS DirectX версия.
    MESHTOOL\WIN\GUI\ALT\OGFViewer.exe - Win32 MS OpenGL версия (альтернативное управление, для level-ов).
    MESHTOOL\WIN\GUI\ALT\OGFViewer_sgi.exe - Win32 SGI/MMX OpenGL версия (альтернативное управление, для level-ов).
    MESHTOOL\WIN\GUI\ALT\OGFViewer_DX.exe - Win32 MS DirectX версия (альтернативное управление, для level-ов).
    MESHTOOL\WIN\GUI\PROMO\OGFViewer.exe - Win32 MS OpenGL версия (альтернативное управление, для level-ов, c скайбоксами и VBO).
    MESHTOOL\WIN\GUI\PROMO\OGFViewer_DX.exe - Win32 MS DirectX версия (альтернативное управление, для level-ов, c скайбоксами).
    
    MESHTOOL\WIN\OTH\ogffscr.exe - Win32 MS OpenGL Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    MESHTOOL\WIN\OTH\CVA_ogffscr.exe - Win32 MS OpenGL Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами и CVA).
    MESHTOOL\WIN\OTH\VBO_ogffscr.exe - Win32 MS OpenGL Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами и VBO).
    MESHTOOL\WIN\OTH\dx7base.exe - Win32 MS DirectX7 Console версия.
    MESHTOOL\WIN\OTH\dx7alt.exe - Win32 MS DirectX7 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\WIN\OTH\ogfconsa.exe - Win32 Allegro Console версия.
    MESHTOOL\WIN\OTH\ogf_dx?.exe - Win32 MS DirectX? Console BETA-версия.
    MESHTOOL\WIN\OTH\ogf_dx?a.exe - Win32 MS DirectX? Console BETA-версия (альтернативное управление, для level-ов).
    
    MESHTOOL\WIN\OTH\ogf_irr.exe - Win32 Irrlicht engine Console BETA-версия (альтернативное управление, для level-ов).
    
    MESHTOOL\WIN\CONSOLE\dx7capsG.exe - табло памяти DirectX
    MESHTOOL\WIN\CONSOLE\glxinfo.exe - системная информация, Console MS OpenGL версия.
    MESHTOOL\WIN\CONSOLE\glxinfo_sgi.exe - системная информация, Console SGI/MMX OpenGL версия.
    MESHTOOL\WIN\CONSOLE\Make_Ogf.exe - создает псевдослучайную OGF-модель.
    MESHTOOL\WIN\CONSOLE\MeshConv.exe - конвертер моделей в 3DS формат, Console версия.
    MESHTOOL\WIN\CONSOLE\OBJ2OGF.exe - конвертер WAVEFRONT OBJ-моделей в Xray OGF формат, Console версия.
    MESHTOOL\WIN\CONSOLE\OGF2OBJ.exe - конвертер Xray OGF-моделей в WAVEFRONT OBJ формат, Console версия.
    MESHTOOL\WIN\CONSOLE\OGF2SMDa.exe - конвертер Xray OGF-моделей/анимаций в SMD формат, Console версия.
    MESHTOOL\WIN\CONSOLE\Parse_203.exe - парсер Xray ogf-моделей, Console версия.
    MESHTOOL\WIN\CONSOLE\Parse_Lev.exe - конвертер уровней в OGF формат, Console версия.
    MESHTOOL\WIN\CONSOLE\Parse_Msh.exe - парсер orion v1 msh-моделей, Console версия.
    MESHTOOL\WIN\CONSOLE\Parse_Obj.exe - парсер Xray object-моделей, Console версия.
    MESHTOOL\WIN\CONSOLE\Parse_Ogf.exe - парсер Xray ogf-моделей, Console версия.
    
    IBM OS/2, IBM/MS DOS:
    
    MESHTOOL\OS2\GL10\ogf_tk.exe - OS/2 LIBTK+OpenGL 1.0 Console версия.
    MESHTOOL\OS2\GL10\ogf_tka.exe - OS/2 LIBTK+OpenGL 1.0 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\GL10\ogf_glut.exe - OS/2 GLUT+OpenGL 1.0 Console версия.
    MESHTOOL\OS2\GL10\ogf_gluta.exe - OS/2 GLUT+OpenGL 1.0 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\GL10\ogf_os2.exe - OS/2 PGL+OpenGL 1.0 Console версия.
    MESHTOOL\OS2\GL10\ogf_os2a.exe - OS/2 PGL+OpenGL 1.0 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\GL10\ogfcons.exe - OS/2 LIBAUX+OpenGL 1.0 Console версия.
    MESHTOOL\OS2\GL10\ogfconsa.exe - OS/2 LIBAUX+OpenGL 1.0 Console версия (альтернативное управление, для level-ов).
    
    MESHTOOL\OS2\GL11\ogf_tk.exe - OS/2 LIBTK+OpenGL 1.1 Console версия.
    MESHTOOL\OS2\GL11\ogf_tka.exe - OS/2 LIBTK+OpenGL 1.1 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\GL11\ogf_tkas.exe - OS/2 LIBTK+OpenGL 1.1 Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    MESHTOOL\OS2\GL11\ogf_glut.exe - OS/2 GLUT+OpenGL 1.1 Console версия.
    MESHTOOL\OS2\GL11\ogf_gluta.exe - OS/2 GLUT+OpenGL 1.1 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\GL11\ogf_glutas.exe - OS/2 GLUT+OpenGL 1.1 Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    MESHTOOL\OS2\GL11\ogf_os2.exe - OS/2 PGL+OpenGL 1.1 Console версия.
    MESHTOOL\OS2\GL11\ogf_os2a.exe - OS/2 PGL+OpenGL 1.1 Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\GL11\ogf_os2as.exe - OS/2 PGL+OpenGL 1.1 Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    MESHTOOL\OS2\GL11\ogfcons.exe - OS/2 LIBAUX+OpenGL 1.1 Console версия.
    MESHTOOL\OS2\GL11\ogfconsa.exe - OS/2 LIBAUX+OpenGL 1.1 Console версия (альтернативное управление, для level-ов).
    
    MESHTOOL\OS2\WMGL\ogf_glut.exe - OS/2 GLUT+WarpMesaGL Console версия.
    MESHTOOL\OS2\WMGL\ogf_gluta.exe - OS/2 GLUT+WarpMesaGL Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\WMGL\ogf_glutas.exe - OS/2 GLUT+WarpMesaGL Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    
    MESHTOOL\OS2\SNAP\ogf_glut.exe - OS/2 GLUT+SnapGL Console версия.
    MESHTOOL\OS2\SNAP\ogf_gluta.exe - OS/2 GLUT+SnapGL Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\SNAP\ogf_glutas.exe - OS/2 GLUT+SnapGL Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    MESHTOOL\OS2\SNAP\ogf_snap.exe - OS/2 MESA3D+SnapGL Console версия.
    MESHTOOL\OS2\SNAP\ogf_snapa.exe - OS/2 MESA3D+SnapGL Console версия (альтернативное управление, для level-ов).
    MESHTOOL\OS2\SNAP\ogf_snapas.exe - OS/2 MESA3D+SnapGL Console PROMO версия (альтернативное управление, для level-ов, c скайбоксами).
    
    MESHTOOL\DOS32\ogfdos.exe - DOS32 Allegro Console версия.
    MESHTOOL\DOS32\ogfdos32.exe - DOS32 Console версия (320x200).
    MESHTOOL\DOS16\ogfdos16.exe - DOS16 Console версия (320x200).
    
    +++
    
    MESHTOOL\REF\MESH.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\ - текстуры неба для PROMO-версии (текстуры sky?.dds положить в 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\FAQ.HTM - FAQ & README (HTML)
    MESHTOOL\READMEOS2.HTM - FAQ & README for OS/2 (HTML)
    MESHTOOL\GL_OS2.HTM - OpenGL OS/2 Developer reference guide for OS/2 (HTML)
    

  4. Отличия, особенности версий ogfviewer

    1. Для всех версий:

      Существует ограничение на количество материалов (до 500) и вложенных блоков (до 17000).

      Существует визуальные проблемы с работой программы при включенном Windows Aero (desktop composition). Варианты решения - временно переключиться в классическую схему оформления или остановить службу Темы (c правами администратора):

      • для английской версии:
        net stop Themes
        
      • для русской версии:
        net stop Темы
        

    2. Базовая:

      Вращается и двигается модель относительно центра координат. Вариант для просмотра отдельных моделей. Умеет VBO (OpenGL). Включен мипмэппинг и фильтрация текстур. Использование буфера VBO (OpenGL) имеет "обратную сторону" - при его переполнении эффективность от VBO пропадает.

    3. Альтернативная:

      Вращается и двигается свободная камера. Вариант для просмотра уровней и крупных объектов. Вместо скайбоксов используется туман. Включена DXT-компрессия (OpenGL), фильтрация текстур.

    4. Промо:

      Альтернативная версия вместе с VBO (OpenGL) и скайбоксами. Вращается и двигается свободная камера. Вариант для просмотра уровней и крупных объектов. Включена DXT-компрессия (OpenGL), фильтрация текстур. Использование буфера VBO (OpenGL) имеет "обратную сторону" - при его переполнении эффективность от VBO пропадает.

    5. На движке SGI OpenGL:

      OpenGL движок, программная его часть оптимизирована под инструкции MMX (Pentium и старше). Немного быстрее, чем движок MS OpenGL.

    6. Программный режим (OpenGL):

      MS OpenGL: Если при запуске идут сообщения об ошибках - положите в каталог программы opengl32.dll из soft_gl.7z.

      SGI OpenGL: Если при запуске идут сообщения об ошибках - отключите видеоакселерацию в панели управления.

      или впишите, импортируйте эту строчку в реестр, значение = 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
      

    7. Программный режим (DirectX):

      Если при запуске программы она показывает пустой черный экран - положите в каталог WINDOWS\SYSTEM32 d3dref8.dll из из soft_dx.7z (или DirectX 8.x SDK).

      Если при запуске программы программы она тормозит или глючит - положите в каталог программы d3d8.dll из SwiftShader или DXGL Wrapper. На вопрос "Use software renderer?" ответить "No".


  5. Управление клавиатурой, мышью


  6. Предварительные действия

    Распаковываем ресурсы игры:

    Используя converter.exe из xray_re_tools:

    converter.exe -unpack -2215 gamedata.xdb
    converter.exe -unpack -2945 gamedata.xdb
    converter.exe -unpack -2947ru gamedata.xdb
    converter.exe -unpack -2947ww gamedata.xdb
    converter.exe -unpack -xdb gamedata.xdb
    

    Ключи после -unpack позволяют указать тип архива с игровым контентом.

    В результате имеем:

    Если просмотр моделей с текстурами нам необходим, в ogfviewer.cfg записывем путь к текстурам. Если игра лежит у нас в C:\GSC\STALKER, то в в ogfviewer.cfg пишем:

    C:\GSC\STALKER\gamedata\textures\

    Возможен запуск нескольких копий ogfviewer одновременно.


  7. Какие форматы текстур умеем


  8. Как (где) ищется конфигурация ogfviewer.cfg

    1. В каталоге откуда запустили
    2. В каталоге где лежит ogfviewer.exe

  9. Как ищутся текстуры

    Размер ogfviewer.cfg - 255 символов максимум.
    OpenGL: Если размер текстуры для объекта превышает допустимый, то он масштабируется до максимально допустимого размера.
    Если в итоге указанная текстура для объекта не находится, то в drawmode #2 объект с данной текстурой не отображается.


  10. Как ассоциировать файлы с ogfviewer?

    Требуются права администратора!

    редактировать REG\instogf.reg, исправить там путь к файлу.

    затем:

    regedit instogf.reg

  11. Как убрать ассоциацию c ogfviewer?

    Требуются права администратора!

    затем:

    regedit delogf.reg

  12. Как смотреть уровни

    Предположим, что имя нашего уровня - testers_mp_railroad

    Для открытия крупных уровней вроде marsh_bench, pripyat - необходимо много оперативной памяти! Рекомендуется при этом закрыть ВСЕ прочие запущенные программы.


  13. Как конвертировать 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 файлы.


  14. Методичка по консольным утилитам.

    Утилита: 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' (3DStdio MAX 3ds файл)

    Утилита: 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 анимаций (smd формат), reference.smd - базовая модель

    Утилита: parse_lev
    Запуск: parse_lev < режим > [ имя_модели.ogf ] [ > parse.log ]
    режим 0/1: с оптимизацией вертексов? - нет/да (включать не рекомендуется!)
    режим 0/2: пропускать lod-,prop_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 метра для тестирования нагрузки на движок и видеокарту.

    Все консольные утилиты удобнее запускать из Far Manager (или cmd.exe) :)


  15. Директивы компиляции

     * ALT_CONTROLS - compile as alternate "level-only" version (ALL)
     * DISABLE_CULL - disable invisible faces culling (ALL)
     * DISABLE_TEXTURING - no texturing support (ALL)
     * COMPACT_NVTS - use nvtristrip library to convert tris to strips (OpenGL)
     * COMPACT_WF - linestrip, for w/frame, speedup for drawmode #0 (ALL)
     * DX_REND - DX8 render (DirectX)
     * SGI_GL - SGI/MMX OpenGL linking (OpenGL)
     * USE_GL10 - OpenGL 1.0 compatibility (OpenGL)
     * USE_CVA - CVA compiled_vertex_array extention (OpenGL)
     * USA_VBO - VBO vertex_buffer_object extension (OpenGL)
     * USE_DXT - DXT1/DXT5 compr. (OpenGL)
     * USE_MIPMAP - use mipmapping (ALL)
     * USE_ANISO - anisothr. filtering (OpenGL)
     * USE_FOG - fog (alt,ALL)
     * USE_SKY - use skyboxes (alt,ALL)
     * USE_LOG - verbose logging (ALL)
     * LIMIT_DDS - limit texture size to 256x256 max (3dfx compat?, OpenGL)
     * DISABLE_ARRAYS - don't use glDrawElements(),glDrawArrays() (OpenGL)
     * USE_SUBST - substitute missing textures by generic one (ALL)
     * USE_ALLEG - allegro restrictions, separate or disabled drawing code
     * NO_3DS - no 3ds import/export
     * NO_SAVE - do not export, save (ALL)
     * USE_ANIM - read and display animations, also ogfv3 bones (wip)
     * USE_SINGLE - single buffering (OpenGL)
     * USE_CONV - do export, save (ALL)
     * USE_ZTRICK - z-trick (OpenGL)
     * USE_OS2 - os2 compile mode (OpenGL)
     * DM2_LIGHT - enable light in drawmode#2 (OpenGL,DirectX, beta)
     * USE_IDLE - draw scene when idle (OpenGL, libglut, libaux, libtk)
     * USE_REINIT - init OpenIL later (OpenGL, textured)
     * USE_MESA - use WarpMesaGL libraty (OpenGL, OS/2)
     * NO_FONT - disable onscreen fonts and messages (OpenGL)
     * USE_CULLV - EXT_cull_vertex extention (OpenGL, beta, mostly Intel's)
     * USE_OCC - ARB_occlusion_query extention (OpenGL, beta)
     * USE_NC - normal-based culling, not comp. with USE_VBO (OpenGL, beta)
     * COMPACT_OBJECT - remove duplicated vertexes in *.object (ALL)
    

  16. История изменений

    Изменения (19.02.2010) :
    
    OGFViewer: Масштабирование не вызывает геометрических искажений
    OGFViewer: Оси x/y/z 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]
    Это миниверсия пакета, так что некоторые дополнительные экзешники выкинуты :)
    

  17. Планы

    Чтение анимаций (ogf,omf), секций S_BONE_NAMES, S_IKDATA, S_MOTIONS
    Чтение анимаций (object,skl,bones)
    Чтение particles
    Чтение level из билдов 1xxx (XRLC формат 0x0C и ранее)
    Импорт/экспорт *.lwo (LightWave3D)
    Импорт/экспорт плагин для 3DSMax, Maya
    Экспорт в *.ogf/*.object (XRay SDK)
    Чтение level DS2 Engine 'You are empty', Orion engine v1 'Метро-2'
    Fullscreen режим (есть беты - ogffscr.exe, ogf_dx?.exe)
    Полностью программный рендерер.
    Рендерер на базе irrlicht, ogre.
    Ini-фaйл для OGFViewer (meshtool.ini?)
    Нативные версии для x64, ia64, alpha, mips, ppc, WindowsCE
    

  18. Использованные материалы и благодарности

    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
    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
    

    2011.07.xx