From 4d1ef91f61b9d44a40cd9e37e007474e329002de Mon Sep 17 00:00:00 2001 From: Ondrej Jamriska Date: Wed, 21 Sep 2022 05:08:56 +0200 Subject: [PATCH] add mixbox for unity --- unity/Documentation~/README.md | 167 ++++ unity/LICENSE.md | 337 +++++++ unity/LICENSE.md.meta | 7 + unity/README.md | 189 ++++ unity/README.md.meta | 7 + unity/Runtime.meta | 8 + unity/Runtime/Mixbox.cs | 564 +++++++++++ unity/Runtime/Mixbox.cs.meta | 11 + unity/Runtime/Scrtwpns.Mixbox.asmdef | 6 + unity/Runtime/Scrtwpns.Mixbox.asmdef.meta | 7 + unity/Samples~/SamplesBuiltin/Materials.meta | 8 + .../Materials/MixboxSampleMaterial.mat | 86 ++ .../Materials/MixboxSampleMaterial.mat.meta | 8 + unity/Samples~/SamplesBuiltin/Scenes.meta | 8 + .../SamplesBuiltin/Scenes/Scene.unity | 401 ++++++++ .../SamplesBuiltin/Scenes/Scene.unity.meta | 7 + unity/Samples~/SamplesBuiltin/Shaders.meta | 8 + .../Shaders/MixboxSampleShader.shader | 45 + .../Shaders/MixboxSampleShader.shader.meta | 10 + unity/Samples~/SamplesHDRP/Materials.meta | 8 + .../MixboxSampleHDRPShaderGraphMaterial.mat | 276 +++++ ...xboxSampleHDRPShaderGraphMaterial.mat.meta | 8 + unity/Samples~/SamplesHDRP/Scenes.meta | 8 + unity/Samples~/SamplesHDRP/Scenes/Scene.unity | 527 ++++++++++ .../SamplesHDRP/Scenes/Scene.unity.meta | 7 + unity/Samples~/SamplesHDRP/Shaders.meta | 8 + .../MixboxSampleHDRPShaderGraph.shadergraph | 941 ++++++++++++++++++ ...xboxSampleHDRPShaderGraph.shadergraph.meta | 10 + unity/Samples~/SamplesURP/Materials.meta | 8 + .../MixboxSampleShaderGraphMaterial.mat | 84 ++ .../MixboxSampleShaderGraphMaterial.mat.meta | 8 + .../MixboxSampleURPShaderMaterial.mat | 70 ++ .../MixboxSampleURPShaderMaterial.mat.meta | 8 + unity/Samples~/SamplesURP/Scenes.meta | 8 + unity/Samples~/SamplesURP/Scenes/Scene.unity | 554 +++++++++++ .../SamplesURP/Scenes/Scene.unity.meta | 7 + unity/Samples~/SamplesURP/Shaders.meta | 8 + .../MixboxSampleShaderGraph.shadergraph | 756 ++++++++++++++ .../MixboxSampleShaderGraph.shadergraph.meta | 10 + .../Shaders/MixboxSampleURPShader.shader | 51 + .../Shaders/MixboxSampleURPShader.shader.meta | 10 + unity/ShaderGraph.meta | 8 + unity/ShaderGraph/CustomFunctions.meta | 8 + .../CustomFunctions/MixboxFunctions.hlsl | 103 ++ .../CustomFunctions/MixboxFunctions.hlsl.meta | 7 + unity/ShaderGraph/MixboxLerp.shadersubgraph | 619 ++++++++++++ .../MixboxLerp.shadersubgraph.meta | 10 + unity/ShaderLibrary.meta | 8 + unity/ShaderLibrary/Mixbox.cginc | 44 + unity/ShaderLibrary/Mixbox.cginc.meta | 7 + unity/ShaderLibrary/Mixbox.hlsl | 157 +++ unity/ShaderLibrary/Mixbox.hlsl.meta | 7 + unity/Textures.meta | 8 + unity/Textures/MixboxLUT.png | Bin 0 -> 176524 bytes unity/Textures/MixboxLUT.png.meta | 120 +++ unity/package.json | 29 + unity/package.json.meta | 7 + 57 files changed, 6401 insertions(+) create mode 100644 unity/Documentation~/README.md create mode 100644 unity/LICENSE.md create mode 100644 unity/LICENSE.md.meta create mode 100644 unity/README.md create mode 100644 unity/README.md.meta create mode 100644 unity/Runtime.meta create mode 100644 unity/Runtime/Mixbox.cs create mode 100644 unity/Runtime/Mixbox.cs.meta create mode 100644 unity/Runtime/Scrtwpns.Mixbox.asmdef create mode 100644 unity/Runtime/Scrtwpns.Mixbox.asmdef.meta create mode 100644 unity/Samples~/SamplesBuiltin/Materials.meta create mode 100644 unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat create mode 100644 unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat.meta create mode 100644 unity/Samples~/SamplesBuiltin/Scenes.meta create mode 100644 unity/Samples~/SamplesBuiltin/Scenes/Scene.unity create mode 100644 unity/Samples~/SamplesBuiltin/Scenes/Scene.unity.meta create mode 100644 unity/Samples~/SamplesBuiltin/Shaders.meta create mode 100644 unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader create mode 100644 unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader.meta create mode 100644 unity/Samples~/SamplesHDRP/Materials.meta create mode 100644 unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat create mode 100644 unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat.meta create mode 100644 unity/Samples~/SamplesHDRP/Scenes.meta create mode 100644 unity/Samples~/SamplesHDRP/Scenes/Scene.unity create mode 100644 unity/Samples~/SamplesHDRP/Scenes/Scene.unity.meta create mode 100644 unity/Samples~/SamplesHDRP/Shaders.meta create mode 100644 unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph create mode 100644 unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph.meta create mode 100644 unity/Samples~/SamplesURP/Materials.meta create mode 100644 unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat create mode 100644 unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat.meta create mode 100644 unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat create mode 100644 unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat.meta create mode 100644 unity/Samples~/SamplesURP/Scenes.meta create mode 100644 unity/Samples~/SamplesURP/Scenes/Scene.unity create mode 100644 unity/Samples~/SamplesURP/Scenes/Scene.unity.meta create mode 100644 unity/Samples~/SamplesURP/Shaders.meta create mode 100644 unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph create mode 100644 unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph.meta create mode 100644 unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader create mode 100644 unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader.meta create mode 100644 unity/ShaderGraph.meta create mode 100644 unity/ShaderGraph/CustomFunctions.meta create mode 100644 unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl create mode 100644 unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl.meta create mode 100644 unity/ShaderGraph/MixboxLerp.shadersubgraph create mode 100644 unity/ShaderGraph/MixboxLerp.shadersubgraph.meta create mode 100644 unity/ShaderLibrary.meta create mode 100644 unity/ShaderLibrary/Mixbox.cginc create mode 100644 unity/ShaderLibrary/Mixbox.cginc.meta create mode 100644 unity/ShaderLibrary/Mixbox.hlsl create mode 100644 unity/ShaderLibrary/Mixbox.hlsl.meta create mode 100644 unity/Textures.meta create mode 100644 unity/Textures/MixboxLUT.png create mode 100644 unity/Textures/MixboxLUT.png.meta create mode 100644 unity/package.json create mode 100644 unity/package.json.meta diff --git a/unity/Documentation~/README.md b/unity/Documentation~/README.md new file mode 100644 index 0000000..e890954 --- /dev/null +++ b/unity/Documentation~/README.md @@ -0,0 +1,167 @@ +# Mixbox for Unity + +Open `Window` > `Package Manager` and choose ` + ` > `Add packge from git URL...`: +``` +https://github.com/scrtwpns/mixbox.git#upm +``` + +## Script +```csharp +using UnityEngine; +using Scrtwpns.Mixbox; + +public class NewBehaviourScript : MonoBehaviour +{ + void Start() + { + Color color1 = new Color(0.0f, 0.129f, 0.522f); // blue + Color color2 = new Color(0.988f, 0.827f, 0.0f); // yellow + float t = 0.5f; // mixing ratio + + Color colorMix = Mixbox.Lerp(color1, color2, t); + + Debug.Log(colorMix); + } +} +``` +```csharp +Color MixThree(Color color1, Color color2, Color color3) +{ + MixboxLatent z1 = Mixbox.RGBToLatent(color1); + MixboxLatent z2 = Mixbox.RGBToLatent(color2); + MixboxLatent z3 = Mixbox.RGBToLatent(color3); + + // mix 30% of color1, 60% of color2, and 10% of color3 + MixboxLatent zMix = 0.3f*z1 + 0.6f*z2 + 0.1f*z3; + + Color colorMix = Mixbox.LatentToRGB(zMix); + + return colorMix; +} +``` + +## Shader +```ShaderLab +Shader "MixboxHelloShader" +{ + Properties + { + [NoScaleOffset] _MixboxLUT ("Mixbox LUT", 2D) = "white" {} // assign "Packages/Mixbox/Textures/MixboxLUT.png" + + _Color1 ("Color 1", Color) = (0, 0.129, 0.522, 1) // blue + _Color2 ("Color 2", Color) = (0.988, 0.827, 0, 1) // yellow + } + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + sampler2D _MixboxLUT; + #include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.cginc" + + fixed4 _Color1; + fixed4 _Color2; + + struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; + struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + return MixboxLerp(_Color1, _Color2, i.uv.x); + } + ENDCG + } + } +} +``` +```hlsl +float3 MixThree(float3 rgb1, float3 rgb2, float3 rgb3) +{ + MixboxLatent z1 = MixboxRGBToLatent(rgb1); + MixboxLatent z2 = MixboxRGBToLatent(rgb2); + MixboxLatent z3 = MixboxRGBToLatent(rgb3); + + // mix together 30% of rgb1, 60% of rgb2, and 10% of rgb3 + MixboxLatent zMix = 0.3*z1 + 0.6*z2 + 0.1*z3; + + float3 rgbMix = MixboxLatentToRGB(zMix); + + return rgbMix; +} +``` +

+ +

+ +## URP Shader +```ShaderLab +Shader "Mixbox/Mixbox URP Sample Shader" +{ + Properties + { + [NoScaleOffset] _MixboxLUT ("Mixbox LUT", 2D) = "white" {} // assign "Packages/Mixbox/Textures/MixboxLUT.png" + + _Color1 ("Color 1", Color) = (0, 0.129, 0.522, 1) // blue + _Color2 ("Color 2", Color) = (0.988, 0.827, 0, 1) // yellow + } + + SubShader + { + Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalRenderPipeline" } + + Pass + { + HLSLPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + TEXTURE2D(_MixboxLUT); + SAMPLER(sampler_MixboxLUT); + + #include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.hlsl" + + struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; + struct Varyings { float4 positionHCS : SV_POSITION; float2 uv : TEXCOORD0; }; + + CBUFFER_START(UnityPerMaterial) + half4 _Color1; + half4 _Color2; + CBUFFER_END + + Varyings vert(Attributes IN) + { + Varyings OUT; + OUT.positionHCS = TransformObjectToHClip(IN.positionOS.xyz); + OUT.uv = IN.uv; + return OUT; + } + + half4 frag(Varyings IN) : SV_Target + { + return MixboxLerp(_Color1, _Color2, IN.uv.x); + } + ENDHLSL + } + } +} +``` + +## Shader Graph +

+ +

