LUX: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
 Note:Ported in this case usually means
Note:Ported in this case usually means 
 , however in most of these cases, the code for this will be heavily adapted to simplify or overhaul it.
, however in most of these cases, the code for this will be heavily adapted to simplify or overhaul it.
 Important:LUX does not use any leaked code. Features like $phongalbedoboost(only in csgo) are not rocket-science. They can safely be recreated without the use of leaked code.
Important:LUX does not use any leaked code. Features like $phongalbedoboost(only in csgo) are not rocket-science. They can safely be recreated without the use of leaked code.
Features required for 
 Bug:$detailblendmode
Bug:$detailblendmode
 2-9 Don't work.  [todo tested in ?]
 2-9 Don't work.  [todo tested in ?]
 Bug:$detailblendmode
Bug:$detailblendmode 6 Doesn't work.  [todo tested in ?]
 6 Doesn't work.  [todo tested in ?]
 Bug:$detailblendmode
Bug:$detailblendmode 1-6, 8 Don't work. 9 Does not work with $bumpmap, $envmap or $selfillum  [todo tested in ?]
 1-6, 8 Don't work. 9 Does not work with $bumpmap, $envmap or $selfillum  [todo tested in ?]
 Bug:$bumpmap + $envmapmask Doesn't work, except in
Bug:$bumpmap + $envmapmask Doesn't work, except in  Counter-Strike: Global Offensive  [todo tested in ?]
 Counter-Strike: Global Offensive  [todo tested in ?]
 Bug:$lightwarptexture + $detail
Bug:$lightwarptexture + $detail
 Doesn't work  [todo tested in ?]
 Doesn't work  [todo tested in ?]
 Bug:$basealphaenvmapmask + bumpmap Doesn't work  [todo tested in ?]
Bug:$basealphaenvmapmask + bumpmap Doesn't work  [todo tested in ?]
 Note:$selfillummask Missing
Note:$selfillummask Missing
 Note:$selfillum_envmapmask_alpha Missing
Note:$selfillum_envmapmask_alpha Missing
 Note:$selfillumfresnel Missing
Note:$selfillumfresnel Missing
 Note:$blendtintbybasealpha Missing
Note:$blendtintbybasealpha Missing
 Note:$detailtexturetransform Missing
Note:$detailtexturetransform Missing
 Note:$lightwarptexture
Note:$lightwarptexture Missing
 Missing
 Note:$envmapfresnelminmaxexp(only in
Note:$envmapfresnelminmaxexp(only in  +)
+)
 Note:$envmaplightscale(only in
Note:$envmaplightscale(only in  +)
+)
 Note:$basealphaenvmapmask requires inverted masks
Note:$basealphaenvmapmask requires inverted masks
 Bug:$detailblendmode
Bug:$detailblendmode


 10-11 Don't work.  [todo tested in ?]
 10-11 Don't work.  [todo tested in ?]
 Bug:$selfillumfresnel missing.  [todo tested in ?]
Bug:$selfillumfresnel missing.  [todo tested in ?]
 Bug:$lightwarptexture missing.  [todo tested in ?]
Bug:$lightwarptexture missing.  [todo tested in ?]
 Bug:$detailblendmode
Bug:$detailblendmode


 5-11 Don't work.  [todo tested in ?]
 5-11 Don't work.  [todo tested in ?]
 Bug:$detailblendmode
Bug:$detailblendmode 5-6 & 8-11 Don't work.  [todo tested in ?]
 5-6 & 8-11 Don't work.  [todo tested in ?]
 Note:$envmapmask missing. Except
Note:$envmapmask missing. Except  .
.
 Note:$selfillummask missing.
Note:$selfillummask missing. 
 Note:$selfillum_envmapmask_alpha
Note:$selfillum_envmapmask_alpha missing.
 missing.
 Bug:$selfillumfresnel disables $normalmapalphaenvmapmask.   [todo tested in ?]
Bug:$selfillumfresnel disables $normalmapalphaenvmapmask.   [todo tested in ?]
 Bug:$detailblendmode
Bug:$detailblendmode


 8-11 Don't work.  [todo tested in ?]
 8-11 Don't work.  [todo tested in ?]
 Bug:$invertphongmask
