×
Menu

Notes - Multi-Textures

Собственно, разбор каждого текстурного слота отдельно.
Multi-Textures не класс движка, но лишь раздел в заметках!
 
Extracted section from gamebryo (NDL Gamebryo 1.1)
 
Multi-Texturing introduction
At a high level, multi-texturing is the use of more than one texture simultaneously on the same set of polygons. By combining the multiple textures in different ways, subtle or striking effects can be created. These effects will be described below and include (but are not limited to) pseudo-lighting effects, shadows, and overlaid details.
There are two basic forms of multi-textures in Gamebryo — static multi-textures and dynamic multi-textures. An easy way to understand the difference between the two is by a simple physical analogy. Static multi-textures represent surface properties of the objects to which they are attached. Dynamic multi-textures represent spatial phenomena such as the reflected environment, or a shaft of light coming from a window in the scene.
The basic technical distinction between the two classes is just as simple to understand. Static multi-textures are attached as a rendering property to a group of objects, and are mapped using texture coordinates defined in those objects. Dynamic multi-textures are applied to a set of objects via a light-like inclusion list mechanism and are mapped to the geometry via dynamically generated texture coordinates that are computed inside the low-level renderer.
 
Gamebryo supports several different types of multi-textured effects within each of the two categories. However, the Gamebryo Maya Plug-in only supports static multi-texture effects currently. Support for dynamic multi-texture effects in the Gamebryo Maya Plug-in is planned for future versions
 
Static multi-texture effect
Slots in NiTexturingProperty
The basic appearance of the surface of a diffusely reflective object
A representation of the diffused lighting on an object
Decals laid upon the surface of an object, such as skid marks or bullet marks
A high-frequency texture that alleviates the blurriness of objects seen close-up
A representation of the emissive quality of the object surface – used to create the impression of glowing lights on the surface of the object
The gloss map modulates the effects of an environment map.
This lets some parts of the texture be highly reflective and others not reflective.
A fine-scale representation of the shininess of the object – used to attenuate an environment map
Create reflections on surfaces like bumpy metal.
Dynamic multi-texture effects
Slots in NiTextureEffect
Complex lighting effects such as spot lights and slide projectors
Darkening effects, such as moving shadows cast on a wall
Mirror-like reflections of the local environment seen from shiny objects
Create fog effects : either in local NIF, whole cells, or scene.
 

 
 
Схема работы текстурного домена, или как его там звать.
Что после чего накладывается и какая в итоге образуется финальная картинка.
 
 
Texture effect LIGHT_mode
Texture effect LIGHT_mode (more effects!)
 
 
 
 
 
Decal Map (more maps!)
 
 
Texture Effect SHADOW_mode
 
 
 
Texture effect SHADOW_mode (more effects!)
 
 
Texture effect ENVIRONMENT_mode
+ Bump map and Gloss map to control it.
 
 
 
Texture effect FOG_mode
= final result on Your Monitor.

 
Одновременно можно накладывать 10 текстур, из них 4 декали.
1Base, 2detail, 3dark, 4gloss, 5glow, 6bump + 4 decals.
Оптимально использовать не более 8 (прим: gloss и bump обычно и так выключены).
Если все другие слоты не использованы, можно наложить 7-8 декалей.
Если использованы не все, то +1 к кол-ву декалей, но не более 7ми оных.
По видимости, это ограничение движка.
При этом, карты декалей должны идти последовательно.
Т.е. нельзя использовать декаль2, не включив декаль0 и декаль1.
Редактор сразу улетит в ошибку.
 
Hrnchamd писал:
There's maximum 8 texture bindings in one draw call
It's from DirectX
Sometimes the texture effects are a second drawing on top
But really, it's max 8 for reliable use
I suppose decals are seperate
not really sure, there's no explanation
 
Примечание!
Добавление текстур через нифскоп имеет один специфический момент, обращайте на это внимание!
При добавлении новой текстуры в NiTexturingProperty, Filter Mode оной устанавливается значение, как FILTER_NEAREST_MIPNEAREST, что приводит к излишней пиксилизации текстуры.
Вместо FILTER_TRILERP, который дает более ровное отображение текстуры.
Т.е. имеет смысл исправлять этот момент сразу после добавления текстуры!