diff --git a/unity/LICENSE.md b/unity/LICENSE.md new file mode 100644 index 0000000..21decaa --- /dev/null +++ b/unity/LICENSE.md @@ -0,0 +1,337 @@ +Mixbox is licensed for non-commercial use under the CC BY-NC 4.0 license below. + +If you want to obtain commercial license, please contact: mixbox@scrtwpns.com + +=============================================================================== + +Creative Commons Attribution-NonCommercial 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for + other material subject to Copyright and Similar Rights by digital + file-sharing or similar means is NonCommercial provided there is + no payment of monetary compensation in connection with the + exchange. + + j. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + k. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + l. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part, for NonCommercial purposes only; and + + b. produce, reproduce, and Share Adapted Material for + NonCommercial purposes only. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties, including when + the Licensed Material is used other than for NonCommercial + purposes. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database for NonCommercial purposes + only; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +=============================================================================== diff --git a/unity/LICENSE.md.meta b/unity/LICENSE.md.meta new file mode 100644 index 0000000..341abce --- /dev/null +++ b/unity/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4cdbb20e49a3f5f48ac2bbf852d78e9c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/README.md b/unity/README.md new file mode 100644 index 0000000..e95f402 --- /dev/null +++ b/unity/README.md @@ -0,0 +1,189 @@ +# Mixbox for Unity + +Open `Window` > `Package Manager` and choose ` + ` > `Add packge from git URL...`: +``` +https://github.com/scrtwpns/mixbox.git#upm +``` + +## Script +```csharp +using UnityEngine; +using Scrtwpns.Mixbox; + +public class NewBehaviourScript : MonoBehaviour +{ + void Start() + { + Color color1 = new Color(0.0f, 0.129f, 0.522f); // blue + Color color2 = new Color(0.988f, 0.827f, 0.0f); // yellow + float t = 0.5f; // mixing ratio + + Color colorMix = Mixbox.Lerp(color1, color2, t); + + Debug.Log(colorMix); + } +} +``` +```csharp +Color MixThree(Color color1, Color color2, Color color3) +{ + MixboxLatent z1 = Mixbox.RGBToLatent(color1); + MixboxLatent z2 = Mixbox.RGBToLatent(color2); + MixboxLatent z3 = Mixbox.RGBToLatent(color3); + + // mix 30% of color1, 60% of color2, and 10% of color3 + MixboxLatent zMix = 0.3f*z1 + 0.6f*z2 + 0.1f*z3; + + Color colorMix = Mixbox.LatentToRGB(zMix); + + return colorMix; +} +``` + +## Shader +```ShaderLab +Shader "MixboxHelloShader" +{ + Properties + { + [NoScaleOffset] _MixboxLUT ("Mixbox LUT", 2D) = "white" {} // assign "Packages/Mixbox/Textures/MixboxLUT.png" + + _Color1 ("Color 1", Color) = (0, 0.129, 0.522, 1) // blue + _Color2 ("Color 2", Color) = (0.988, 0.827, 0, 1) // yellow + } + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + sampler2D _MixboxLUT; + #include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.cginc" + + fixed4 _Color1; + fixed4 _Color2; + + struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; + struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + return MixboxLerp(_Color1, _Color2, i.uv.x); + } + ENDCG + } + } +} +``` +```hlsl +float3 MixThree(float3 rgb1, float3 rgb2, float3 rgb3) +{ + MixboxLatent z1 = MixboxRGBToLatent(rgb1); + MixboxLatent z2 = MixboxRGBToLatent(rgb2); + MixboxLatent z3 = MixboxRGBToLatent(rgb3); + + // mix together 30% of rgb1, 60% of rgb2, and 10% of rgb3 + MixboxLatent zMix = 0.3*z1 + 0.6*z2 + 0.1*z3; + + float3 rgbMix = MixboxLatentToRGB(zMix); + + return rgbMix; +} +``` +

+ +

+ +## URP Shader +```ShaderLab +Shader "Mixbox/Mixbox URP Sample Shader" +{ + Properties + { + [NoScaleOffset] _MixboxLUT ("Mixbox LUT", 2D) = "white" {} // assign "Packages/Mixbox/Textures/MixboxLUT.png" + + _Color1 ("Color 1", Color) = (0, 0.129, 0.522, 1) // blue + _Color2 ("Color 2", Color) = (0.988, 0.827, 0, 1) // yellow + } + + SubShader + { + Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalRenderPipeline" } + + Pass + { + HLSLPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + TEXTURE2D(_MixboxLUT); + SAMPLER(sampler_MixboxLUT); + + #include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.hlsl" + + struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; + struct Varyings { float4 positionHCS : SV_POSITION; float2 uv : TEXCOORD0; }; + + CBUFFER_START(UnityPerMaterial) + half4 _Color1; + half4 _Color2; + CBUFFER_END + + Varyings vert(Attributes IN) + { + Varyings OUT; + OUT.positionHCS = TransformObjectToHClip(IN.positionOS.xyz); + OUT.uv = IN.uv; + return OUT; + } + + half4 frag(Varyings IN) : SV_Target + { + return MixboxLerp(_Color1, _Color2, IN.uv.x); + } + ENDHLSL + } + } +} +``` + +## Shader Graph +

+ +