Bug:$invertphongmask
 In the shadercode, only flips the mask used for $envmap.
 In the shadercode, only flips the mask used for $envmap.  Confirm:Also on newer branches?  [todo tested in ?]
 Confirm:Also on newer branches?  [todo tested in ?]
 Bug:$phongalbedotint cannot be used without $phongexponenttexture.  [todo tested in ?]
Bug:$phongalbedotint cannot be used without $phongexponenttexture.  [todo tested in ?]
 Bug:$phongwarptexture
Bug:$phongwarptexture does not work.  [todo tested in ?]
 does not work.  [todo tested in ?]
 Bug:$phongalbedoboost(only in
Bug:$phongalbedoboost(only in  ) + $detail does not work.  [todo tested in ?]
) + $detail does not work.  [todo tested in ?]
 Bug:$phongtint disables $phongalbedotint.  [todo tested in ?]
Bug:$phongtint disables $phongalbedotint.  [todo tested in ?]
 Bug:Only in
Bug:Only in  + $envmap masked by $basetexture luminance when $normalmapalphaenvmapmask and $basemapluminancephongmask is used.  [todo tested in ?]
+ $envmap masked by $basetexture luminance when $normalmapalphaenvmapmask and $basemapluminancephongmask is used.  [todo tested in ?]
 Bug:$envmap masked by $basetexture alpha when $normalmapalphaenvmapmask and $basemapalphaphongmask is used.  [todo tested in ?]
Bug:$envmap masked by $basetexture alpha when $normalmapalphaenvmapmask and $basemapalphaphongmask is used.  [todo tested in ?]
 Bug:$basemapalphaphongmask makes $phong ignore the $bumpmap.  [todo tested in ?]
Bug:$basemapalphaphongmask makes $phong ignore the $bumpmap.  [todo tested in ?]
 Bug:$selfillumfresnel + $normalmapalphaenvmapmask will cause the $envmap to be multiplied by
Bug:$selfillumfresnel + $normalmapalphaenvmapmask will cause the $envmap to be multiplied by 
 Bug:$selfillumfresnel will cause $envmap to be masked using the $basetexture alpha channel  [todo tested in ?]
Bug:$selfillumfresnel will cause $envmap to be masked using the $basetexture alpha channel  [todo tested in ?]
 Note:$phongdisablehalflambert only in
Note:$phongdisablehalflambert only in  +
+
 Note:$phongexponentfactor only in
Note:$phongexponentfactor only in 
 
 Note:$basemapluminancephongmask only in
Note:$basemapluminancephongmask only in  +
+
 Note:$phongalbedoboost only in
