Skip to content

Instantly share code, notes, and snippets.

@dedmen
Last active May 25, 2018 14:07
Show Gist options
  • Save dedmen/90691e56c2dd77bc152ce0a48caf47ba to your computer and use it in GitHub Desktop.
Save dedmen/90691e56c2dd77bc152ce0a48caf47ba to your computer and use it in GitHub Desktop.
#PixelShaders
Normal /*diffuse color modulate, alpha replicate*/\
#[normal map]
NormalDXTA /*diffuse color modulate, alpha replicate, DXT alpha correction*/\
NormalMap /*normal map shader*/\
1: Normal Map
2: --
3: Irradiance (RGBA) (Shaders with irradiance maps are obsolete!)
//[normal map, specular map(diff,spec,power)]
NormalMapThrough /*normal map shader - through lighting*/\
1: normal
2: Diffuse Attenuation (Only alpha channel is used. greyscale map?)
3: Ambient Attenuation (RGBA)
NormalMapGrass /*normal map shader - through lighting*/\
1: normal
NormalMapDiffuse /**/\
1: Normal
2: detail
Detail /*detail texturing*/\
1: Detail
Interpolation /**/\
1: Diffuse1
2: Diffuse2
15: Thermal map
Interpolated by alpha channel of ambient color map.
Alpha is forced to `1`
Water /*sea water*/\
2: Foam
WaterSimple /*small water*/\
1: Normal Map
2: Foam
3: fresnelSpecular (Specular RGB, Fresnel or alpha A)
White /**/\
1,1,1,1 RGBA
WhiteAlpha /**/\
Alpha from Ambient color. RGB is ignored
AlphaShadow /*shadow alpha write*/\
-> Road2Pass
AlphaNoShadow /*shadow alpha (no shadow write*/\
-> Road2Pass
Dummy0 /**/\
Not implemented -> Empty
DetailMacroAS /*detail with ambient shadow texture*/\
1: DetailMap
2: Macro Map
3: Shadow Map
NormalMapMacroAS /*normal map with ambient shadow texture*/\
1: Normal Map
2: Macro Map
3: Irradiance (Shaders with irradiance maps are obsolete!)
NormalMapDiffuseMacroAS /*diffuse normal map with ambient shadow texture*/\
1: Normal
2: Detail
3: Macro
4: Shadow
NormalMapSpecularMap /*normal map with specular map*/\
1: Normal
2: Specular
//[normal map, detail map, specular map]
NormalMapDetailSpecularMap /*normal map with detail and specular map*/\
1: Normal
2: Detail
3: Specular
NormalMapMacroASSpecularMap /*normal map with ambient shadow and specular map*/\
1: Normal
2: Macro
3: Shadow
4: Specular
NormalMapDetailMacroASSpecularMap /*normal map with detail and ambient shadow and specular map*/\
1: Normal Map
2: Detail Map
3: Macro Map
4: ShadowMap
5: Specular Map
NormalMapSpecularDIMap /*normal map with specular map, diffuse is inverse of specular*/\
-> NormalMapSpecularMap
14: Thermal
15: Temperature Tc table
NormalMapDetailSpecularDIMap /*normal map with detail and specular map, diffuse is inverse of specular*/\
-> NormalMapDetailSpecularMap
NormalMapMacroASSpecularDIMap /*normal map with ambient shadow and specular map, diffuse is inverse of specular*/\
-> NormalMapDetailMacroASSpecularMap
NormalMapDetailMacroASSpecularDIMap /*normal map with detail and ambient shadow and specular map, diffuse is inverse of specular*/\
->NormalMapDetailMacroASSpecularMap
Terrain1 /*terrain - X layers*/\
Terrain2 /*terrain - X layers*/\
Terrain3 /*terrain - X layers*/\
Terrain4 /*terrain - X layers*/\
Terrain5 /*terrain - X layers*/\
Terrain6 /*terrain - X layers*/\
Terrain7 /*terrain - X layers*/\
Terrain8 /*terrain - X layers*/\
Terrain9 /*terrain - X layers*/\
Terrain10 /*terrain - X layers*/\
Terrain11 /*terrain - X layers*/\
Terrain12 /*terrain - X layers*/\
Terrain13 /*terrain - X layers*/\
Terrain14 /*terrain - X layers*/\
Terrain15 /*terrain - X layers*/\
TerrainSimple1 /*terrainSimple - X layers*/\
TerrainSimple2 /*terrainSimple - X layers*/\
TerrainSimple3 /*terrainSimple - X layers*/\
TerrainSimple4 /*terrainSimple - X layers*/\
TerrainSimple5 /*terrainSimple - X layers*/\
TerrainSimple6 /*terrainSimple - X layers*/\
TerrainSimple7 /*terrainSimple - X layers*/\
TerrainSimple8 /*terrainSimple - X layers*/\
TerrainSimple9 /*terrainSimple - X layers*/\
TerrainSimple10 /*terrainSimple - X layers*/\
TerrainSimple11 /*terrainSimple - X layers*/\
TerrainSimple12 /*terrainSimple - X layers*/\
TerrainSimple13 /*terrainSimple - X layers*/\
TerrainSimple14 /*terrainSimple - X layers*/\
TerrainSimple15 /*terrainSimple - X layers*/\
Glass /*glass shader with environmental map*/\
1: Normal
2: env color
NonTL /*very simple 2D pixel shader*/\
None only ambient color
NormalMapSpecularThrough /*normal map shader - through with specular lighting*/\
1: Normal Map
2: Diffuse Attenuation (Only alpha. Grayscale)
3: Ambient Attenuation (RGBA)
Grass /*grass shader - alpha discretized*/\
None. ARGB ambient color
NormalMapThroughSimple /*simple version of NormalMapThrough shader*/\
1: Normal Map
NormalMapSpecularThroughSimple /*simple version of NormalMapSpecularThrough shader*/\
-> NormalMapThroughSimple
Road /*road shader*/\
1: Normal
2: Detail
3: Specular
Shore /*shore shader*/\
2: Foam (greyscale?)
ShoreWet /*shore shader for the wet part*/\
Road2Pass /*road shader - second pass*/\
None. Only diffuse input
ShoreFoam /*shore shader for the foam on the top of the shore*/\
2: Foam (like in `Shore`)
NonTLFlare /*shader to be used for flares*/\
12: brightness greyscale
13: one pixel color map, multiplied by aperture
14: aperture greyscale
NormalMapThroughLowEnd /*substitute shader for NormalMapThrough shaders for low-end settings*/\
Not implemented
TerrainGrass1 /*terrain grass - X layers*/\
TerrainGrass2 /*terrain grass - X layers*/\
TerrainGrass3 /*terrain grass - X layers*/\
TerrainGrass4 /*terrain grass - X layers*/\
TerrainGrass5 /*terrain grass - X layers*/\
TerrainGrass6 /*terrain grass - X layers*/\
TerrainGrass7 /*terrain grass - X layers*/\
TerrainGrass8 /*terrain grass - X layers*/\
TerrainGrass9 /*terrain grass - X layers*/\
TerrainGrass10 /*terrain grass - X layers*/\
TerrainGrass11 /*terrain grass - X layers*/\
TerrainGrass12 /*terrain grass - X layers*/\
TerrainGrass13 /*terrain grass - X layers*/\
TerrainGrass14 /*terrain grass - X layers*/\
TerrainGrass15 /*terrain grass - X layers*/\
Crater1 /*Crater rendering - X craters*/\
None. Only diffuse. Same for all Craters
Crater2 /*Crater rendering - X craters*/\
Crater3 /*Crater rendering - X craters*/\
Crater4 /*Crater rendering - X craters*/\
Crater5 /*Crater rendering - X craters*/\
Crater6 /*Crater rendering - X craters*/\
Crater7 /*Crater rendering - X craters*/\
Crater8 /*Crater rendering - X craters*/\
Crater9 /*Crater rendering - X craters*/\
Crater10 /*Crater rendering - X craters*/\
Crater11 /*Crater rendering - X craters*/\
Crater12 /*Crater rendering - X craters*/\
Crater13 /*Crater rendering - X craters*/\
Crater14 /*Crater rendering - X craters*/\
Sprite /*Shader used for sprite rendering - it uses SoftParticle approach*/\
1: depth buffer thingy? greyscale map
SpriteSimple /*Shader used for sprite rendering - no SoftParticle approach*/\
None
Cloud /*Shader used for clouds*/\
None. Diffuse only
Horizon /*Shader used for the horizon*/\
0: Diffuse1
1: Diffuse2
15: Thermal
Interpolated by AmbientColor A and multiplied with AmbientColor RGB. Using the Alpha output from the Diffuse maps
Super /*Super shader*/\
1: normal
2: detailMap
3: MacroMap
4: ambientShadow
5: specular
6: fresnel
7: env
Multi /*Multi shader*/\
1: color2 mask R(color 1 is diffuse map)
2: color3 mask G
3: color4 mask B
4: Mask
5: SMDI
6: SMDI mask R
7: SMDI mask G
8: SMDI mask B
9: Macro
10: Amibnet Shadow
11: Normal1
12: Normal2 Mask R
13: normal3 Mask G
14: normal4 Mask B
TerrainX /*terrain - general number of layers*/\
1: Sat and mask
2: Color Map
3: NormalMap //layer 1
4: Detail Map
5: NormalMap //layer 2
6: Detail Map
7: NormalMap //layer 3
8: Detail Map
9: NormalMap //layer 4
10: Detail Map
11: NormalMap //layer 5
12: Detail Map
13: NormalMap //layer 6
14: Detail Map
15: Satellite Normal Map
TerrainSimpleX /*terrainSimple - general number of layers*/\
TerrainGrassX /*terrain grass - general number of layers*/\
Tree /*Tree shader*/\
1: Normal Map
2: Shadow Map
14: Thermal
15: Temperature Tc table
TreePRT /*Tree shader - very cheap shader with PRT*/\
1: PRT Map
2: MacroMap
TreeSimple /*Tree shader - simpler version of Tree*/\
-> Tree
Skin /*Human skin - derived from Super shader*/\
1: Normal
2: Macro
3: Diffuse
4: Shadow Map
5: Specular
6: fresnel
7: env
14: Thermal
15: Temperature Tc table
CalmWater /*calm water surface*/\
1: normal
2: normal
3: detail
4: foam
5: some texture. lerp between G and R based on focus
6: noise map (Only with SSSM shadows)
7: sky reflecton
10: refract texture
11: some depth thing. greyscale
TreeAToC /*tree with alpha to coverage*/\
-> Tree
GrassAToC /*grass with alpha to coverage*/\
-> Grass
TreeAdv /*advanced tree crown shader*/\
TreeAdvSimple /*advanced tree crown shader*/\
-> Tree
TreeAdvTrunk /*advanced tree shader*/\
-> Tree
TreeAdvTrunkSimple /*advanced tree shader*/\
-> Tree
TreeAdvAToC /*advanced tree crown shader*/\
-> Tree
TreeAdvSimpleAToC /*advanced tree crown shader*/\
-> Tree
TreeSN /*Tree shader width simple noise*/\
-> Tree
SpriteExtTi /*Sprite used for vehicles covering*/\
-> Sprite
TerrainSNX /*terrain - general number of layers + satellite normal map*/\
1: Sat and mask
2: Color Map
3: NormalMap //layer 1
4: Detail Map
5: NormalMap //layer 2
6: Detail Map
7: NormalMap //layer 3
8: Detail Map
9: NormalMap //layer 4
10: Detail Map
11: NormalMap //layer 5
12: Detail Map
15: Satellite Normal Map
InterpolationAlpha /**/\
-> Interpolation but respecting alpha
VolCloud /*Shader used for volumetric cloud - it uses SoftParticle approach*/\
1: depth greyscale
VolCloudSimple /*Shader used for volumetric cloud - no SoftParticle approach*/\
None. Just ambient color.
UnderwaterOcclusion /*Shader used for underwater occlusion object*/\
SimulWeatherClouds /** SimulWeather clouds */ \
Might not be implemented. Either CPU or non CPU variant is implemented.
2: noise texture in BGRA
Cloud density in 2 3D LOD's
SimulWeatherCloudsWithLightning /** SimulWeather clouds with lightning */ \
Might not be implemented. Either CPU or non CPU variant is implemented.
-> SimulWeatherClouds
SimulWeatherCloudsCPU /** SimulWeather clouds with CPU distance fading */ \
Might not be implemented. Either CPU or non CPU variant is implemented.
-> SimulWeatherClouds
SimulWeatherCloudsWithLightningCPU /** SimulWeather clouds with lightning and CPU distance fading */ \
Might not be implemented. Either CPU or non CPU variant is implemented.
->SimulWeatherClouds
SuperExt /* skyscraper & building, intended as super shader light version */\
1: normal
2: detailMap
3: MacroMap
4: ambientShadow
5: specular
6: fresnel
7: env
8: emissive (using DiffuseMap UV)
14: Thermal
15: Temperature Tc table
SuperHair /* super shader for hair rendering*/\
-> Super
SuperHairAtoC /* super shader for hair rendering, atoc version*/\
-> Super
Caustics /* shader for caustics effect */\
14: color (should probably be a gradient)
15: shadowMap (Only with SSSM shadows enabled)
Refract /* shader for refractions _ARMA3_REFRACTION */\
1: Normal
2: specular
3: fresnel
4: Envmap
10: background texture
11: depth greyscale
SpriteRefract /* _ARMA3_REFRACTION_SPRITES - Shader used for sprite rendering with refraction - it uses SoftParticle approach*/\
10: background tex
11: depth greyscale
SpriteRefractSimple /* _ARMA3_REFRACTION_SPRITES - Shader used for sprite rendering with refraction- no SoftParticle approach*/\
->SpriteRefract
SuperAToC /* Super shader AToC variant */\
-> Super
NonTLFlareNew /*shader to be used for flares, new HDR version*/\
-> NonTLFlare
NonTLFlareLight /*shader to be used for flares from dynamic lights (not sun */\
-> NonTL
TerrainNoDetailX /*terrainX without detail map*/\
-> Terrain
TerrainNoDetailSNX /*terrainSNX without detail map*/\
-> Terrain
TerrainSimpleSNX /*terrainSNX without parallax mapping*/\
-> Terrain
NormalPiP /*shader for PiP screens*/\#
None. Ambient color only
NonTLFlareNewNoOcclusion /*same as NonTLFlareNew, but without occlusion test*/\
None. Ambient color only
Empty /*empty shader, does not output anything (used only for depth output */\
Point /*Shader used for point lights*/\
None. Only ambient
TreeAdvTrans /*same as TreeAdv, but there is translucency map in alpha channel of MCA texture (instead of AO */\
1: wrap Normal
2: wrap
TreeAdvTransAToC /*same as TreeAdv, but there is translucency map in alpha channel of MCA texture (instead of AO)*/\
-> TreeAdvTrans
Collimator
LODDiag
DepthOnly
//Vertex Shaders
Basic /*no extra info*/\
NormalMap /*normal map*/\
NormalMapDiffuse /*normal map + detail map*/\
Grass /**/\
Dummy1 /**/\
Dummy2 /**/\
ShadowVolume /*shadow volumes*/\
Water /*per-vertex water animation*/\
WaterSimple /*per-vertex water animation (without foam */\
Sprite /*particle effects*/\
Point /*anti-aliased points*/\
NormalMapThrough /*normal map - tree shader*/\
Dummy3 /**/\
Terrain /*one pass terrain, no alpha mask - based on VSNormalMapDiffuse*/\
BasicAS /*ambient shadow*/\
NormalMapAS /*normal map with ambient shadow*/\
NormalMapDiffuseAS /*diffuse normal map with ambient shadow*/\
Glass /*glass shader*/ \
NormalMapSpecularThrough /*normal map with specular - tree shader*/\
NormalMapThroughNoFade /*normal map - tree shader - without face fading*/\
NormalMapSpecularThroughNoFade /*normal map with specular - tree shader - without face fading*/\
Shore /*sea shore - similar to Terrain*/\
TerrainGrass /*grass layer - similar to Terrain*/\
Super /*Super shader - expensive shader containing all common features*/\
Multi /*Multi shader - shader with multiple layers suitable for huge surfaces like houses*/\
Tree /*Tree shader - cheap shader designed for trees and bushes*/\
TreeNoFade /*Tree shader - cheap shader designed for trees and bushes - without face fading*/\
TreePRT /*Tree shader - very cheap shader designed for trees and bushes*/\
TreePRTNoFade /*Tree shader - very cheap shader designed for trees and bushes - without face fading*/\
Skin /*Human skin - derived from Super shader*/\
CalmWater /*calm water surface - special shader*/\
TreeAdv /*advanced tree crown shader VSTreeAdv*/\
TreeAdvTrunk /*advanced tree crown shader VSTreeAdvTrunk*/\
VolCloud /*volumetric clouds*/\
Road /*roads*/\
UnderwaterOcclusion /*underwater occlusion object vertex shader*/\
SimulWeatherClouds /*simul weather clouds*/\
SimulWeatherCloudsCPU /*simul weather clouds with CPU distance fading*/\
SpriteOnSurface /*sprite on surface*/\
TreeAdvModNormals /*advanced tree crown shader with modified vertex normals*/\
Refract /*vertex shader for refractions - _ARMA3_REFRACTION*/\
SimulWeatherCloudsGS /*simul weather clouds with geom shader*/\
BasicFade /*basic with face fading (based on the angle with camera direction */\
Star /*Similar to Point but only for drawing stars */\
TreeAdvNoFade /*advanced tree crown shader - no face fading*/\
//UV sources
None
Tex
TexWaterAnim
Pos
Norm
Tex1
WorldPos
WorldNorm
TexShoreAnim
TexCollimator
TexCollimatorInv
//Renderflag
AlwaysInShadow
NoZWrite
LandShadow
Dummy0
NoColorWrite
NoAlphaWrite
AddBlend
AlphaTest32
AlphaTest64
AlphaTest128
Road
NoTiWrite
NoReceiveShadow
NoLODBlend
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment