Skip to content
Snippets Groups Projects
Commit 8db5e1fd authored by GandaG's avatar GandaG
Browse files

Drafted shaders feature

parent 85935fe4
No related branches found
No related tags found
No related merge requests found
......@@ -20,15 +20,13 @@ If in need of a guide to make sure your model is complete please visit the :ref:
:maxdepth: 1
workflow/index
iosettings/index
object/index
geometry/index
object/index
shader/index
properties/index
textures/index
armature/index
collisions/index
armature/index
\ No newline at end of file
.. _properties:
Properties
==========
.. _properties:
The following section describes how Blender object properties/settings map to their Nif counterpart.
......
.. _properties-material:
Material Based Properties
-------------------------
.. _properties-material:
* The following section goes through those Blender material settings and how they relate to corresponding nif blocks or attributes.
* Unless otherwise stated your mesh needs to have a material.
......@@ -19,9 +21,10 @@ Example
* :ref:`See material settings <properties-material-settings>` to see what material settings we use.
.. _properties-material-settings:
Blender Materials Settings
==========================
.. _properties-material-settings:
The following section describes which Blender Material setting we actively use.
Depending on the nif version you are exporting to, they will be mapped to different Nif block types or block attributes.
......@@ -55,7 +58,8 @@ This value sets how much light the material emit.
* Blender uses the diffuse color for emission, viewable in the viewport.
.. todo::
..
todo::
add a preview button
Gloss
......
.. _properties-niproperty:
NiProperty
==========
.. _properties-niproperty:
The following is a overview of what the Nif Plugin will export Blender settings are mapped to.
.. _properties-nimaterial:
NiMaterialProperty
------------------
.. _properties-nimaterial:
The following section is for nifs which use :class:`~pyffi.formats.nif.NifFormat.NiMaterialProperty`.
* Every :class:`~bpy.types.Material` is exported to a :class:`~pyffi.formats.nif.NifFormat.NiMaterialProperty`.
NiSpecularProperty
------------------
.. _properties-nispecular:
NiSpecularProperty
------------------
* Setting the **Intensity** to **0** will disable specularity; a :class:`~pyffi.formats.nif.NifFormat.NiSpecularProperty` will not be exported.
.. _properties-nialpha:
NiAlphaProperty
---------------
.. _properties-nialpha:
* An :class:`~pyffi.formats.nif.NifFormat.NiAlphaProperty` is exported for Materials or Texture have Alpha value.
.. _properties-niwireframe:
NiWireFrameProperty
-------------------
.. _properties-niwireframe:
:class:`~pyffi.formats.nif.NifFormat.NiWireframeProperty`
.. _properties-stencil:
NiStencilProperty
-----------------
.. _properties-stencil:
The NiStencilProperty ignores the face normal and renders both sides of the mesh.
......@@ -47,7 +51,8 @@ The NiStencilProperty ignores the face normal and renders both sides of the mesh
.. todo::
..
todo::
Document these bad boys once implemented
......
.. _shader:
Shader
======
.. improve description
The following section describes the available shader options and their settings.
There are three different kind of shader nodes:
* *BS Shader PP Lighting Property*
* *BS Lighting Shader Property*
* *BS Effect Shader Property*
.. maybe use tables? will save a lot of scrolling
.. _shader-pplight:
BS Shader PP Lighting Property
------------------------------
.. Describe this type
This shader node is used for things.
* **Alpha Texture**
Alpha Texture requires NiAlphaProperty to enable.
* **Decal Single Pass**
Decal.
* **Dynamic Alpha**
Dynamic Alpha.
* **Dynamic Decal Single Pass**
Dynamic Decal
* **Empty**
Unknown.
* **Environment Mapping**
Environment Mapping (uses Envmap Scale).
* **External Emittance**
External Emittance
* **Eye Environment Mapping**
Eye Environment Mapping (does not use envmap light fade or envmap scale).
* **Face Gen**
FaceGen.
* **Fire Refraction**
Fire Refraction (switches on refraction power/period).
* **Hair**
Hair.
* **Local Map Hide Secret**
Localmap Hide Secret.
* **Low Detail**
Low Detail (seems to use standard diff/norm/spec shader).
* **Multiple Textures**
Multiple Textures (base diff/norm become null).
* **Non Projective Shadows**
Non-Projective Shadows.
* **Parallax Occlusion**
Parallax Occlusion.
* **Parallax Shader Index**
Parallax.
* **Refraction**
Refraction (switches on refraction power).
* **Remappable Textures**
Usually seen with texture animation.
* **Shadow Frustum**
Shadow Frustum.
* **Shadow Map**
Shadow Map.
* **Single Pass**
Single Pass.
* **Skinned**
Required For skinned meshes.
* **Specular**
Enables specularity.
* **Tree Billboard**
Tree Billboard.
* **Unknown 1**
Unknown.
* **Unknown 2**
Unknown.
* **Unknown 3**
Unknown/Crash.
* **Vertex Alpha**
Vertex Alpha.
* **Window Environment Mapping**
Window Environment Mapping.
* **Z Buffer Test**
Z Buffer Test.
.. _shader-light:
BS Lighting Shader Property
---------------------------
.. Describe this type
Skyrim PP shader for assigning material/shader/texture.
This shader node is used for things.
* **Cast Shadows**
Can cast shadows.
* **Decal**
Decal.
* **Dynamic Decal**
Dynamic Decal.
* **Enviroment Mapping**
Environment mapping (uses Envmap Scale).
* **External Emittance**
External Emittance.
* **Eye Environment Mapping**
Eye Environment Mapping (Must use the Eye shader and the model must be skinned).
* **Facegen Detail**
Use a face detail map in the 4th texture slot.
* **Facegen RGB Tint**
Use tintmask for Face.
* **Fire Refraction**
Fire Refraction.
* **Greyscale to Palette Alpha**
Greyscale to Palette Alpha.
* **Greyscale to Palette Color**
Greyscale to Palette Color.
* **Hair Soft Lighting**
Keeps from going too bright under lights (hair shader only).
* **Landscape**
Unknown.
* **Localmap Hide Secret**
Object and anything it is positioned above will not render on local map view.
* **Model Space Normals**
Use Model space normals and an external Specular Map.
* **Multiple Textures**
Multiple Textures.
* **Non Projective Shadows**
Unknown.
* **Own Emit**
Provides its own emittance color.
* **Parallax Occlusion**
Parallax Occlusion.
* **Parallax**
Parallax.
* **Projected UV**
Used for decalling.
* **Receive Shadows**
Object can recieve shadows.
* **Refraction**
Use normal map for refraction effect.
* **Remappable Textures**
Remappable Textures.
* **Screendoor Alpha Fade**
Screendoor Alpha Fade.
* **Skinned**
Required For Skinned Meshes.
* **Soft Effect**
Soft Effect.
* **Specular**
Enables Specularity.
* **Temp Refraction**
Unknown.
* **Use Falloff**
Use Falloff value in EffectShaderProperty.
* **Vertex Alpha**
Enables using alpha component of vertex colors.
* **Z Buffer Test**
ZBuffer Test.
* **Anisotropic Lighting**
Anisotropic Lighting.
* **Assume Shadowmask**
Assume Shadowmask.
* **Back Lighting**
Use Back Lighting Map.
* **Billboard**
Billboard.
* **Cloud LOD**
Cloud LOD.
* **Double Sided**
Double-sided rendering.
* **Effect Lighting**
Effect Lighting.
* **Envmap Light Fade**
Envmap Light Fade.
* **Fit Slope**
Fit Slope.
* **Glow Map**
Use Glow Map in the third texture slot.
* **HD LOD Objects**
HD LOD Objects.
* **Hide On Local Map**
Similar to hide secret.
* **LOD Landscape**
LOD Landscape.
* **LOD Objects**
LOD Objects.
* **Multi Index Snow**
Multi Index Snow.
* **Multi Layer Parallax**
Use Multilayer (inner-layer) Map.
* **No Fade**
No Fade.
* **No LOD Land Blend**
No LOD Land Blend.
* **No Transparency Multisampling**
No Transparency Multisampling.
* **Packed Tangent**
Packed Tangent.
* **Premult Alpha**
Has Premultiplied Alpha.
* **Rim Lighting**
Use Rim Lighting Map.
* **Soft Lighting**
Use Soft Lighting Map.
* **Tree Anim**
Enables Vertex Animation, Flutter Animation.
* **Uniform Scale**
Uniform Scale.
* **Unused01**
Unused.
* **Unused02**
Unused.
* **Vertex Colors**
Has Vertex Colors.
* **Vertex Lighting**
Vertex Lighting.
* **Weapon Blood**
Used for blood decals on weapons.
* **Wireframe**
Wireframe.
* **Z Buffer Write**
Enables writing to the Z-Buffer.
.. _shader-effect:
BS Effect Shader Property
-------------------------
.. Describe this type
Skyrim non-PP shader model, used primarily for transparency effects, often as decal.
* **Cast Shadows**
Can cast shadows.
* **Decal**
Decal.
* **Dynamic Decal**
Dynamic Decal.
* **Enviroment Mapping**
Environment mapping (uses Envmap Scale).
* **External Emittance**
External Emittance.
* **Eye Environment Mapping**
Eye Environment Mapping (Must use the Eye shader and the model must be skinned).
* **Facegen Detail**
Use a face detail map in the 4th texture slot.
* **Facegen RGB Tint**
Use tintmask for Face.
* **Fire Refraction**
Fire Refraction.
* **Greyscale to Palette Alpha**
Greyscale to Palette Alpha.
* **Greyscale to Palette Color**
Greyscale to Palette Color.
* **Hair Soft Lighting**
Keeps from going too bright under lights (hair shader only).
* **Landscape**
Unknown.
* **Localmap Hide Secret**
Object and anything it is positioned above will not render on local map view.
* **Model Space Normals**
Use Model space normals and an external Specular Map.
* **Multiple Textures**
Multiple Textures.
* **Non Projective Shadows**
Unknown.
* **Own Emit**
Provides its own emittance color.
* **Parallax Occlusion**
Parallax Occlusion.
* **Parallax**
Parallax.
* **Projected UV**
Used for decalling.
* **Receive Shadows**
Object can recieve shadows.
* **Refraction**
Use normal map for refraction effect.
* **Remappable Textures**
Remappable Textures.
* **Screendoor Alpha Fade**
Screendoor Alpha Fade.
* **Skinned**
Required For Skinned Meshes.
* **Soft Effect**
Soft Effect.
* **Specular**
Enables Specularity.
* **Temp Refraction**
Unknown.
* **Use Falloff**
Use Falloff value in EffectShaderProperty.
* **Vertex Alpha**
Enables using alpha component of vertex colors.
* **Z Buffer Test**
ZBuffer Test.
* **Anisotropic Lighting**
Anisotropic Lighting.
* **Assume Shadowmask**
Assume Shadowmask.
* **Back Lighting**
Use Back Lighting Map.
* **Billboard**
Billboard.
* **Cloud LOD**
Cloud LOD.
* **Double Sided**
Double-sided rendering.
* **Effect Lighting**
Effect Lighting.
* **Envmap Light Fade**
Envmap Light Fade.
* **Fit Slope**
Fit Slope.
* **Glow Map**
Use Glow Map in the third texture slot.
* **HD LOD Objects**
HD LOD Objects.
* **Hide On Local Map**
Similar to hide secret.
* **LOD Landscape**
LOD Landscape.
* **LOD Objects**
LOD Objects.
* **Multi Index Snow**
Multi Index Snow.
* **Multi Layer Parallax**
Use Multilayer (inner-layer) Map.
* **No Fade**
No Fade.
* **No LOD Land Blend**
No LOD Land Blend.
* **No Transparency Multisampling**
No Transparency Multisampling.
* **Packed Tangent**
Packed Tangent.
* **Premult Alpha**
Has Premultiplied Alpha.
* **Rim Lighting**
Use Rim Lighting Map.
* **Soft Lighting**
Use Soft Lighting Map.
* **Tree Anim**
Enables Vertex Animation, Flutter Animation.
* **Uniform Scale**
Uniform Scale.
* **Unused01**
Unused.
* **Unused02**
Unused.
* **Vertex Colors**
Has Vertex Colors.
* **Vertex Lighting**
Vertex Lighting.
* **Weapon Blood**
Used for blood decals on weapons.
* **Wireframe**
Wireframe.
* **Z Buffer Write**
Enables writing to the Z-Buffer.
.. _shader-lol:
.. BS Shader Property
.. -------------------------
.. It has no settings attached what is it for?
......@@ -30,7 +30,7 @@ The following section deals the various model components, required to export to
+------------------------+---------------------------------------------------------------------------------------------------------------------------+
| **General Nif Info** | Add in the general info required to identify the .nif file, refer to the :ref:`Nif Version Info <object-common>`. |
+------------------------+---------------------------------------------------------------------------------------------------------------------------+
| **Shaders** | Create and configure the shaders for each selected object, refer to the **TBD** |
| **Shaders** | Create and configure the shaders for each selected object, refer to the :ref:`Shader Section <shader>`. |
+------------------------+---------------------------------------------------------------------------------------------------------------------------+
| **Material** | Create and configure the materials for each selected object, refer to the :ref:`Materials Section <properties>`. |
+------------------------+---------------------------------------------------------------------------------------------------------------------------+
......
......@@ -316,7 +316,7 @@ class ShaderProps(PropertyGroup):
)
cls.slsf_1_decal = BoolProperty(
name='decal'
name='Decal'
)
cls.slsf_1_dynamic_decal = BoolProperty(
......
......@@ -109,8 +109,8 @@ class ObjectShader(Panel):
row.prop(nif_obj_props, "slsf_1_facegen_detail")
row.prop(nif_obj_props, "slsf_1_facegen_rgb_tint")
row.prop(nif_obj_props, "slsf_1_fire_refraction")
row.prop(nif_obj_props, "slsf_1_greyscale_to_palette_alpha")
row.prop(nif_obj_props, "slsf_1_greyscale_to_palette_color")
row.prop(nif_obj_props, "slsf_1_greyscale_to_palettealpha")
row.prop(nif_obj_props, "slsf_1_greyscale_to_palettecolor")
row.prop(nif_obj_props, "slsf_1_hair_soft_lighting")
row.prop(nif_obj_props, "slsf_1_Landscape")
row.prop(nif_obj_props, "slsf_1_localmap_hide_secret")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment