Редактирование: OGFViewer
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 7: | Строка 7: | ||
| '''Автор''' || NatteFrost | | '''Автор''' || NatteFrost | ||
|- | |- | ||
− | | '''Последняя версия''' || | + | | '''Последняя версия''' || 1.0.5 .20121229 |
|- | |- | ||
− | + | | '''Платформа''' || x86, x86-64 | |
− | |||
− | | '''Платформа''' || x86, x86-64 | ||
|- | |- | ||
| '''Написан на''' || C++ | | '''Написан на''' || C++ | ||
Строка 18: | Строка 16: | ||
|} | |} | ||
</div> | </div> | ||
+ | |||
+ | == Что это? == | ||
'''MESHTOOL/OGFVIEWER''' — кроссплатформенный комплект утилит для просмотра, конвертации разнообразных 3d-моделей и уровней. | '''MESHTOOL/OGFVIEWER''' — кроссплатформенный комплект утилит для просмотра, конвертации разнообразных 3d-моделей и уровней. | ||
Строка 38: | Строка 38: | ||
* '''X-Ray object v3''' (builds 1xxx), только статика | * '''X-Ray object v3''' (builds 1xxx), только статика | ||
* '''X-Ray object v4''' (builds 2xxx-3xxx), только статика | * '''X-Ray object v4''' (builds 2xxx-3xxx), только статика | ||
− | * '''X-Ray level''' (builds 2xxx-3xxx), через ogf-конвертацию (parse_lev) или через object-конвертацию ([[converter | + | * '''X-Ray level''' (builds 2xxx-3xxx), через ogf-конвертацию (parse_lev) или через object-конвертацию ([[xray_re converter]]) |
* '''Orion engine v1 MSH''' (Stalin Subway, Red Veil, Метро-2, Метро-2: Смерть вождя) | * '''Orion engine v1 MSH''' (Stalin Subway, Red Veil, Метро-2, Метро-2: Смерть вождя) | ||
* '''Autodesk 3D Studio MAX 3ds''' | * '''Autodesk 3D Studio MAX 3ds''' | ||
* '''DS2 Engine *.ds2md''' (You Are Empty, только статика) | * '''DS2 Engine *.ds2md''' (You Are Empty, только статика) | ||
− | * '''4A Games Engine *.model | + | * '''4A Games Engine *.model''' (Metro 2033, только статика) |
* '''DirectDraw surface *.dds''' (картинка на плоскость 2x2 метра) | * '''DirectDraw surface *.dds''' (картинка на плоскость 2x2 метра) | ||
Строка 50: | Строка 50: | ||
* '''ASCII Scene Export (*.ASE)''' | * '''ASCII Scene Export (*.ASE)''' | ||
* '''Autodesk 3dsMax (*.3DS)''' | * '''Autodesk 3dsMax (*.3DS)''' | ||
− | |||
* '''LightWave 3D (*.LWO)''' — в разработке | * '''LightWave 3D (*.LWO)''' — в разработке | ||
* '''StereoLitho (*.STL)''' | * '''StereoLitho (*.STL)''' | ||
* '''Collada XML (*.DAE)''' | * '''Collada XML (*.DAE)''' | ||
* '''MilkShape3D (*.MS3D)''' | * '''MilkShape3D (*.MS3D)''' | ||
− | * '''X-Ray OGF (*.OGF | + | * '''X-Ray OGF (*.OGF)''' |
− | |||
− | |||
Конвертация: | Конвертация: | ||
* parse_lev: level+level.geom+level.cform -> ogf | * parse_lev: level+level.geom+level.cform -> ogf | ||
− | * ogfviewer(gui), meshconv(console): ogf, object, msh, 3ds, ds2md, model | + | * ogfviewer(gui), meshconv(console): ogf, object, msh, 3ds, ds2md, model -> obj, ase, smd, 3ds, stl, ms3d, ogf (без анимаций) |
* ogf2smda: ogf,ogf+omf -> smd(reference), smd(reference+separate animations) | * ogf2smda: ogf,ogf+omf -> smd(reference), smd(reference+separate animations) | ||
* obj2ogf: obj -> ogf | * obj2ogf: obj -> ogf | ||
* ogf2obj: ogf -> obj | * ogf2obj: ogf -> obj | ||
− | |||
− | |||
− | Обратите внимание, что OGFViewer | + | Обратите внимание, что в OGFViewer-е подразумевается что все координаты моделей заданы в метрах. Для моделей Orion engine v1 используется масштабирование, т.к. они сделаны в сантиметрах. |
Какие форматы текстур умеем: | Какие форматы текстур умеем: | ||
Строка 124: | Строка 119: | ||
*# Make_Ogf.exe — создает псевдослучайную OGF-модель. | *# Make_Ogf.exe — создает псевдослучайную OGF-модель. | ||
*# MeshConv.exe — конвертер моделей в 3DS формат. | *# MeshConv.exe — конвертер моделей в 3DS формат. | ||
− | *# OBJ2OGF.exe — конвертер WAVEFRONT OBJ-моделей в | + | *# OBJ2OGF.exe — конвертер WAVEFRONT OBJ-моделей в Xray OGF формат. |
− | *# OGF2OBJ.exe — конвертер | + | *# OGF2OBJ.exe — конвертер Xray OGF-моделей в WAVEFRONT OBJ формат. |
− | *# OGF2SMDa.exe — конвертер | + | *# OGF2SMDa.exe — конвертер Xray OGF-моделей/анимаций в SMD формат. |
− | |||
− | |||
*# Parse_203.exe — конвертер 4A Engine уровней в OGF формат. | *# Parse_203.exe — конвертер 4A Engine уровней в OGF формат. | ||
*# Parse_Lev.exe — конвертер Xray уровней в OGF формат. | *# Parse_Lev.exe — конвертер Xray уровней в OGF формат. | ||
Строка 190: | Строка 183: | ||
=== Общие === | === Общие === | ||
− | * | + | * Y, < * > на цифровой клавиатуре меняет цвет фона |
− | * | + | * < / > на цифровой клавиатуре меняет гамма-коррекцию |
* TAB, SPACE = режим просмотра wireframe / color / texture | * TAB, SPACE = режим просмотра wireframe / color / texture | ||
* N = отсечение объектов в радиусе обзора в(ы)кл | * N = отсечение объектов в радиусе обзора в(ы)кл | ||
Строка 199: | Строка 192: | ||
* F7, 7 = шаг движения * 4 | * F7, 7 = шаг движения * 4 | ||
* F8, 8 = шаг движения / 4 | * F8, 8 = шаг движения / 4 | ||
− | * F9 | + | * F9 = режим фильтрации текстур |
* F11 = полный экран в(ы)кл | * F11 = полный экран в(ы)кл | ||
* I = информация о 3D-рендерере | * I = информация о 3D-рендерере | ||
− | |||
* Z = листание в начало | * Z = листание в начало | ||
* X = листание вперед | * X = листание вперед | ||
* C = листание назад | * C = листание назад | ||
* V = листание в конец | * V = листание в конец | ||
− | * 3, 7 | + | * 3, 7, < - > на цифровой клавиатуре = время - 1 час |
− | * 4, 8 | + | * 4, 8, < + > на цифровой клавиатуре = время + 1 час |
* 5 = уменьшает aspect ratio | * 5 = уменьшает aspect ratio | ||
* 6 = увеличивает aspect ratio | * 6 = увеличивает aspect ratio | ||
Строка 221: | Строка 213: | ||
* стрелки = вращение по осям X/Y на 1 градус | * стрелки = вращение по осям X/Y на 1 градус | ||
* SHIFT, CONTROL = вращение по оси Z на 1 градус | * SHIFT, CONTROL = вращение по оси Z на 1 градус | ||
− | * | + | * < + >, < - > на цифровой клавиатуре = zoom in/out |
* BACKSPACE = сброс координат | * BACKSPACE = сброс координат | ||
+ | * M = выгрузка статистики в object.log | ||
* Ctrl+N = очистить все | * Ctrl+N = очистить все | ||
− | |||
* F2, Ctrl+S = сохранить как | * F2, Ctrl+S = сохранить как | ||
* F3, Ctrl+O = открыть | * F3, Ctrl+O = открыть | ||
Строка 246: | Строка 238: | ||
* CONTROL = движение камеры вниз | * CONTROL = движение камеры вниз | ||
* BACKSPACE = сброс координат | * BACKSPACE = сброс координат | ||
+ | * M = выгрузка статистики в object.log | ||
* Ctrl+N = очистить все | * Ctrl+N = очистить все | ||
− | |||
* F2, Ctrl+S = сохранить как | * F2, Ctrl+S = сохранить как | ||
* F3, Ctrl+O = открыть | * F3, Ctrl+O = открыть | ||
Строка 258: | Строка 250: | ||
=== Базовая Console-версия (ogf_glut.exe) === | === Базовая Console-версия (ogf_glut.exe) === | ||
+ | |||
* A, D = смещение по оси X | * A, D = смещение по оси X | ||
* HOME, END, W, S = смещение по оси Z | * HOME, END, W, S = смещение по оси Z | ||
Строка 263: | Строка 256: | ||
* стрелки = вращение по осям X/Y на 1 градус | * стрелки = вращение по осям X/Y на 1 градус | ||
* Z, X = вращение по оси Z на 1 градус | * Z, X = вращение по оси Z на 1 градус | ||
− | * | + | * < + >, < - >, C, V на цифровой клавиатуре = zoom in/out |
* BACKSPACE, E, F10 = сброс координат | * BACKSPACE, E, F10 = сброс координат | ||
− | * G | + | * G - сетка, небо, оси в(ы)кл |
− | |||
* F1, 1 = "качество" картинки draft | * F1, 1 = "качество" картинки draft | ||
* F2, 2 = "качество" картинки release | * F2, 2 = "качество" картинки release | ||
Строка 272: | Строка 264: | ||
* F12 = центрирует модель | * F12 = центрирует модель | ||
* I = информация о 3D-рендерере на экран (в OS/2 - пишет в gldump.log) | * I = информация о 3D-рендерере на экран (в OS/2 - пишет в gldump.log) | ||
+ | * T = выгрузка статистики в object.log | ||
* движение с нажатой левой кнопкой = вращение по осям X/Y | * движение с нажатой левой кнопкой = вращение по осям X/Y | ||
* движение вверх/вниз с нажатой правой кнопкой = zoom in/out | * движение вверх/вниз с нажатой правой кнопкой = zoom in/out | ||
Строка 279: | Строка 272: | ||
=== Альтернативная Console-версия (ogf_gluta?.exe) === | === Альтернативная Console-версия (ogf_gluta?.exe) === | ||
+ | |||
* HOME, C = поворот камеры вверх на 5 градусов | * HOME, C = поворот камеры вверх на 5 градусов | ||
* END, V = поворот камеры вниз на 5 градусов | * END, V = поворот камеры вниз на 5 градусов | ||
Строка 289: | Строка 283: | ||
* PGUP, O = движение камеры вверх | * PGUP, O = движение камеры вверх | ||
* PGDOWN, P = движение камеры вниз | * PGDOWN, P = движение камеры вниз | ||
− | * < * >, | + | * < * >, Y = меняет цвет фона |
* BACKSPACE, E, F10 = сброс координат | * BACKSPACE, E, F10 = сброс координат | ||
− | |||
* F1, 1 = "качество" картинки draft | * F1, 1 = "качество" картинки draft | ||
* F2, 2 = "качество" картинки release | * F2, 2 = "качество" картинки release | ||
+ | * F5, F = меняет FOV (field of view) | ||
* F12 = помещает камеру в центр модели | * F12 = помещает камеру в центр модели | ||
− | * I = информация о 3D-рендерере на экран (в OS/2 | + | * I = информация о 3D-рендерере на экран (в OS/2 - пишет в gldump.log) |
+ | * T = выгрузка статистики в object.log | ||
* движение с нажатой левой кнопкой = поворот камеры влево/вправо, вверх/вниз | * движение с нажатой левой кнопкой = поворот камеры влево/вправо, вверх/вниз | ||
* движение вверх/вниз с нажатой cредней кнопкой = движение камеры вперед/назад | * движение вверх/вниз с нажатой cредней кнопкой = движение камеры вперед/назад | ||
Строка 303: | Строка 298: | ||
=== Базовая OGF_DX-версия (ogf_dx?.exe) === | === Базовая OGF_DX-версия (ogf_dx?.exe) === | ||
+ | |||
* стрелки и мышь = движение | * стрелки и мышь = движение | ||
− | * | + | * F2 - меняет видеорежим, рендерер и проч. |
− | + | * O, P, K - меняет сглаживание | |
− | |||
− | |||
− | * O, P | ||
* Y = "погода": типовой, нейтральный, красный, оранжевый или "лунный" свет | * Y = "погода": типовой, нейтральный, красный, оранжевый или "лунный" свет | ||
− | * | + | * < + > на цифровой клавиатуре = время + 15 мин |
− | + | * < - > на цифровой клавиатуре = время - 15 мин | |
− | + | * < * > на цифровой клавиатуре = меняет скайбокс (sky_hdr_test_cube, sky_?_cube (? = 0..25), ...) | |
− | * | ||
− | * | ||
* F11 = помещает камеру в 0.0.0 | * F11 = помещает камеру в 0.0.0 | ||
* F12 = центрирует модель | * F12 = центрирует модель | ||
=== Альтернативная OGF_DX-версия (ogf_dx?a.exe) === | === Альтернативная OGF_DX-версия (ogf_dx?a.exe) === | ||
+ | |||
* стрелки, PGUP, PGDOWN, Q, W, E, A, S, D и мышь = движение | * стрелки, PGUP, PGDOWN, Q, W, E, A, S, D и мышь = движение | ||
* HOME = сброс камеры | * HOME = сброс камеры | ||
− | * | + | * F2 - меняет видеорежим, рендерер и проч. |
− | + | * O, P, K - меняет сглаживание | |
− | |||
− | |||
− | * O, P | ||
* Y = "погода": типовой, нейтральный, красный, оранжевый или "лунный" свет | * Y = "погода": типовой, нейтральный, красный, оранжевый или "лунный" свет | ||
− | * T = свет от фонарика | + | * T = свет от фонарика в(ы)кл. |
* R = Обычный(FFP) -> dot3bump mul -> dot3bump add render. | * R = Обычный(FFP) -> dot3bump mul -> dot3bump add render. | ||
− | * | + | * < + > на цифровой клавиатуре = время + 15 мин |
− | + | * < - > на цифровой клавиатуре = время - 15 мин | |
− | + | * < * > на цифровой клавиатуре = меняет скайбокс (sky_hdr_test_cube, sky_?_cube (? = 0..25), ...) | |
− | |||
− | * | ||
− | * | ||
* F11 = помещает камеру в 0.0.0 | * F11 = помещает камеру в 0.0.0 | ||
* F12 = помещает камеру в центр модели | * F12 = помещает камеру в центр модели | ||
== Установка и использование == | == Установка и использование == | ||
− | Распаковываем ресурсы игры, используя | + | |
+ | Распаковываем ресурсы игры, используя converter.exe из [[xray_re tools]]: | ||
<syntaxhighlight lang="winbatch">converter.exe -unpack -2215 gamedata.db0 | <syntaxhighlight lang="winbatch">converter.exe -unpack -2215 gamedata.db0 | ||
converter.exe -unpack -2945 gamedata.db0 | converter.exe -unpack -2945 gamedata.db0 | ||
Строка 358: | Строка 345: | ||
=== Как (где) ищется конфигурация ogfviewer.cfg? === | === Как (где) ищется конфигурация ogfviewer.cfg? === | ||
+ | |||
* В каталоге, откуда запустили | * В каталоге, откуда запустили | ||
* В каталоге, где лежит ogfviewer.exe | * В каталоге, где лежит ogfviewer.exe | ||
=== Как ищутся текстуры? === | === Как ищутся текстуры? === | ||
+ | |||
* При отсутствии '''ogfviewer.cfg''' — ''gamedata\textures'' | * При отсутствии '''ogfviewer.cfg''' — ''gamedata\textures'' | ||
* Если есть '''ogfviewer.cfg''' — пути по тексту, разделенные ''\0'' | * Если есть '''ogfviewer.cfg''' — пути по тексту, разделенные ''\0'' | ||
Строка 371: | Строка 360: | ||
=== Как ассоциировать файлы с ogfviewer? === | === Как ассоциировать файлы с ogfviewer? === | ||
+ | |||
'''''Требуются права администратора!'''''<br /> | '''''Требуются права администратора!'''''<br /> | ||
Отредактировать REG\instreg.txt, исправив там путь к файлу, затем выполнить | Отредактировать REG\instreg.txt, исправив там путь к файлу, затем выполнить | ||
Строка 376: | Строка 366: | ||
=== Как убрать ассоциацию c ogfviewer? === | === Как убрать ассоциацию c ogfviewer? === | ||
+ | |||
'''''Требуются права администратора!'''''<br /> | '''''Требуются права администратора!'''''<br /> | ||
Выполнить | Выполнить | ||
Строка 381: | Строка 372: | ||
== Как установить 3ds Max-плагин == | == Как установить 3ds Max-плагин == | ||
+ | |||
Скопировать '''xrMtMax*.dlt''' и '''OGFViewer.cfg''' в папку ''3dsmax\plugins''. | Скопировать '''xrMtMax*.dlt''' и '''OGFViewer.cfg''' в папку ''3dsmax\plugins''. | ||
− | == Как | + | == Как смотреть уровни == |
+ | |||
Предположим, что имя нашего уровня — '''testers_mp_railroad''' | Предположим, что имя нашего уровня — '''testers_mp_railroad''' | ||
+ | |||
=== Первый вариант — через ogf-экспорт === | === Первый вариант — через ogf-экспорт === | ||
* Для конвертации используем parse_lev.exe. | * Для конвертации используем parse_lev.exe. | ||
Строка 413: | Строка 407: | ||
== Как конвертировать ogf и omf-анимации в smd == | == Как конвертировать ogf и omf-анимации в smd == | ||
+ | |||
Предположим, что имя нашей модели — '''сat.ogf''' | Предположим, что имя нашей модели — '''сat.ogf''' | ||
Строка 428: | Строка 423: | ||
== Методичка по консольным утилитам == | == Методичка по консольным утилитам == | ||
+ | |||
Утилита: '''dx7capsG'''<br /> | Утилита: '''dx7capsG'''<br /> | ||
Запуск: <code>dx7capsG</code><br /> | Запуск: <code>dx7capsG</code><br /> | ||
Строка 457: | Строка 453: | ||
* '''имя_модели.ext''': XRay OGF v4 (составная модель, склеивается так: <code>copy /b cat.ogf + cat_animation.omf</code>)<br /> | * '''имя_модели.ext''': XRay OGF v4 (составная модель, склеивается так: <code>copy /b cat.ogf + cat_animation.omf</code>)<br /> | ||
Результат: конверсия в каталог ''/smd'' анимаций (формат [https://developer.valvesoftware.com/wiki/Studiomdl_Data Valve SMD]), '''reference.smd''' — базовая модель | Результат: конверсия в каталог ''/smd'' анимаций (формат [https://developer.valvesoftware.com/wiki/Studiomdl_Data Valve SMD]), '''reference.smd''' — базовая модель | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
Утилита: '''parse_lev'''<br /> | Утилита: '''parse_lev'''<br /> | ||
Строка 474: | Строка 462: | ||
* режим '''0/8''': не конвертировать, только дамп? — нет/да | * режим '''0/8''': не конвертировать, только дамп? — нет/да | ||
Режимы складываются. | Режимы складываются. | ||
− | При указании '''parse.log''' ведется запись | + | При указании '''parse.log''' ведется запись в файл. |
---- | ---- | ||
Утилита: '''parse_msh''', '''parse_ogf''', '''parse_obj'''<br /> | Утилита: '''parse_msh''', '''parse_ogf''', '''parse_obj'''<br /> | ||
Строка 495: | Строка 483: | ||
* Режим '''0/8''': не конвертировать, только дамп? — нет/да | * Режим '''0/8''': не конвертировать, только дамп? — нет/да | ||
Режимы складываются. | Режимы складываются. | ||
− | При указании parse.log | + | При указании parse.log пишется в файл. |
---- | ---- | ||
Утилита: '''lzhuf'''<br /> | Утилита: '''lzhuf'''<br /> | ||
Строка 504: | Строка 492: | ||
Запуск: <code>make_box < к-во кубов в стороне > < имя_модели.оgf ></code><br /> | Запуск: <code>make_box < к-во кубов в стороне > < имя_модели.оgf ></code><br /> | ||
Результат: создает "коробочный ландшафт" x*x*x для окклюжен тестирования, бенчмарков | Результат: создает "коробочный ландшафт" x*x*x для окклюжен тестирования, бенчмарков | ||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
Утилита: '''make_box2'''<br /> | Утилита: '''make_box2'''<br /> | ||
Строка 536: | Строка 519: | ||
== История изменений == | == История изменений == | ||
+ | |||
'''Изменения (19.02.2010)''': | '''Изменения (19.02.2010)''': | ||
+ | |||
* OGFViewer: Масштабирование не вызывает геометрических искажений | * OGFViewer: Масштабирование не вызывает геометрических искажений | ||
* OGFViewer: Оси XYZ yвеличены до 5 единиц | * OGFViewer: Оси XYZ yвеличены до 5 единиц | ||
Строка 548: | Строка 533: | ||
'''Изменения (21.02.2010)''': | '''Изменения (21.02.2010)''': | ||
+ | |||
* OGFViewer: Исправлено падение программы при отмене открытия OGF-файла | * OGFViewer: Исправлено падение программы при отмене открытия OGF-файла | ||
* OGFViewer: Исправлена точность вращения по левой кнопке мыши | * OGFViewer: Исправлена точность вращения по левой кнопке мыши | ||
Строка 554: | Строка 540: | ||
'''Изменения (28.02.2010)''': | '''Изменения (28.02.2010)''': | ||
+ | |||
* OGFViewer: Исправлено 8-bit/4-bit OpenGL render | * OGFViewer: Исправлено 8-bit/4-bit OpenGL render | ||
* OGFViewer: Исправлена точность вращения | * OGFViewer: Исправлена точность вращения | ||
Строка 563: | Строка 550: | ||
'''Изменения (06.03.2010)''': | '''Изменения (06.03.2010)''': | ||
+ | |||
* OGFViewer: Оптимизация ( удаление невидимых граней, glVertex3fv(), glDrawElements() ) | * OGFViewer: Оптимизация ( удаление невидимых граней, glVertex3fv(), glDrawElements() ) | ||
* OGFViewer: Показываем "вменяемую" ошибку glTexImage2D() | * OGFViewer: Показываем "вменяемую" ошибку glTexImage2D() | ||
Строка 1073: | Строка 1061: | ||
Это мини-версия пакета! | Это мини-версия пакета! | ||
− | '''Изменения (29.12.2012)''': | + | '''Изменения (29.12.2012)''': |
[New features] | [New features] | ||
* ALL: Возвращены 64-битные версии. :) | * ALL: Возвращены 64-битные версии. :) | ||
Строка 1109: | Строка 1097: | ||
Это полная версия пакета! | Это полная версия пакета! | ||
− | + | == Планы == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Чтение анимаций (ogf,omf), секций S_BONE_NAMES, S_IKDATA, S_MOTIONS | * Чтение анимаций (ogf,omf), секций S_BONE_NAMES, S_IKDATA, S_MOTIONS | ||
* Чтение анимаций (object,skl,bones) | * Чтение анимаций (object,skl,bones) | ||
Строка 1161: | Строка 1104: | ||
* Чтение level из билдов 1xxx (XRLC формат 0x0C и ранее) | * Чтение level из билдов 1xxx (XRLC формат 0x0C и ранее) | ||
* Импорт/экспорт *.lwo (LightWave3D) | * Импорт/экспорт *.lwo (LightWave3D) | ||
− | + | * Импорт/экспорт плагин для 3DSMax, Maya | |
− | * Импорт/экспорт плагин для Maya | ||
* Экспорт в *.object (XRay SDK), *.ma (Maya ASCII) | * Экспорт в *.object (XRay SDK), *.ma (Maya ASCII) | ||
* Чтение level DS2 Engine 'You are empty', Orion engine v1 'Метро-2' | * Чтение level DS2 Engine 'You are empty', Orion engine v1 'Метро-2' | ||
− | * Чтение моделей уровней Cryostasis, Singularity | + | * Чтение моделей уровней Cryostasis, Singularity |
* Реализация FSAA, lightmap generation, guardband clipping, deferred render. | * Реализация FSAA, lightmap generation, guardband clipping, deferred render. | ||
* Поддержка UNICODE. | * Поддержка UNICODE. | ||
Строка 1171: | Строка 1113: | ||
* Рендерер на базе irrlicht, ogre. | * Рендерер на базе irrlicht, ogre. | ||
* INI-фaйл для OGFViewer (meshtool.ini?) | * INI-фaйл для OGFViewer (meshtool.ini?) | ||
− | * Нативные версии для Windows (alpha, mips, ppc, WinCE, arm) | + | * Нативные версии для Windows (ia64, alpha, mips, ppc, WinCE, arm) |
* Мультитекстурирование, расчет лайтмапов, улучш. освещение (шейдеры, FFP) | * Мультитекстурирование, расчет лайтмапов, улучш. освещение (шейдеры, FFP) | ||
== Использованные материалы и благодарности == | == Использованные материалы и благодарности == | ||
+ | |||
* batya: исходники OGFViewer 1.0.2 (26 Nov 2006) | * batya: исходники OGFViewer 1.0.2 (26 Nov 2006) | ||
* batya: исходники LevelEditor 0.0.2 (07 Apr 2007) | * batya: исходники LevelEditor 0.0.2 (07 Apr 2007) | ||
Строка 1250: | Строка 1193: | ||
* Nsr.pdf | * Nsr.pdf | ||
* premier-press-beginning-direct3d-game-programming.pdf | * premier-press-beginning-direct3d-game-programming.pdf | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <!-- 2012.12.xx --> |