Note:$phongalbedoboost only in  +
+
		
	
| ShiroDkxtro2 (talk | contribs) m (Fixed minor mistake - Github Link is doubled, a bunch of typo's) | mNo edit summary | ||
| Line 2: | Line 2: | ||
| {{infotable | {{infotable | ||
| |state=5 | |state=5 | ||
| |ownwiki=https://github.com/ShiroDkxtro2/ACROHS-LUX_-Shaders-Project/wiki | |ownwiki=https://github.com/ShiroDkxtro2/ACROHS-LUX_-Shaders-Project/wiki | ||
| |type=m0 | |type=m0 | ||
| |dev=[[User:ShiroDkxtro2|ShiroDkxtro2]] | |dev=[[User:ShiroDkxtro2|ShiroDkxtro2]] | ||
| |engine=2 | |engine=2 | ||
| |base={{src13|4}} | |base={{src13|4}} | ||
| |platform={{only|PC}} | |platform={{only|PC}} | ||
| |github=ShiroDkxtro2/ACROHS-LUX_-Shaders-Project | |github=ShiroDkxtro2/ACROHS-LUX_-Shaders-Project | ||
| |discord=https://discord.gg/cGv8GGSkpc | |discord=https://discord.gg/cGv8GGSkpc | ||
| }} | }} | ||
| LUX is a [[ | LUX is a [[Modification|mod]] specifically made and developed for use in {{src13sp|4}} and {{src13mp|4}}.<br> | ||
| The Project is to entirely rewrite all existing "'''SDK_'''" Shaders, that come with the SDK and all those available in {{mapbase|4}}. | The Project is to entirely rewrite all existing "'''SDK_'''" Shaders, that come with the SDK and all those available in {{mapbase|4}}. | ||
| Line 87: | Line 86: | ||
| * Water Shader with {{ent|$flowmap}} Support - From {{as}} | * Water Shader with {{ent|$flowmap}} Support - From {{as}} | ||
| * {{ent|$envmaplightscale}} From {{as}} for brushes{{as}}+ AND models {{only|{{csgo}}}}+ | * {{ent|$envmaplightscale}} From {{as}} for brushes{{as}}+ AND models {{only|{{csgo}}}}+ | ||
| :{{important | :{{important}} | ||
| :: * On brushes this will use the Lightmap | :: * On brushes this will use the Lightmap | ||
| :: * On models '''with''' {{ent|$bumpmap}}, this will use bumped lighting. | :: * On models '''with''' {{ent|$bumpmap}}, this will use bumped lighting. | ||
Revision as of 19:20, 17 February 2023
| LUX | |
|---|---|
|  In Alpha development | |
| Wiki | |
| Type | Modification | 
| Developers | ShiroDkxtro2 | 
| Engine |  Source | 
| Platforms | (only in PC) | 
| Based on |  Source 2013 | 
LUX is a mod specifically made and developed for use in  Source 2013 Singleplayer and
 Source 2013 Singleplayer and  Source 2013 Multiplayer.
 Source 2013 Multiplayer.
The Project is to entirely rewrite all existing "SDK_" Shaders, that come with the SDK and all those available in  Mapbase.
 Mapbase.
Goals
- Overhauled/Cleaned materialsystem\stdshaders\Folder
 Warning:Pretty much everything except existing shader-compile functionality is pretty much "nuked". Warning:Pretty much everything except existing shader-compile functionality is pretty much "nuked".
 Note: Implementing LUX Shaders would entail replacing the existing Note: Implementing LUX Shaders would entail replacing the existing- stdshaders\with the one from LUX. Effectively 'nuking' SDK_ Shaders. LUX Shaders should be able to do everything SDK_ Shaders in and and can do. can do. Note:SDK_ Shaders will fall back to LUX_ Shaders, that way LUX_ can easily be used on Note:SDK_ Shaders will fall back to LUX_ Shaders, that way LUX_ can easily be used on Mapbase mods without much work. Mapbase mods without much work.
 
- Drastically decreased compile-times for all Shaders
 Note:Even on a good CPU it can take half a day, or more. As an example for LUX. Compiling the entirety of LUX_LightMappedGeneric takes around 30 seconds on 4 cores @4.1GHz Note:Even on a good CPU it can take half a day, or more. As an example for LUX. Compiling the entirety of LUX_LightMappedGeneric takes around 30 seconds on 4 cores @4.1GHz
- SM3.0 Shaders Only
- Why?: ps20b and below is too limiting. The lack of available constant registers causes extreme branching and a lot of 'combos'. Making the code terrible to read and complicated. This disincentives Modders.
 Note:SM3.0 released in 2004, and Valve considered ps2.0b low end hardware in ~2008. See slide 8 Note:SM3.0 released in 2004, and Valve considered ps2.0b low end hardware in ~2008. See slide 8
 Note:This means that older hardware not capable of SM3.0 will not be able to use the new Shaders. Note:This means that older hardware not capable of SM3.0 will not be able to use the new Shaders.
 Note:Linux is not officially supported. MacOS is also not officially supported. Users of said system will have to either patche Note:Linux is not officially supported. MacOS is also not officially supported. Users of said system will have to either patche- toglto work with SM3.0 or use DxVK.
- Totally rewritten .h, .cpp, .fxc files
- More Documentation for Shaders, their parameters, how they work and any possible caveats
 Note: You might have noticed Articles like $lightwarptexture, $detail, UnlitTwoTexture and $envmapmask getting major updates from ShiroDkxtro2, Note: You might have noticed Articles like $lightwarptexture, $detail, UnlitTwoTexture and $envmapmask getting major updates from ShiroDkxtro2,
- where new information about Caveats and bugs were added for     . This was a direct result of LUX development, although the focus was mainly on . This was a direct result of LUX development, although the focus was mainly on  as their code is publicly available. as their code is publicly available.
 Note:The current lack of documentation, on how Shaders work in Source, disincentives Modders from learning how to mod Shaders or make their own. The barrier of entry is v. high as a lot of very specific knowledge is required too. Note:The current lack of documentation, on how Shaders work in Source, disincentives Modders from learning how to mod Shaders or make their own. The barrier of entry is v. high as a lot of very specific knowledge is required too.
- See also:Planned Features. This includes old features such as $selfillumtexture and newer features like $phongalbedoboost(only in csgo).
- Fixing most Parameter "bugs:" and other caveats
- See also:Stock Shaders VS LUX
- Easy way of disabling features
 Important:A custom Pre-Processor program has been made. It automatically sets Important:A custom Pre-Processor program has been made. It automatically sets- // STATIC:'s to predefined values depending on- #define's in an included header file. Note:Mods that don't require specific features (lightwarptexture/distancealpha/phong/envmaps/etc), can easily disable them. This will speed up Shader-compilation. Most parameters have been Note:Mods that don't require specific features (lightwarptexture/distancealpha/phong/envmaps/etc), can easily disable them. This will speed up Shader-compilation. Most parameters have been- #ifdef'd in the c++ code!
 
- Mapbase compatibility
 Note: Replacing SDK_ Shaders in SDK mods, SDK2013CE or Mapbase mods should be as simple as replacing the Note: Replacing SDK_ Shaders in SDK mods, SDK2013CE or Mapbase mods should be as simple as replacing the- stdshaders\Folder.
 Note: It is assumed that no custom Shaders apart from SDK_ ones were added. If they do were added however, developers should be capable of adding them back, as that is the prerequisite for adding custom Shaders. Note: It is assumed that no custom Shaders apart from SDK_ ones were added. If they do were added however, developers should be capable of adding them back, as that is the prerequisite for adding custom Shaders.
Planned Features
This is a list of new features that are being implemented, or features that will be ported/recreated from newer branches such as 

 
 Note:Ported in this case usually means
Note:Ported in this case usually means 
 , however in most of these cases, the code for this will be heavily adapted to simplify or overhaul it.
, however in most of these cases, the code for this will be heavily adapted to simplify or overhaul it. Important:LUX does not use any leaked code. Features like $phongalbedoboost(only in csgo) are not rocket-science. They can safely be recreated without the use of leaked code.
Important:LUX does not use any leaked code. Features like $phongalbedoboost(only in csgo) are not rocket-science. They can safely be recreated without the use of leaked code. Warning:For features that are more complicated, there might be visual disparity when compared to official implementations. Warning:For features that are more complicated, there might be visual disparity when compared to official implementations.
Features required for  Mapbase compatibility
 Mapbase compatibility
- $phongdisablehalflambert from  + +
- Radial Fog for all "Geometry" Shaders
- Spline-Ropes
- Parallax Corrected Cubemaps ( PCC )
 Note:Just like Note:Just like Mapbase, this requires custom compilers to work. Mapbase, this requires custom compilers to work.
- $envmapmask + $bumpmap on VertexLitGeneric
- Replacement for the "Postprocessing" Controller Shader
- Replacement for the "Engine_post" Shader from  
- Hammer $blendmodulatetexture previewing fix.
- Brush $phong
- Treesway
New Features
- In  Models utilizing Model Lightmapping can use $bumpmap. Additionally all Model shaders will be able to utilize this feature. Except they have $phong. Models utilizing Model Lightmapping can use $bumpmap. Additionally all Model shaders will be able to utilize this feature. Except they have $phong.
 Important:The Lightmap does not do bumped-lighting using the bumpmap. Only named-lights/projected textures will be able to do so. Important:The Lightmap does not do bumped-lighting using the bumpmap. Only named-lights/projected textures will be able to do so.
 Note: Lightmapped models will not be able to receive $phong. This is not planned at the moment but should be possible for named-lights/projected textures! Note: Lightmapped models will not be able to receive $phong. This is not planned at the moment but should be possible for named-lights/projected textures!
 Warning:The way this is currently implemented requires a custom written tool, two smd's ( one with lightmap uv ) and also has a lot of precision loss for the Lightmap UV's. Additionally this requires a custom compiler! Warning:The way this is currently implemented requires a custom written tool, two smd's ( one with lightmap uv ) and also has a lot of precision loss for the Lightmap UV's. Additionally this requires a custom compiler!
Features ported/recreated/revived
- $phongdisablehalflambert From  + - Also needed for + - Also needed for 
- $phongexponentfactor From   , with LUX also on , with LUX also on 
- $phongalbedoboost From  - Its just - Its justBaseTexture * $PhongAlbedoBoost... No leaked code!
- $basemapluminancephongmask From  + +
 Note:LUX allows the use of Rec. 709 HDTV Luminance Weights. Note:LUX allows the use of Rec. 709 HDTV Luminance Weights.- float3(0.2126f, 0.7152f, 0.0722f).
Previously SDK_ Shaders would use the NTSC Analog Television standard of float3(0.2990f, 0.5870f, 0.1140f) 
- $selfillumtexture Deprecated since  - This used to be obsolete - This used to be obsolete
 Note: Yes, there is a use for this! $detailblendmode 5 is commonly used for glowing textures. This parameter allows for not wasting your $detail. Additionally no $emissiveblend is required. Note: Yes, there is a use for this! $detailblendmode 5 is commonly used for glowing textures. This parameter allows for not wasting your $detail. Additionally no $emissiveblend is required.
- See also: PBR Shaders in the community commonly have a $emissiontexture parameter that does EXACTLY what $selfillumtexture does in LUX.
- Water Shader with $flowmap Support - From  
- $envmaplightscale From  for brushes for brushes + AND models (only in + AND models (only in )+ )+
 Important: Important:
Features that are being discarded
- $envmapsphere and related - These features have been removed since  and are obsolete. and are obsolete.
- $bumpmask and related
Features that won't be ported/recreated/revived
- $basealphaenvmapmaskminmaxexp from  - This parameter is not yet documented on the VDC, it is also unclear what exactly it does... - This parameter is not yet documented on the VDC, it is also unclear what exactly it does...
- $EnvMapLightScaleMinMax from  
Not functional - FOR NOW
- $emissiveblend - Non-Existant. Planned for later.
- $distancealpha - Non-Functional. Planned for later.
- $ssbump - Non-Functional. Planned for later.
- $detailblendmode 10 & 11. - Non-Functional. Planned for later.
Stock Shaders VS LUX
Todo: Move This to their own pages or something like that.
LightMappedGeneric
Stock Shader's
 Bug:$detailblendmode
Bug:$detailblendmode
 2-9 Don't work.  [todo tested in ?]
 2-9 Don't work.  [todo tested in ?] Bug:$detailblendmode
Bug:$detailblendmode 6 Doesn't work.  [todo tested in ?]
 6 Doesn't work.  [todo tested in ?] Bug:$detailblendmode
Bug:$detailblendmode 1-6, 8 Don't work. 9 Does not work with $bumpmap, $envmap or $selfillum  [todo tested in ?]
 1-6, 8 Don't work. 9 Does not work with $bumpmap, $envmap or $selfillum  [todo tested in ?]
 Bug:$bumpmap + $envmapmask Doesn't work, except in
Bug:$bumpmap + $envmapmask Doesn't work, except in  Counter-Strike: Global Offensive  [todo tested in ?]
 Counter-Strike: Global Offensive  [todo tested in ?] Bug:$lightwarptexture + $detail
Bug:$lightwarptexture + $detail
 Doesn't work  [todo tested in ?]
 Doesn't work  [todo tested in ?] Bug:$basealphaenvmapmask + bumpmap Doesn't work  [todo tested in ?]
Bug:$basealphaenvmapmask + bumpmap Doesn't work  [todo tested in ?]
 Note:$selfillummask Missing
Note:$selfillummask Missing Note:$selfillum_envmapmask_alpha Missing
Note:$selfillum_envmapmask_alpha Missing Note:$selfillumfresnel Missing
Note:$selfillumfresnel Missing Note:$blendtintbybasealpha Missing
Note:$blendtintbybasealpha Missing Note:$detailtexturetransform Missing
Note:$detailtexturetransform Missing Note:$lightwarptexture
Note:$lightwarptexture Missing
 Missing Note:$envmapfresnelminmaxexp(only in
Note:$envmapfresnelminmaxexp(only in  +)
+) Note:$envmaplightscale(only in
Note:$envmaplightscale(only in  +)
+) Note:$basealphaenvmapmask requires inverted masks
Note:$basealphaenvmapmask requires inverted masksLUX_LightMappedGeneric
- $detailblendmode 1-9 works.
- $detailblendmode 10-11 planned.
- $bumpmap + $envmapmask works, used to be (only in  .) .)
- $lightwarptexture + $detail works ( does not work in   ). ).
- $basealphaenvmapmask + $bumpmap works.
- $selfillummask Exists now.
- $blendtintbybasealpha Exists now.
- $selfillum_envmapmask_alpha Exists now.
- $detailtexturetransform Exists now.
 Note:Caveat - Has higher priority than $selfillum/$selfillummask. Note:Caveat - Has higher priority than $selfillum/$selfillummask. Note:Caveat - $selfillumtexture has higher priority than both. Note:Caveat - $selfillumtexture has higher priority than both.
 
 
 Important:$basealphaenvmapmask does no longer require a flipped mask. Important:$basealphaenvmapmask does no longer require a flipped mask. Workaround:Materials that previously used have to be adjusted. Use $envmapmask or $normalmapalphaenvmapmask instead! Workaround:Materials that previously used have to be adjusted. Use $envmapmask or $normalmapalphaenvmapmask instead!
 
VertexLitGeneric
Stock Shader's
Always
$envmaplightscale(only in  ).
).
Without $Bumpmap
 Bug:$detailblendmode
Bug:$detailblendmode


 10-11 Don't work.  [todo tested in ?]
 10-11 Don't work.  [todo tested in ?] Bug:$selfillumfresnel missing.  [todo tested in ?]
Bug:$selfillumfresnel missing.  [todo tested in ?] Bug:$lightwarptexture missing.  [todo tested in ?]
Bug:$lightwarptexture missing.  [todo tested in ?] Note:$lightwarptexture fores bumpmapping by binding a default one, unless one is manually specified. Note:$lightwarptexture fores bumpmapping by binding a default one, unless one is manually specified.
With $Bumpmap
 Bug:$detailblendmode
Bug:$detailblendmode


 5-11 Don't work.  [todo tested in ?]
 5-11 Don't work.  [todo tested in ?] Bug:$detailblendmode
Bug:$detailblendmode 5-6 & 8-11 Don't work.  [todo tested in ?]
 5-6 & 8-11 Don't work.  [todo tested in ?] Note:$envmapmask missing. Except
Note:$envmapmask missing. Except  .
. Note:$selfillummask missing.
Note:$selfillummask missing.  Note:$selfillum_envmapmask_alpha
Note:$selfillum_envmapmask_alpha missing.
 missing. Bug:$selfillumfresnel disables $normalmapalphaenvmapmask.   [todo tested in ?]
Bug:$selfillumfresnel disables $normalmapalphaenvmapmask.   [todo tested in ?]With $Phong
 Bug:$detailblendmode
Bug:$detailblendmode


 8-11 Don't work.  [todo tested in ?]
 8-11 Don't work.  [todo tested in ?] Bug:$invertphongmask
Bug:$invertphongmask
 In the shadercode, only flips the mask used for $envmap.
 In the shadercode, only flips the mask used for $envmap.  Confirm:Also on newer branches?
 Confirm:Also on newer branches? Bug:$phongalbedotint cannot be used without $phongexponenttexture.  [todo tested in ?]
Bug:$phongalbedotint cannot be used without $phongexponenttexture.  [todo tested in ?] Bug:$phongwarptexture
Bug:$phongwarptexture does not work.  [todo tested in ?]
 does not work.  [todo tested in ?] Bug:$phongalbedoboost(only in
Bug:$phongalbedoboost(only in  ) + $detail does not work.  [todo tested in ?]
) + $detail does not work.  [todo tested in ?] Bug:$phongtint disables $phongalbedotint.  [todo tested in ?]
Bug:$phongtint disables $phongalbedotint.  [todo tested in ?] Bug:Only in
Bug:Only in  + $envmap masked by $basetexture luminance when $normalmapalphaenvmapmask and $basemapluminancephongmask is used.  [todo tested in ?]
+ $envmap masked by $basetexture luminance when $normalmapalphaenvmapmask and $basemapluminancephongmask is used.  [todo tested in ?] Bug:$envmap masked by $basetexture alpha when $normalmapalphaenvmapmask and $basemapalphaphongmask is used.  [todo tested in ?]
Bug:$envmap masked by $basetexture alpha when $normalmapalphaenvmapmask and $basemapalphaphongmask is used.  [todo tested in ?] Bug:$basemapalphaphongmask makes $phong ignore the $bumpmap.  [todo tested in ?]
Bug:$basemapalphaphongmask makes $phong ignore the $bumpmap.  [todo tested in ?] Bug:$selfillumfresnel + $normalmapalphaenvmapmask will cause the $envmap to be multiplied by
Bug:$selfillumfresnel + $normalmapalphaenvmapmask will cause the $envmap to be multiplied by 0.0f regardless of whether $invertphongmask is used.  [todo tested in ?] Bug:$selfillumfresnel will cause $envmap to be masked using the $basetexture alpha channel  [todo tested in ?]
Bug:$selfillumfresnel will cause $envmap to be masked using the $basetexture alpha channel  [todo tested in ?] Note:$phongdisablehalflambert only in
Note:$phongdisablehalflambert only in  +
+ Note:$phongexponentfactor only in
Note:$phongexponentfactor only in 

 Note:$basemapluminancephongmask only in
Note:$basemapluminancephongmask only in  +
+ Note:$phongalbedoboost only in
Note:$phongalbedoboost only in  +
+LUX_VertexLitGeneric
Without $Bumpmap
- $detailblendmode 10-11 planned. If possible.
- $selfillumfresnel Exists now.
- $lightwarptexture Exists now.
- Todo: Make a parameter that allows its usage. Right now default behavior is replicated and a default bumpmap is bound.
 
With $Bumpmap
- $detailblendmode 5-9 work.
- $detailblendmode 10-11 planned. If possible.
- $envmapmask Exists now.
- $selfillummask Exists now.
- $selfillum_envmapmask_alpha Exists now.
- $selfillumfresnel + $normalmapalphaenvmapmask Works now.
With $Phong
- $detailblendmode 8-9 work now.
- $detailblendmode 10-11 planned. If possible.
 Note:$invertphongmask Now only flips the mask used for phong. It will no longer touch the envmapmask at all. Note:$invertphongmask Now only flips the mask used for phong. It will no longer touch the envmapmask at all.
 Note:$phongalbedotint can now be used without $phongexponenttexture. Note:$phongalbedotint can now be used without $phongexponenttexture.
 Note:Will use entirety of $basetexture, without being masked. Note:Will use entirety of $basetexture, without being masked.
 
- $phongwarptexture works. ( does not work in  ). ).
- $phongalbedoboost Exists now. Used to be (only in  .) .)
- $phongalbedoboost + $detail Works. Does not work in  Counter-Strike: Global Offensive. Counter-Strike: Global Offensive.
 Note:$phongtint does no longer disable $phongalbedotint. It will do Note:$phongtint does no longer disable $phongalbedotint. It will do- ($baseTexture * Mask) * $PhongTint
 Note:When no $phongexponenttexture is specified, Mask will be 1.0f! Note:When no $phongexponenttexture is specified, Mask will be 1.0f!
 
- $envmap Can now be not-masked by using a new parameter ($phongenvmapnomask)
 Important:By default the original masking for the $envmap will be replicated as to not have disparity. Important:By default the original masking for the $envmap will be replicated as to not have disparity.
However it can now be overriden using two new parameters. $phongforcebasealphaenvmapmask and $phongforcenormalmapalphaenvmapmask
- $basemapalphaphongmask no longer makes $phong ignore the $bumpmap.
 Note:This will make materials that previously used this intentionally, look different. Note:This will make materials that previously used this intentionally, look different.
 
- $selfillumfresnel + $normalmapalphaenvmapmask will no longer multiply the $envmap by 0.0f
- $phongdisablehalflambert Exists now. ( Used to be (only in  +) +)
- $phongexponentfactor Exists now for  . ( Used to be (only in . ( Used to be (only in  ) )
- $basemapluminancephongmask Exists now. ( Used to be (only in  +) +)
- $phongalbedoboost Exists now. ( Used to be (only in  +) +)
Todo: Add LUX_WorldVertexTransition and other LUX_ Shaders to this list of comparison and changes.
 Note: Probably better as their own pages to document all parameters. Note: Probably better as their own pages to document all parameters.



























