...
| Shader Filename | Type | Descriptive Name | Includes | Usage in Game | Notes |
|---|---|---|---|---|---|
| fs.shd | Fragment Shader | inc_standard | Looks to the the standard fragment shader when no texture, lighting or PBR maps are applied. | ||
| fs_beamvol | Fragment Shader | None | Related to beaming (light ray effects on tiles). | ||
| fs_cg_btn_col | Fragment Shader | inc_standard | No comments. cg_btn_col is the button to select "colour" - PLT colours for the player - at chargen. So something to do with that potentially. | ||
| fs_invalid | Fragment Shader | Invalid | None | Provides the RGB colour 1.0, 0.0, 1.0 (alpha 1.0) to the output. This is bright pink. | |
| fs_pltgen | Fragment Shader | PLT Generation | None | No comments. PLT file related? Currently PLT files are dealt with on the CPU. | |
| fs_shadowplane | Fragment Shader | Shadow Plane | inc_standard | No comments. Presumably shadow related. | |
| fs_shadowvol | Fragment Shader | Shadow Volume | None | "This is just for debugging output." presumably for debugging shadow volumes | |
| fsc | Fragment Shader | Colour | inc_standard | Fragment colour matches the vertex colour, no PBR and no Textures - shadows possibly use this. | |
| fsc_ls | Fragment Shader | Colour, Long Distance Fog | None | Fragment shader using color input with long-distance fog. The long-distance fog is useful for shadows: it needs to fade out unless it's on the top portion of the screen. | |
| fsc_sm | Fragment Shader | Colour, Sphere Mapped | None | ||
| fsfbdof | Fragment Shader | Depth of Field | None | Depth of Field shader. Depth of field is generally used for screenshots only since it makes everything but the camera focus point blurry. | |
| fsfbgam | Fragment Shader | Gamma | None | Sets the gamma. The gamma option in-game defaults to 2.2 | |
| fsfblvls | Fragment Shader | Dynamic contrast shader | None | Adds contrast to the current scene with a dynamic midpoint based on area lighting. | |
| fsfbpostpr | Fragment Shader | Post Processor | inc_postpr | See include file "inc_postpr". Does this in fact do all the post-processing shader effects and the other files are legacy? or do the other files do it and this is legacy? or a mix? | |
| fsfbshrp | Fragment Shader | Sharpen | None | Sharpens the image based on differences in luma. | |
| fsfbssao | Fragment Shader | SSAO | None | Screen Space Ambient Radiosity, Highlight and Occlusion for NWN:EE. Mimics the ambient light radiation and occlusion that would realistically affect the appearance of objects in a scene, adding to the sense of depth and detail. | |
| fsfbvib | Fragment Shader | Vibrance | None | Seems to find the min and max colour and saturates it by the difference. Unknown if used in game. | |
| fsglu | Fragment Shader | inc_standard | |||
| fsgrass | Fragment Shader | Grass | inc_standard | Presumably the shader for grass | |
| fslit | Fragment Shader | Lighting | inc_standard | No textures, but has fog, lighting and keyholing, so general lighting shader? | |
| fslit_nm | |||||
| fslit_sm | |||||
| fslit_sm_nm | |||||
| fsparticle | Main entrypoint for emitter particle planes. Does not handle chunk emitters. | ||||
| fst | |||||
| fstc | |||||
| fstc_sm | |||||
| fst_sm | |||||
| fswater | Main entrypoint for fancy water applied via TXI. Can also be called directly to make custom fancy waters, but will not work exactly the same. | ||||
| fs_beamvol | |||||
| fs_cg_btn_col | |||||
| fs_invalid | |||||
| fs_pltgen | |||||
| fs_shadowplane | |||||
| fs_shadowvol | |||||
| inc_common | Includes the most common functions and sets up variables used by all shader subtypes. Also preps communication with textures and negotiates flags that were no explicitly set. Calls inc_config. | ||||
| inc_config | Sets up some specific shader flags, such as which shader quality to use, and some stuff about lighting. Called by inc_common. | ||||
| inc_keyhole | Sets up keyholing functions. Called by inc_standard. | ||||
| inc_lighting | Includes functions for rendering light from point sources and from certain types of self-illumination maps. Calls inc_material. Called by inc_standard. | ||||
| inc_material | Includes functions for deriving numeric values from textures. Handles things like specular and roughness mapping, as well as texturespace occlusion based on height mapping. Calls inc_lighting. Called by | ||||
| inc_postpr | Includes the main hub file for all of the post processing functions. If options are set to run those functions, it will include the other postpr includes and run their functions. | ||||
| inc_postpr_dof | Includes functions to draw depth of field effects. | ||||
| inc_postpr_dyn_c | Includes function for screenspace dynamic contrast correction. | ||||
| inc_postpr_gam | Includes functions for screenspace gamma correction. | ||||
| inc_postpr_shrp | Includes functions for screenspace sharpening. | ||||
| inc_postpr_vibr | Includes functions for screenspace vibrance enhancement. | ||||
| inc_standard | Includes functions to run the standard shader. Calls inc_lighting and inc_keyhole. Called by shader entrypoint files like fs_lit and vs_lit. | ||||
| inc_water | Includes functions to produce fancy water. Includes code for handling things like wind sources and using the built-in noise texture. Called by fs_water. | ||||
| vsfbdof | |||||
| vsfbgam | |||||
| vsfblvls | |||||
| vsfbpostpr | |||||
| vsfbshrp | |||||
| vsfbssao | |||||
| vsfbvib | |||||
| vsglu | |||||
| vsgrass | |||||
| vslit | |||||
| vslitc | |||||
| vslitc_nm | |||||
| vslitc_sm | |||||
| vslitc_sm_nm | |||||
| vslitnotex | |||||
| vslitnt_sm | |||||
| vslit_nm | |||||
| vslit_sk | |||||
| vslit_sk_nm | |||||
| vslit_sm | |||||
| vslit_sm_nm | |||||
| vsparticle | Main entrypoint for emitter particle planes. Does not handle chunk emitters. | ||||
| vsv | |||||
| vsvc | |||||
| vsvt | |||||
| vsvtc | |||||
| vsvt_sm | |||||
| vswater | Main entrypoint for fancy water applied via TXI. | ||||
| vswaterc | |||||
| vs_beamvol | Includes code for projecting beaming volumes. | ||||
| vs_invalid | |||||
| vs_pltgen | |||||
| vs_shadowplane | |||||
| vs_shadowvol | Includes code for projecting shadow volumes. Not to be confused with texturespace or screenspace shadow-ing from occlusion. |
...