×
Меню
Индекс

NiRenderedCubeMap

Объект отвечающий за рендеринг кубических карт.
Неработоспособно, к сожалению
 
Есть, единичное упоминание в коде МВ.
Либо это след от какого-то патча, либо "что-то еще".
В полной мере был добавлен в версии движка старше 4.2.
Где является элементом шейдерной текстуры.
Т.е. загружается в один из слотов Shader Textures. Которые не существуют в 4.0 версии движка.
Где, вероятно, работает либо тригером, для активации рендеринга текстур в режиме куба, либо определяет активный полигон.
Т.е. какой именно обращен к камере.
 
По справке к Gamebryo 1.1.2 загрузчиком текстур должен работать объект именуемый NiSourceCubeMap, а NiRenderedCubeMap является необходимым довеском.
NiSourceCubeMap полностью отсутствует в движке МВ.
 
Примечание.
Shader Textures раздел в NiTexturingProperty доступный для ниф файлов выше 4.2 версий.
Вероятно начиная с 10.0.
Как можно видеть из названия, отвечает за использование текстур для шейдеров.
The Shader Map is a way of providing texture maps that do not fall into any other category to an NiShader object.
 
Теоретическая работоспособность в 4.0, 4.2 версии движка - сомнительна.
Т.к полноценную поддержку кубических карт еще не завезли.
Сиречь, поддержка кубических карт упомянута в справке к Gamebryo 1.1 как "добавленная".
 
Тесты (по добавлению в ниф файл) проводились, но во всех возможных случаях приводили к ошибке:
Can't create function NiRenderedCubeMap...
Что свидетельствует о невозможности использования объекта в ниф файлах.
Т.е. дело не в настройках, а именно в технической невозможности игры понимать сам объект.
Если бы добавленный таким образом объект приводил бы игру к вылету, или к пустой строке с неопределенной ошибкой в Warning.txt файле, можно было бы полагать, что проблема в настройках.
Но когда в игре виден ERORR MARKER а в Warning-е запись о Can't create function, то речь, идет о невозможности использовать элемент в ниф файле.
 
Хрчамд писал:
None of the cubemap rendering functions are in the engine, no chance of working.
Only the cubemap loader and DX8 creation.
Т.е. в версии 4.0 ниф файлов и в нативном движке Морровинда - это не может работать.
 
Примечание.
Будем надеяться на ОпМВ!
Или какое иное чудо(С)
 

Добавление в Нифскопе.
- по умолчанию, нет такой опции.
Но, можно добавить через правку Nif.xml файла.
    <niobject name="NiRenderedCubeMap" abstract="0" inherit="NiRenderedTexture">
    </niobject>
 
Создание в МАХ.
- не доступно для модулей 4.0.
- доступно для официального Gamebryo экспортера версии 10.0 (и выше).

 Выдержка из оригинальной справки. (NDL Gamebryo 1.1)
 
NiRenderedCubeMap represents cube maps (six-sided environment maps) whose contents are generated dynamically by rendering a scene with a renderer. These maps are commonly used for live, realistic reflective objects.
Note that not all renderers can support cube maps, and as a result the creation function may return NULL.
 
Mipmapping and Rendered Textures
Currently, no renderers can support mipmapped rendered textures.
 
Changing the Current Cube Face
Applications using the set function to change the current cube face must call NiRenderer::SetRenderTarget with the cube map again after changing the current face, but before rendering to the new face, as the renderer must get the newly active cube face. Failure to call SetRenderTarget again may result in the previously set cube face being the render target.
Streaming and NiRenderedCubeMaps
 
NiRenderedCubeMap objects cannot be streamed, as they must be linked to a single renderer.