LUX: Difference between revisions
Roman memes (talk | contribs) m (ModernNote everywhere) |
ShiroDkxtro2 (talk | contribs) m (Added Credits, History, See Also and implemented LUX Template) |
||
Line 13: | Line 13: | ||
}} | }} | ||
LUX is a [[Modification|mod]] specifically made and developed for use in {{src13sp|4}} and {{src13mp|4}}.<br> | {{LUX|4}} 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| | The Project is to entirely rewrite all existing "'''SDK_'''" Shaders, that come with the SDK and all those available in {{mapbase|2}}. | ||
==Goals== | ==Goals== | ||
* '''Overhauled/Cleaned <code>materialsystem\stdshaders\</code> Folder''' | * '''Overhauled/Cleaned <code>materialsystem\stdshaders\</code> Folder''' | ||
:{{ModernWarning|Pretty much everything except existing shader-compile functionality is pretty much "nuked".}} | :{{ModernWarning|Pretty much everything except existing shader-compile functionality is pretty much "nuked".}} | ||
:{{ModernNote|SDK_ Shaders will fall back to LUX_ Shaders, that way | :{{ModernNote|SDK_ Shaders will fall back to LUX_ Shaders, that way {{LUX|2}} can easily be used on {{mapbase|4}} mods without much work.}} | ||
:{{Notice| Implementing LUX Shaders would entail replacing the existing <code>stdshaders\</code> with the one from LUX. Effectively 'nuking' SDK_ Shaders. LUX Shaders should be able to do everything SDK_ Shaders in {{src13}} and {{mapbase}} can do.}} | :{{Notice| Implementing {{LUX|2}} Shaders would entail replacing the existing <code>stdshaders\</code> with the one from {{LUX|2}}. Effectively 'nuking' SDK_ Shaders. {{LUX|2}} Shaders should be able to do everything SDK_ Shaders in {{src13}} and {{mapbase}} can do.}} | ||
<br> | <br> | ||
* '''Drastically decreased compile-times for all Shaders''' | * '''Drastically decreased compile-times for all Shaders''' | ||
:{{Why|Valves Shaders take '''forever''' to compile {{src13sp}}{{src13mp}}{{as}}. Especially using the stock Shader-Compiler. This disincentives modding the Shaders.}} | :{{Why|Valves Shaders take '''forever''' to compile {{src13sp}}{{src13mp}}{{as}}. Especially using the stock Shader-Compiler. This disincentives modding the Shaders.}} | ||
:{{Notice|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 }} | :{{Notice|Even on a good CPU it can take half a day, '''or more'''. As an example for {{LUX|2}}. Compiling the entirety of LUX_LightMappedGeneric takes around 30 seconds on 4 cores @4.1GHz }} | ||
<br> | <br> | ||
* '''SM3.0 Shaders Only''' | * '''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.}} | :{{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.}} | ||
:{{Notice|Linux is not officially supported. MacOS is also not officially supported. Users of said system will have to either | :{{Notice|Linux is not officially supported. MacOS is also not officially supported. Users of said system will have to either patch <code>togl</code> to work with SM3.0 or use DxVK. }} | ||
:{{ModernNote| | :{{ModernNote| | ||
:* SM3.0 released in 2004, and [https://cdn.cloudflare.steamstatic.com/apps/valve/2010/siggraph2010_vlachos_waterflow.pdf Valve considered ps2.0b low end hardware in ~2008]. See slide '''8''' | :* SM3.0 released in 2004, and [https://cdn.cloudflare.steamstatic.com/apps/valve/2010/siggraph2010_vlachos_waterflow.pdf Valve considered ps2.0b low end hardware in ~2008]. See slide '''8''' | ||
Line 37: | Line 37: | ||
* '''More Documentation for Shaders, their parameters, how they work and any possible caveats''' | * '''More Documentation for Shaders, their parameters, how they work and any possible caveats''' | ||
:{{Notice|You might have noticed Articles like {{ent|$lightwarptexture}}, {{ent|$detail}}, {{ent|UnlitTwoTexture}} and {{ent|$envmapmask}} getting major updates from [[User:ShiroDkxtro2|ShiroDkxtro2]], | :{{Notice|You might have noticed Articles like {{ent|$lightwarptexture}}, {{ent|$detail}}, {{ent|UnlitTwoTexture}} and {{ent|$envmapmask}} getting major updates from [[User:ShiroDkxtro2|ShiroDkxtro2]], | ||
:where new information about Caveats and bugs were added for {{tf2}}{{as}}{{src13}}{{csgo}}. This was a direct result of LUX development, although the focus was mainly on {{src13}}{{as}} as their code is publicly available. }} | :where new information about Caveats and bugs were added for {{tf2}}{{as}}{{src13}}{{csgo}}. This was a direct result of {{LUX|2}} development, although the focus was mainly on {{src13}}{{as}} as their code is publicly available. }} | ||
:{{ModernNote|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.}} | :{{ModernNote|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.}} | ||
<br> | <br> | ||
* '''Implementing features that aren't available in {{src13}}''' | * '''Implementing features that aren't available in {{src13}}''' | ||
:{{Seealso| | :{{Seealso|[[LUX#Planned Features|Planned Features]]. This includes old features such as [[Glowing_Textures#.24selfillum|$selfillumtexture]] and newer features like [[$phong#Colors|$phongalbedoboost]]{{csgo|only}}.}} | ||
<br> | <br> | ||
* '''Fixing most Parameter "bugs:" and other caveats''' | * '''Fixing most Parameter "bugs:" and other caveats''' | ||
:{{Seealso| | :{{Seealso|[[LUX#Stock Shaders VS LUX|Stock Shaders VS LUX]]}} | ||
<br> | <br> | ||
* '''Easy way of disabling features''' | * '''Easy way of disabling features''' | ||
Line 57: | Line 57: | ||
This is a list of new features that are being implemented, or features that will be ported/recreated from newer branches such as {{as}}{{l4d2}}{{csgo}} | This is a list of new features that are being implemented, or features that will be ported/recreated from newer branches such as {{as}}{{l4d2}}{{csgo}} | ||
{{ModernNote|Ported in this case usually means {{as}}{{mapbase}}, however in most of these cases, the code for this will be heavily adapted to simplify or overhaul it.}} | {{ModernNote|Ported in this case usually means {{as}}{{mapbase}}, 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 [[$phong#Colors|$phongalbedoboost]]{{only|csgo}} are not rocket-science. They can safely be recreated without the use of leaked code.}} | {{Important|{{LUX|2}} does '''not''' use ''any'' leaked code. Features like [[$phong#Colors|$phongalbedoboost]]{{only|csgo}} are not rocket-science. They can safely be recreated without the use of leaked code.}} | ||
:{{ModernWarning|For features that are more complicated, there might be visual disparity when compared to official implementations.}} | :{{ModernWarning|For features that are more complicated, there might be visual disparity when compared to official implementations.}} | ||
<br> | <br> | ||
Line 66: | Line 66: | ||
* Parallax Corrected Cubemaps ( PCC ) | * Parallax Corrected Cubemaps ( PCC ) | ||
:{{ModernNote|Just like {{mapbase|2}}, this requires custom compilers to work.}} | :{{ModernNote|Just like {{mapbase|2}}, this requires custom compilers to work.}} | ||
:{{important|The parameters are the same for LUX and {{mapbase}}. This means that Mapbase compilers can be used for this to work.}} | :{{important|The parameters are the same for {{LUX|2}} and {{mapbase}}. This means that Mapbase compilers can be used for this to work.}} | ||
* {{ent|$envmapmask}} + {{ent|$bumpmap}} on {{ent|VertexLitGeneric}} | * {{ent|$envmapmask}} + {{ent|$bumpmap}} on {{ent|VertexLitGeneric}} | ||
* Replacement for the "Postprocessing" Controller Shader | * Replacement for the "Postprocessing" Controller Shader | ||
Line 85: | Line 85: | ||
==== Features ported/recreated/revived ==== | ==== Features ported/recreated/revived ==== | ||
* [[$phong#Brightness|$phongdisablehalflambert]] From {{as}}+ - Also needed for {{mapbase}} | * [[$phong#Brightness|$phongdisablehalflambert]] From {{as}}+ - Also needed for {{mapbase}} | ||
* [[$phong#Masking|$phongexponentfactor]] From {{src13mp}}{{tf2}}, with LUX also on {{src13sp}} | * [[$phong#Masking|$phongexponentfactor]] From {{src13mp}}{{tf2}}, with {{LUX|2}} also on {{src13sp}} | ||
* [[$phong#Colors|$phongalbedoboost]] From {{csgo}} - Its just <code>BaseTexture * $PhongAlbedoBoost</code>... No leaked code! | * [[$phong#Colors|$phongalbedoboost]] From {{csgo}} - Its just <code>BaseTexture * $PhongAlbedoBoost</code>... No leaked code! | ||
* [[$phong#Masking|$basemapluminancephongmask]] From {{as}}+ | * [[$phong#Masking|$basemapluminancephongmask]] From {{as}}+ | ||
:{{ModernNote| | :{{ModernNote| | ||
:* LUX allows the use of Rec. 709 HDTV Luminance Weights. <code>float3(0.2126f, 0.7152f, 0.0722f)</code>. | :* {{LUX|2}} allows the use of Rec. 709 HDTV Luminance Weights. <code>float3(0.2126f, 0.7152f, 0.0722f)</code>. | ||
:* Previously SDK_ Shaders would use the NTSC Analog Television standard of <code>float3(0.2990f, 0.5870f, 0.1140f)</code>}} | :* Previously SDK_ Shaders would use the NTSC Analog Television standard of <code>float3(0.2990f, 0.5870f, 0.1140f)</code>}} | ||
* [[Glowing_Textures#.24selfillum|$selfillumtexture]] Deprecated since {{src07}} - This used to be obsolete | * [[Glowing_Textures#.24selfillum|$selfillumtexture]] Deprecated since {{src07}} - This used to be obsolete | ||
:{{ModernNote| Yes, there is a use for this! [[$detail#Parameters and Effects|$detailblendmode]] 5 is commonly used for glowing textures. This parameter allows for not wasting your $detail. Additionally no $emissiveblend is required.}} | :{{ModernNote| Yes, there is a use for this! [[$detail#Parameters and Effects|$detailblendmode]] 5 is commonly used for glowing textures. This parameter allows for not wasting your $detail. Additionally no $emissiveblend is required.}} | ||
:{{seealso|PBR Shaders in the community commonly have a $emissiontexture parameter that does EXACTLY what [[Glowing_Textures#.24selfillum|$selfillumtexture]] does in LUX.}} | :{{seealso|PBR Shaders in the community commonly have a $emissiontexture parameter that does EXACTLY what [[Glowing_Textures#.24selfillum|$selfillumtexture]] does in {{LUX|2}}.}} | ||
* 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}}}}+ | ||
Line 143: | Line 143: | ||
{{Notice|{{ent|$basealphaenvmapmask}} requires inverted masks}} | {{Notice|{{ent|$basealphaenvmapmask}} requires inverted masks}} | ||
<br> | <br> | ||
=== LUX_LightMappedGeneric === | === {{LUX}}LUX_LightMappedGeneric === | ||
{{ModernNote| | {{ModernNote| | ||
[[$detail#Parameters and Effects|$detailblendmode]] 1-9 works.<br> | [[$detail#Parameters and Effects|$detailblendmode]] 1-9 works.<br> | ||
Line 201: | Line 201: | ||
[[$phong#Colors|$phongalbedoboost]] only in {{csgo}}+}} | [[$phong#Colors|$phongalbedoboost]] only in {{csgo}}+}} | ||
<br> | <br> | ||
=== LUX_VertexLitGeneric === | === {{LUX}}LUX_VertexLitGeneric === | ||
==== Without $Bumpmap ==== | ==== Without $Bumpmap ==== | ||
* [[$detail#Parameters and Effects|$detailblendmode]] 10-11 planned. If possible.<br> | * [[$detail#Parameters and Effects|$detailblendmode]] 10-11 planned. If possible.<br> | ||
Line 242: | Line 242: | ||
* [[$phong#Colors|$phongalbedoboost]] Exists now. ( Used to be {{only|{{csgo}}+}} | * [[$phong#Colors|$phongalbedoboost]] Exists now. ( Used to be {{only|{{csgo}}+}} | ||
<br> | <br> | ||
{{ | ==History== | ||
:{{ | {{LUX|2}} started developement on the 20.01.2023 DMY, but it was planned and thought ~14.01.2023 when the lead-developer [[User:ShiroDkxtro2|ShiroDkxtro2]] was in a hospital stay.<br> | ||
Even before 2023, the idea of rewritting Valve's Shaders was in mind. Various people asked [[User:ShiroDkxtro2|ShiroDkxtro2]] if certain modifications could be implemented for default shaders, such as CSM.<br> | |||
These requests would usually result in a simple "no.", modifying the default shaders was not considered feasible for various reasons, most of which are indirectly mentioned in [[LUX#Goals|LUX's Goals]].<br> | |||
The Inception was supposed to be a means to make the existing Shaders more modable, with new features in mind and laid out so that implementing new things would be easier.<br> | |||
==Credits== | |||
* {{LUX|2}} uses [https://github.com/SCell555/ShaderCompile SCell555's ShaderCompiler]<br> | |||
However, it is only used to compile the Shaders. Include files ( .inc ) are intended to be made using [https://strawberryperl.com/ Perl]. | |||
* {{LUX|2}} copies various code from [https://github.com/thexa4/source-pbr thexa4's PBR header]<br> | |||
* Tottery ( Also known as TotteryNine ) | |||
TotteryNine was crucial to [[User:ShiroDkxtro2|ShiroDkxtro2]] for learning the basics and more complicated aspects of making and compiling Shaders. | |||
* Sitkinator | |||
Aiding with the initial logo and adding a screen-reflection effect to it. | |||
* Mr.Kleiner | |||
For writing various tools. Including a VTF Flagging tool for Cubemaps inside a .bsp file, a tool for packing lightmap uv's into .smd files | |||
* roman_memes | |||
Various logical checks and ideas. Also helped with prototyping new features and finding siggraph or other papers regarding modern and oldschool graphical implementations. | |||
* Alivebyte! | |||
For doing modifications to the ShaderCompiler, which so far have not been implemented into the repo. | |||
* [[User:Ficool2|Ficool2]] | |||
For enlightening us about the Constant Register Hack.<br> | |||
Which allows for the use of more than 32 float constant registers on sm3.0<br> | |||
This Project would be near impossible without it. | |||
* ChatGPT | |||
Help with programming and undocumented graphical features of the Source Engine. | |||
It knows things and can make new things to a degree. Various code used in {{LUX|2}} has been partically written by the AI. | |||
* {{mapbase|2}} | |||
Since one of the goals of this project is to be compatible with it, various code from it has been adapted. | |||
This means that all Shader-related things should also be inhereted with the credits of {{LUX|2}}. You can find Mapbase's credits [https://github.com/mapbase-source/source-sdk-2013/wiki/Mapbase-Credits HERE]. | |||
* [https://github.com/Joshua-Ashton/Source-PlusPlus/ Source++] code might be included with {{LUX|2}}. | |||
One example would be the NvidiaPCF5x5Gaussian Shadow Filter | |||
{{ModernNote|What else from S++ is used in {{LUX|2}}?}} | |||
[[User:ShiroDkxtro2|ShiroDkxtro2]] would also like to thank Joshua Ashton personally for his various open-source work related to the source engine. | |||
==See also== | |||
* {{LUX|2}} [https://discord.gg/cGv8GGSkpc Discord] Server | |||
:Development can be followed here, Bug-Reports & suggestions made. | |||
:It is also intended as a general place for discussing {{src13|2}} related Shader-Modding. | |||
* {{LUX|2}} [https://github.com/ShiroDkxtro2/ACROHS-LUX_-Shaders-Project GitHub] page | |||
{{todo|Make a new category for LUX_ Shaders and document them and their parameters there, instead of here. Preferably after they were released on the GitHub.}} |
Revision as of 19:09, 19 February 2023
LUX | |
---|---|
![]() | |
Wiki | |
Type | Modification |
Developers | ShiroDkxtro2 |
Engine | ![]() |
Platforms | (only in PC) |
Based on | ![]() |
LUX is a mod specifically made and developed for use in
Source 2013 Singleplayer and
Source 2013 Multiplayer.
The Project is to entirely rewrite all existing "SDK_" Shaders, that come with the SDK and all those available in Mapbase.
Goals
- Overhauled/Cleaned
materialsystem\stdshaders\
Folder
- 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
- 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:Linux is not officially supported. MacOS is also not officially supported. Users of said system will have to either patch
togl
to work with SM3.0 or use DxVK.- Template:ModernNote
- 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,
- where new information about Caveats and bugs were added for
. This was a direct result of
LUX development, although the focus was mainly on
as their code is publicly available.
- Template:ModernNote
- See also: Planned Features. This includes old features such as $selfillumtexture and newer features like $phongalbedoboost(only in
).
- 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
// STATIC:
's to predefined values depending on#define
's in an included header file.- Template:ModernNote
- Mapbase compatibility
Note:Replacing SDK_ Shaders in SDK mods, SDK2013CE or Mapbase mods should be as simple as replacing the
stdshaders\
Folder.- Template:ModernNote
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
Template:ModernNote


Features required for
Mapbase compatibility
- $phongdisablehalflambert from
+
- Radial Fog for all "Geometry" Shaders
- Spline-Ropes
- Parallax Corrected Cubemaps ( PCC )
- Template:ModernNote
Important:The parameters are the same for
LUX and
. This means that Mapbase compilers can be used for this 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.
Important:The Lightmap does not do bumped-lighting using the bumpmap. Only named-lights/projected textures will be able to do so.
- Template:ModernNote
Features ported/recreated/revived
- $phongdisablehalflambert From
+ - Also needed for
- $phongexponentfactor From
, with
LUX also on
- $phongalbedoboost From
- Its just
BaseTexture * $PhongAlbedoBoost
... No leaked code! - $basemapluminancephongmask From
+
- $selfillumtexture Deprecated since
- This used to be obsolete
- Template:ModernNote
- 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
+ AND models (only in
)+
Features that are being discarded
- $envmapsphere and related - These features have been removed since
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...
- $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
LightMappedGeneric
Stock Shaders

LUX_LightMappedGeneric

Note:Caveat - $selfillumtexture has higher priority than both.

VertexLitGeneric
Stock Shaders
Always
$envmaplightscale(only in ).
Without $Bumpmap
Template:ModernBug
Template:ModernNote
With $Bumpmap
Template:ModernBug
Template:ModernNote
With $Phong
LUX_VertexLitGeneric
Without $Bumpmap
- $detailblendmode 10-11 planned. If possible.
- $selfillumfresnel Exists now.
- $lightwarptexture Exists now.
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: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.
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. 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.
- $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
)
- $basemapluminancephongmask Exists now. ( Used to be (only in
+)
- $phongalbedoboost Exists now. ( Used to be (only in
+)
History
LUX started developement on the 20.01.2023 DMY, but it was planned and thought ~14.01.2023 when the lead-developer ShiroDkxtro2 was in a hospital stay.
Even before 2023, the idea of rewritting Valve's Shaders was in mind. Various people asked ShiroDkxtro2 if certain modifications could be implemented for default shaders, such as CSM.
These requests would usually result in a simple "no.", modifying the default shaders was not considered feasible for various reasons, most of which are indirectly mentioned in LUX's Goals.
The Inception was supposed to be a means to make the existing Shaders more modable, with new features in mind and laid out so that implementing new things would be easier.
Credits
However, it is only used to compile the Shaders. Include files ( .inc ) are intended to be made using Perl.
LUX copies various code from thexa4's PBR header
- Tottery ( Also known as TotteryNine )
TotteryNine was crucial to ShiroDkxtro2 for learning the basics and more complicated aspects of making and compiling Shaders.
- Sitkinator
Aiding with the initial logo and adding a screen-reflection effect to it.
- Mr.Kleiner
For writing various tools. Including a VTF Flagging tool for Cubemaps inside a .bsp file, a tool for packing lightmap uv's into .smd files
- roman_memes
Various logical checks and ideas. Also helped with prototyping new features and finding siggraph or other papers regarding modern and oldschool graphical implementations.
- Alivebyte!
For doing modifications to the ShaderCompiler, which so far have not been implemented into the repo.
For enlightening us about the Constant Register Hack.
Which allows for the use of more than 32 float constant registers on sm3.0
This Project would be near impossible without it.
- ChatGPT
Help with programming and undocumented graphical features of the Source Engine.
It knows things and can make new things to a degree. Various code used in LUX has been partically written by the AI.
Since one of the goals of this project is to be compatible with it, various code from it has been adapted.
This means that all Shader-related things should also be inhereted with the credits of LUX. You can find Mapbase's credits HERE.
One example would be the NvidiaPCF5x5Gaussian Shadow Filter Template:ModernNote ShiroDkxtro2 would also like to thank Joshua Ashton personally for his various open-source work related to the source engine.
See also
- Development can be followed here, Bug-Reports & suggestions made.
- It is also intended as a general place for discussing
Source 2013 related Shader-Modding.