+ +## Pigment Colors +| Pigment | | RGB | Float RGB | Linear RGB | +| --- | --- |:----:|:----:|:----:| +| Cadmium Yellow | | 254, 236, 0 | 0.996, 0.925, 0.0 | 0.991, 0.839, 0.0 | +| Hansa Yellow | | 252, 211, 0 | 0.988, 0.827, 0.0 | 0.973, 0.651, 0.0 | +| Cadmium Orange | | 255, 105, 0 | 1.0, 0.412, 0.0 | 1.0, 0.141, 0.0 | +| Cadmium Red | | 255, 39, 2 | 1.0, 0.153, 0.008 | 1.0, 0.02, 0.001 | +| Quinacridone Magenta | | 128, 2, 46 | 0.502, 0.008, 0.18 | 0.216, 0.001, 0.027 | +| Cobalt Violet | | 78, 0, 66 | 0.306, 0.0, 0.259 | 0.076, 0.0, 0.054 | +| Ultramarine Blue | | 25, 0, 89 | 0.098, 0.0, 0.349 | 0.01, 0.0, 0.1 | +| Cobalt Blue | | 0, 33, 133 | 0.0, 0.129, 0.522 | 0.0, 0.015, 0.235 | +| Phthalo Blue | | 13, 27, 68 | 0.051, 0.106, 0.267 | 0.004, 0.011, 0.058 | +| Phthalo Green | | 0, 60, 50 | 0.0, 0.235, 0.196 | 0.0, 0.045, 0.032 | +| Permanent Green | | 7, 109, 22 | 0.027, 0.427, 0.086 | 0.002, 0.153, 0.008 | +| Sap Green | | 107, 148, 4 | 0.42, 0.58, 0.016 | 0.147, 0.296, 0.001 | +| Burnt Sienna | | 123, 72, 0 | 0.482, 0.282, 0.0 | 0.198, 0.065, 0.0 | + +## License +Copyright (c) 2022, Secret Weapons. All rights reserved.
+Mixbox is provided under the CC BY-NC 4.0 license for non-commercial use only.
+If you want to obtain commercial license, please contact: mixbox@scrtwpns.com diff --git a/unity/README.md.meta b/unity/README.md.meta new file mode 100644 index 0000000..3e13a5e --- /dev/null +++ b/unity/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8cd3a0808b52e7f4ab62eaee07dd6f1a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Runtime.meta b/unity/Runtime.meta new file mode 100644 index 0000000..b367eb2 --- /dev/null +++ b/unity/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7271a729fd4b944fbe2954475dfc065 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Runtime/Mixbox.cs b/unity/Runtime/Mixbox.cs new file mode 100644 index 0000000..0fa2690 --- /dev/null +++ b/unity/Runtime/Mixbox.cs @@ -0,0 +1,564 @@ +// ========================================================== +// MIXBOX 2.0 (c) 2022 Secret Weapons. All rights reserved. +// License: Creative Commons Attribution-NonCommercial 4.0 +// Authors: Sarka Sochorova and Ondrej Jamriska +// ========================================================== +// +// BASIC USAGE +// +// Color colorMix = Mixbox.Lerp(color1, color2, t); +// +// MULTI-COLOR MIXING +// +// MixboxLatent z1 = Mixbox.RGBToLatent(color1); +// MixboxLatent z2 = Mixbox.RGBToLatent(color2); +// MixboxLatent z3 = Mixbox.RGBToLatent(color3); +// +// MixboxLatent zMix = (0.3f*z1 + // 30% of color1 +// 0.6f*z2 + // 60% of color2 +// 0.1f*z3); // 10% of color3 +// +// Color colorMix = Mixbox.LatentToRGB(zMix); +// +// PIGMENT COLORS +// +// Cadmium Yellow 0.996, 0.925, 0.000 +// Hansa Yellow 0.988, 0.827, 0.000 +// Cadmium Orange 1.000, 0.412, 0.000 +// Cadmium Red 1.000, 0.153, 0.008 +// Quinacridone Magenta 0.502, 0.008, 0.180 +// Cobalt Violet 0.306, 0.000, 0.259 +// Ultramarine Blue 0.098, 0.000, 0.349 +// Cobalt Blue 0.000, 0.129, 0.522 +// Phthalo Blue 0.051, 0.106, 0.267 +// Phthalo Green 0.000, 0.235, 0.196 +// Permanent Green 0.027, 0.427, 0.086 +// Sap Green 0.420, 0.580, 0.016 +// Burnt Sienna 0.482, 0.282, 0.000 +// +// LICENSING +// +// If you want to obtain commercial license, please +// contact us at: mixbox@scrtwpns.com +// + +using System; +using UnityEngine; +using System.Globalization; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace Scrtwpns.Mixbox +{ + public static class Mixbox + { + public static Color Lerp(Color color1, Color color2, float t) + { + Color colorMix = LatentToRGB((1.0f-t)*RGBToLatent(color1) + t*RGBToLatent(color2)); + colorMix.a = (1.0f-t)*color1.a + t*color2.a; + return colorMix; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent RGBToLatent(Color color) + { + float r = Mathf.Clamp01(color.r); + float g = Mathf.Clamp01(color.g); + float b = Mathf.Clamp01(color.b); + + float x = r * 63.0f; + float y = g * 63.0f; + float z = b * 63.0f; + + int ix = (int)x; + int iy = (int)y; + int iz = (int)z; + + float tx = x - (float)ix; + float ty = y - (float)iy; + float tz = z - (float)iz; + + int xyz = (ix + iy * 64 + iz * 64 * 64) & 0x3FFFF; + + float c0 = 0.0f; + float c1 = 0.0f; + float c2 = 0.0f; + + float w = 0.0f; + w = (1.0f-tx)*(1.0f-ty)*(1.0f-tz); c0 += w*Lut[xyz+ 192]; c1 += w*Lut[xyz+262336]; c2 += w*Lut[xyz+524480]; + w = ( tx)*(1.0f-ty)*(1.0f-tz); c0 += w*Lut[xyz+ 193]; c1 += w*Lut[xyz+262337]; c2 += w*Lut[xyz+524481]; + w = (1.0f-tx)*( ty)*(1.0f-tz); c0 += w*Lut[xyz+ 256]; c1 += w*Lut[xyz+262400]; c2 += w*Lut[xyz+524544]; + w = ( tx)*( ty)*(1.0f-tz); c0 += w*Lut[xyz+ 257]; c1 += w*Lut[xyz+262401]; c2 += w*Lut[xyz+524545]; + w = (1.0f-tx)*(1.0f-ty)*( tz); c0 += w*Lut[xyz+4288]; c1 += w*Lut[xyz+266432]; c2 += w*Lut[xyz+528576]; + w = ( tx)*(1.0f-ty)*( tz); c0 += w*Lut[xyz+4289]; c1 += w*Lut[xyz+266433]; c2 += w*Lut[xyz+528577]; + w = (1.0f-tx)*( ty)*( tz); c0 += w*Lut[xyz+4352]; c1 += w*Lut[xyz+266496]; c2 += w*Lut[xyz+528640]; + w = ( tx)*( ty)*( tz); c0 += w*Lut[xyz+4353]; c1 += w*Lut[xyz+266497]; c2 += w*Lut[xyz+528641]; + + c0 /= 255.0f; + c1 /= 255.0f; + c2 /= 255.0f; + + float c3 = 1.0f - (c0 + c1 + c2); + + float[] rgbMix = EvalPolynomial(c0, c1, c2, c3); + + return new MixboxLatent( + c0, + c1, + c2, + c3, + r - rgbMix[0], + g - rgbMix[1], + b - rgbMix[2] + ); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent RGBToLatent(float r, float g, float b) + { + return RGBToLatent(new Color(r,g,b)); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Color LatentToRGB(MixboxLatent latent) + { + float[] rgb = EvalPolynomial(latent.c0, latent.c1, latent.c2, latent.c3); + return new Color( + Mathf.Clamp01(rgb[0] + latent.rR), + Mathf.Clamp01(rgb[1] + latent.rG), + Mathf.Clamp01(rgb[2] + latent.rB) + ); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static float[] EvalPolynomial(float c0, float c1, float c2, float c3) + { + float r = 0.0f; + float g = 0.0f; + float b = 0.0f; + + float c00 = c0 * c0; + float c11 = c1 * c1; + float c22 = c2 * c2; + float c33 = c3 * c3; + float c01 = c0 * c1; + float c02 = c0 * c2; + float c12 = c1 * c2; + + float w = 0.0f; + w = c0 * c00; r += +0.07717053f * w; g += +0.02826978f * w; b += +0.24832992f * w; + w = c1 * c11; r += +0.95912302f * w; g += +0.80256528f * w; b += +0.03561839f * w; + w = c2 * c22; r += +0.74683774f * w; g += +0.04868586f * w; b += +0.00000000f * w; + w = c3 * c33; r += +0.99518138f * w; g += +0.99978149f * w; b += +0.99704802f * w; + w = c00 * c1; r += +0.04819146f * w; g += +0.83363781f * w; b += +0.32515377f * w; + w = c01 * c1; r += -0.68146950f * w; g += +1.46107803f * w; b += +1.06980936f * w; + w = c00 * c2; r += +0.27058419f * w; g += -0.15324870f * w; b += +1.98735057f * w; + w = c02 * c2; r += +0.80478189f * w; g += +0.67093710f * w; b += +0.18424500f * w; + w = c00 * c3; r += -0.35031003f * w; g += +1.37855826f * w; b += +3.68865000f * w; + w = c0 * c33; r += +1.05128046f * w; g += +1.97815239f * w; b += +2.82989073f * w; + w = c11 * c2; r += +3.21607125f * w; g += +0.81270228f * w; b += +1.03384539f * w; + w = c1 * c22; r += +2.78893374f * w; g += +0.41565549f * w; b += -0.04487295f * w; + w = c11 * c3; r += +3.02162577f * w; g += +2.55374103f * w; b += +0.32766114f * w; + w = c1 * c33; r += +2.95124691f * w; g += +2.81201112f * w; b += +1.17578442f * w; + w = c22 * c3; r += +2.82677043f * w; g += +0.79933038f * w; b += +1.81715262f * w; + w = c2 * c33; r += +2.99691099f * w; g += +1.22593053f * w; b += +1.80653661f * w; + w = c01 * c2; r += +1.87394106f * w; g += +2.05027182f * w; b += -0.29835996f * w; + w = c01 * c3; r += +2.56609566f * w; g += +7.03428198f * w; b += +0.62575374f * w; + w = c02 * c3; r += +4.08329484f * w; g += -1.40408358f * w; b += +2.14995522f * w; + w = c12 * c3; r += +6.00078678f * w; g += +2.55552042f * w; b += +1.90739502f * w; + + return new float[] { r, g, b }; + } + + private static readonly byte[] Lut; + + static Mixbox() + { + Lut = ZlibDecoder.Inflate(Convert.FromBase64String("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")).ToArray(); + + for (int i = 0; i < Lut.Length; i++) + { + Lut[i] = (byte)((((i & 63) != 0) ? Lut[i - 1] : 127) + (Lut[i] - 127)); + } + } + } + + public partial struct MixboxLatent : IEquatable, IFormattable + { + public float c0; + public float c1; + public float c2; + public float c3; + public float rR; + public float rG; + public float rB; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public MixboxLatent(float c0, float c1, float c2, float c3, float rR, float rG, float rB) + { + this.c0 = c0; this.c1 = c1; this.c2 = c2; this.c3 = c3; this.rR = rR; this.rG = rG; this.rB = rB; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent Lerp(MixboxLatent a, MixboxLatent b, float t) + { + return (1.0f-t)*a + t*b; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent operator+(MixboxLatent a, MixboxLatent b) + { + return new MixboxLatent(a.c0 + b.c0, a.c1 + b.c1, a.c2 + b.c2, a.c3 + b.c3, a.rR + b.rR, a.rG + b.rG, a.rB + b.rB); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent operator-(MixboxLatent a, MixboxLatent b) + { + return new MixboxLatent(a.c0 - b.c0, a.c1 - b.c1, a.c2 - b.c2, a.c3 - b.c3, a.rR - b.rR, a.rG - b.rG, a.rB - b.rB); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent operator-(MixboxLatent a) + { + return new MixboxLatent(-a.c0, -a.c1, -a.c2, -a.c3, -a.rR, -a.rG, -a.rB); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent operator*(MixboxLatent a, float d) + { + return new MixboxLatent(a.c0 * d, a.c1 * d, a.c2 * d, a.c3 * d, a.rR * d, a.rG * d, a.rB * d); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent operator*(float d, MixboxLatent a) + { + return new MixboxLatent(a.c0 * d, a.c1 * d, a.c2 * d, a.c3 * d, a.rR * d, a.rG * d, a.rB * d); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static MixboxLatent operator/(MixboxLatent a, float d) + { + return new MixboxLatent(a.c0 / d, a.c1 / d, a.c2 / d, a.c3 / d, a.rR / d, a.rG / d, a.rB / d); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override int GetHashCode() + { + return (c0.GetHashCode() ^ (c1.GetHashCode() << 2) ^ (c2.GetHashCode() >> 2) ^ (c3.GetHashCode() >> 1)) ^ + ((rR.GetHashCode() ^ (rG.GetHashCode() << 2) ^ (rB.GetHashCode() >> 2)) << 2); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override bool Equals(object other) + { + if (!(other is MixboxLatent)) return false; + + return Equals((MixboxLatent)other); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public bool Equals(MixboxLatent other) + { + return c0.Equals(other.c0) && c1.Equals(other.c1) && c2.Equals(other.c2) && c3.Equals(other.c3) && + rR.Equals(other.rR) && rG.Equals(other.rG) && rB.Equals(other.rB); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public override string ToString() + { + return ToString(null, null); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public string ToString(string format) + { + return ToString(format, null); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public string ToString(string format, IFormatProvider formatProvider) + { + if (string.IsNullOrEmpty(format)) { format = "F2"; } + if (formatProvider == null) { formatProvider = CultureInfo.InvariantCulture.NumberFormat; } + return String.Format( + CultureInfo.InvariantCulture.NumberFormat, + "({0}, {1}, {2}, {3}, {4}, {5}, {6})", + c0.ToString(format, formatProvider), + c1.ToString(format, formatProvider), + c2.ToString(format, formatProvider), + c3.ToString(format, formatProvider), + rR.ToString(format, formatProvider), + rG.ToString(format, formatProvider), + rB.ToString(format, formatProvider) + ); + } + } + + internal class ZlibDecoder + { + public static List Inflate(IList compressed) + { + return new ZlibDecoder { input = compressed }.Inflate(); + } + + private const int fastBits = 9; + private const int fastMask = ((1 << fastBits) - 1); + + private static readonly int[] DistExtra = new[] + { + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, + 10, 10, 11, 11, 12, 12, 13, 13 + }; + + private static readonly int[] LengthBase = new[] + { + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, + 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, + 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 + }; + + private static readonly int[] LengthExtra = new[] + { + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, + 4, 4, 4, 5, 5, 5, 5, 0, 0, 0 + }; + + private static readonly int[] DistBase = new[] + { + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, + 12289, 16385, 24577, 0, 0 + }; + + private static readonly int[] LengthDezigzag = new[] + { + 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 + }; + + private List output; + private UInt32 codeBuffer; + private int numBits; + + private Huffman distance; + private Huffman length; + + private int inPos; + private IList input; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static int BitReverse16(int n) + { + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static int BitReverse(int v, int bits) + { + return BitReverse16(v) >> (16 - bits); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private int Get8() + { + return inPos >= input.Count ? 0 : input[inPos++]; + } + + private void FillBits() + { + do + { + codeBuffer |= (uint)(Get8() << numBits); + numBits += 8; + } while (numBits <= 24); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private uint Receive(int n) + { + if (numBits < n) FillBits(); + var k = (uint)(codeBuffer & ((1 << n) - 1)); + codeBuffer >>= n; + numBits -= n; + return k; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private int HuffmanDecode(Huffman z) + { + int s; + if (numBits < 16) FillBits(); + int b = z.Fast[codeBuffer & fastMask]; + if (b < 0xFFFF) + { + s = z.Size[b]; + codeBuffer >>= s; + numBits -= s; + return z.Value[b]; + } + + int k = BitReverse((int) codeBuffer, 16); + for (s = fastBits + 1;; ++s) + { + if (k < z.MaxCode[s]) break; + } + if (s == 16) return -1; + + b = (k >> (16 - s)) - z.FirstCode[s] + z.FirstSymbol[s]; + + codeBuffer >>= s; + numBits -= s; + return z.Value[b]; + } + + private void ParseHuffmanBlock() + { + for (;;) + { + int z = HuffmanDecode(length); + if (z < 256) + { + output.Add((byte)z); + } + else + { + if (z == 256) return; + z -= 257; + int len = LengthBase[z]; + if (LengthExtra[z] != 0) { len += (int)Receive(LengthExtra[z]); } + z = HuffmanDecode(distance); + int dist = DistBase[z]; + if (DistExtra[z] != 0) { dist += (int)Receive(DistExtra[z]); } + dist = output.Count - dist; + for (int i = 0; i < len; i++, dist++) { output.Add(output[dist]); } + } + } + } + + private void ComputeHuffmanCodes() + { + var lenCodes = new byte[286 + 32 + 137]; + var codeLengthSizes = new byte[19]; + + uint hlit = Receive(5) + 257; + uint hdist = Receive(5) + 1; + uint hclen = Receive(4) + 4; + + for (int i = 0; i < hclen; i++) + { + codeLengthSizes[LengthDezigzag[i]] = (byte)Receive(3); + } + + var codeLength = new Huffman(new ArraySegment(codeLengthSizes)); + + int n = 0; + while (n < hlit + hdist) + { + int c = HuffmanDecode(codeLength); + if (c < 16) + { + lenCodes[n++] = (byte)c; + } + else if (c == 16) + { + c = (int)Receive(2) + 3; + for (int i = 0; i < c; i++) lenCodes[n + i] = lenCodes[n - 1]; + n += c; + } + else if (c == 17) + { + c = (int)Receive(3) + 3; + for (int i = 0; i < c; i++) lenCodes[n + i] = 0; + n += c; + } + else + { + c = (int)Receive(7) + 11; + for (int i = 0; i < c; i++) lenCodes[n + i] = 0; + n += c; + } + } + + length = new Huffman(new ArraySegment(lenCodes, 0, (int)hlit)); + distance = new Huffman(new ArraySegment(lenCodes, (int)hlit, (int)hdist)); + } + + private List Inflate() + { + output = new List(); + numBits = 0; + codeBuffer = 0; + + bool final; + do + { + final = Receive(1) != 0; + var type = (int)Receive(2); + ComputeHuffmanCodes(); + ParseHuffmanBlock(); + } while (!final); + + for (int i = 0; i < 4161; i++) { output.Add(0); } + + return output; + } + + private class Huffman + { + public readonly UInt16[] Fast = new UInt16[1 << fastBits]; + public readonly UInt16[] FirstCode = new UInt16[16]; + public readonly UInt16[] FirstSymbol = new UInt16[16]; + public readonly int[] MaxCode = new int[17]; + public readonly Byte[] Size = new Byte[288]; + public readonly UInt16[] Value = new UInt16[288]; + + public Huffman(ArraySegment sizeList) + { + var nextCode = new int[16]; + var sizes = new int[17]; + + for (int i = 0; i < Fast.Length; i++) { Fast[i] = 0xFFFF; } + for (int i = 0; i < sizeList.Count; i++) { ++sizes[sizeList.Array[i + sizeList.Offset]]; } + + sizes[0] = 0; + int code = 0; + int k = 0; + for (int i = 1; i < 16; i++) + { + nextCode[i] = code; + FirstCode[i] = (UInt16)code; + FirstSymbol[i] = (UInt16)k; + code = (code + sizes[i]); + MaxCode[i] = code << (16 - i); + code <<= 1; + k += sizes[i]; + } + MaxCode[16] = 0x10000; + + for (int i = 0; i < sizeList.Count; i++) + { + int s = sizeList.Array[i + sizeList.Offset]; + if (s != 0) + { + int c = nextCode[s] - FirstCode[s] + FirstSymbol[s]; + Size[c] = (byte)s; + Value[c] = (UInt16)i; + if (s <= fastBits) + { + int j = BitReverse(nextCode[s], s); + while (j < (1 << fastBits)) + { + Fast[j] = (UInt16)c; + j += (1 << s); + } + } + ++nextCode[s]; + } + } + } + } + } +} diff --git a/unity/Runtime/Mixbox.cs.meta b/unity/Runtime/Mixbox.cs.meta new file mode 100644 index 0000000..f13ab2e --- /dev/null +++ b/unity/Runtime/Mixbox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a83e1aa56c038094292cda8c7eb1a14d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Runtime/Scrtwpns.Mixbox.asmdef b/unity/Runtime/Scrtwpns.Mixbox.asmdef new file mode 100644 index 0000000..40f1fab --- /dev/null +++ b/unity/Runtime/Scrtwpns.Mixbox.asmdef @@ -0,0 +1,6 @@ +{ + "name": "Scrtwpns.Mixbox", + "references": [], + "includePlatforms": [], + "excludePlatforms": [] +} \ No newline at end of file diff --git a/unity/Runtime/Scrtwpns.Mixbox.asmdef.meta b/unity/Runtime/Scrtwpns.Mixbox.asmdef.meta new file mode 100644 index 0000000..c52a070 --- /dev/null +++ b/unity/Runtime/Scrtwpns.Mixbox.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0dc470e3a5755fe46bfc9aa687c0cff7 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesBuiltin/Materials.meta b/unity/Samples~/SamplesBuiltin/Materials.meta new file mode 100644 index 0000000..dcc49f8 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc126e37ec6a7e44a82670bbd8939a07 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat b/unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat new file mode 100644 index 0000000..dbd9809 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat @@ -0,0 +1,86 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MixboxSampleMaterial + m_Shader: {fileID: 4800000, guid: bb6490bc8e0170a40a722ad60ca9e82d, type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MixboxLUT: + m_Texture: {fileID: 2800000, guid: 9bb177930f1b0624ebcd9bdad8029652, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color1: {r: 0.988, g: 0.827, b: 0, a: 1} + - _Color2: {r: 0.11, g: 0.071, b: 0.294, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat.meta b/unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat.meta new file mode 100644 index 0000000..e35d48b --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Materials/MixboxSampleMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22f4a840af474fe47b98f7c563b06bd6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesBuiltin/Scenes.meta b/unity/Samples~/SamplesBuiltin/Scenes.meta new file mode 100644 index 0000000..6e76834 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a26204cd28a06d843b2ac6e8b9ea28d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesBuiltin/Scenes/Scene.unity b/unity/Samples~/SamplesBuiltin/Scenes/Scene.unity new file mode 100644 index 0000000..1f83d2e --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Scenes/Scene.unity @@ -0,0 +1,401 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &2016244961 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2016244963} + - component: {fileID: 2016244962} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2016244962 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016244961} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2016244963 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016244961} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &2102167485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2102167489} + - component: {fileID: 2102167488} + - component: {fileID: 2102167487} + - component: {fileID: 2102167486} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &2102167486 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102167485} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2102167487 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102167485} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 22f4a840af474fe47b98f7c563b06bd6, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2102167488 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102167485} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2102167489 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2102167485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2138933249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2138933252} + - component: {fileID: 2138933251} + - component: {fileID: 2138933250} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &2138933250 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2138933249} + m_Enabled: 1 +--- !u!20 &2138933251 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2138933249} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &2138933252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2138933249} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} diff --git a/unity/Samples~/SamplesBuiltin/Scenes/Scene.unity.meta b/unity/Samples~/SamplesBuiltin/Scenes/Scene.unity.meta new file mode 100644 index 0000000..4f74439 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Scenes/Scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 80973dec35f0fe844ac839fa0ec89a06 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesBuiltin/Shaders.meta b/unity/Samples~/SamplesBuiltin/Shaders.meta new file mode 100644 index 0000000..fd8e372 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1cb9032d8063c954cbce2b919e5dc135 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader b/unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader new file mode 100644 index 0000000..213aac6 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader @@ -0,0 +1,45 @@ +Shader "Mixbox/Mixbox Sample Shader" +{ + Properties + { + [NoScaleOffset] _MixboxLUT ("Mixbox LUT", 2D) = "white" {} // assign "Packages/Mixbox/Textures/MixboxLUT.png" + + _Color1 ("Color 1", Color) = (0, 0.129, 0.522, 1) // blue + _Color2 ("Color 2", Color) = (0.988, 0.827, 0, 1) // yellow + } + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + sampler2D _MixboxLUT; + #include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.cginc" + + fixed4 _Color1; + fixed4 _Color2; + + struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; + struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 mixedColor = MixboxLerp(_Color1, _Color2, i.uv.x); + return mixedColor; + } + ENDCG + } + } +} diff --git a/unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader.meta b/unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader.meta new file mode 100644 index 0000000..df6c239 --- /dev/null +++ b/unity/Samples~/SamplesBuiltin/Shaders/MixboxSampleShader.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bb6490bc8e0170a40a722ad60ca9e82d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesHDRP/Materials.meta b/unity/Samples~/SamplesHDRP/Materials.meta new file mode 100644 index 0000000..ba5a6af --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 892b07ffc6cd8954a8c7eb778299a7c8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat b/unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat new file mode 100644 index 0000000..6527789 --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat @@ -0,0 +1,276 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6293881395593774545 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 + hdPluginSubTargetMaterialVersions: + m_Keys: [] + m_Values: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MixboxSampleHDRPShaderGraphMaterial + m_Shader: {fileID: -6465566751694194690, guid: 5078a8abaf2327c44bdceef809b956b1, + type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: + - _DISABLE_SSR_TRANSPARENT + - _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MixboxLerpCustomFunction_6d215c5b13de4fa59f8aa951085a2436_MixboxLUT_4: + m_Texture: {fileID: 2800000, guid: 9bb177930f1b0624ebcd9bdad8029652, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _ConservativeDepthOffsetEnable: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat.meta b/unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat.meta new file mode 100644 index 0000000..52b0b38 --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Materials/MixboxSampleHDRPShaderGraphMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1c84425eb63f8840898cfae7d5104c1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesHDRP/Scenes.meta b/unity/Samples~/SamplesHDRP/Scenes.meta new file mode 100644 index 0000000..b0f901c --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a01fcc32dcf85d46813ee6861fbf932 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesHDRP/Scenes/Scene.unity b/unity/Samples~/SamplesHDRP/Scenes/Scene.unity new file mode 100644 index 0000000..d166697 --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Scenes/Scene.unity @@ -0,0 +1,527 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 4 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 262.38354, g: 325.1084, b: 430.30957, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1292351120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1292351124} + - component: {fileID: 1292351123} + - component: {fileID: 1292351122} + - component: {fileID: 1292351121} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1292351121 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1292351120} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1292351122 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1292351120} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e1c84425eb63f8840898cfae7d5104c1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1292351123 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1292351120} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1292351124 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1292351120} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1773071646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1773071649} + - component: {fileID: 1773071648} + - component: {fileID: 1773071647} + - component: {fileID: 1773071650} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1773071647 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1773071646} + m_Enabled: 1 +--- !u!20 &1773071648 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1773071646} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1773071649 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1773071646} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 10, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &1773071650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1773071646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} + m_Name: + m_EditorClassIdentifier: + clearColorMode: 0 + backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0} + clearDepth: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + antialiasing: 0 + SMAAQuality: 2 + dithering: 0 + stopNaNs: 0 + taaSharpenStrength: 0.5 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 + taaBaseBlendFactor: 0.875 + taaJitterScale: 1 + physicalParameters: + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + flipYMode: 0 + xrRendering: 1 + fullscreenPassthrough: 0 + allowDynamicResolution: 0 + customRenderingSettings: 0 + invertFaceCulling: 0 + probeLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + hasPersistentHistory: 0 + allowDeepLearningSuperSampling: 1 + deepLearningSuperSamplingUseCustomQualitySettings: 0 + deepLearningSuperSamplingQuality: 0 + deepLearningSuperSamplingUseCustomAttributes: 0 + deepLearningSuperSamplingUseOptimalSettings: 1 + deepLearningSuperSamplingSharpening: 0 + exposureTarget: {fileID: 0} + materialMipBias: 0 + m_RenderingPathCustomFrameSettings: + bitDatas: + data1: 72198260625768269 + data2: 13763000477350330392 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + msaaMode: 1 + materialQuality: 0 + renderingPathCustomFrameSettingsOverrideMask: + mask: + data1: 0 + data2: 0 + defaultFrameSettings: 0 + m_Version: 8 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 +--- !u!1 &2084083657 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2084083659} + - component: {fileID: 2084083658} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &2084083658 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2084083657} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &2084083659 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2084083657} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/unity/Samples~/SamplesHDRP/Scenes/Scene.unity.meta b/unity/Samples~/SamplesHDRP/Scenes/Scene.unity.meta new file mode 100644 index 0000000..7b8f1e3 --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Scenes/Scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d8d378e5c22378842b3571445bf2d526 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesHDRP/Shaders.meta b/unity/Samples~/SamplesHDRP/Shaders.meta new file mode 100644 index 0000000..090ff32 --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: edc5a5718e48b2946b4993ac276dac26 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph b/unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph new file mode 100644 index 0000000..77dcb7c --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph @@ -0,0 +1,941 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "36d9aef33b674c2480a525e919a68a31", + "m_Properties": [], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "23fb182a28c0402ea9e4d2043c6606a0" + } + ], + "m_Nodes": [ + { + "m_Id": "d7289180e71d40808012c08a703c83c5" + }, + { + "m_Id": "619626935019468580c99f9c80d8ab6f" + }, + { + "m_Id": "d52a92620d174653942cfa8f3c62d857" + }, + { + "m_Id": "f1e806f5ba56432995df2d5e0f06fac1" + }, + { + "m_Id": "c92cd2010ab942be96d833350f613af0" + }, + { + "m_Id": "0f4cad90457d4955b386a4594e19420d" + }, + { + "m_Id": "77749d59be644d85aba601382030f85a" + }, + { + "m_Id": "7e95e21156af4d9fbc13730ccc8819fe" + }, + { + "m_Id": "c6d2fd0558294df3a378df00112cf610" + }, + { + "m_Id": "ce95d4597380409c862013bad57d967b" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "77749d59be644d85aba601382030f85a" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "f1e806f5ba56432995df2d5e0f06fac1" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7e95e21156af4d9fbc13730ccc8819fe" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "77749d59be644d85aba601382030f85a" + }, + "m_SlotId": 1733474226 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "c6d2fd0558294df3a378df00112cf610" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "77749d59be644d85aba601382030f85a" + }, + "m_SlotId": 2110497064 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ce95d4597380409c862013bad57d967b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "77749d59be644d85aba601382030f85a" + }, + "m_SlotId": 105721492 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "d7289180e71d40808012c08a703c83c5" + }, + { + "m_Id": "619626935019468580c99f9c80d8ab6f" + }, + { + "m_Id": "d52a92620d174653942cfa8f3c62d857" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "f1e806f5ba56432995df2d5e0f06fac1" + }, + { + "m_Id": "c92cd2010ab942be96d833350f613af0" + }, + { + "m_Id": "0f4cad90457d4955b386a4594e19420d" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "527376cc5208449e98705531c2e5ea00" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "0d520593ab394cf1a7ded1b724da6833", + "m_Id": 2110497064, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0f4cad90457d4955b386a4594e19420d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7b32f54308224b84bf1468e0dc48127e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDUnlitSubTarget", + "m_ObjectId": "1c39c16ce1bc40efbda7c16b87f559a2" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "23fb182a28c0402ea9e4d2043c6606a0", + "m_Name": "", + "m_ChildObjectList": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "2eadbb480f574361988aef229b19815a", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "348bd1f9a16c495481ec39ba1a5eb7b5", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_AlphaToMask": false, + "m_DepthOffset": false, + "m_ConservativeDepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "452b4fda4f6747e8ab46bb341fd9bccf", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDTarget", + "m_ObjectId": "527376cc5208449e98705531c2e5ea00", + "m_ActiveSubTarget": { + "m_Id": "1c39c16ce1bc40efbda7c16b87f559a2" + }, + "m_Datas": [ + { + "m_Id": "348bd1f9a16c495481ec39ba1a5eb7b5" + }, + { + "m_Id": "e03cd5a8fc95409493c1273995a56c21" + }, + { + "m_Id": "a806242a9ac7409297efe0101eca3c37" + } + ], + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "54b7d355b5fa42aea6406cc26a565617", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "575a726b799d409689e510cf7adcca90", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "59e3f2618cda4b3e9fcfeab3f47d1e81", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "619626935019468580c99f9c80d8ab6f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "a8d5cfd45ad545c0ace56253e1eb8017" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "77749d59be644d85aba601382030f85a", + "m_Group": { + "m_Id": "" + }, + "m_Name": "MixboxLerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -346.0, + "y": 48.0, + "width": 207.99996948242188, + "height": 326.0 + } + }, + "m_Slots": [ + { + "m_Id": "921c9e4bbf424153b2d29f0d30f15cf1" + }, + { + "m_Id": "0d520593ab394cf1a7ded1b724da6833" + }, + { + "m_Id": "ddc9c673469245bcbd322d18ce9106a1" + }, + { + "m_Id": "452b4fda4f6747e8ab46bb341fd9bccf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"cea2d6a55fe1f64458be5f69a8bff761\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "09cf5334-d845-42f8-9b26-ab94581aceb8", + "393f5f87-e1b5-4bdf-bbd4-cefca1cbe5f3", + "e58bd6d6-6b39-41a9-8ea5-1cfff536735d" + ], + "m_PropertyIds": [ + 1733474226, + 2110497064, + 105721492 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7b32f54308224b84bf1468e0dc48127e", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ColorNode", + "m_ObjectId": "7e95e21156af4d9fbc13730ccc8819fe", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -622.0, + "y": -31.0, + "width": 208.0, + "height": 127.0 + } + }, + "m_Slots": [ + { + "m_Id": "54b7d355b5fa42aea6406cc26a565617" + } + ], + "synonyms": [ + "rgba" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Color": { + "color": { + "r": 0.9882352948188782, + "g": 0.8274509906768799, + "b": 0.0, + "a": 0.0 + }, + "mode": 0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "849b857956124435a0f9f87d444acc30", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "921c9e4bbf424153b2d29f0d30f15cf1", + "m_Id": 1733474226, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDUnlitData", + "m_ObjectId": "a806242a9ac7409297efe0101eca3c37", + "m_EnableShadowMatte": false, + "m_DistortionOnly": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "a8d5cfd45ad545c0ace56253e1eb8017", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "b59f935790424493a2cf99b5f42334e8", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ColorNode", + "m_ObjectId": "c6d2fd0558294df3a378df00112cf610", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -621.0, + "y": 197.0, + "width": 207.99996948242188, + "height": 127.0 + } + }, + "m_Slots": [ + { + "m_Id": "d4b88deb1fa047c09173b0770902f46d" + } + ], + "synonyms": [ + "rgba" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Color": { + "color": { + "r": 0.10980392247438431, + "g": 0.07058823853731156, + "b": 0.29411765933036806, + "a": 0.0 + }, + "mode": 0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c92cd2010ab942be96d833350f613af0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "2eadbb480f574361988aef229b19815a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVNode", + "m_ObjectId": "ce95d4597380409c862013bad57d967b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "UV", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -796.0000610351563, + "y": 95.00000762939453, + "width": 145.00006103515626, + "height": 129.0 + } + }, + "m_Slots": [ + { + "m_Id": "575a726b799d409689e510cf7adcca90" + } + ], + "synonyms": [ + "texcoords", + "coords", + "coordinates" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_OutputChannel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "d4b88deb1fa047c09173b0770902f46d", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d52a92620d174653942cfa8f3c62d857", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "849b857956124435a0f9f87d444acc30" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d7289180e71d40808012c08a703c83c5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "59e3f2618cda4b3e9fcfeab3f47d1e81" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ddc9c673469245bcbd322d18ce9106a1", + "m_Id": 105721492, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_T", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "e03cd5a8fc95409493c1273995a56c21", + "m_MaterialNeedsUpdateHash": 0, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 0, + "m_DOTSInstancing": false, + "m_CustomVelocity": false, + "m_Tessellation": false, + "m_TessellationMode": 0, + "m_TessellationFactorMinDistance": 20.0, + "m_TessellationFactorMaxDistance": 50.0, + "m_TessellationFactorTriangleSize": 100.0, + "m_TessellationShapeFactor": 0.75, + "m_TessellationBackFaceCullEpsilon": -0.25, + "m_TessellationMaxDisplacement": 0.009999999776482582, + "m_Version": 1, + "inspectorFoldoutMask": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "f1e806f5ba56432995df2d5e0f06fac1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "b59f935790424493a2cf99b5f42334e8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + diff --git a/unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph.meta b/unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph.meta new file mode 100644 index 0000000..af0539c --- /dev/null +++ b/unity/Samples~/SamplesHDRP/Shaders/MixboxSampleHDRPShaderGraph.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5078a8abaf2327c44bdceef809b956b1 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/unity/Samples~/SamplesURP/Materials.meta b/unity/Samples~/SamplesURP/Materials.meta new file mode 100644 index 0000000..ba5a6af --- /dev/null +++ b/unity/Samples~/SamplesURP/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 892b07ffc6cd8954a8c7eb778299a7c8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat b/unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat new file mode 100644 index 0000000..43eebaa --- /dev/null +++ b/unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat @@ -0,0 +1,84 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1103843176518887914 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MixboxSampleShaderGraphMaterial + m_Shader: {fileID: -6465566751694194690, guid: 878861faca4e2fa4ea3130c47204b113, + type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MixboxLUT: + m_Texture: {fileID: 2800000, guid: 9bb177930f1b0624ebcd9bdad8029652, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MixboxLerpCustomFunction_6d215c5b13de4fa59f8aa951085a2436_MixboxLUT_4: + m_Texture: {fileID: 2800000, guid: 9bb177930f1b0624ebcd9bdad8029652, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EnableExternalAlpha: 0 + - _QueueControl: 0 + - _QueueOffset: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color1: {r: 0.988, g: 0.827, b: 0, a: 1} + - _Color2: {r: 0.10999996, g: 0.07099997, b: 0.29399997, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat.meta b/unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat.meta new file mode 100644 index 0000000..2db90fc --- /dev/null +++ b/unity/Samples~/SamplesURP/Materials/MixboxSampleShaderGraphMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2cac3e2b2c0440f4ab9b4f7c213094a8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat b/unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat new file mode 100644 index 0000000..c111cdc --- /dev/null +++ b/unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MixboxSampleURPShaderMaterial + m_Shader: {fileID: 4800000, guid: 2a107236c36652b42928a70f71fe9d06, type: 3} + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MixboxLUT: + m_Texture: {fileID: 2800000, guid: 9bb177930f1b0624ebcd9bdad8029652, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MixboxLerpCustomFunction_6d215c5b13de4fa59f8aa951085a2436_MixboxLUT_4: + m_Texture: {fileID: 2800000, guid: 9bb177930f1b0624ebcd9bdad8029652, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EnableExternalAlpha: 0 + - _QueueControl: 0 + - _QueueOffset: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color1: {r: 0.988, g: 0.827, b: 0, a: 1} + - _Color2: {r: 0.11, g: 0.071, b: 0.294, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat.meta b/unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat.meta new file mode 100644 index 0000000..6495d8a --- /dev/null +++ b/unity/Samples~/SamplesURP/Materials/MixboxSampleURPShaderMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d29eec281162ba64c92e1534c872aee0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesURP/Scenes.meta b/unity/Samples~/SamplesURP/Scenes.meta new file mode 100644 index 0000000..b0f901c --- /dev/null +++ b/unity/Samples~/SamplesURP/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a01fcc32dcf85d46813ee6861fbf932 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesURP/Scenes/Scene.unity b/unity/Samples~/SamplesURP/Scenes/Scene.unity new file mode 100644 index 0000000..06b18f1 --- /dev/null +++ b/unity/Samples~/SamplesURP/Scenes/Scene.unity @@ -0,0 +1,554 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &182519864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 182519868} + - component: {fileID: 182519867} + - component: {fileID: 182519866} + - component: {fileID: 182519865} + m_Layer: 0 + m_Name: Plane with Shader Graph Material + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &182519865 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182519864} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &182519866 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182519864} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2cac3e2b2c0440f4ab9b4f7c213094a8, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &182519867 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182519864} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &182519868 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 182519864} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 6, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &282731430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 282731433} + - component: {fileID: 282731432} + - component: {fileID: 282731431} + - component: {fileID: 282731434} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &282731431 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282731430} + m_Enabled: 1 +--- !u!20 &282731432 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282731430} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &282731433 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282731430} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 12, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &282731434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 282731430} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 +--- !u!1 &1631948190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1631948194} + - component: {fileID: 1631948193} + - component: {fileID: 1631948192} + - component: {fileID: 1631948191} + m_Layer: 0 + m_Name: Plane with Shader Material + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1631948191 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631948190} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1631948192 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631948190} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d29eec281162ba64c92e1534c872aee0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1631948193 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631948190} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1631948194 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631948190} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1802630376 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1802630378} + - component: {fileID: 1802630377} + - component: {fileID: 1802630379} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1802630377 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1802630376} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1802630378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1802630376} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &1802630379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1802630376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 1 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} diff --git a/unity/Samples~/SamplesURP/Scenes/Scene.unity.meta b/unity/Samples~/SamplesURP/Scenes/Scene.unity.meta new file mode 100644 index 0000000..7b8f1e3 --- /dev/null +++ b/unity/Samples~/SamplesURP/Scenes/Scene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d8d378e5c22378842b3571445bf2d526 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesURP/Shaders.meta b/unity/Samples~/SamplesURP/Shaders.meta new file mode 100644 index 0000000..090ff32 --- /dev/null +++ b/unity/Samples~/SamplesURP/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: edc5a5718e48b2946b4993ac276dac26 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph b/unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph new file mode 100644 index 0000000..4ceb7bc --- /dev/null +++ b/unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph @@ -0,0 +1,756 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "3937ba52a39a44929e137834e73e345e", + "m_Properties": [], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "5ffde1f201b14b1e970c0d20e931618a" + } + ], + "m_Nodes": [ + { + "m_Id": "88d373b80ebd43aeb71c734f744fc8f9" + }, + { + "m_Id": "c46d7c6f36dd4467997cf821a8258adb" + }, + { + "m_Id": "f41207313a5741a3baf36644ad899cbe" + }, + { + "m_Id": "396402ff66c54a2db98dbf380ea793d4" + }, + { + "m_Id": "5af33c59e1f149939e5d12faf42a673f" + }, + { + "m_Id": "d29f81da4dde4855a5ee841b02debd10" + }, + { + "m_Id": "5001d67191ef4629bfe963bc6f57ada1" + }, + { + "m_Id": "0cb7bea581614bb9aa78b536cb935de6" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0cb7bea581614bb9aa78b536cb935de6" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "396402ff66c54a2db98dbf380ea793d4" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5001d67191ef4629bfe963bc6f57ada1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cb7bea581614bb9aa78b536cb935de6" + }, + "m_SlotId": 105721492 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5af33c59e1f149939e5d12faf42a673f" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cb7bea581614bb9aa78b536cb935de6" + }, + "m_SlotId": 1733474226 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d29f81da4dde4855a5ee841b02debd10" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "0cb7bea581614bb9aa78b536cb935de6" + }, + "m_SlotId": 2110497064 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "88d373b80ebd43aeb71c734f744fc8f9" + }, + { + "m_Id": "c46d7c6f36dd4467997cf821a8258adb" + }, + { + "m_Id": "f41207313a5741a3baf36644ad899cbe" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "396402ff66c54a2db98dbf380ea793d4" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "41f9b4d7d7b342e291a74481e374f4de" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalUnlitSubTarget", + "m_ObjectId": "06cd312644894de9914479639f4727be" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "0cb7bea581614bb9aa78b536cb935de6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "MixboxLerp", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -256.0000305175781, + "y": 183.0, + "width": 207.99998474121095, + "height": 326.0000305175781 + } + }, + "m_Slots": [ + { + "m_Id": "c6579ebec7b7405da5a61d5cf7bae5c6" + }, + { + "m_Id": "1d5133c484994180b3024f3ae02c5f8b" + }, + { + "m_Id": "a5b608b051b742f48b600414e9aed991" + }, + { + "m_Id": "203f0d5bde5e47439a54546eff442235" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"cea2d6a55fe1f64458be5f69a8bff761\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "09cf5334-d845-42f8-9b26-ab94581aceb8", + "393f5f87-e1b5-4bdf-bbd4-cefca1cbe5f3", + "e58bd6d6-6b39-41a9-8ea5-1cfff536735d" + ], + "m_PropertyIds": [ + 1733474226, + 2110497064, + 105721492 + ], + "m_Dropdowns": [], + "m_DropdownSelectedEntries": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "1d5133c484994180b3024f3ae02c5f8b", + "m_Id": 2110497064, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "203f0d5bde5e47439a54546eff442235", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "36e2af63b119459bade53b3bccf7ad88", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "396402ff66c54a2db98dbf380ea793d4", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "36e2af63b119459bade53b3bccf7ad88" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "41f9b4d7d7b342e291a74481e374f4de", + "m_ActiveSubTarget": { + "m_Id": "06cd312644894de9914479639f4727be" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVNode", + "m_ObjectId": "5001d67191ef4629bfe963bc6f57ada1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "UV", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -495.0000305175781, + "y": 363.0000305175781, + "width": 145.00003051757813, + "height": 128.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "dedbc8fd01e8414ca2d16506e4a10382" + } + ], + "synonyms": [ + "texcoords", + "coords", + "coordinates" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_OutputChannel": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ColorNode", + "m_ObjectId": "5af33c59e1f149939e5d12faf42a673f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -548.0, + "y": 89.0, + "width": 208.0, + "height": 127.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "9a225b9fe2884cb5a76c809ff85db2fc" + } + ], + "synonyms": [ + "rgba" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Color": { + "color": { + "r": 0.9882352948188782, + "g": 0.8274509906768799, + "b": 0.0, + "a": 0.0 + }, + "mode": 0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "5f17cad3de14464cba9e3c1fe84b505e", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "5ffde1f201b14b1e970c0d20e931618a", + "m_Name": "", + "m_ChildObjectList": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "88d373b80ebd43aeb71c734f744fc8f9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "a8a00170ee99418088ce83ea210645a7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "9a225b9fe2884cb5a76c809ff85db2fc", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "9cea808049f44410b80ecd19a244441b", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a5b608b051b742f48b600414e9aed991", + "m_Id": 105721492, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_T", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "a8a00170ee99418088ce83ea210645a7", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "acc61f780f9140e195e45a0be667b58f", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c46d7c6f36dd4467997cf821a8258adb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "acc61f780f9140e195e45a0be667b58f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "c6579ebec7b7405da5a61d5cf7bae5c6", + "m_Id": 1733474226, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ColorNode", + "m_ObjectId": "d29f81da4dde4855a5ee841b02debd10", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Color", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -547.0000610351563, + "y": 224.99998474121095, + "width": 208.00003051757813, + "height": 127.00001525878906 + } + }, + "m_Slots": [ + { + "m_Id": "9cea808049f44410b80ecd19a244441b" + } + ], + "synonyms": [ + "rgba" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Color": { + "color": { + "r": 0.10980392247438431, + "g": 0.07058823853731156, + "b": 0.3333333432674408, + "a": 0.0 + }, + "mode": 0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "dedbc8fd01e8414ca2d16506e4a10382", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "f41207313a5741a3baf36644ad899cbe", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "5f17cad3de14464cba9e3c1fe84b505e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + diff --git a/unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph.meta b/unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph.meta new file mode 100644 index 0000000..0eaa9d1 --- /dev/null +++ b/unity/Samples~/SamplesURP/Shaders/MixboxSampleShaderGraph.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 878861faca4e2fa4ea3130c47204b113 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader b/unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader new file mode 100644 index 0000000..6debb69 --- /dev/null +++ b/unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader @@ -0,0 +1,51 @@ +Shader "Mixbox/Mixbox URP Sample Shader" +{ + Properties + { + [NoScaleOffset] _MixboxLUT ("Mixbox LUT", 2D) = "white" {} // assign "Packages/Mixbox/Textures/MixboxLUT.png" + + _Color1 ("Color 1", Color) = (0, 0.129, 0.522, 1) // blue + _Color2 ("Color 2", Color) = (0.988, 0.827, 0, 1) // yellow + } + + SubShader + { + Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalRenderPipeline" } + + Pass + { + HLSLPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + TEXTURE2D(_MixboxLUT); + SAMPLER(sampler_MixboxLUT); + + #include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.hlsl" + + struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; + struct Varyings { float4 positionHCS : SV_POSITION; float2 uv : TEXCOORD0; }; + + CBUFFER_START(UnityPerMaterial) + half4 _Color1; + half4 _Color2; + CBUFFER_END + + Varyings vert(Attributes IN) + { + Varyings OUT; + OUT.positionHCS = TransformObjectToHClip(IN.positionOS.xyz); + OUT.uv = IN.uv; + return OUT; + } + + half4 frag(Varyings IN) : SV_Target + { + return MixboxLerp(_Color1, _Color2, IN.uv.x); + } + ENDHLSL + } + } +} diff --git a/unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader.meta b/unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader.meta new file mode 100644 index 0000000..26fd430 --- /dev/null +++ b/unity/Samples~/SamplesURP/Shaders/MixboxSampleURPShader.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2a107236c36652b42928a70f71fe9d06 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/ShaderGraph.meta b/unity/ShaderGraph.meta new file mode 100644 index 0000000..ac9d47d --- /dev/null +++ b/unity/ShaderGraph.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ff6266ad4cadeb4191c07532420ca02 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/ShaderGraph/CustomFunctions.meta b/unity/ShaderGraph/CustomFunctions.meta new file mode 100644 index 0000000..d20e6db --- /dev/null +++ b/unity/ShaderGraph/CustomFunctions.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 94751c8e8a8eee8418810170ed6644ac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl b/unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl new file mode 100644 index 0000000..ecedb23 --- /dev/null +++ b/unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl @@ -0,0 +1,103 @@ +#ifndef MIXBOX_FUNCTIONS_INCLUDED +#define MIXBOX_FUNCTIONS_INCLUDED + +#ifndef UNITY_COLORSPACE_GAMMA + #define MIXBOX_COLORSPACE_LINEAR +#endif + +#define MIXBOX_LUT(UV) SAMPLE_TEXTURE2D_LOD(MixboxLUT.tex, MixboxLUT.samplerstate, UV, 0) + +typedef float3x3 MixboxLatent; + +float3 MixboxEvalPolynomial(float3 c) +{ + float c0 = c[0]; + float c1 = c[1]; + float c2 = c[2]; + float c3 = 1.0 - (c0 + c1 + c2); + + float c00 = c0 * c0; + float c11 = c1 * c1; + float c22 = c2 * c2; + float c01 = c0 * c1; + float c02 = c0 * c2; + float c12 = c1 * c2; + float c33 = c3 * c3; + + return (c0*c00) * float3(+0.07717053, +0.02826978, +0.24832992) + + (c1*c11) * float3(+0.95912302, +0.80256528, +0.03561839) + + (c2*c22) * float3(+0.74683774, +0.04868586, +0.00000000) + + (c3*c33) * float3(+0.99518138, +0.99978149, +0.99704802) + + (c00*c1) * float3(+0.04819146, +0.83363781, +0.32515377) + + (c01*c1) * float3(-0.68146950, +1.46107803, +1.06980936) + + (c00*c2) * float3(+0.27058419, -0.15324870, +1.98735057) + + (c02*c2) * float3(+0.80478189, +0.67093710, +0.18424500) + + (c00*c3) * float3(-0.35031003, +1.37855826, +3.68865000) + + (c0*c33) * float3(+1.05128046, +1.97815239, +2.82989073) + + (c11*c2) * float3(+3.21607125, +0.81270228, +1.03384539) + + (c1*c22) * float3(+2.78893374, +0.41565549, -0.04487295) + + (c11*c3) * float3(+3.02162577, +2.55374103, +0.32766114) + + (c1*c33) * float3(+2.95124691, +2.81201112, +1.17578442) + + (c22*c3) * float3(+2.82677043, +0.79933038, +1.81715262) + + (c2*c33) * float3(+2.99691099, +1.22593053, +1.80653661) + + (c01*c2) * float3(+1.87394106, +2.05027182, -0.29835996) + + (c01*c3) * float3(+2.56609566, +7.03428198, +0.62575374) + + (c02*c3) * float3(+4.08329484, -1.40408358, +2.14995522) + + (c12*c3) * float3(+6.00078678, +2.55552042, +1.90739502); +} + +float3 MixboxSRGBToLinear(float3 rgb) +{ + return (rgb >= 0.04045) ? pow((abs(rgb) + 0.055) / 1.055, 2.4) : rgb/12.92; +} + +float3 MixboxLinearToSRGB(float3 rgb) +{ + return (rgb >= 0.0031308) ? 1.055*pow(abs(rgb), 1.0/2.4) - 0.055 : 12.92*rgb; +} + +MixboxLatent MixboxRGBToLatent(UnityTexture2D MixboxLUT,float3 rgb) +{ +#ifdef MIXBOX_COLORSPACE_LINEAR + rgb = MixboxLinearToSRGB(saturate(rgb)); +#else + rgb = saturate(rgb); +#endif + + float x = rgb.r * 63.0; + float y = rgb.g * 63.0; + float z = rgb.b * 63.0; + + float iz = floor(z); + + float x0 = fmod(iz, 8.0) * 64.0; + float y0 = floor(iz / 8.0) * 64.0; + + float x1 = fmod(iz + 1.0, 8.0) * 64.0; + float y1 = floor((iz + 1.0) / 8.0) * 64.0; + + float2 uv0 = float2(x0 + x + 0.5, 512.0 - (y0 + y + 0.5)) / 512.0; + float2 uv1 = float2(x1 + x + 0.5, 512.0 - (y1 + y + 0.5)) / 512.0; + + float3 c = lerp(MIXBOX_LUT(uv0).rgb, MIXBOX_LUT(uv1).rgb, z - iz); + + return MixboxLatent(c, rgb - MixboxEvalPolynomial(c), 0.0, 0.0, 0.0); +} + +float3 MixboxLatentToRGB(MixboxLatent latent) +{ + float3 rgb = saturate(MixboxEvalPolynomial(latent[0]) + latent[1]); + +#ifdef MIXBOX_COLORSPACE_LINEAR + return MixboxSRGBToLinear(rgb); +#else + return rgb; +#endif +} + +void MixboxLerp_float(float4 A, float4 B, float T, UnityTexture2D MixboxLUT, out float4 Out) +{ + Out = float4(MixboxLatentToRGB((1.0-T)*MixboxRGBToLatent(MixboxLUT, A.rgb) + T*MixboxRGBToLatent(MixboxLUT, B.rgb)), lerp(A.a, B.a, T)); +} + +#endif diff --git a/unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl.meta b/unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl.meta new file mode 100644 index 0000000..a3d31a6 --- /dev/null +++ b/unity/ShaderGraph/CustomFunctions/MixboxFunctions.hlsl.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cb159fec42c279547ac0aeb6aa800e61 +ShaderIncludeImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/ShaderGraph/MixboxLerp.shadersubgraph b/unity/ShaderGraph/MixboxLerp.shadersubgraph new file mode 100644 index 0000000..9366fb6 --- /dev/null +++ b/unity/ShaderGraph/MixboxLerp.shadersubgraph @@ -0,0 +1,619 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "cdf7407d587a4ca4bdb3b1c9c0514e3f", + "m_Properties": [ + { + "m_Id": "11199b40178e4bfdabfc8980462cc32d" + }, + { + "m_Id": "2bd2b8f5e97c4449a49bbb010dc38099" + }, + { + "m_Id": "1fdb427e9c3c426586e388436306794c" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "aa0270e37e694c84850e872cb02bb05b" + } + ], + "m_Nodes": [ + { + "m_Id": "d6c44a7d970e4bbb89d057e0287c7229" + }, + { + "m_Id": "6d215c5b13de4fa59f8aa951085a2436" + }, + { + "m_Id": "8e721ef9cdf14ca38f24ddc0f1cb3ec9" + }, + { + "m_Id": "77e69188df04432f993c71f41c8e9d80" + }, + { + "m_Id": "b23fbc667c274c1c8d8a7aab35f86159" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6d215c5b13de4fa59f8aa951085a2436" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d6c44a7d970e4bbb89d057e0287c7229" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "77e69188df04432f993c71f41c8e9d80" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6d215c5b13de4fa59f8aa951085a2436" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8e721ef9cdf14ca38f24ddc0f1cb3ec9" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6d215c5b13de4fa59f8aa951085a2436" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b23fbc667c274c1c8d8a7aab35f86159" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "6d215c5b13de4fa59f8aa951085a2436" + }, + "m_SlotId": 2 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Sub Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 0, + "m_OutputNode": { + "m_Id": "d6c44a7d970e4bbb89d057e0287c7229" + }, + "m_ActiveTargets": [] +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "11199b40178e4bfdabfc8980462cc32d", + "m_Guid": { + "m_GuidSerialized": "09cf5334-d845-42f8-9b26-ab94581aceb8" + }, + "m_Name": "A", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "A", + "m_DefaultReferenceName": "_A", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "1fdb427e9c3c426586e388436306794c", + "m_Guid": { + "m_GuidSerialized": "e58bd6d6-6b39-41a9-8ea5-1cfff536735d" + }, + "m_Name": "T", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "T", + "m_DefaultReferenceName": "_T", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "2bd2b8f5e97c4449a49bbb010dc38099", + "m_Guid": { + "m_GuidSerialized": "393f5f87-e1b5-4bdf-bbd4-cefca1cbe5f3" + }, + "m_Name": "B", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "B", + "m_DefaultReferenceName": "_B", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "2e8d66bc6e25463a939be8960a3f6820", + "m_Id": 0, + "m_DisplayName": "T", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "36787d100abd4e0096a646873dfb91b9", + "m_Id": 4, + "m_DisplayName": "MixboxLUT", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "MixboxLUT", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "{\"texture\":{\"fileID\":2800000,\"guid\":\"9bb177930f1b0624ebcd9bdad8029652\",\"type\":3}}", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "54cd54f3e62b424284755f0eb6cf13e1", + "m_Id": 0, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "56cb7828d34d4f35b6c36c350d3699ab", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5b18ca5037a64ba8b19e4c4e090d28b8", + "m_Id": 2, + "m_DisplayName": "T", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "T", + "m_StageCapability": 3, + "m_Value": 0.5, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "6d215c5b13de4fa59f8aa951085a2436", + "m_Group": { + "m_Id": "" + }, + "m_Name": "MixboxLerp (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -219.0, + "y": -227.0, + "width": 222.0, + "height": 326.0 + } + }, + "m_Slots": [ + { + "m_Id": "56cb7828d34d4f35b6c36c350d3699ab" + }, + { + "m_Id": "87b7d4b5a2144d7780c5745a0352e150" + }, + { + "m_Id": "5b18ca5037a64ba8b19e4c4e090d28b8" + }, + { + "m_Id": "36787d100abd4e0096a646873dfb91b9" + }, + { + "m_Id": "85828eb8f8c2448caabb64ad42ae0df1" + } + ], + "synonyms": [ + "code", + "HLSL" + ], + "m_Precision": 1, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 0, + "m_FunctionName": "MixboxLerp", + "m_FunctionSource": "cb159fec42c279547ac0aeb6aa800e61", + "m_FunctionBody": "Enter function body here..." +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "77e69188df04432f993c71f41c8e9d80", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -358.0, + "y": -197.0, + "width": 85.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "54cd54f3e62b424284755f0eb6cf13e1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "2bd2b8f5e97c4449a49bbb010dc38099" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "83d97e9a8d9b4ceca1a3836ee0ca4b05", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "85828eb8f8c2448caabb64ad42ae0df1", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "87b7d4b5a2144d7780c5745a0352e150", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 1.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "8e721ef9cdf14ca38f24ddc0f1cb3ec9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -358.0, + "y": -241.0, + "width": 85.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "d51dfa18bb40402097f248c3f5741f61" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "11199b40178e4bfdabfc8980462cc32d" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "aa0270e37e694c84850e872cb02bb05b", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "11199b40178e4bfdabfc8980462cc32d" + }, + { + "m_Id": "2bd2b8f5e97c4449a49bbb010dc38099" + }, + { + "m_Id": "1fdb427e9c3c426586e388436306794c" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b23fbc667c274c1c8d8a7aab35f86159", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -357.0, + "y": -152.0, + "width": 83.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "2e8d66bc6e25463a939be8960a3f6820" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "1fdb427e9c3c426586e388436306794c" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "d51dfa18bb40402097f248c3f5741f61", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", + "m_ObjectId": "d6c44a7d970e4bbb89d057e0287c7229", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Output", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 10.0, + "y": -227.0, + "width": 121.0, + "height": 77.0 + } + }, + "m_Slots": [ + { + "m_Id": "83d97e9a8d9b4ceca1a3836ee0ca4b05" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "IsFirstSlotValid": true +} + diff --git a/unity/ShaderGraph/MixboxLerp.shadersubgraph.meta b/unity/ShaderGraph/MixboxLerp.shadersubgraph.meta new file mode 100644 index 0000000..5c9366c --- /dev/null +++ b/unity/ShaderGraph/MixboxLerp.shadersubgraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: cea2d6a55fe1f64458be5f69a8bff761 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} diff --git a/unity/ShaderLibrary.meta b/unity/ShaderLibrary.meta new file mode 100644 index 0000000..90cb457 --- /dev/null +++ b/unity/ShaderLibrary.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd4c6311a8e214c4182bf19784f39f8f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/ShaderLibrary/Mixbox.cginc b/unity/ShaderLibrary/Mixbox.cginc new file mode 100644 index 0000000..9bfca8e --- /dev/null +++ b/unity/ShaderLibrary/Mixbox.cginc @@ -0,0 +1,44 @@ +// ========================================================== +// MIXBOX 2.0 (c) 2022 Secret Weapons. All rights reserved. +// License: Creative Commons Attribution-NonCommercial 4.0 +// Authors: Sarka Sochorova and Ondrej Jamriska +// ========================================================== +// +// BASIC USAGE +// +// float3 rgb = MixboxLerp(rgb1, rgb2, t); +// +// MULTI-COLOR MIXING +// +// MixboxLatent z1 = MixboxRGBToLatent(rgb1); +// MixboxLatent z2 = MixboxRGBToLatent(rgb2); +// MixboxLatent z3 = MixboxRGBToLatent(rgb3); +// +// // mix 30% of rgb1, 60% of rgb2, and 10% of rgb3 +// MixboxLatent z_mix = 0.3*z1 + 0.6*z2 + 0.1*z3; +// +// float3 rgb_mix = MixboxLatentToRGB(z_mix); +// +// PIGMENT COLORS +// +// Cadmium Yellow 0.996, 0.925, 0.000 +// Hansa Yellow 0.988, 0.827, 0.000 +// Cadmium Orange 1.000, 0.412, 0.000 +// Cadmium Red 1.000, 0.153, 0.008 +// Quinacridone Magenta 0.502, 0.008, 0.180 +// Cobalt Violet 0.306, 0.000, 0.259 +// Ultramarine Blue 0.098, 0.000, 0.349 +// Cobalt Blue 0.000, 0.129, 0.522 +// Phthalo Blue 0.051, 0.106, 0.267 +// Phthalo Green 0.000, 0.235, 0.196 +// Permanent Green 0.027, 0.427, 0.086 +// Sap Green 0.420, 0.580, 0.016 +// Burnt Sienna 0.482, 0.282, 0.000 +// +// LICENSING +// +// If you want to obtain commercial license, please +// contact us at: mixbox@scrtwpns.com +// + +#include "Packages/com.scrtwpns.mixbox/ShaderLibrary/Mixbox.hlsl" diff --git a/unity/ShaderLibrary/Mixbox.cginc.meta b/unity/ShaderLibrary/Mixbox.cginc.meta new file mode 100644 index 0000000..5af2cb0 --- /dev/null +++ b/unity/ShaderLibrary/Mixbox.cginc.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0dd349175be5d4e40aa8e73df152ac60 +ShaderIncludeImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/ShaderLibrary/Mixbox.hlsl b/unity/ShaderLibrary/Mixbox.hlsl new file mode 100644 index 0000000..6e8aa57 --- /dev/null +++ b/unity/ShaderLibrary/Mixbox.hlsl @@ -0,0 +1,157 @@ +// ========================================================== +// MIXBOX 2.0 (c) 2022 Secret Weapons. All rights reserved. +// License: Creative Commons Attribution-NonCommercial 4.0 +// Authors: Sarka Sochorova and Ondrej Jamriska +// ========================================================== +// +// BASIC USAGE +// +// float3 rgb = MixboxLerp(rgb1, rgb2, t); +// +// MULTI-COLOR MIXING +// +// MixboxLatent z1 = MixboxRGBToLatent(rgb1); +// MixboxLatent z2 = MixboxRGBToLatent(rgb2); +// MixboxLatent z3 = MixboxRGBToLatent(rgb3); +// +// // mix 30% of rgb1, 60% of rgb2, and 10% of rgb3 +// MixboxLatent z_mix = 0.3*z1 + 0.6*z2 + 0.1*z3; +// +// float3 rgb_mix = MixboxLatentToRGB(z_mix); +// +// PIGMENT COLORS +// +// Cadmium Yellow 0.996, 0.925, 0.000 +// Hansa Yellow 0.988, 0.827, 0.000 +// Cadmium Orange 1.000, 0.412, 0.000 +// Cadmium Red 1.000, 0.153, 0.008 +// Quinacridone Magenta 0.502, 0.008, 0.180 +// Cobalt Violet 0.306, 0.000, 0.259 +// Ultramarine Blue 0.098, 0.000, 0.349 +// Cobalt Blue 0.000, 0.129, 0.522 +// Phthalo Blue 0.051, 0.106, 0.267 +// Phthalo Green 0.000, 0.235, 0.196 +// Permanent Green 0.027, 0.427, 0.086 +// Sap Green 0.420, 0.580, 0.016 +// Burnt Sienna 0.482, 0.282, 0.000 +// +// LICENSING +// +// If you want to obtain commercial license, please +// contact us at: mixbox@scrtwpns.com +// + +#ifndef MIXBOX_INCLUDED +#define MIXBOX_INCLUDED + +#ifndef UNITY_COLORSPACE_GAMMA + #define MIXBOX_COLORSPACE_LINEAR +#endif + +#ifndef MIXBOX_LUT + #ifdef SAMPLE_TEXTURE2D_LOD + #define MIXBOX_LUT(UV) SAMPLE_TEXTURE2D_LOD(_MixboxLUT, sampler_MixboxLUT, UV, 0) + #else + #define MIXBOX_LUT(UV) tex2D(_MixboxLUT, UV) + #endif +#endif + +typedef float3x3 MixboxLatent; + +float3 MixboxEvalPolynomial(float3 c) +{ + float c0 = c[0]; + float c1 = c[1]; + float c2 = c[2]; + float c3 = 1.0 - (c0 + c1 + c2); + + float c00 = c0 * c0; + float c11 = c1 * c1; + float c22 = c2 * c2; + float c01 = c0 * c1; + float c02 = c0 * c2; + float c12 = c1 * c2; + float c33 = c3 * c3; + + return (c0*c00) * float3(+0.07717053, +0.02826978, +0.24832992) + + (c1*c11) * float3(+0.95912302, +0.80256528, +0.03561839) + + (c2*c22) * float3(+0.74683774, +0.04868586, +0.00000000) + + (c3*c33) * float3(+0.99518138, +0.99978149, +0.99704802) + + (c00*c1) * float3(+0.04819146, +0.83363781, +0.32515377) + + (c01*c1) * float3(-0.68146950, +1.46107803, +1.06980936) + + (c00*c2) * float3(+0.27058419, -0.15324870, +1.98735057) + + (c02*c2) * float3(+0.80478189, +0.67093710, +0.18424500) + + (c00*c3) * float3(-0.35031003, +1.37855826, +3.68865000) + + (c0*c33) * float3(+1.05128046, +1.97815239, +2.82989073) + + (c11*c2) * float3(+3.21607125, +0.81270228, +1.03384539) + + (c1*c22) * float3(+2.78893374, +0.41565549, -0.04487295) + + (c11*c3) * float3(+3.02162577, +2.55374103, +0.32766114) + + (c1*c33) * float3(+2.95124691, +2.81201112, +1.17578442) + + (c22*c3) * float3(+2.82677043, +0.79933038, +1.81715262) + + (c2*c33) * float3(+2.99691099, +1.22593053, +1.80653661) + + (c01*c2) * float3(+1.87394106, +2.05027182, -0.29835996) + + (c01*c3) * float3(+2.56609566, +7.03428198, +0.62575374) + + (c02*c3) * float3(+4.08329484, -1.40408358, +2.14995522) + + (c12*c3) * float3(+6.00078678, +2.55552042, +1.90739502); +} + +float3 MixboxSRGBToLinear(float3 rgb) +{ + return (rgb >= 0.04045) ? pow((abs(rgb) + 0.055) / 1.055, 2.4) : rgb/12.92; +} + +float3 MixboxLinearToSRGB(float3 rgb) +{ + return (rgb >= 0.0031308) ? 1.055*pow(abs(rgb), 1.0/2.4) - 0.055 : 12.92*rgb; +} + +MixboxLatent MixboxRGBToLatent(float3 rgb) +{ +#ifdef MIXBOX_COLORSPACE_LINEAR + rgb = MixboxLinearToSRGB(saturate(rgb)); +#else + rgb = saturate(rgb); +#endif + + float x = rgb.r * 63.0; + float y = rgb.g * 63.0; + float z = rgb.b * 63.0; + + float iz = floor(z); + + float x0 = fmod(iz, 8.0) * 64.0; + float y0 = floor(iz / 8.0) * 64.0; + + float x1 = fmod(iz + 1.0, 8.0) * 64.0; + float y1 = floor((iz + 1.0) / 8.0) * 64.0; + + float2 uv0 = float2(x0 + x + 0.5, 512.0 - (y0 + y + 0.5)) / 512.0; + float2 uv1 = float2(x1 + x + 0.5, 512.0 - (y1 + y + 0.5)) / 512.0; + + float3 c = lerp(MIXBOX_LUT(uv0).rgb, MIXBOX_LUT(uv1).rgb, z - iz); + + return MixboxLatent(c, rgb - MixboxEvalPolynomial(c), 0.0, 0.0, 0.0); +} + +float3 MixboxLatentToRGB(MixboxLatent latent) +{ + float3 rgb = saturate(MixboxEvalPolynomial(latent[0]) + latent[1]); + +#ifdef MIXBOX_COLORSPACE_LINEAR + return MixboxSRGBToLinear(rgb); +#else + return rgb; +#endif +} + +float3 MixboxLerp(float3 color1, float3 color2, float t) +{ + return MixboxLatentToRGB((1.0-t)*MixboxRGBToLatent(color1) + t*MixboxRGBToLatent(color2)); +} + +float4 MixboxLerp(float4 color1, float4 color2, float t) +{ + return float4(MixboxLerp(color1.rgb, color2.rgb, t), lerp(color1.a, color2.a, t)); +} + +#endif diff --git a/unity/ShaderLibrary/Mixbox.hlsl.meta b/unity/ShaderLibrary/Mixbox.hlsl.meta new file mode 100644 index 0000000..afe4fe8 --- /dev/null +++ b/unity/ShaderLibrary/Mixbox.hlsl.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 99e868ffcd385494fb8d6670aba3b648 +ShaderIncludeImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Textures.meta b/unity/Textures.meta new file mode 100644 index 0000000..c2dad69 --- /dev/null +++ b/unity/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c50cb8edb0194174ea9bcf461b6c5dc0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Textures/MixboxLUT.png b/unity/Textures/MixboxLUT.png new file mode 100644 index 0000000000000000000000000000000000000000..ca41ecb868da7048182d181152c530bc14d524c4 GIT binary patch literal 176524 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 z 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 z

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 literal 0 HcmV?d00001 diff --git a/unity/Textures/MixboxLUT.png.meta b/unity/Textures/MixboxLUT.png.meta new file mode 100644 index 0000000..da27093 --- /dev/null +++ b/unity/Textures/MixboxLUT.png.meta @@ -0,0 +1,120 @@ +fileFormatVersion: 2 +guid: 9bb177930f1b0624ebcd9bdad8029652 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 0 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 4096 + resizeAlgorithm: 0 + textureFormat: 3 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 4096 + resizeAlgorithm: 0 + textureFormat: 3 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 4096 + resizeAlgorithm: 0 + textureFormat: 3 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/package.json b/unity/package.json new file mode 100644 index 0000000..ab843b2 --- /dev/null +++ b/unity/package.json @@ -0,0 +1,29 @@ +{ + "name": "com.scrtwpns.mixbox", + "version": "2.0.0", + "displayName": "Mixbox", + "description": "Pigment-Based Color Mixing", + "unity": "2019.3", + "author": { + "name": "Secret Weapons", + "email": "mixbox@scrtwpns.com", + "url": "https://scrtwpns.com" + }, + "samples": [ + { + "displayName": "Built-in Samples", + "description": "Contains sample shaders for the Built-in Render Pipelne", + "path": "Samples~/SamplesBuiltin" + }, + { + "displayName": "URP Samples", + "description": "Contains sample shaders for the Universal Render Pipelne", + "path": "Samples~/SamplesURP" + }, + { + "displayName": "HDRP Samples", + "description": "Contains sample shaders for the High Definition Render Pipelne", + "path": "Samples~/SamplesHDRP" + } + ] +} diff --git a/unity/package.json.meta b/unity/package.json.meta new file mode 100644 index 0000000..74dadf8 --- /dev/null +++ b/unity/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 561481a9fef54ef46a9685b2db21c5d0 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: