diff --git a/404.html b/404.html index 0b607473..8e72c126 100644 --- a/404.html +++ b/404.html @@ -104,4 +104,4 @@ 100% - var(--spectrum-global-dimension-size-10) )!important;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;margin-right:var(--spectrum-global-dimension-size-175)!important;white-space:nowrap;color:var(--spectrum-global-color-gray-700)!important;-webkit-transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;-webkit-transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;}.css-b71vjq:hover{background-color:var( --spectrum-global-color-gray-75 - )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-b71vjq>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-b71vjq>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

Error 404: Page not found

Sorry, that page can't be found.

\ No newline at end of file + )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-b71vjq>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-b71vjq>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

Error 404: Page not found

Sorry, that page can't be found.

\ No newline at end of file diff --git a/404/index.html b/404/index.html index ac08b7ec..f614c1fb 100644 --- a/404/index.html +++ b/404/index.html @@ -104,4 +104,4 @@ 100% - var(--spectrum-global-dimension-size-10) )!important;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;margin-right:var(--spectrum-global-dimension-size-175)!important;white-space:nowrap;color:var(--spectrum-global-color-gray-700)!important;-webkit-transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;-webkit-transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;}.css-b71vjq:hover{background-color:var( --spectrum-global-color-gray-75 - )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-b71vjq>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-b71vjq>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

Error 404: Page not found

Sorry, that page can't be found.

\ No newline at end of file + )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-b71vjq>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-b71vjq>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

Error 404: Page not found

Sorry, that page can't be found.

\ No newline at end of file diff --git a/api/changelog/index.html b/api/changelog/index.html index a302ff00..8a89940c 100644 --- a/api/changelog/index.html +++ b/api/changelog/index.html @@ -104,4 +104,4 @@ 100% - var(--spectrum-global-dimension-size-10) )!important;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;padding:0 var(--spectrum-global-dimension-size-175)!important;margin-right:white-space:nowrap;color:var(--spectrum-global-color-gray-700)!important;-webkit-transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;-webkit-transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;transition:background-color var(--spectrum-global-animation-duration-100) ease-out,color var(--spectrum-global-animation-duration-100) ease-out;}.css-1yf14z1:hover{background-color:var( --spectrum-global-color-gray-75 - )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-1yf14z1>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-1yf14z1>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

Changelog

8.2.0

8.1.0

7.2.0

2018.3.2

2018.3.0

2018.2.0

2017.4.2

2017.4.1

2017.4.0

2017.3.1

2017.2.0

2.6.0

2.5.0

2.4.0

2.2.0

2.1.1

2.1.0

2.0.4

2.0.0

1.7.0

1.6.0

1.5.0

1.4.1

1.4.0

1.3.4

1.3.3

1.3.0

1.2.0

1.0

\ No newline at end of file + )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-1yf14z1>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-1yf14z1>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

Changelog

8.2.0

8.1.0

7.2.0

2018.3.2

2018.3.0

2018.2.0

2017.4.2

2017.4.1

2017.4.0

2017.3.1

2017.2.0

2.6.0

2.5.0

2.4.0

2.2.0

2.1.1

2.1.0

2.0.4

2.0.0

1.7.0

1.6.0

1.5.0

1.4.1

1.4.0

1.3.4

1.3.3

1.3.0

1.2.0

1.0

\ No newline at end of file diff --git a/api/index.html b/api/index.html index 74310ba6..b54cdd8e 100644 --- a/api/index.html +++ b/api/index.html @@ -136,4 +136,4 @@ "mdl" : "mdl::alg::materials::painter::pbr::physically_metallic_roughness")

Example shaders

To better understand how to write a complete shader, here are a few examples, ordered by increasing complexity:

Dynamic material layering

The Dynamic Material Layering is a specific workflow where materials are mixed together inside a shader and let the user dynamically edit blending masks in Substance 3D Painter. -To enable this workflow, there are two new functionalities:

\ No newline at end of file +To enable this workflow, there are two new functionalities:

\ No newline at end of file diff --git a/api/libraries/lib-alpha/index.html b/api/libraries/lib-alpha/index.html index f0cf0f83..7974f059 100644 --- a/api/libraries/lib-alpha/index.html +++ b/api/libraries/lib-alpha/index.html @@ -139,4 +139,4 @@ } -Copied to your clipboard
1void alphaKill(float alpha)
2 {
3 float threshold = alpha_dither ? getBlueNoiseThresholdTemporal() : alpha_threshold;
4 if (alpha < threshold) discard;
5 }
6
7 void alphaKill(SparseCoord coord)
8 {
9 alphaKill(getOpacity(opacity_tex, coord));
10 }
11
12
\ No newline at end of file +Copied to your clipboard
1void alphaKill(float alpha)
2 {
3 float threshold = alpha_dither ? getBlueNoiseThresholdTemporal() : alpha_threshold;
4 if (alpha < threshold) discard;
5 }
6
7 void alphaKill(SparseCoord coord)
8 {
9 alphaKill(getOpacity(opacity_tex, coord));
10 }
11
12
\ No newline at end of file diff --git a/api/libraries/lib-bayer/index.html b/api/libraries/lib-bayer/index.html index 286b936c..ad9febb8 100644 --- a/api/libraries/lib-bayer/index.html +++ b/api/libraries/lib-bayer/index.html @@ -110,4 +110,4 @@ } -Copied to your clipboard
1float bayerMatrix8(uvec2 coords) {
2 return (float(bayer(coords.x, coords.y)) + 0.5) / 64.0;
3 }
4
5
\ No newline at end of file +Copied to your clipboard
1float bayerMatrix8(uvec2 coords) {
2 return (float(bayer(coords.x, coords.y)) + 0.5) / 64.0;
3 }
4
5
\ No newline at end of file diff --git a/api/libraries/lib-bent-normal/index.html b/api/libraries/lib-bent-normal/index.html index b8393a7a..b1f6515c 100644 --- a/api/libraries/lib-bent-normal/index.html +++ b/api/libraries/lib-bent-normal/index.html @@ -171,4 +171,4 @@ } -Copied to your clipboard
1void computeBentNormal(inout LocalVectors vectors, V2F inputs) {
2 if (use_bent_normal) {
3 vectors.bent = computeWSBentNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
4 }
5 }
6
7 vec3 getDiffuseBentNormal(LocalVectors vectors) {
8 return use_bent_normal ?
9 normalize(mix(vectors.normal, vectors.bent, bent_normal_diffuse_amount)) :
10 vectors.normal;
11 }
12
13 float getBentNormalSpecularAmount() {
14 return use_bent_normal ? bent_normal_specular_amount : 0.0;
15 }
16
17
\ No newline at end of file +Copied to your clipboard
1void computeBentNormal(inout LocalVectors vectors, V2F inputs) {
2 if (use_bent_normal) {
3 vectors.bent = computeWSBentNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
4 }
5 }
6
7 vec3 getDiffuseBentNormal(LocalVectors vectors) {
8 return use_bent_normal ?
9 normalize(mix(vectors.normal, vectors.bent, bent_normal_diffuse_amount)) :
10 vectors.normal;
11 }
12
13 float getBentNormalSpecularAmount() {
14 return use_bent_normal ? bent_normal_specular_amount : 0.0;
15 }
16
17
\ No newline at end of file diff --git a/api/libraries/lib-coat/index.html b/api/libraries/lib-coat/index.html index dc43ff69..41f4876e 100644 --- a/api/libraries/lib-coat/index.html +++ b/api/libraries/lib-coat/index.html @@ -169,4 +169,4 @@ } -Copied to your clipboard
1vec3 coatPassageColorMultiplier(vec3 coatColor, float coatOpacity, float ndv)
2 {
3 if (min(coatColor.r, min(coatColor.g, coatColor.b)) < 1.0)
4 {
5 float power = 0.1575 / mix(0.24, 1.0, ndv * ndv) + 0.25;
6 return pow(mix(vec3(1.0), coatColor, coatOpacity), vec3(power));
7 }
8 else
9 {
10 return vec3(1.);
11 }
12 }
13
14
\ No newline at end of file +Copied to your clipboard
1vec3 coatPassageColorMultiplier(vec3 coatColor, float coatOpacity, float ndv)
2 {
3 if (min(coatColor.r, min(coatColor.g, coatColor.b)) < 1.0)
4 {
5 float power = 0.1575 / mix(0.24, 1.0, ndv * ndv) + 0.25;
6 return pow(mix(vec3(1.0), coatColor, coatOpacity), vec3(power));
7 }
8 else
9 {
10 return vec3(1.);
11 }
12 }
13
14
\ No newline at end of file diff --git a/api/libraries/lib-defines/index.html b/api/libraries/lib-defines/index.html index 872c1f8f..a2d03679 100644 --- a/api/libraries/lib-defines/index.html +++ b/api/libraries/lib-defines/index.html @@ -151,4 +151,4 @@ const int BlendingMode_AddSub = 31; -Copied to your clipboard
1const int BlendingMode_Disable = 0;
2 const int BlendingMode_Replace = 1;
3 const int BlendingMode_Normal = 2;
4 const int BlendingMode_Darken = 3;
5 const int BlendingMode_Multiply = 4;
6 const int BlendingMode_ColorBurn = 5;
7 const int BlendingMode_LinearBurn = 6;
8 const int BlendingMode_Lighten = 7;
9 const int BlendingMode_Screen = 8;
10 const int BlendingMode_ColorDodge = 9;
11 const int BlendingMode_LinearDodge = 10;
12 const int BlendingMode_Overlay = 11;
13 const int BlendingMode_SoftLight = 12;
14 const int BlendingMode_HardLight = 13;
15 const int BlendingMode_VividLight = 14;
16 const int BlendingMode_LinearLight = 15;
17 const int BlendingMode_PinLight = 16;
18 const int BlendingMode_Difference = 17;
19 const int BlendingMode_Exclusion = 18;
20 const int BlendingMode_Tint = 19;
21 const int BlendingMode_Saturation = 20;
22 const int BlendingMode_Color = 21;
23 const int BlendingMode_Value = 22;
24 const int BlendingMode_Divide = 23;
25 const int BlendingMode_InverseDivide = 24;
26 const int BlendingMode_Passthru = 25;
27 const int BlendingMode_NM_Combine = 26;
28 const int BlendingMode_NM_Oriented = 27;
29 const int BlendingMode_NM_InverseOriented = 28;
30 const int BlendingMode_Subtract = 29;
31 const int BlendingMode_InverseSubtract = 30;
32 const int BlendingMode_AddSub = 31;
33
34
\ No newline at end of file +Copied to your clipboard
1const int BlendingMode_Disable = 0;
2 const int BlendingMode_Replace = 1;
3 const int BlendingMode_Normal = 2;
4 const int BlendingMode_Darken = 3;
5 const int BlendingMode_Multiply = 4;
6 const int BlendingMode_ColorBurn = 5;
7 const int BlendingMode_LinearBurn = 6;
8 const int BlendingMode_Lighten = 7;
9 const int BlendingMode_Screen = 8;
10 const int BlendingMode_ColorDodge = 9;
11 const int BlendingMode_LinearDodge = 10;
12 const int BlendingMode_Overlay = 11;
13 const int BlendingMode_SoftLight = 12;
14 const int BlendingMode_HardLight = 13;
15 const int BlendingMode_VividLight = 14;
16 const int BlendingMode_LinearLight = 15;
17 const int BlendingMode_PinLight = 16;
18 const int BlendingMode_Difference = 17;
19 const int BlendingMode_Exclusion = 18;
20 const int BlendingMode_Tint = 19;
21 const int BlendingMode_Saturation = 20;
22 const int BlendingMode_Color = 21;
23 const int BlendingMode_Value = 22;
24 const int BlendingMode_Divide = 23;
25 const int BlendingMode_InverseDivide = 24;
26 const int BlendingMode_Passthru = 25;
27 const int BlendingMode_NM_Combine = 26;
28 const int BlendingMode_NM_Oriented = 27;
29 const int BlendingMode_NM_InverseOriented = 28;
30 const int BlendingMode_Subtract = 29;
31 const int BlendingMode_InverseSubtract = 30;
32 const int BlendingMode_AddSub = 31;
33
34
\ No newline at end of file diff --git a/api/libraries/lib-emissive/index.html b/api/libraries/lib-emissive/index.html index 4d227505..00b476d7 100644 --- a/api/libraries/lib-emissive/index.html +++ b/api/libraries/lib-emissive/index.html @@ -123,4 +123,4 @@ } -Copied to your clipboard
1vec3 pbrComputeEmissive(SamplerSparse emissive, SparseCoord coord)
2 {
3 return emissive_intensity * textureSparse(emissive, coord).rgb;
4 }
5
6
\ No newline at end of file +Copied to your clipboard
1vec3 pbrComputeEmissive(SamplerSparse emissive, SparseCoord coord)
2 {
3 return emissive_intensity * textureSparse(emissive, coord).rgb;
4 }
5
6
\ No newline at end of file diff --git a/api/libraries/lib-env/index.html b/api/libraries/lib-env/index.html index 75ef49b7..fc4474af 100644 --- a/api/libraries/lib-env/index.html +++ b/api/libraries/lib-env/index.html @@ -149,4 +149,4 @@ } -Copied to your clipboard
1vec3 envIrradiance(vec3 dirW)
2 {
3 vec4 shDir = vec4(worldToEnvSpace(dirW).xzy, 1.0);
4 return max(vec3(0.0), vec3(
5 dot(shDir, irrad_mat_red * shDir),
6 dot(shDir, irrad_mat_green * shDir),
7 dot(shDir, irrad_mat_blue * shDir)
8 )) * environment_exposure;
9 }
10
11
\ No newline at end of file +Copied to your clipboard
1vec3 envIrradiance(vec3 dirW)
2 {
3 vec4 shDir = vec4(worldToEnvSpace(dirW).xzy, 1.0);
4 return max(vec3(0.0), vec3(
5 dot(shDir, irrad_mat_red * shDir),
6 dot(shDir, irrad_mat_green * shDir),
7 dot(shDir, irrad_mat_blue * shDir)
8 )) * environment_exposure;
9 }
10
11
\ No newline at end of file diff --git a/api/libraries/lib-normal/index.html b/api/libraries/lib-normal/index.html index 726efba1..35609c75 100644 --- a/api/libraries/lib-normal/index.html +++ b/api/libraries/lib-normal/index.html @@ -263,4 +263,4 @@ } -Copied to your clipboard
1vec3 computeWSNormal(SparseCoord coord, vec3 tangent, vec3 bitangent, vec3 normal)
2 {
3 vec3 normal_vec = getTSNormal(coord);
4 return normalize(
5 normal_vec.x * tangent +
6 normal_vec.y * bitangent +
7 normal_vec.z * normal
8 );
9 }
10
11
\ No newline at end of file +Copied to your clipboard
1vec3 computeWSNormal(SparseCoord coord, vec3 tangent, vec3 bitangent, vec3 normal)
2 {
3 vec3 normal_vec = getTSNormal(coord);
4 return normalize(
5 normal_vec.x * tangent +
6 normal_vec.y * bitangent +
7 normal_vec.z * normal
8 );
9 }
10
11
\ No newline at end of file diff --git a/api/libraries/lib-pbr-aniso/index.html b/api/libraries/lib-pbr-aniso/index.html index fdd77227..e9c6d961 100644 --- a/api/libraries/lib-pbr-aniso/index.html +++ b/api/libraries/lib-pbr-aniso/index.html @@ -262,4 +262,4 @@ } -Copied to your clipboard
1float normal_distrib(
2 vec3 localH,
3 vec2 alpha)
4 {
5 localH.xy /= alpha;
6 float tmp = dot(localH, localH);
7 return 1.0 / (M_PI * alpha.x * alpha.y * tmp * tmp);
8 }
9
10 float G1(
11 vec3 localW,
12 vec2 alpha)
13 {
14 // One generic factor of the geometry function divided by ndw
15 localW.xy *= alpha;
16 return 2.0 / (localW.z + length(localW));
17 }
18
19 float visibility(
20 vec3 localL,
21 vec3 localV,
22 vec2 alpha)
23 {
24 // visibility is a Cook-Torrance geometry function divided by (n.l)*(n.v)
25 return G1(localL, alpha) * G1(localV, alpha);
26 }
27
28 vec3 cook_torrance_contrib(
29 float vdh,
30 float ndh,
31 vec3 localL,
32 vec3 localE,
33 vec3 F0,
34 vec3 F82,
35 vec2 alpha)
36 {
37 // This is the contribution when using importance sampling with the GGX based
38 // sample distribution. This means ct_contrib = ct_brdf / ggx_probability
39 return fresnel(vdh, F0, F82) * (visibility(localL, localE, alpha) * vdh * localL.z / ndh);
40 }
41
42 vec3 cook_torrance_contrib(
43 float vdh,
44 float ndh,
45 vec3 localL,
46 vec3 localE,
47 vec3 Ks,
48 vec2 alpha)
49 {
50 return cook_torrance_contrib(vdh, ndh, localL, localE, Ks, vec3(1.0), alpha);
51 }
52
53 vec3 importanceSampleGGX(vec2 Xi, vec2 alpha)
54 {
55 float phi = 2.0 * M_PI * Xi.x;
56 vec2 slope = sqrt(Xi.y / (1.0 - Xi.y)) * alpha * vec2(cos(phi), sin(phi));
57 return normalize(vec3(slope, 1.0));
58 }
59
60 float probabilityGGX(vec3 localH, float vdh, vec2 alpha)
61 {
62 return normal_distrib(localH, alpha) * localH.z / (4.0 * vdh);
63 }
64
65 vec3 pbrComputeSpecularAnisotropic(
66 LocalVectors vectors,
67 vec3 F0,
68 vec3 F82,
69 vec2 roughness,
70 float occlusion,
71 float bentNormalSpecularAmount)
72 {
73 vec3 radiance = vec3(0.0);
74 vec2 alpha = roughness * roughness;
75 mat3 TBN = mat3(vectors.tangent, vectors.bitangent, vectors.normal);
76 vec3 localE = vectors.eye * TBN;
77 mat3 envTBN = mat3(
78 worldToEnvSpace(vectors.tangent),
79 worldToEnvSpace(vectors.bitangent),
80 worldToEnvSpace(vectors.normal));
81 vec3 envVertexN = worldToEnvSpace(vectors.vertexNormal);
82 vec3 envBent = worldToEnvSpace(vectors.bent);
83
84 // Bent normals occlusion
85 float occlusionStart = 0.75 - occlusion;
86 float occlusionEnd = 1.0 - occlusion;
87
88 for(int i=0; i<nbSamples; ++i)
89 {
90 vec2 Xi = fibonacci2DDitheredTemporal(i, nbSamples);
91 vec3 localH = importanceSampleGGX(Xi, alpha);
92 vec3 localL = reflect(-localE, localH);
93
94 float specOcclusion = 1.0;
95 vec3 envL = envTBN * localL;
96
97 if(bentNormalSpecularAmount!=0.0)
98 {
99 float mask = 1.0 - sqrt(1.0 - max(0.0, dot(envBent, envL)));
100 specOcclusion = smoothstep(occlusionStart, occlusionEnd, mask);
101 specOcclusion = mix(1.0, specOcclusion, bentNormalSpecularAmount);
102 }
103
104 if (localL.z > 0.0)
105 {
106 float vdh = max(1e-8, dot(localE, localH));
107
108 float fade = horizonFading(dot(envVertexN, envL), horizonFade);
109 float pdf = probabilityGGX(localH, vdh, alpha);
110 float lodS = max(roughness.x, roughness.y) < 0.01 ? 0.0 : computeLOD(envL, pdf);
111 // Offset lodS to trade bias for more noise
112 lodS -= 1.0;
113 vec3 preconvolvedSample = envSample(envL, lodS);
114
115 radiance +=
116 fade * specOcclusion * cook_torrance_contrib(vdh, localH.z, localL, localE, F0, F82, alpha) *
117 preconvolvedSample;
118 }
119 }
120
121 return radiance / float(nbSamples);
122 }
123
124 vec3 pbrComputeSpecularAnisotropic(
125 LocalVectors vectors,
126 vec3 F0,
127 vec3 F82,
128 vec2 roughness)
129 {
130 return pbrComputeSpecularAnisotropic(vectors, F0, F82, roughness, 1.0, 0.0);
131 }
132
133 vec3 pbrComputeSpecularAnisotropic(
134 LocalVectors vectors,
135 vec3 specColor,
136 vec2 roughness,
137 float occlusion,
138 float bentNormalSpecularAmount)
139 {
140 return pbrComputeSpecularAnisotropic(vectors, specColor, vec3(1.0), roughness, occlusion, bentNormalSpecularAmount);
141 }
142
143 vec3 pbrComputeSpecularAnisotropic(
144 LocalVectors vectors,
145 vec3 specColor,
146 vec2 roughness)
147 {
148 return pbrComputeSpecularAnisotropic(vectors, specColor, roughness, 1.0, 0.0);
149 }
150
151
\ No newline at end of file +Copied to your clipboard
1float normal_distrib(
2 vec3 localH,
3 vec2 alpha)
4 {
5 localH.xy /= alpha;
6 float tmp = dot(localH, localH);
7 return 1.0 / (M_PI * alpha.x * alpha.y * tmp * tmp);
8 }
9
10 float G1(
11 vec3 localW,
12 vec2 alpha)
13 {
14 // One generic factor of the geometry function divided by ndw
15 localW.xy *= alpha;
16 return 2.0 / (localW.z + length(localW));
17 }
18
19 float visibility(
20 vec3 localL,
21 vec3 localV,
22 vec2 alpha)
23 {
24 // visibility is a Cook-Torrance geometry function divided by (n.l)*(n.v)
25 return G1(localL, alpha) * G1(localV, alpha);
26 }
27
28 vec3 cook_torrance_contrib(
29 float vdh,
30 float ndh,
31 vec3 localL,
32 vec3 localE,
33 vec3 F0,
34 vec3 F82,
35 vec2 alpha)
36 {
37 // This is the contribution when using importance sampling with the GGX based
38 // sample distribution. This means ct_contrib = ct_brdf / ggx_probability
39 return fresnel(vdh, F0, F82) * (visibility(localL, localE, alpha) * vdh * localL.z / ndh);
40 }
41
42 vec3 cook_torrance_contrib(
43 float vdh,
44 float ndh,
45 vec3 localL,
46 vec3 localE,
47 vec3 Ks,
48 vec2 alpha)
49 {
50 return cook_torrance_contrib(vdh, ndh, localL, localE, Ks, vec3(1.0), alpha);
51 }
52
53 vec3 importanceSampleGGX(vec2 Xi, vec2 alpha)
54 {
55 float phi = 2.0 * M_PI * Xi.x;
56 vec2 slope = sqrt(Xi.y / (1.0 - Xi.y)) * alpha * vec2(cos(phi), sin(phi));
57 return normalize(vec3(slope, 1.0));
58 }
59
60 float probabilityGGX(vec3 localH, float vdh, vec2 alpha)
61 {
62 return normal_distrib(localH, alpha) * localH.z / (4.0 * vdh);
63 }
64
65 vec3 pbrComputeSpecularAnisotropic(
66 LocalVectors vectors,
67 vec3 F0,
68 vec3 F82,
69 vec2 roughness,
70 float occlusion,
71 float bentNormalSpecularAmount)
72 {
73 vec3 radiance = vec3(0.0);
74 vec2 alpha = roughness * roughness;
75 mat3 TBN = mat3(vectors.tangent, vectors.bitangent, vectors.normal);
76 vec3 localE = vectors.eye * TBN;
77 mat3 envTBN = mat3(
78 worldToEnvSpace(vectors.tangent),
79 worldToEnvSpace(vectors.bitangent),
80 worldToEnvSpace(vectors.normal));
81 vec3 envVertexN = worldToEnvSpace(vectors.vertexNormal);
82 vec3 envBent = worldToEnvSpace(vectors.bent);
83
84 // Bent normals occlusion
85 float occlusionStart = 0.75 - occlusion;
86 float occlusionEnd = 1.0 - occlusion;
87
88 for(int i=0; i<nbSamples; ++i)
89 {
90 vec2 Xi = fibonacci2DDitheredTemporal(i, nbSamples);
91 vec3 localH = importanceSampleGGX(Xi, alpha);
92 vec3 localL = reflect(-localE, localH);
93
94 float specOcclusion = 1.0;
95 vec3 envL = envTBN * localL;
96
97 if(bentNormalSpecularAmount!=0.0)
98 {
99 float mask = 1.0 - sqrt(1.0 - max(0.0, dot(envBent, envL)));
100 specOcclusion = smoothstep(occlusionStart, occlusionEnd, mask);
101 specOcclusion = mix(1.0, specOcclusion, bentNormalSpecularAmount);
102 }
103
104 if (localL.z > 0.0)
105 {
106 float vdh = max(1e-8, dot(localE, localH));
107
108 float fade = horizonFading(dot(envVertexN, envL), horizonFade);
109 float pdf = probabilityGGX(localH, vdh, alpha);
110 float lodS = max(roughness.x, roughness.y) < 0.01 ? 0.0 : computeLOD(envL, pdf);
111 // Offset lodS to trade bias for more noise
112 lodS -= 1.0;
113 vec3 preconvolvedSample = envSample(envL, lodS);
114
115 radiance +=
116 fade * specOcclusion * cook_torrance_contrib(vdh, localH.z, localL, localE, F0, F82, alpha) *
117 preconvolvedSample;
118 }
119 }
120
121 return radiance / float(nbSamples);
122 }
123
124 vec3 pbrComputeSpecularAnisotropic(
125 LocalVectors vectors,
126 vec3 F0,
127 vec3 F82,
128 vec2 roughness)
129 {
130 return pbrComputeSpecularAnisotropic(vectors, F0, F82, roughness, 1.0, 0.0);
131 }
132
133 vec3 pbrComputeSpecularAnisotropic(
134 LocalVectors vectors,
135 vec3 specColor,
136 vec2 roughness,
137 float occlusion,
138 float bentNormalSpecularAmount)
139 {
140 return pbrComputeSpecularAnisotropic(vectors, specColor, vec3(1.0), roughness, occlusion, bentNormalSpecularAmount);
141 }
142
143 vec3 pbrComputeSpecularAnisotropic(
144 LocalVectors vectors,
145 vec3 specColor,
146 vec2 roughness)
147 {
148 return pbrComputeSpecularAnisotropic(vectors, specColor, roughness, 1.0, 0.0);
149 }
150
151
\ No newline at end of file diff --git a/api/libraries/lib-pbr/index.html b/api/libraries/lib-pbr/index.html index 8f4f4fc1..c0dd0212 100644 --- a/api/libraries/lib-pbr/index.html +++ b/api/libraries/lib-pbr/index.html @@ -356,4 +356,4 @@ } -Copied to your clipboard
1vec3 pbrComputeSpecular(
2 LocalVectors vectors,
3 vec3 F0,
4 vec3 F82,
5 float roughness,
6 float occlusion,
7 float bentNormalSpecularAmount)
8 {
9 vec3 radiance = vec3(0.0);
10 float ndv = dot(vectors.eye, vectors.normal);
11
12 // Bent normals occlusion
13 float occlusionStart = 0.75 - occlusion;
14 float occlusionEnd = 1.0 - occlusion;
15 vec3 envT = worldToEnvSpace(vectors.tangent);
16 vec3 envB = worldToEnvSpace(vectors.bitangent);
17 vec3 envN = worldToEnvSpace(vectors.normal);
18 vec3 envE = worldToEnvSpace(vectors.eye);
19 vec3 envVertexNormal = worldToEnvSpace(vectors.vertexNormal);
20 vec3 envBent = worldToEnvSpace(vectors.bent);
21
22 for(int i=0; i<nbSamples; ++i)
23 {
24 vec2 Xi = fibonacci2DDitheredTemporal(i, nbSamples);
25 vec3 Hn = importanceSampleGGX(Xi, envT, envB, envN, roughness);
26 vec3 Ln = -reflect(envE,Hn);
27
28 float fade = horizonFading(dot(envVertexNormal, Ln), horizonFade);
29
30 float specOcclusion = 1.0;
31 if(bentNormalSpecularAmount!=0.0)
32 {
33 float mask = 1.0 - sqrt(1.0 - max(0.0, dot(envBent, Ln)));
34 specOcclusion = smoothstep(occlusionStart, occlusionEnd, mask);
35 specOcclusion = mix(1.0, specOcclusion, bentNormalSpecularAmount);
36 }
37
38 float ndl = dot(envN, Ln);
39 ndl = max( 1e-8, ndl );
40 float vdh = max(1e-8, dot(envE, Hn));
41 float ndh = max(1e-8, dot(envN, Hn));
42 float lodS = roughness < 0.01 ? 0.0 : computeLOD(Ln, probabilityGGX(ndh, vdh, roughness));
43 radiance += fade * specOcclusion * envSample(Ln, lodS) *
44 cook_torrance_contrib(vdh, ndh, ndl, ndv, F0, F82, roughness);
45 }
46 // Remove occlusions on shiny reflections
47 radiance /= float(nbSamples);
48
49 return radiance;
50 }
51
52 vec3 pbrComputeSpecular(
53 LocalVectors vectors,
54 vec3 F0,
55 vec3 F82,
56 float roughness)
57 {
58 return pbrComputeSpecular(vectors, F0, F82, roughness, 1.0, 0.0);
59 }
60
61 vec3 pbrComputeSpecular(
62 LocalVectors vectors,
63 vec3 specColor,
64 float roughness,
65 float occlusion,
66 float bentNormalSpecularAmount)
67 {
68 return pbrComputeSpecular(vectors, specColor, vec3(1.0), roughness, occlusion, bentNormalSpecularAmount);
69 }
70
71 vec3 pbrComputeSpecular(
72 LocalVectors vectors,
73 vec3 specColor,
74 float roughness)
75 {
76 return pbrComputeSpecular(vectors, specColor, roughness, 1.0, 0.0);
77 }
78
79
\ No newline at end of file +Copied to your clipboard
1vec3 pbrComputeSpecular(
2 LocalVectors vectors,
3 vec3 F0,
4 vec3 F82,
5 float roughness,
6 float occlusion,
7 float bentNormalSpecularAmount)
8 {
9 vec3 radiance = vec3(0.0);
10 float ndv = dot(vectors.eye, vectors.normal);
11
12 // Bent normals occlusion
13 float occlusionStart = 0.75 - occlusion;
14 float occlusionEnd = 1.0 - occlusion;
15 vec3 envT = worldToEnvSpace(vectors.tangent);
16 vec3 envB = worldToEnvSpace(vectors.bitangent);
17 vec3 envN = worldToEnvSpace(vectors.normal);
18 vec3 envE = worldToEnvSpace(vectors.eye);
19 vec3 envVertexNormal = worldToEnvSpace(vectors.vertexNormal);
20 vec3 envBent = worldToEnvSpace(vectors.bent);
21
22 for(int i=0; i<nbSamples; ++i)
23 {
24 vec2 Xi = fibonacci2DDitheredTemporal(i, nbSamples);
25 vec3 Hn = importanceSampleGGX(Xi, envT, envB, envN, roughness);
26 vec3 Ln = -reflect(envE,Hn);
27
28 float fade = horizonFading(dot(envVertexNormal, Ln), horizonFade);
29
30 float specOcclusion = 1.0;
31 if(bentNormalSpecularAmount!=0.0)
32 {
33 float mask = 1.0 - sqrt(1.0 - max(0.0, dot(envBent, Ln)));
34 specOcclusion = smoothstep(occlusionStart, occlusionEnd, mask);
35 specOcclusion = mix(1.0, specOcclusion, bentNormalSpecularAmount);
36 }
37
38 float ndl = dot(envN, Ln);
39 ndl = max( 1e-8, ndl );
40 float vdh = max(1e-8, dot(envE, Hn));
41 float ndh = max(1e-8, dot(envN, Hn));
42 float lodS = roughness < 0.01 ? 0.0 : computeLOD(Ln, probabilityGGX(ndh, vdh, roughness));
43 radiance += fade * specOcclusion * envSample(Ln, lodS) *
44 cook_torrance_contrib(vdh, ndh, ndl, ndv, F0, F82, roughness);
45 }
46 // Remove occlusions on shiny reflections
47 radiance /= float(nbSamples);
48
49 return radiance;
50 }
51
52 vec3 pbrComputeSpecular(
53 LocalVectors vectors,
54 vec3 F0,
55 vec3 F82,
56 float roughness)
57 {
58 return pbrComputeSpecular(vectors, F0, F82, roughness, 1.0, 0.0);
59 }
60
61 vec3 pbrComputeSpecular(
62 LocalVectors vectors,
63 vec3 specColor,
64 float roughness,
65 float occlusion,
66 float bentNormalSpecularAmount)
67 {
68 return pbrComputeSpecular(vectors, specColor, vec3(1.0), roughness, occlusion, bentNormalSpecularAmount);
69 }
70
71 vec3 pbrComputeSpecular(
72 LocalVectors vectors,
73 vec3 specColor,
74 float roughness)
75 {
76 return pbrComputeSpecular(vectors, specColor, roughness, 1.0, 0.0);
77 }
78
79
\ No newline at end of file diff --git a/api/libraries/lib-pom/index.html b/api/libraries/lib-pom/index.html index 9896f0bb..108d4fcb 100644 --- a/api/libraries/lib-pom/index.html +++ b/api/libraries/lib-pom/index.html @@ -210,4 +210,4 @@ } -Copied to your clipboard
1void applyParallaxOffset(inout V2F inputs, vec3 viewTS)
2 {
3 vec2 offset = getParallaxOffset(inputs.sparse_coord, viewTS);
4 if (any(notEqual(offset,vec2(0.0)))) {
5 inputs.tex_coord += offset;
6 inputs.sparse_coord = getSparseCoord(inputs.tex_coord);
7 }
8 }
9
10
\ No newline at end of file +Copied to your clipboard
1void applyParallaxOffset(inout V2F inputs, vec3 viewTS)
2 {
3 vec2 offset = getParallaxOffset(inputs.sparse_coord, viewTS);
4 if (any(notEqual(offset,vec2(0.0)))) {
5 inputs.tex_coord += offset;
6 inputs.sparse_coord = getSparseCoord(inputs.tex_coord);
7 }
8 }
9
10
\ No newline at end of file diff --git a/api/libraries/lib-random/index.html b/api/libraries/lib-random/index.html index a05f9e4c..301e1304 100644 --- a/api/libraries/lib-random/index.html +++ b/api/libraries/lib-random/index.html @@ -144,4 +144,4 @@ } -Copied to your clipboard
1vec2 fibonacci2DDitheredTemporal(int i, int nbSamples)
2 {
3 vec2 s = fibonacci2D(i, nbSamples);
4 s.x += getBlueNoiseThresholdTemporal();
5 return s;
6 }
7
8
\ No newline at end of file +Copied to your clipboard
1vec2 fibonacci2DDitheredTemporal(int i, int nbSamples)
2 {
3 vec2 s = fibonacci2D(i, nbSamples);
4 s.x += getBlueNoiseThresholdTemporal();
5 return s;
6 }
7
8
\ No newline at end of file diff --git a/api/libraries/lib-sampler/index.html b/api/libraries/lib-sampler/index.html index b29f70a5..04ae6a12 100644 --- a/api/libraries/lib-sampler/index.html +++ b/api/libraries/lib-sampler/index.html @@ -522,4 +522,4 @@ } -Copied to your clipboard
1float getCoatSpecularLevel(vec4 sampledValue)
2 {
3 return sampledValue.r + DEFAULT_COAT_SPEC_LEVEL * (1.0 - sampledValue.g);
4 }
5
6 float getCoatSpecularLevel(SamplerSparse smp, SparseCoord coord)
7 {
8 return getCoatSpecularLevel(textureSparse(smp, coord));
9 }
10
11
\ No newline at end of file +Copied to your clipboard
1float getCoatSpecularLevel(vec4 sampledValue)
2 {
3 return sampledValue.r + DEFAULT_COAT_SPEC_LEVEL * (1.0 - sampledValue.g);
4 }
5
6 float getCoatSpecularLevel(SamplerSparse smp, SparseCoord coord)
7 {
8 return getCoatSpecularLevel(textureSparse(smp, coord));
9 }
10
11
\ No newline at end of file diff --git a/api/libraries/lib-sheen/index.html b/api/libraries/lib-sheen/index.html index 707b6544..b696074c 100644 --- a/api/libraries/lib-sheen/index.html +++ b/api/libraries/lib-sheen/index.html @@ -172,4 +172,4 @@ } -Copied to your clipboard
1vec3 pbrComputeSheen(LocalVectors vectors, vec3 specColor, float roughness)
2 {
3 vec3 radiance = vec3(0.0);
4 float ndv = dot(vectors.eye, vectors.normal);
5 roughness = max(1e-3, roughness);
6 vec3 envT = worldToEnvSpace(vectors.tangent);
7 vec3 envB = worldToEnvSpace(vectors.bitangent);
8 vec3 envN = worldToEnvSpace(vectors.normal);
9 vec3 envE = worldToEnvSpace(vectors.eye);
10 vec3 envVertexNormal = worldToEnvSpace(vectors.vertexNormal);
11
12 for(int i=0; i<nbSamples; ++i)
13 {
14 vec2 Xi = fibonacci2D(i, nbSamples);
15 vec3 Ln = uniformSample(Xi, envT, envB, envN);
16 vec3 Hn = normalize(Ln + envE);
17 float fade = horizonFading(dot(envVertexNormal, Ln), horizonFade);
18
19 float ndl = dot(envN, Ln);
20 if (ndl > 0.0 && ndv > 0.0) {
21 ndl = max( 1e-8, ndl );
22 float vdh = max(1e-8, dot(envE, Hn));
23 float ndh = max(1e-8, dot(envN, Hn));
24 float lodS = computeLOD(Ln, 0.5 * M_INV_PI);
25 radiance += fade * envSample(Ln, lodS) * sheen_contrib(ndh, ndl, ndv, specColor, roughness);
26 }
27 }
28 radiance /= float(nbSamples);
29
30 return radiance;
31 }
32
33
\ No newline at end of file +Copied to your clipboard
1vec3 pbrComputeSheen(LocalVectors vectors, vec3 specColor, float roughness)
2 {
3 vec3 radiance = vec3(0.0);
4 float ndv = dot(vectors.eye, vectors.normal);
5 roughness = max(1e-3, roughness);
6 vec3 envT = worldToEnvSpace(vectors.tangent);
7 vec3 envB = worldToEnvSpace(vectors.bitangent);
8 vec3 envN = worldToEnvSpace(vectors.normal);
9 vec3 envE = worldToEnvSpace(vectors.eye);
10 vec3 envVertexNormal = worldToEnvSpace(vectors.vertexNormal);
11
12 for(int i=0; i<nbSamples; ++i)
13 {
14 vec2 Xi = fibonacci2D(i, nbSamples);
15 vec3 Ln = uniformSample(Xi, envT, envB, envN);
16 vec3 Hn = normalize(Ln + envE);
17 float fade = horizonFading(dot(envVertexNormal, Ln), horizonFade);
18
19 float ndl = dot(envN, Ln);
20 if (ndl > 0.0 && ndv > 0.0) {
21 ndl = max( 1e-8, ndl );
22 float vdh = max(1e-8, dot(envE, Hn));
23 float ndh = max(1e-8, dot(envN, Hn));
24 float lodS = computeLOD(Ln, 0.5 * M_INV_PI);
25 radiance += fade * envSample(Ln, lodS) * sheen_contrib(ndh, ndl, ndv, specColor, roughness);
26 }
27 }
28 radiance /= float(nbSamples);
29
30 return radiance;
31 }
32
33
\ No newline at end of file diff --git a/api/libraries/lib-sparse/index.html b/api/libraries/lib-sparse/index.html index 744bb970..404bae0a 100644 --- a/api/libraries/lib-sparse/index.html +++ b/api/libraries/lib-sparse/index.html @@ -220,4 +220,4 @@ } -Copied to your clipboard
1void textureSparseOffsets(SamplerSparse smp, SparseCoord coord, vec2 offsets[N], out vec4 results[N]) {
2 vec2 dfdx,dfdy;
3 textureSparseQueryGrad(dfdx, dfdy, smp, coord);
4 for(int i = 0; i < N; ++i) {
5 results[i] = textureGrad(smp.tex, coord.tex_coord + offsets[i], dfdx, dfdy);
6 }
7 }
8
9
\ No newline at end of file +Copied to your clipboard
1void textureSparseOffsets(SamplerSparse smp, SparseCoord coord, vec2 offsets[N], out vec4 results[N]) {
2 vec2 dfdx,dfdy;
3 textureSparseQueryGrad(dfdx, dfdy, smp, coord);
4 for(int i = 0; i < N; ++i) {
5 results[i] = textureGrad(smp.tex, coord.tex_coord + offsets[i], dfdx, dfdy);
6 }
7 }
8
9
\ No newline at end of file diff --git a/api/libraries/lib-sss/index.html b/api/libraries/lib-sss/index.html index 089e33db..e1b0ef27 100644 --- a/api/libraries/lib-sss/index.html +++ b/api/libraries/lib-sss/index.html @@ -240,4 +240,4 @@ } -Copied to your clipboard
1vec4 getSSSColor(SparseCoord coord) {
2 if (sssEnabled) {
3 return getSSSColor(
4 sssScatteringColorSource==1 ? getScatteringColor(sss_scatteringcolor_tex, coord) : vec3(1.0),
5 sssScatteringUsesTranslucency ? getTranslucency(sss_translucency_tex, coord) : 1.0);
6 }
7 return vec4(0.0);
8 }
9
10
\ No newline at end of file +Copied to your clipboard
1vec4 getSSSColor(SparseCoord coord) {
2 if (sssEnabled) {
3 return getSSSColor(
4 sssScatteringColorSource==1 ? getScatteringColor(sss_scatteringcolor_tex, coord) : vec3(1.0),
5 sssScatteringUsesTranslucency ? getTranslucency(sss_translucency_tex, coord) : 1.0);
6 }
7 return vec4(0.0);
8 }
9
10
\ No newline at end of file diff --git a/api/libraries/lib-utils/index.html b/api/libraries/lib-utils/index.html index 8a4c8f5a..204a99e9 100644 --- a/api/libraries/lib-utils/index.html +++ b/api/libraries/lib-utils/index.html @@ -198,4 +198,4 @@ } -Copied to your clipboard
1float specularOcclusionCorrection(float diffuseOcclusion, float metallic, float roughness)
2 {
3 return mix(diffuseOcclusion, 1.0, metallic * (1.0 - roughness) * (1.0 - roughness));
4 }
5
6
\ No newline at end of file +Copied to your clipboard
1float specularOcclusionCorrection(float diffuseOcclusion, float metallic, float roughness)
2 {
3 return mix(diffuseOcclusion, 1.0, metallic * (1.0 - roughness) * (1.0 - roughness));
4 }
5
6
\ No newline at end of file diff --git a/api/libraries/lib-vectors/index.html b/api/libraries/lib-vectors/index.html index 5f902c10..c6d30b8e 100644 --- a/api/libraries/lib-vectors/index.html +++ b/api/libraries/lib-vectors/index.html @@ -189,4 +189,4 @@ } -Copied to your clipboard
1LocalVectors computeLocalFrame(V2F inputs) {
2 // Get world space normal
3 vec3 normal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
4 return computeLocalFrame(inputs, normal, 0.0);
5 }
6
7
\ No newline at end of file +Copied to your clipboard
1LocalVectors computeLocalFrame(V2F inputs) {
2 // Get world space normal
3 vec3 normal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
4 return computeLocalFrame(inputs, normal, 0.0);
5 }
6
7
\ No newline at end of file diff --git a/api/parameters/all-custom-params/index.html b/api/parameters/all-custom-params/index.html index b1e62951..4d4ef63f 100644 --- a/api/parameters/all-custom-params/index.html +++ b/api/parameters/all-custom-params/index.html @@ -179,4 +179,4 @@ } -Copied to your clipboard
1vec4 shade(V2F inputs)
2 {
3 // We simply return the value of the RGB color picker
4 return vec4(u_color_float3, 1.0);
5 }
6
7
\ No newline at end of file +Copied to your clipboard
1vec4 shade(V2F inputs)
2 {
3 // We simply return the value of the RGB color picker
4 return vec4(u_color_float3, 1.0);
5 }
6
7
\ No newline at end of file diff --git a/api/parameters/all-custom-qualifiers/index.html b/api/parameters/all-custom-qualifiers/index.html index aaffc763..7ce00d9b 100644 --- a/api/parameters/all-custom-qualifiers/index.html +++ b/api/parameters/all-custom-qualifiers/index.html @@ -133,4 +133,4 @@ } -Copied to your clipboard
1vec4 shade(V2F inputs)
2 {
3 vec4 result_color(0.0);
4
5 if (u_enable_heavy_featureA) {
6 // Eliminated if u_enable_heavy_feature is false
7 result_color += heavyFeatureA();
8 }
9
10 // heavyFeatureB() is eliminated if u_weight_heavy_computation is 0
11 result_color += heavyFeatureB() * u_weight_heavy_featureB;
12
13 return result_color;
14 }
15
16
\ No newline at end of file +Copied to your clipboard
1vec4 shade(V2F inputs)
2 {
3 vec4 result_color(0.0);
4
5 if (u_enable_heavy_featureA) {
6 // Eliminated if u_enable_heavy_feature is false
7 result_color += heavyFeatureA();
8 }
9
10 // heavyFeatureB() is eliminated if u_weight_heavy_computation is 0
11 result_color += heavyFeatureB() * u_weight_heavy_featureB;
12
13 return result_color;
14 }
15
16
\ No newline at end of file diff --git a/api/parameters/all-engine-params/index.html b/api/parameters/all-engine-params/index.html index 16e39139..4ae50ff0 100644 --- a/api/parameters/all-engine-params/index.html +++ b/api/parameters/all-engine-params/index.html @@ -185,4 +185,4 @@ uniform vec3 uniform_world_eye_position; -Copied to your clipboard
1//: param auto world_eye_position
2 uniform vec3 uniform_world_eye_position;
3
4
\ No newline at end of file +Copied to your clipboard
1//: param auto world_eye_position
2 uniform vec3 uniform_world_eye_position;
3
4
\ No newline at end of file diff --git a/api/parameters/all-rendering-states-params/index.html b/api/parameters/all-rendering-states-params/index.html index a38768e8..d10d4d84 100644 --- a/api/parameters/all-rendering-states-params/index.html +++ b/api/parameters/all-rendering-states-params/index.html @@ -115,4 +115,4 @@ Copied to your clipboard
//: state blend multiply

Shader sampling locality

By default, document channels are sampled using untransformed texture coordinates for rendering optimizations during painting.

If artifacts appear set the nonlocal state to on.

Copied to your clipboard
1//: state nonlocal on
2
3
\ No newline at end of file +Copied to your clipboard
1//: state nonlocal on
2
3
\ No newline at end of file diff --git a/api/parameters/layering_bind_materials/index.html b/api/parameters/layering_bind_materials/index.html index a54766de..4bb8bf90 100644 --- a/api/parameters/layering_bind_materials/index.html +++ b/api/parameters/layering_bind_materials/index.html @@ -133,4 +133,4 @@ uniform sampler2D roughness_tex2; -Copied to your clipboard
1//: param auto Material1.channel_basecolor
2 uniform sampler2D basecolor_tex1;
3 //: param auto Material1.channel_metallic
4 uniform sampler2D metallic_tex1;
5 //: param auto Material1.channel_roughness
6 uniform sampler2D roughness_tex1;
7
8 //: param auto Material2.channel_basecolor
9 uniform sampler2D basecolor_tex2;
10 //: param auto Material2.channel_metallic
11 uniform sampler2D metallic_tex2;
12 //: param auto Material2.channel_roughness
13 uniform sampler2D roughness_tex2;
14
15
\ No newline at end of file +Copied to your clipboard
1//: param auto Material1.channel_basecolor
2 uniform sampler2D basecolor_tex1;
3 //: param auto Material1.channel_metallic
4 uniform sampler2D metallic_tex1;
5 //: param auto Material1.channel_roughness
6 uniform sampler2D roughness_tex1;
7
8 //: param auto Material2.channel_basecolor
9 uniform sampler2D basecolor_tex2;
10 //: param auto Material2.channel_metallic
11 uniform sampler2D metallic_tex2;
12 //: param auto Material2.channel_roughness
13 uniform sampler2D roughness_tex2;
14
15
\ No newline at end of file diff --git a/api/parameters/layering_declare_stacks/index.html b/api/parameters/layering_declare_stacks/index.html index 8a53155f..b90278d6 100644 --- a/api/parameters/layering_declare_stacks/index.html +++ b/api/parameters/layering_declare_stacks/index.html @@ -182,4 +182,4 @@ uniform sampler2D mask_tex2; -Copied to your clipboard
1//: param auto Mask1.channel_opacity
2 uniform sampler2D mask_tex1;
3 //: param auto Mask2.channel_opacity
4 uniform sampler2D mask_tex2;
5
6
\ No newline at end of file +Copied to your clipboard
1//: param auto Mask1.channel_opacity
2 uniform sampler2D mask_tex1;
3 //: param auto Mask2.channel_opacity
4 uniform sampler2D mask_tex2;
5
6
\ No newline at end of file diff --git a/api/shaders/asm-metal-rough/index.html b/api/shaders/asm-metal-rough/index.html index 2693d037..e3ec19af 100644 --- a/api/shaders/asm-metal-rough/index.html +++ b/api/shaders/asm-metal-rough/index.html @@ -395,4 +395,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float baseRoughness = getRoughness(roughness_tex, inputs.sparse_coord);
9
10 float anisotropyLevel = 0.0;
11 float anisotropyAngle = 0.0;
12 if (anisotropyEnabled) {
13 anisotropyLevel = getAnisotropyLevel(anisotropylevel_tex, inputs.sparse_coord);
14 if (anisotropyLevel > 0.0) {
15 anisotropyAngle = getAnisotropyAngle(anisotropyangle_tex, inputs.sparse_coord);
16 }
17 }
18
19 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
20 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
21 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
22 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
23 vec3 specColor_metal = baseColor;
24 float dielectricF0 = iorToSpecularLevel(1.0, specularIoR);
25 float coatOpacity = 0.0;
26 if (coatEnabled) {
27 coatOpacity = getCoatOpacity(coatOpacity_tex, inputs.sparse_coord);
28 if (coatOpacity > 0.0) {
29 float underCoatF0 = iorToSpecularLevel(coatIoR, specularIoR);
30 dielectricF0 = mix(dielectricF0, underCoatF0, coatOpacity);
31 }
32 }
33 vec3 specColor_dielectric = vec3(dielectricF0 * 2.0 * specularLevel);
34
35 // Get detail (ambient occlusion) and global (shadow) occlusion factors
36 // separately in order to blend the bent normals properly
37 float shadowFactor = getShadowFactor();
38 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
39
40 float specOcclusion = specularOcclusionCorrection(
41 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
42 metallic,
43 baseRoughness);
44
45 vec3 normal = computeWSNormal(inputs.sparse_coord,
46 inputs.tangent, inputs.bitangent, inputs.normal);
47 LocalVectors vectors = computeLocalFrame(inputs, normal, anisotropyAngle);
48 computeBentNormal(vectors,inputs);
49
50 // Diffuse lobe:
51 vec3 diffuseShading = occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors));
52
53 // Specular lobes:
54 // The specs can be interpreted as interpolating between two lobes.
55 // However, due to the prohibitive cost for real-time, we interpolate
56 // between two specular colors and use it for a single specular lobe.
57 vec3 specColor = mix(specColor_dielectric, specColor_metal, metallic);
58 vec3 specSecondaryColor = vec3(1.0);
59 if (specularEdgeColorEnabled) {
60 specSecondaryColor = getSpecularEdgeColor(specularedgecolor_tex, inputs.sparse_coord);
61 }
62 vec3 specEdgeColor = mix(vec3(1.0), specSecondaryColor, metallic);
63 vec3 specColoring = mix(vec3(1.0), specSecondaryColor, 1.0 - metallic);
64 vec3 specReflection = vec3(0.0);
65 if (anisotropyEnabled) {
66 vec2 roughnessAniso = generateAnisotropicRoughnessASM(baseRoughness, anisotropyLevel);
67 specReflection = pbrComputeSpecularAnisotropic(
68 vectors,
69 specColor,
70 specEdgeColor,
71 roughnessAniso,
72 occlusion,
73 getBentNormalSpecularAmount());
74 }
75 else {
76 specReflection = pbrComputeSpecular(
77 vectors,
78 specColor,
79 specEdgeColor,
80 baseRoughness,
81 occlusion,
82 getBentNormalSpecularAmount());
83 }
84 vec3 specularShading = specOcclusion * specColoring * specReflection;
85
86 // Sheen:
87 if (sheenEnabled) {
88 float sheenOpacity = getSheenOpacity(sheenOpacity_tex, inputs.sparse_coord);
89 if (sheenOpacity > 0.0) {
90 float sheenRoughness = getSheenRoughness(sheenRoughness_tex, inputs.sparse_coord);
91 vec3 sheenColor = sheenOpacity * getSheenColor(sheenColor_tex, inputs.sparse_coord);
92 vec3 sheenSpecularShading = pbrComputeSheen(vectors, sheenColor, sheenRoughness);
93 specularShading += specOcclusion * sheenSpecularShading;
94 }
95 }
96
97 // Coating:
98 // Keep track of coat absorption quantity to know how much to reduce contribution for lower layers
99 vec3 coatAbsorption = vec3(1.0);
100 if (coatOpacity > 0.0) {
101 vec3 coatNormal = getWSCoatNormal(inputs.sparse_coord,
102 inputs.tangent, inputs.bitangent, inputs.normal);
103 LocalVectors coatVectors = computeLocalFrame(inputs, coatNormal, 0.0);
104
105 vec3 coatColor = getCoatColor(coatColor_tex, inputs.sparse_coord);
106 float coatSpecularLevel = getCoatSpecularLevel(coatSpecularLevel_tex, inputs.sparse_coord);
107 vec3 coatSpecColor = vec3(iorToSpecularLevel(1.0, coatIoR) * 2.0 * coatSpecularLevel);
108
109 float coatRoughness = getCoatRoughness(coatRoughness_tex, inputs.sparse_coord);
110 float coatSpecOcclusion = specularOcclusionCorrection(occlusion * shadowFactor, 0.0, coatRoughness);
111 vec3 coatSpecularShading = pbrComputeSpecular(coatVectors, coatSpecColor, coatRoughness);
112
113 float ndv = clamp(dot(coatVectors.normal, vectors.eye), 1e-4, 1.0);
114 coatAbsorption = coatPassageColorMultiplier(coatColor, coatOpacity, ndv);
115 coatAbsorption *= coatAbsorption;
116
117 diffuseShading *= coatAbsorption;
118 specularShading *= coatAbsorption;
119 specularShading += (coatSpecOcclusion * coatOpacity) * coatSpecularShading;
120 }
121
122 albedoOutput(diffColor);
123
124 vec3 emissiveShading = pbrComputeEmissive(emissive_tex, inputs.sparse_coord);
125
126 // Blending related effects
127 if ((translucencyEnabled || alphaBlendEnabled) && !sssEnabled) {
128 float alpha = 1.0;
129 // Opacity cut-through
130 if (alphaBlendEnabled) {
131 alpha = getOpacity(opacity_tex, inputs.sparse_coord);
132 }
133
134 // Refractive transmission
135 if (translucencyEnabled) {
136 // Blending premultiplied over: must premultiply contributions manually
137 emissiveShading *= alpha;
138 specularShading *= alpha;
139 diffuseShading *= alpha;
140
141 float translucency = getTranslucency(sss_translucency_tex, inputs.sparse_coord) * (1.0-metallic);
142 diffuseShading *= 1.0-translucency;
143
144 vec3 absorption = vec3(1.0);
145 if (absorptionEnabled) {
146 // Absorption use dual output blending mode
147 absorption = coatAbsorption * getAbsorptionColor(absorptioncolor_tex, inputs.sparse_coord);
148 color1Output(vec4(vec3(1.0)-alpha*(vec3(1.0)-absorption*translucency*(1.0-baseRoughness)), 1.0));
149 }
150
151 // Approximation: roughness cutoff the transparency
152 diffuseShading += absorption * alpha * baseRoughness * translucency * envIrradiance(-vectors.normal);
153
154 alpha *= 1.0-(translucency*(1.0-baseRoughness));
155 }
156
157 alphaOutput(alpha);
158 }
159
160 emissiveColorOutput(emissiveShading);
161 diffuseShadingOutput(diffuseShading);
162 specularShadingOutput(specularShading);
163
164 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
165
166 vec4 baseSSSColor = getSSSColor(inputs.sparse_coord);
167 if (sssEnabled && absorptionEnabled) {
168 // Combine absorption color with scattering color if both enabled
169 baseSSSColor.rgb *= getAbsorptionColor(absorptioncolor_tex, inputs.sparse_coord);
170 }
171 sssColorOutput(baseSSSColor);
172
173 // Discard current fragment on the basis of the opacity channel
174 // and a user defined threshold
175 alphaKill(inputs.sparse_coord);
176 }
177
178
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float baseRoughness = getRoughness(roughness_tex, inputs.sparse_coord);
9
10 float anisotropyLevel = 0.0;
11 float anisotropyAngle = 0.0;
12 if (anisotropyEnabled) {
13 anisotropyLevel = getAnisotropyLevel(anisotropylevel_tex, inputs.sparse_coord);
14 if (anisotropyLevel > 0.0) {
15 anisotropyAngle = getAnisotropyAngle(anisotropyangle_tex, inputs.sparse_coord);
16 }
17 }
18
19 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
20 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
21 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
22 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
23 vec3 specColor_metal = baseColor;
24 float dielectricF0 = iorToSpecularLevel(1.0, specularIoR);
25 float coatOpacity = 0.0;
26 if (coatEnabled) {
27 coatOpacity = getCoatOpacity(coatOpacity_tex, inputs.sparse_coord);
28 if (coatOpacity > 0.0) {
29 float underCoatF0 = iorToSpecularLevel(coatIoR, specularIoR);
30 dielectricF0 = mix(dielectricF0, underCoatF0, coatOpacity);
31 }
32 }
33 vec3 specColor_dielectric = vec3(dielectricF0 * 2.0 * specularLevel);
34
35 // Get detail (ambient occlusion) and global (shadow) occlusion factors
36 // separately in order to blend the bent normals properly
37 float shadowFactor = getShadowFactor();
38 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
39
40 float specOcclusion = specularOcclusionCorrection(
41 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
42 metallic,
43 baseRoughness);
44
45 vec3 normal = computeWSNormal(inputs.sparse_coord,
46 inputs.tangent, inputs.bitangent, inputs.normal);
47 LocalVectors vectors = computeLocalFrame(inputs, normal, anisotropyAngle);
48 computeBentNormal(vectors,inputs);
49
50 // Diffuse lobe:
51 vec3 diffuseShading = occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors));
52
53 // Specular lobes:
54 // The specs can be interpreted as interpolating between two lobes.
55 // However, due to the prohibitive cost for real-time, we interpolate
56 // between two specular colors and use it for a single specular lobe.
57 vec3 specColor = mix(specColor_dielectric, specColor_metal, metallic);
58 vec3 specSecondaryColor = vec3(1.0);
59 if (specularEdgeColorEnabled) {
60 specSecondaryColor = getSpecularEdgeColor(specularedgecolor_tex, inputs.sparse_coord);
61 }
62 vec3 specEdgeColor = mix(vec3(1.0), specSecondaryColor, metallic);
63 vec3 specColoring = mix(vec3(1.0), specSecondaryColor, 1.0 - metallic);
64 vec3 specReflection = vec3(0.0);
65 if (anisotropyEnabled) {
66 vec2 roughnessAniso = generateAnisotropicRoughnessASM(baseRoughness, anisotropyLevel);
67 specReflection = pbrComputeSpecularAnisotropic(
68 vectors,
69 specColor,
70 specEdgeColor,
71 roughnessAniso,
72 occlusion,
73 getBentNormalSpecularAmount());
74 }
75 else {
76 specReflection = pbrComputeSpecular(
77 vectors,
78 specColor,
79 specEdgeColor,
80 baseRoughness,
81 occlusion,
82 getBentNormalSpecularAmount());
83 }
84 vec3 specularShading = specOcclusion * specColoring * specReflection;
85
86 // Sheen:
87 if (sheenEnabled) {
88 float sheenOpacity = getSheenOpacity(sheenOpacity_tex, inputs.sparse_coord);
89 if (sheenOpacity > 0.0) {
90 float sheenRoughness = getSheenRoughness(sheenRoughness_tex, inputs.sparse_coord);
91 vec3 sheenColor = sheenOpacity * getSheenColor(sheenColor_tex, inputs.sparse_coord);
92 vec3 sheenSpecularShading = pbrComputeSheen(vectors, sheenColor, sheenRoughness);
93 specularShading += specOcclusion * sheenSpecularShading;
94 }
95 }
96
97 // Coating:
98 // Keep track of coat absorption quantity to know how much to reduce contribution for lower layers
99 vec3 coatAbsorption = vec3(1.0);
100 if (coatOpacity > 0.0) {
101 vec3 coatNormal = getWSCoatNormal(inputs.sparse_coord,
102 inputs.tangent, inputs.bitangent, inputs.normal);
103 LocalVectors coatVectors = computeLocalFrame(inputs, coatNormal, 0.0);
104
105 vec3 coatColor = getCoatColor(coatColor_tex, inputs.sparse_coord);
106 float coatSpecularLevel = getCoatSpecularLevel(coatSpecularLevel_tex, inputs.sparse_coord);
107 vec3 coatSpecColor = vec3(iorToSpecularLevel(1.0, coatIoR) * 2.0 * coatSpecularLevel);
108
109 float coatRoughness = getCoatRoughness(coatRoughness_tex, inputs.sparse_coord);
110 float coatSpecOcclusion = specularOcclusionCorrection(occlusion * shadowFactor, 0.0, coatRoughness);
111 vec3 coatSpecularShading = pbrComputeSpecular(coatVectors, coatSpecColor, coatRoughness);
112
113 float ndv = clamp(dot(coatVectors.normal, vectors.eye), 1e-4, 1.0);
114 coatAbsorption = coatPassageColorMultiplier(coatColor, coatOpacity, ndv);
115 coatAbsorption *= coatAbsorption;
116
117 diffuseShading *= coatAbsorption;
118 specularShading *= coatAbsorption;
119 specularShading += (coatSpecOcclusion * coatOpacity) * coatSpecularShading;
120 }
121
122 albedoOutput(diffColor);
123
124 vec3 emissiveShading = pbrComputeEmissive(emissive_tex, inputs.sparse_coord);
125
126 // Blending related effects
127 if ((translucencyEnabled || alphaBlendEnabled) && !sssEnabled) {
128 float alpha = 1.0;
129 // Opacity cut-through
130 if (alphaBlendEnabled) {
131 alpha = getOpacity(opacity_tex, inputs.sparse_coord);
132 }
133
134 // Refractive transmission
135 if (translucencyEnabled) {
136 // Blending premultiplied over: must premultiply contributions manually
137 emissiveShading *= alpha;
138 specularShading *= alpha;
139 diffuseShading *= alpha;
140
141 float translucency = getTranslucency(sss_translucency_tex, inputs.sparse_coord) * (1.0-metallic);
142 diffuseShading *= 1.0-translucency;
143
144 vec3 absorption = vec3(1.0);
145 if (absorptionEnabled) {
146 // Absorption use dual output blending mode
147 absorption = coatAbsorption * getAbsorptionColor(absorptioncolor_tex, inputs.sparse_coord);
148 color1Output(vec4(vec3(1.0)-alpha*(vec3(1.0)-absorption*translucency*(1.0-baseRoughness)), 1.0));
149 }
150
151 // Approximation: roughness cutoff the transparency
152 diffuseShading += absorption * alpha * baseRoughness * translucency * envIrradiance(-vectors.normal);
153
154 alpha *= 1.0-(translucency*(1.0-baseRoughness));
155 }
156
157 alphaOutput(alpha);
158 }
159
160 emissiveColorOutput(emissiveShading);
161 diffuseShadingOutput(diffuseShading);
162 specularShadingOutput(specularShading);
163
164 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
165
166 vec4 baseSSSColor = getSSSColor(inputs.sparse_coord);
167 if (sssEnabled && absorptionEnabled) {
168 // Combine absorption color with scattering color if both enabled
169 baseSSSColor.rgb *= getAbsorptionColor(absorptioncolor_tex, inputs.sparse_coord);
170 }
171 sssColorOutput(baseSSSColor);
172
173 // Discard current fragment on the basis of the opacity channel
174 // and a user defined threshold
175 alphaKill(inputs.sparse_coord);
176 }
177
178
\ No newline at end of file diff --git a/api/shaders/clay/index.html b/api/shaders/clay/index.html index 6bd77622..be4e92ff 100644 --- a/api/shaders/clay/index.html +++ b/api/shaders/clay/index.html @@ -143,4 +143,4 @@ } -Copied to your clipboard
1 specularShadingOutput(vec3(specular * pow(NdV, 64.0 * clayGloss)));
2 }
3
4
\ No newline at end of file +Copied to your clipboard
1 specularShadingOutput(vec3(specular * pow(NdV, 64.0 * clayGloss)));
2 }
3
4
\ No newline at end of file diff --git a/api/shaders/dota-2/index.html b/api/shaders/dota-2/index.html index f141098f..946ec83b 100644 --- a/api/shaders/dota-2/index.html +++ b/api/shaders/dota-2/index.html @@ -291,4 +291,4 @@ } -Copied to your clipboard
1struct lightProp
2 {
3 vec3 lightVector;
4 vec3 lightColor;
5 };
6
7 lightProp lightArray[1];
8
9 // Lights! Method based on Xoluil Shader ( http://www.laurenscorijn.com/xoliulshader ) Thanks mate :)
10 void PropagateLights( vec3 position )
11 {
12 lightArray[0].lightVector = lightPosition_1 - position;
13 lightArray[0].lightColor = lightColor_1;
14 }
15
16 float Fresnel( vec3 N, vec3 V, float X )
17 {
18 float Fresnel = 1.0 - clamp(dot(N, V), 0.0, 1.0);
19 return pow(Fresnel, X);
20 }
21
22 void CustomHeroDoLighting( vec3 N, vec3 L, vec3 V, vec3 LightColor, float diffuseWarpMask, float flSpecularExponent, inout vec3 finalDiffuse, inout vec3 finalSpecular)
23 {
24 // Normalize
25 L = normalize(L);
26 float NdotL = dot(N, L);
27 float halfLambert = NdotL * 0.5 + 0.5;
28
29 vec3 diffuseLight = LightColor;
30 // diffuse warp
31 diffuseLight *= bDoDiffuseWarp ? texture(difwarp, vec2(halfLambert, diffuseWarpMask)).rgb : vec3(halfLambert);
32 finalDiffuse += diffuseLight; // Output our diffuse lighting
33
34 NdotL = max(0.0, NdotL);
35 vec3 R = reflect( V, N ); // No half-vector so this is consistent in look with ps2.0
36 float RdotL = max(0.0, dot( L, -R ));
37
38 flSpecularExponent *= fSpecularExponent; // fSpecularExponent is from the UI Spinner
39 float flSpecularIntensity = NdotL * pow( RdotL, flSpecularExponent );
40 vec3 SpecularLighting = flSpecularIntensity * LightColor;
41 finalSpecular += SpecularLighting;
42 }
43
44 float sampleWithDefault(SamplerSparse samplerSparse, SparseCoord coord, float defaultValue)
45 {
46 vec2 value = textureSparse(samplerSparse, coord).rg;
47 return value.r + defaultValue * (1.0 - value.g);
48 }
49
50 void shade(V2F inputs)
51 {
52 PropagateLights(inputs.position.xyz); // Bring in lights
53
54 // Get world space vectors
55 inputs.normal = normalize(inputs.normal);
56 LocalVectors vectors = computeLocalFrame(inputs);
57
58 float flDetailMask = sampleWithDefault(detail_tex , inputs.sparse_coord, 0.0);
59 float flDiffuseWarpMask = sampleWithDefault(fresnelMaskSampler, inputs.sparse_coord, 0.3);
60 float flMetalnessMask = sampleWithDefault(metallicSampler , inputs.sparse_coord, 0.0);
61 float flSelfIllumMask = sampleWithDefault(emissiveSampler , inputs.sparse_coord, 0.0);
62
63 float flSpecularMask = sampleWithDefault(specularWarpSampler, inputs.sparse_coord, 0.3);
64 float flRimMask = sampleWithDefault(rimSampler , inputs.sparse_coord, 0.3);
65 float flTintByBaseMask = sampleWithDefault(tintSpecSampler , inputs.sparse_coord, 0.0);
66 float flSpecularExponent = sampleWithDefault(glossinessSampler , inputs.sparse_coord, 0.3);
67
68 vec3 FresnelTerm = vec3(Fresnel(vectors.normal, vectors.eye, 5.0));
69 FresnelTerm.b = max( FresnelTerm.b, flDiffuseWarpMask );
70
71 vec3 albedo = getBaseColor(diffuseMapSampler, inputs.sparse_coord);
72 vec3 final = albedo * vec3(flSelfIllumMask); // emissive
73
74 vec3 diffuseColor = albedo; // assign the diffuse texture to our global diffuse color
75 vec3 Detail = texture(detailMapSampler, inputs.tex_coord * fDetailScale).rgb;
76 diffuseColor += Detail * flDetailMask;
77
78 if (bHasAlpha) {
79 alphaKill(inputs.sparse_coord);
80 }
81
82 vec3 ambient = fAmbientColor + fAmbientScale;
83 if(bUseIBL)
84 {
85 ambient = envIrradiance(vectors.normal) * fAmbientScale;
86 }
87
88 vec3 finalDiffuse = vec3(0.0);
89 vec3 finalSpecular = vec3(0.0);
90 CustomHeroDoLighting(vectors.normal, lightArray[0].lightVector, vectors.eye, lightArray[0].lightColor, flDiffuseWarpMask, flSpecularExponent, finalDiffuse, finalSpecular);
91
92 final += finalDiffuse * diffuseColor * ambient;
93
94 vec3 SpecularTint = mix(diffuseColor, fSpecularColor, flTintByBaseMask);
95 vec3 cSpecular = finalSpecular * SpecularTint * fSpecularScale * flSpecularMask * FresnelTerm.b;
96 final += cSpecular;
97
98 final = mix(final, cSpecular, flMetalnessMask);
99
100 vec3 rimLighting = vec3(0.0);
101 if ( bDoRimLighting )
102 {
103 rimLighting = vec3((FresnelTerm.r * fRimLightScale) * flRimMask);
104 rimLighting *= max(0.0, vectors.normal.y); // Masked by a 'sky light'
105 rimLighting *= fRimLightColor;
106 rimLighting *= (1.0 - flMetalnessMask); // Metalness
107 }
108 final += rimLighting;
109
110 final *= getShadowFactor();
111 diffuseShadingOutput(final);
112 }
113
114
\ No newline at end of file +Copied to your clipboard
1struct lightProp
2 {
3 vec3 lightVector;
4 vec3 lightColor;
5 };
6
7 lightProp lightArray[1];
8
9 // Lights! Method based on Xoluil Shader ( http://www.laurenscorijn.com/xoliulshader ) Thanks mate :)
10 void PropagateLights( vec3 position )
11 {
12 lightArray[0].lightVector = lightPosition_1 - position;
13 lightArray[0].lightColor = lightColor_1;
14 }
15
16 float Fresnel( vec3 N, vec3 V, float X )
17 {
18 float Fresnel = 1.0 - clamp(dot(N, V), 0.0, 1.0);
19 return pow(Fresnel, X);
20 }
21
22 void CustomHeroDoLighting( vec3 N, vec3 L, vec3 V, vec3 LightColor, float diffuseWarpMask, float flSpecularExponent, inout vec3 finalDiffuse, inout vec3 finalSpecular)
23 {
24 // Normalize
25 L = normalize(L);
26 float NdotL = dot(N, L);
27 float halfLambert = NdotL * 0.5 + 0.5;
28
29 vec3 diffuseLight = LightColor;
30 // diffuse warp
31 diffuseLight *= bDoDiffuseWarp ? texture(difwarp, vec2(halfLambert, diffuseWarpMask)).rgb : vec3(halfLambert);
32 finalDiffuse += diffuseLight; // Output our diffuse lighting
33
34 NdotL = max(0.0, NdotL);
35 vec3 R = reflect( V, N ); // No half-vector so this is consistent in look with ps2.0
36 float RdotL = max(0.0, dot( L, -R ));
37
38 flSpecularExponent *= fSpecularExponent; // fSpecularExponent is from the UI Spinner
39 float flSpecularIntensity = NdotL * pow( RdotL, flSpecularExponent );
40 vec3 SpecularLighting = flSpecularIntensity * LightColor;
41 finalSpecular += SpecularLighting;
42 }
43
44 float sampleWithDefault(SamplerSparse samplerSparse, SparseCoord coord, float defaultValue)
45 {
46 vec2 value = textureSparse(samplerSparse, coord).rg;
47 return value.r + defaultValue * (1.0 - value.g);
48 }
49
50 void shade(V2F inputs)
51 {
52 PropagateLights(inputs.position.xyz); // Bring in lights
53
54 // Get world space vectors
55 inputs.normal = normalize(inputs.normal);
56 LocalVectors vectors = computeLocalFrame(inputs);
57
58 float flDetailMask = sampleWithDefault(detail_tex , inputs.sparse_coord, 0.0);
59 float flDiffuseWarpMask = sampleWithDefault(fresnelMaskSampler, inputs.sparse_coord, 0.3);
60 float flMetalnessMask = sampleWithDefault(metallicSampler , inputs.sparse_coord, 0.0);
61 float flSelfIllumMask = sampleWithDefault(emissiveSampler , inputs.sparse_coord, 0.0);
62
63 float flSpecularMask = sampleWithDefault(specularWarpSampler, inputs.sparse_coord, 0.3);
64 float flRimMask = sampleWithDefault(rimSampler , inputs.sparse_coord, 0.3);
65 float flTintByBaseMask = sampleWithDefault(tintSpecSampler , inputs.sparse_coord, 0.0);
66 float flSpecularExponent = sampleWithDefault(glossinessSampler , inputs.sparse_coord, 0.3);
67
68 vec3 FresnelTerm = vec3(Fresnel(vectors.normal, vectors.eye, 5.0));
69 FresnelTerm.b = max( FresnelTerm.b, flDiffuseWarpMask );
70
71 vec3 albedo = getBaseColor(diffuseMapSampler, inputs.sparse_coord);
72 vec3 final = albedo * vec3(flSelfIllumMask); // emissive
73
74 vec3 diffuseColor = albedo; // assign the diffuse texture to our global diffuse color
75 vec3 Detail = texture(detailMapSampler, inputs.tex_coord * fDetailScale).rgb;
76 diffuseColor += Detail * flDetailMask;
77
78 if (bHasAlpha) {
79 alphaKill(inputs.sparse_coord);
80 }
81
82 vec3 ambient = fAmbientColor + fAmbientScale;
83 if(bUseIBL)
84 {
85 ambient = envIrradiance(vectors.normal) * fAmbientScale;
86 }
87
88 vec3 finalDiffuse = vec3(0.0);
89 vec3 finalSpecular = vec3(0.0);
90 CustomHeroDoLighting(vectors.normal, lightArray[0].lightVector, vectors.eye, lightArray[0].lightColor, flDiffuseWarpMask, flSpecularExponent, finalDiffuse, finalSpecular);
91
92 final += finalDiffuse * diffuseColor * ambient;
93
94 vec3 SpecularTint = mix(diffuseColor, fSpecularColor, flTintByBaseMask);
95 vec3 cSpecular = finalSpecular * SpecularTint * fSpecularScale * flSpecularMask * FresnelTerm.b;
96 final += cSpecular;
97
98 final = mix(final, cSpecular, flMetalnessMask);
99
100 vec3 rimLighting = vec3(0.0);
101 if ( bDoRimLighting )
102 {
103 rimLighting = vec3((FresnelTerm.r * fRimLightScale) * flRimMask);
104 rimLighting *= max(0.0, vectors.normal.y); // Masked by a 'sky light'
105 rimLighting *= fRimLightColor;
106 rimLighting *= (1.0 - flMetalnessMask); // Metalness
107 }
108 final += rimLighting;
109
110 final *= getShadowFactor();
111 diffuseShadingOutput(final);
112 }
113
114
\ No newline at end of file diff --git a/api/shaders/non-pbr-spec-gloss/index.html b/api/shaders/non-pbr-spec-gloss/index.html index 8c1fafe8..8c5fea80 100644 --- a/api/shaders/non-pbr-spec-gloss/index.html +++ b/api/shaders/non-pbr-spec-gloss/index.html @@ -196,4 +196,4 @@
3
4
5 -
6
7 //: param auto channel_diffuse
8 uniform SamplerSparse diffuse_tex;
9 //: param auto channel_specular
10 uniform SamplerSparse specular_tex;
11 //: param auto channel_glossiness
12 uniform SamplerSparse glossiness_tex;
13
14 //: param auto main_light
15 uniform vec4 light_main;
16
17 //: param custom {
18 //: "default": 5.0,
19 //: "label": "Fresnel Power",
20 //: "min": 1.0,
21 //: "max": 10.0
22 //: }
23 uniform float fresnel_power;
24
25 //: param custom {
26 //: "default": 1.0,
27 //: "label": "Fresnel Strength",
28 //: "min": 0.0,
29 //: "max": 1.0
30 //: }
31 uniform float fresnel_str;
32
33 //: param custom {
34 //: "default": 0.25,
35 //: "label": "Ambient Light",
36 //: "min": 0.0,
37 //: "max": 1.0
38 //: }
39 uniform float ambient_str;
40
41 //: param custom {
42 //: "default": 1.0,
43 //: "label": "Light Intensity",
44 //: "min": 0.0,
45 //: "max": 10.0
46 //: }
47 uniform float light_str;
48
49
50 void shade(V2F inputs)
51 {
52 vec3 diffColor = getDiffuse(diffuse_tex, inputs.sparse_coord);
53 vec3 specColor = getSpecularColor(specular_tex, inputs.sparse_coord);
54 float glossiness = getGlossiness(glossiness_tex, inputs.sparse_coord);
55 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
56
57 // Compute local vectors and cos of some useful angles
58 inputs.normal = normalize(inputs.normal);
59 LocalVectors vectors = computeLocalFrame(inputs);
60
61 // Emissive contribution
62 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
63
64 // Discard current fragment on the basis of the opacity channel
65 // and a user defined threshold
66 alphaKill(inputs.sparse_coord);
67
68 float ndl = max(0.0, dot(vectors.normal, light_main.xyz));
69 float ndv = clamp(dot(vectors.normal, vectors.eye), 0.0, 1.0);
70 float ndh = max(0.0, dot(vectors.normal, normalize(light_main.xyz + vectors.eye)));
71
72 // Ambient and diffuse contribution
73 vec3 Kd = (envIrradiance(inputs.normal) * ambient_str + ndl) * diffColor * occlusion;
74
75 // Specular contribution (normalized Blinn-Phong)
76 float exponent = exp2(9.0 * glossiness);
77 vec3 Ks = fresnel_str * mix(vec3(pow(1.0 - ndv, fresnel_power)), vec3(1.0), specColor); // Fresnel
78 Ks *= ndl * pow(ndh, exponent); // Reflection
79 Ks *= (0.125 * exponent + 1.0); // Normalization
80 Ks *= mix(occlusion, 1.0, glossiness * glossiness); // Occlusion
81
82 // Multiply by light irradiance (estimation of texel irradiance)
83 diffuseShadingOutput(light_str * environment_exposure * Kd);
84 specularShadingOutput(light_str * environment_exposure * Ks);
85 }
86
87
\ No newline at end of file +
6
7 //: param auto channel_diffuse
8 uniform SamplerSparse diffuse_tex;
9 //: param auto channel_specular
10 uniform SamplerSparse specular_tex;
11 //: param auto channel_glossiness
12 uniform SamplerSparse glossiness_tex;
13
14 //: param auto main_light
15 uniform vec4 light_main;
16
17 //: param custom {
18 //: "default": 5.0,
19 //: "label": "Fresnel Power",
20 //: "min": 1.0,
21 //: "max": 10.0
22 //: }
23 uniform float fresnel_power;
24
25 //: param custom {
26 //: "default": 1.0,
27 //: "label": "Fresnel Strength",
28 //: "min": 0.0,
29 //: "max": 1.0
30 //: }
31 uniform float fresnel_str;
32
33 //: param custom {
34 //: "default": 0.25,
35 //: "label": "Ambient Light",
36 //: "min": 0.0,
37 //: "max": 1.0
38 //: }
39 uniform float ambient_str;
40
41 //: param custom {
42 //: "default": 1.0,
43 //: "label": "Light Intensity",
44 //: "min": 0.0,
45 //: "max": 10.0
46 //: }
47 uniform float light_str;
48
49
50 void shade(V2F inputs)
51 {
52 vec3 diffColor = getDiffuse(diffuse_tex, inputs.sparse_coord);
53 vec3 specColor = getSpecularColor(specular_tex, inputs.sparse_coord);
54 float glossiness = getGlossiness(glossiness_tex, inputs.sparse_coord);
55 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
56
57 // Compute local vectors and cos of some useful angles
58 inputs.normal = normalize(inputs.normal);
59 LocalVectors vectors = computeLocalFrame(inputs);
60
61 // Emissive contribution
62 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
63
64 // Discard current fragment on the basis of the opacity channel
65 // and a user defined threshold
66 alphaKill(inputs.sparse_coord);
67
68 float ndl = max(0.0, dot(vectors.normal, light_main.xyz));
69 float ndv = clamp(dot(vectors.normal, vectors.eye), 0.0, 1.0);
70 float ndh = max(0.0, dot(vectors.normal, normalize(light_main.xyz + vectors.eye)));
71
72 // Ambient and diffuse contribution
73 vec3 Kd = (envIrradiance(inputs.normal) * ambient_str + ndl) * diffColor * occlusion;
74
75 // Specular contribution (normalized Blinn-Phong)
76 float exponent = exp2(9.0 * glossiness);
77 vec3 Ks = fresnel_str * mix(vec3(pow(1.0 - ndv, fresnel_power)), vec3(1.0), specColor); // Fresnel
78 Ks *= ndl * pow(ndh, exponent); // Reflection
79 Ks *= (0.125 * exponent + 1.0); // Normalization
80 Ks *= mix(occlusion, 1.0, glossiness * glossiness); // Occlusion
81
82 // Multiply by light irradiance (estimation of texel irradiance)
83 diffuseShadingOutput(light_str * environment_exposure * Kd);
84 specularShadingOutput(light_str * environment_exposure * Ks);
85 }
86
87
\ No newline at end of file diff --git a/api/shaders/pbr-car-paint/index.html b/api/shaders/pbr-car-paint/index.html index ce9d54cc..ebc703e9 100644 --- a/api/shaders/pbr-car-paint/index.html +++ b/api/shaders/pbr-car-paint/index.html @@ -167,4 +167,4 @@ } -Copied to your clipboard
1//: param custom { "default": "flakes", "label": "Flakes Texture", "usage": "texture" }
2 uniform sampler2D flakes_tex;
3
4 //: param custom { "default": 25, "label": "Flakes Scale", "min": 1.0, "max": 100.0 }
5 uniform float flakes_scale;
6
7 //: param custom { "default": 0.75, "label": "Flakes Intensity", "min": 0.0, "max": 1.0 }
8 uniform float normalPerturbation;
9
10 //: param custom { "default": [0.3,0.3,0], "label": "Flake Color", "widget": "color" }
11 uniform vec3 flakeLayerColor;
12
13 //: param custom { "default": [0.2,0.0,0.2], "label": "Secondary Paint Color", "widget": "color" }
14 uniform vec3 paintColorMid;
15
16 //: param custom { "default": [0.3,0.2,0.0], "label": "Tertiary Paint Color", "widget": "color" }
17 uniform vec3 paintColor2;
18
19
20 void shade(V2F inputs)
21 {
22 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
23 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
24 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
25 // Get detail (ambient occlusion) and global (shadow) occlusion factors
26 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
27
28 LocalVectors vectors = computeLocalFrame(inputs);
29
30 //Flakes
31 vec3 vFlakesNormal = texture(flakes_tex, inputs.tex_coord * flakes_scale).rgb;
32 vec3 vNp1 = normalize(vectors.normal + 0.2 * vFlakesNormal);
33 vec3 vNp2 = normalize(vectors.normal + normalPerturbation * vFlakesNormal);
34
35 vec3 vNp1World = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, vNp1);
36 float fFresnel1 = max(0.0, dot(vNp1World, vectors.eye));
37
38 vec3 vNp2World = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, vNp2);
39 float fFresnel2 = max(0.0, dot(vNp2World, vectors.eye));
40
41 float fFresnel1Sq = fFresnel1 * fFresnel1;
42 vec3 paintColor =
43 fFresnel1 * baseColor +
44 fFresnel1Sq * paintColorMid +
45 fFresnel1Sq * fFresnel1Sq * paintColor2 +
46 pow(fFresnel2, 16.0) * flakeLayerColor;
47 diffColor = mix(diffColor, paintColor, metallic);
48
49 diffuseShadingOutput(occlusion * pbrComputeDiffuse(vectors.normal, diffColor));
50 }
51
52
\ No newline at end of file +Copied to your clipboard
1//: param custom { "default": "flakes", "label": "Flakes Texture", "usage": "texture" }
2 uniform sampler2D flakes_tex;
3
4 //: param custom { "default": 25, "label": "Flakes Scale", "min": 1.0, "max": 100.0 }
5 uniform float flakes_scale;
6
7 //: param custom { "default": 0.75, "label": "Flakes Intensity", "min": 0.0, "max": 1.0 }
8 uniform float normalPerturbation;
9
10 //: param custom { "default": [0.3,0.3,0], "label": "Flake Color", "widget": "color" }
11 uniform vec3 flakeLayerColor;
12
13 //: param custom { "default": [0.2,0.0,0.2], "label": "Secondary Paint Color", "widget": "color" }
14 uniform vec3 paintColorMid;
15
16 //: param custom { "default": [0.3,0.2,0.0], "label": "Tertiary Paint Color", "widget": "color" }
17 uniform vec3 paintColor2;
18
19
20 void shade(V2F inputs)
21 {
22 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
23 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
24 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
25 // Get detail (ambient occlusion) and global (shadow) occlusion factors
26 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
27
28 LocalVectors vectors = computeLocalFrame(inputs);
29
30 //Flakes
31 vec3 vFlakesNormal = texture(flakes_tex, inputs.tex_coord * flakes_scale).rgb;
32 vec3 vNp1 = normalize(vectors.normal + 0.2 * vFlakesNormal);
33 vec3 vNp2 = normalize(vectors.normal + normalPerturbation * vFlakesNormal);
34
35 vec3 vNp1World = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, vNp1);
36 float fFresnel1 = max(0.0, dot(vNp1World, vectors.eye));
37
38 vec3 vNp2World = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, vNp2);
39 float fFresnel2 = max(0.0, dot(vNp2World, vectors.eye));
40
41 float fFresnel1Sq = fFresnel1 * fFresnel1;
42 vec3 paintColor =
43 fFresnel1 * baseColor +
44 fFresnel1Sq * paintColorMid +
45 fFresnel1Sq * fFresnel1Sq * paintColor2 +
46 pow(fFresnel2, 16.0) * flakeLayerColor;
47 diffColor = mix(diffColor, paintColor, metallic);
48
49 diffuseShadingOutput(occlusion * pbrComputeDiffuse(vectors.normal, diffColor));
50 }
51
52
\ No newline at end of file diff --git a/api/shaders/pbr-coated/index.html b/api/shaders/pbr-coated/index.html index 273a5137..cfd6d607 100644 --- a/api/shaders/pbr-coated/index.html +++ b/api/shaders/pbr-coated/index.html @@ -220,4 +220,4 @@
3
4
5 -
6
7 // Link Coated Metal/Roughness MDL for Iray
8 //: metadata {
9 //: "mdl":"mdl::alg::materials::skin_metallic_roughness_coated::skin_metallic_roughness_coated"
10 //: }
11
12 //: param auto channel_basecolor
13 uniform SamplerSparse basecolor_tex;
14 //: param auto channel_roughness
15 uniform SamplerSparse roughness_tex;
16 //: param auto channel_metallic
17 uniform SamplerSparse metallic_tex;
18 //: param auto channel_specularlevel
19 uniform SamplerSparse specularlevel_tex;
20 //: param auto channel_user0
21 uniform SamplerSparse roughnesscoat_tex;
22 //: param auto channel_user1
23 uniform SamplerSparse maskcoat_tex;
24
25 //: param custom { "group": "Coat Layer", "default": 0.01, "label": "Roughness", "min": 0.0, "max": 1.0 }
26 uniform float coating_rough;
27 //: param custom { "group": "Coat Layer", "default": "false", "label": "Override with RoughnessCoat (user0) channel" }
28 uniform bool coating_rough_use_tex;
29 //: param custom { "group": "Coat Layer", "default": 1.0, "label": "Opacity", "min": 0.0, "max": 1.0 }
30 uniform float coating_opacity;
31 //: param custom { "group": "Coat Layer", "default": "false", "label": "Multiply with MaskCoat (user1) channel" }
32 uniform bool coating_opacity_use_tex;
33 //: param custom {
34 //: "group": "Coat Layer",
35 //: "label": "Surface behavior",
36 //: "widget": "combobox",
37 //: "default": 1,
38 //: "values": {
39 //: "Smooth surface": 0,
40 //: "Keep details": 1
41 //: }
42 //: }
43 uniform int coating_surface_behavior;
44 //: param custom { "group": "Coat Layer", "default": 1.5, "label": "IOR", "min": 1.0, "max": 1.8 }
45 uniform float coating_ior;
46
47 float iorToSpecularLevel(float ior)
48 {
49 float sqrtR0 = (ior-1) / (ior+1);
50 return sqrtR0*sqrtR0;
51 }
52
53 float textureLookup(SamplerSparse samplerSparse, SparseCoord coord, float defaultValue)
54 {
55 vec2 sampledValue = textureSparse(samplerSparse, coord).rg;
56 return sampledValue.r + defaultValue * (1.0 - sampledValue.g);
57 }
58
59 float getCoatRoughness(SparseCoord coord)
60 {
61 return coating_rough_use_tex?
62 textureLookup(roughnesscoat_tex, coord, 0.01) :
63 coating_rough;
64 }
65
66 float getCoatOpacity(SparseCoord coord)
67 {
68 return coating_opacity_use_tex?
69 textureLookup(maskcoat_tex, coord, 1.0) * coating_opacity :
70 coating_opacity;
71 }
72
73 void shade(V2F inputs)
74 {
75 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
76 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
77 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
78 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
79 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
80 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
81 // Get detail (ambient occlusion) and global (shadow) occlusion factors
82 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
83 float specOcclusion = specularOcclusionCorrection(occlusion, metallic, roughness);
84
85 // Material layer
86 LocalVectors vectors = computeLocalFrame(inputs);
87
88 // Feed parameters for a physically based BRDF integration
89 vec3 emissiveColor = pbrComputeEmissive(emissive_tex, inputs.sparse_coord);
90 albedoOutput(diffColor);
91 vec3 diffuseShading = occlusion * envIrradiance(vectors.normal);
92 vec3 specularShading = specOcclusion * pbrComputeSpecular(vectors, specColor, roughness);
93 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
94 sssColorOutput(getSSSColor(inputs.sparse_coord));
95
96 // Coat layer, specular only
97 vec3 wsCoatNormal = coating_surface_behavior == 0?
98 tangentSpaceToWorldSpace(vec3(0, 0, 1.0), inputs) :
99 computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
100 LocalVectors coatVectors = computeLocalFrame(inputs, wsCoatNormal, 0.0);
101 float coatRoughness = getCoatRoughness(inputs.sparse_coord);
102 vec3 coat = specOcclusion * pbrComputeSpecular(coatVectors, vec3(1.0), coatRoughness);
103
104 float coatOpacity = getCoatOpacity(inputs.sparse_coord);
105 float blendFactor = coatOpacity * fresnel(max(1e-8, dot(vectors.eye, vectors.normal)), vec3(iorToSpecularLevel(coating_ior))).x;
106 emissiveColorOutput(emissiveColor * (1.0 - blendFactor));
107 diffuseShadingOutput(diffuseShading * (1.0 - blendFactor));
108 specularShadingOutput(mix(specularShading, coat, blendFactor));
109 }
110
111
\ No newline at end of file +
6
7 // Link Coated Metal/Roughness MDL for Iray
8 //: metadata {
9 //: "mdl":"mdl::alg::materials::skin_metallic_roughness_coated::skin_metallic_roughness_coated"
10 //: }
11
12 //: param auto channel_basecolor
13 uniform SamplerSparse basecolor_tex;
14 //: param auto channel_roughness
15 uniform SamplerSparse roughness_tex;
16 //: param auto channel_metallic
17 uniform SamplerSparse metallic_tex;
18 //: param auto channel_specularlevel
19 uniform SamplerSparse specularlevel_tex;
20 //: param auto channel_user0
21 uniform SamplerSparse roughnesscoat_tex;
22 //: param auto channel_user1
23 uniform SamplerSparse maskcoat_tex;
24
25 //: param custom { "group": "Coat Layer", "default": 0.01, "label": "Roughness", "min": 0.0, "max": 1.0 }
26 uniform float coating_rough;
27 //: param custom { "group": "Coat Layer", "default": "false", "label": "Override with RoughnessCoat (user0) channel" }
28 uniform bool coating_rough_use_tex;
29 //: param custom { "group": "Coat Layer", "default": 1.0, "label": "Opacity", "min": 0.0, "max": 1.0 }
30 uniform float coating_opacity;
31 //: param custom { "group": "Coat Layer", "default": "false", "label": "Multiply with MaskCoat (user1) channel" }
32 uniform bool coating_opacity_use_tex;
33 //: param custom {
34 //: "group": "Coat Layer",
35 //: "label": "Surface behavior",
36 //: "widget": "combobox",
37 //: "default": 1,
38 //: "values": {
39 //: "Smooth surface": 0,
40 //: "Keep details": 1
41 //: }
42 //: }
43 uniform int coating_surface_behavior;
44 //: param custom { "group": "Coat Layer", "default": 1.5, "label": "IOR", "min": 1.0, "max": 1.8 }
45 uniform float coating_ior;
46
47 float iorToSpecularLevel(float ior)
48 {
49 float sqrtR0 = (ior-1) / (ior+1);
50 return sqrtR0*sqrtR0;
51 }
52
53 float textureLookup(SamplerSparse samplerSparse, SparseCoord coord, float defaultValue)
54 {
55 vec2 sampledValue = textureSparse(samplerSparse, coord).rg;
56 return sampledValue.r + defaultValue * (1.0 - sampledValue.g);
57 }
58
59 float getCoatRoughness(SparseCoord coord)
60 {
61 return coating_rough_use_tex?
62 textureLookup(roughnesscoat_tex, coord, 0.01) :
63 coating_rough;
64 }
65
66 float getCoatOpacity(SparseCoord coord)
67 {
68 return coating_opacity_use_tex?
69 textureLookup(maskcoat_tex, coord, 1.0) * coating_opacity :
70 coating_opacity;
71 }
72
73 void shade(V2F inputs)
74 {
75 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
76 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
77 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
78 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
79 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
80 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
81 // Get detail (ambient occlusion) and global (shadow) occlusion factors
82 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
83 float specOcclusion = specularOcclusionCorrection(occlusion, metallic, roughness);
84
85 // Material layer
86 LocalVectors vectors = computeLocalFrame(inputs);
87
88 // Feed parameters for a physically based BRDF integration
89 vec3 emissiveColor = pbrComputeEmissive(emissive_tex, inputs.sparse_coord);
90 albedoOutput(diffColor);
91 vec3 diffuseShading = occlusion * envIrradiance(vectors.normal);
92 vec3 specularShading = specOcclusion * pbrComputeSpecular(vectors, specColor, roughness);
93 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
94 sssColorOutput(getSSSColor(inputs.sparse_coord));
95
96 // Coat layer, specular only
97 vec3 wsCoatNormal = coating_surface_behavior == 0?
98 tangentSpaceToWorldSpace(vec3(0, 0, 1.0), inputs) :
99 computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
100 LocalVectors coatVectors = computeLocalFrame(inputs, wsCoatNormal, 0.0);
101 float coatRoughness = getCoatRoughness(inputs.sparse_coord);
102 vec3 coat = specOcclusion * pbrComputeSpecular(coatVectors, vec3(1.0), coatRoughness);
103
104 float coatOpacity = getCoatOpacity(inputs.sparse_coord);
105 float blendFactor = coatOpacity * fresnel(max(1e-8, dot(vectors.eye, vectors.normal)), vec3(iorToSpecularLevel(coating_ior))).x;
106 emissiveColorOutput(emissiveColor * (1.0 - blendFactor));
107 diffuseShadingOutput(diffuseShading * (1.0 - blendFactor));
108 specularShadingOutput(mix(specularShading, coat, blendFactor));
109 }
110
111
\ No newline at end of file diff --git a/api/shaders/pbr-material-layering-10-mats/index.html b/api/shaders/pbr-material-layering-10-mats/index.html index b5b14011..fee176b9 100644 --- a/api/shaders/pbr-material-layering-10-mats/index.html +++ b/api/shaders/pbr-material-layering-10-mats/index.html @@ -810,4 +810,4 @@ } -Copied to your clipboard
1 //Debug mode display result of combined channels or Masks
2 if( !DebugMode ) {
3 vec3 finalNormalWorldSpace = normalize(
4 finalNormal.x * inputs.tangent +
5 finalNormal.y * inputs.bitangent +
6 finalNormal.z * inputs.normal);
7 // Feed parameters for a physically based BRDF integration.
8 LocalVectors vectors = computeLocalFrame(inputs, finalNormalWorldSpace, 0.0);
9 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
10 diffuseShadingOutput(occlusion * pbrComputeDiffuse(vectors.normal, diffColor));
11 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness));
12 } else {
13 vec3 result;
14
15 //BaseColor combined
16 if( DebugChannel == 0 ) {
17 result = basecolor;
18 }
19
20 //Roughness combined
21 else if( DebugChannel == 1 ) {
22 result = vec3(roughness);
23 }
24
25 //Metallic combined
26 else if( DebugChannel == 2 ) {
27 result = vec3(metallic);
28 }
29
30 //Normal combined
31 else if( DebugChannel == 3) {
32 normal = 0.5 * normal + vec3(0.5);
33 result = sRGB2linear(normal);
34 }
35
36 //Combined masks as Normal
37 else if( DebugChannel == 4 ) {
38 normalMask = 0.5 * normalMask + vec3(0.5);
39 result = sRGB2linear(normalMask);
40 }
41
42 //Final Normal
43 else if( DebugChannel == 5 ) {
44 finalNormal = 0.5 * finalNormal + vec3(0.5);
45 result = sRGB2linear(finalNormal);
46 }
47
48 //Mask(s)
49 else {
50 result = vec3(sRGB2linear(Masks[DebugChannel - 6]));
51 }
52
53 diffuseShadingOutput(result);
54 }
55 }
56
57
\ No newline at end of file +Copied to your clipboard
1 //Debug mode display result of combined channels or Masks
2 if( !DebugMode ) {
3 vec3 finalNormalWorldSpace = normalize(
4 finalNormal.x * inputs.tangent +
5 finalNormal.y * inputs.bitangent +
6 finalNormal.z * inputs.normal);
7 // Feed parameters for a physically based BRDF integration.
8 LocalVectors vectors = computeLocalFrame(inputs, finalNormalWorldSpace, 0.0);
9 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
10 diffuseShadingOutput(occlusion * pbrComputeDiffuse(vectors.normal, diffColor));
11 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness));
12 } else {
13 vec3 result;
14
15 //BaseColor combined
16 if( DebugChannel == 0 ) {
17 result = basecolor;
18 }
19
20 //Roughness combined
21 else if( DebugChannel == 1 ) {
22 result = vec3(roughness);
23 }
24
25 //Metallic combined
26 else if( DebugChannel == 2 ) {
27 result = vec3(metallic);
28 }
29
30 //Normal combined
31 else if( DebugChannel == 3) {
32 normal = 0.5 * normal + vec3(0.5);
33 result = sRGB2linear(normal);
34 }
35
36 //Combined masks as Normal
37 else if( DebugChannel == 4 ) {
38 normalMask = 0.5 * normalMask + vec3(0.5);
39 result = sRGB2linear(normalMask);
40 }
41
42 //Final Normal
43 else if( DebugChannel == 5 ) {
44 finalNormal = 0.5 * finalNormal + vec3(0.5);
45 result = sRGB2linear(finalNormal);
46 }
47
48 //Mask(s)
49 else {
50 result = vec3(sRGB2linear(Masks[DebugChannel - 6]));
51 }
52
53 diffuseShadingOutput(result);
54 }
55 }
56
57
\ No newline at end of file diff --git a/api/shaders/pbr-material-layering/index.html b/api/shaders/pbr-material-layering/index.html index 9f5c08f4..c19b1ed9 100644 --- a/api/shaders/pbr-material-layering/index.html +++ b/api/shaders/pbr-material-layering/index.html @@ -512,4 +512,4 @@ } -Copied to your clipboard
1 //Debug mode display result of combined channels or Masks
2 if( !DebugMode ) {
3 vec3 finalNormalWorldSpace = normalize(
4 finalNormal.x * inputs.tangent +
5 finalNormal.y * inputs.bitangent +
6 finalNormal.z * inputs.normal);
7 // Feed parameters for a physically based BRDF integration.
8 LocalVectors vectors = computeLocalFrame(inputs, finalNormalWorldSpace, 0.0);
9 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
10 diffuseShadingOutput(occlusion * pbrComputeDiffuse(vectors.normal, diffColor));
11 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness));
12 } else {
13 vec3 result;
14
15 //BaseColor combined
16 if( DebugChannel == 0 ) {
17 result = basecolor;
18 }
19
20 //Roughness combined
21 else if( DebugChannel == 1 ) {
22 result = vec3(roughness);
23 }
24
25 //Metallic combined
26 else if( DebugChannel == 2 ) {
27 result = vec3(metallic);
28 }
29
30 //Normal combined
31 else if( DebugChannel == 3) {
32 normal = 0.5 * normal + vec3(0.5);
33 result = sRGB2linear(normal);
34 }
35
36 //Combined masks as Normal
37 else if( DebugChannel == 4 ) {
38 normalMask = 0.5 * normalMask + vec3(0.5);
39 result = sRGB2linear(normalMask);
40 }
41
42 //Final Normal
43 else if( DebugChannel == 5 ) {
44 finalNormal = 0.5 * finalNormal + vec3(0.5);
45 result = sRGB2linear(finalNormal);
46 }
47
48 //Mask(s)
49 else {
50 result = vec3(sRGB2linear(Masks[DebugChannel - 6]));
51 }
52
53 diffuseShadingOutput(result);
54 }
55 }
56
57
\ No newline at end of file +Copied to your clipboard
1 //Debug mode display result of combined channels or Masks
2 if( !DebugMode ) {
3 vec3 finalNormalWorldSpace = normalize(
4 finalNormal.x * inputs.tangent +
5 finalNormal.y * inputs.bitangent +
6 finalNormal.z * inputs.normal);
7 // Feed parameters for a physically based BRDF integration.
8 LocalVectors vectors = computeLocalFrame(inputs, finalNormalWorldSpace, 0.0);
9 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
10 diffuseShadingOutput(occlusion * pbrComputeDiffuse(vectors.normal, diffColor));
11 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness));
12 } else {
13 vec3 result;
14
15 //BaseColor combined
16 if( DebugChannel == 0 ) {
17 result = basecolor;
18 }
19
20 //Roughness combined
21 else if( DebugChannel == 1 ) {
22 result = vec3(roughness);
23 }
24
25 //Metallic combined
26 else if( DebugChannel == 2 ) {
27 result = vec3(metallic);
28 }
29
30 //Normal combined
31 else if( DebugChannel == 3) {
32 normal = 0.5 * normal + vec3(0.5);
33 result = sRGB2linear(normal);
34 }
35
36 //Combined masks as Normal
37 else if( DebugChannel == 4 ) {
38 normalMask = 0.5 * normalMask + vec3(0.5);
39 result = sRGB2linear(normalMask);
40 }
41
42 //Final Normal
43 else if( DebugChannel == 5 ) {
44 finalNormal = 0.5 * finalNormal + vec3(0.5);
45 result = sRGB2linear(finalNormal);
46 }
47
48 //Mask(s)
49 else {
50 result = vec3(sRGB2linear(Masks[DebugChannel - 6]));
51 }
52
53 diffuseShadingOutput(result);
54 }
55 }
56
57
\ No newline at end of file diff --git a/api/shaders/pbr-metal-rough-anisotropy-angle/index.html b/api/shaders/pbr-metal-rough-anisotropy-angle/index.html index b1da87ef..0483f200 100644 --- a/api/shaders/pbr-metal-rough-anisotropy-angle/index.html +++ b/api/shaders/pbr-metal-rough-anisotropy-angle/index.html @@ -175,4 +175,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3
4 // Fetch material parameters, and conversion to the specular/roughness model
5 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
6 float anisotropyLevel = getAnisotropyLevel(anisotropylevel_tex, inputs.sparse_coord);
7 vec2 roughnessAniso = generateAnisotropicRoughness(roughness, anisotropyLevel);
8 float anisotropyAngle = getAnisotropyAngle(anisotropyangle_tex, inputs.sparse_coord);
9
10 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
11 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
12
13 // Get detail (ambient occlusion) and global (shadow) occlusion factors
14 // separately in order to blend the bent normals properly
15 float shadowFactor = getShadowFactor();
16 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
17 float specOcclusion = specularOcclusionCorrection(
18 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
19 metallic,
20 roughness);
21
22 vec3 normal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
23 LocalVectors vectors = computeLocalFrame(inputs, normal, anisotropyAngle);
24 computeBentNormal(vectors,inputs);
25
26 // Feed parameters for a physically based BRDF integration
27 alphaOutput(getOpacity(opacity_tex, inputs.sparse_coord));
28 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
29 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
30 sssColorOutput(getSSSColor(inputs.sparse_coord));
31
32 // Discard current fragment on the basis of the opacity channel
33 // and a user defined threshold
34 alphaKill(inputs.sparse_coord);
35
36 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
37 albedoOutput(diffColor);
38 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
39 vec3 specColor = generateSpecularColor(baseColor, metallic);
40 specularShadingOutput(specOcclusion * pbrComputeSpecularAnisotropic(vectors, specColor, roughnessAniso, occlusion, getBentNormalSpecularAmount()));
41 }
42
43
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3
4 // Fetch material parameters, and conversion to the specular/roughness model
5 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
6 float anisotropyLevel = getAnisotropyLevel(anisotropylevel_tex, inputs.sparse_coord);
7 vec2 roughnessAniso = generateAnisotropicRoughness(roughness, anisotropyLevel);
8 float anisotropyAngle = getAnisotropyAngle(anisotropyangle_tex, inputs.sparse_coord);
9
10 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
11 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
12
13 // Get detail (ambient occlusion) and global (shadow) occlusion factors
14 // separately in order to blend the bent normals properly
15 float shadowFactor = getShadowFactor();
16 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
17 float specOcclusion = specularOcclusionCorrection(
18 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
19 metallic,
20 roughness);
21
22 vec3 normal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
23 LocalVectors vectors = computeLocalFrame(inputs, normal, anisotropyAngle);
24 computeBentNormal(vectors,inputs);
25
26 // Feed parameters for a physically based BRDF integration
27 alphaOutput(getOpacity(opacity_tex, inputs.sparse_coord));
28 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
29 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
30 sssColorOutput(getSSSColor(inputs.sparse_coord));
31
32 // Discard current fragment on the basis of the opacity channel
33 // and a user defined threshold
34 alphaKill(inputs.sparse_coord);
35
36 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
37 albedoOutput(diffColor);
38 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
39 vec3 specColor = generateSpecularColor(baseColor, metallic);
40 specularShadingOutput(specOcclusion * pbrComputeSpecularAnisotropic(vectors, specColor, roughnessAniso, occlusion, getBentNormalSpecularAmount()));
41 }
42
43
\ No newline at end of file diff --git a/api/shaders/pbr-metal-rough-with-alpha-blending/index.html b/api/shaders/pbr-metal-rough-with-alpha-blending/index.html index e2a18f0d..b4957a7d 100644 --- a/api/shaders/pbr-metal-rough-with-alpha-blending/index.html +++ b/api/shaders/pbr-metal-rough-with-alpha-blending/index.html @@ -166,4 +166,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
9 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
10 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
11 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
12
13 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
14 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
15
16 // Get detail (ambient occlusion) and global (shadow) occlusion factors
17 // separately in order to blend the bent normals properly
18 float shadowFactor = getShadowFactor();
19 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
20 float specOcclusion = specularOcclusionCorrection(
21 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
22 metallic,
23 roughness);
24
25 LocalVectors vectors = computeLocalFrame(inputs);
26 computeBentNormal(vectors,inputs);
27
28 // Feed parameters for a physically based BRDF integration
29 alphaOutput(getOpacity(opacity_tex, inputs.sparse_coord));
30 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
31 diffuseShadingOutput(occlusion * shadowFactor * pbrComputeDiffuse(getDiffuseBentNormal(vectors), diffColor));
32 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness, occlusion, getBentNormalSpecularAmount()));
33 }
34
35
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
9 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
10 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
11 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
12
13 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
14 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
15
16 // Get detail (ambient occlusion) and global (shadow) occlusion factors
17 // separately in order to blend the bent normals properly
18 float shadowFactor = getShadowFactor();
19 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
20 float specOcclusion = specularOcclusionCorrection(
21 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
22 metallic,
23 roughness);
24
25 LocalVectors vectors = computeLocalFrame(inputs);
26 computeBentNormal(vectors,inputs);
27
28 // Feed parameters for a physically based BRDF integration
29 alphaOutput(getOpacity(opacity_tex, inputs.sparse_coord));
30 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
31 diffuseShadingOutput(occlusion * shadowFactor * pbrComputeDiffuse(getDiffuseBentNormal(vectors), diffColor));
32 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness, occlusion, getBentNormalSpecularAmount()));
33 }
34
35
\ No newline at end of file diff --git a/api/shaders/pbr-metal-rough-with-alpha-test/index.html b/api/shaders/pbr-metal-rough-with-alpha-test/index.html index 7ff061b6..8da316f1 100644 --- a/api/shaders/pbr-metal-rough-with-alpha-test/index.html +++ b/api/shaders/pbr-metal-rough-with-alpha-test/index.html @@ -173,4 +173,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
9 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
10 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
11 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
12
13 // Get detail (ambient occlusion) and global (shadow) occlusion factors
14 // separately in order to blend the bent normals properly
15 float shadowFactor = getShadowFactor();
16 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
17 float specOcclusion = specularOcclusionCorrection(
18 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
19 metallic,
20 roughness);
21
22 LocalVectors vectors = computeLocalFrame(inputs);
23 computeBentNormal(vectors,inputs);
24
25 // Feed parameters for a physically based BRDF integration
26 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
27 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
28 sssColorOutput(getSSSColor(inputs.sparse_coord));
29
30 // Discard current fragment on the basis of the opacity channel
31 // and a user defined threshold
32 alphaKill(inputs.sparse_coord);
33
34 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
35 albedoOutput(diffColor);
36 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
37 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
38 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness, occlusion, getBentNormalSpecularAmount()));
39 }
40
41
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
9 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
10 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
11 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
12
13 // Get detail (ambient occlusion) and global (shadow) occlusion factors
14 // separately in order to blend the bent normals properly
15 float shadowFactor = getShadowFactor();
16 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
17 float specOcclusion = specularOcclusionCorrection(
18 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
19 metallic,
20 roughness);
21
22 LocalVectors vectors = computeLocalFrame(inputs);
23 computeBentNormal(vectors,inputs);
24
25 // Feed parameters for a physically based BRDF integration
26 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
27 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
28 sssColorOutput(getSSSColor(inputs.sparse_coord));
29
30 // Discard current fragment on the basis of the opacity channel
31 // and a user defined threshold
32 alphaKill(inputs.sparse_coord);
33
34 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
35 albedoOutput(diffColor);
36 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
37 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
38 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness, occlusion, getBentNormalSpecularAmount()));
39 }
40
41
\ No newline at end of file diff --git a/api/shaders/pbr-metal-rough/index.html b/api/shaders/pbr-metal-rough/index.html index 2c7f8c0c..6d0ad3cc 100644 --- a/api/shaders/pbr-metal-rough/index.html +++ b/api/shaders/pbr-metal-rough/index.html @@ -163,4 +163,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
9 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
10 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
11 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
12 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
13 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
14
15 // Get detail (ambient occlusion) and global (shadow) occlusion factors
16 // separately in order to blend the bent normals properly
17 float shadowFactor = getShadowFactor();
18 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
19 float specOcclusion = specularOcclusionCorrection(
20 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
21 metallic,
22 roughness);
23
24 LocalVectors vectors = computeLocalFrame(inputs);
25 computeBentNormal(vectors,inputs);
26
27 // Feed parameters for a physically based BRDF integration
28 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
29 albedoOutput(diffColor);
30 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
31 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness, occlusion, getBentNormalSpecularAmount()));
32 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
33 sssColorOutput(getSSSColor(inputs.sparse_coord));
34 }
35
36
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Apply parallax occlusion mapping if possible
4 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
5 applyParallaxOffset(inputs, viewTS);
6
7 // Fetch material parameters, and conversion to the specular/roughness model
8 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
9 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
10 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
11 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
12 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
13 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
14
15 // Get detail (ambient occlusion) and global (shadow) occlusion factors
16 // separately in order to blend the bent normals properly
17 float shadowFactor = getShadowFactor();
18 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
19 float specOcclusion = specularOcclusionCorrection(
20 use_bent_normal ? shadowFactor : occlusion * shadowFactor,
21 metallic,
22 roughness);
23
24 LocalVectors vectors = computeLocalFrame(inputs);
25 computeBentNormal(vectors,inputs);
26
27 // Feed parameters for a physically based BRDF integration
28 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
29 albedoOutput(diffColor);
30 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
31 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, roughness, occlusion, getBentNormalSpecularAmount()));
32 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
33 sssColorOutput(getSSSColor(inputs.sparse_coord));
34 }
35
36
\ No newline at end of file diff --git a/api/shaders/pbr-spec-gloss/index.html b/api/shaders/pbr-spec-gloss/index.html index 9ecb1877..48d9891d 100644 --- a/api/shaders/pbr-spec-gloss/index.html +++ b/api/shaders/pbr-spec-gloss/index.html @@ -158,4 +158,4 @@ } -Copied to your clipboard
1//: param auto channel_diffuse
2 uniform SamplerSparse diffuse_tex;
3 //: param auto channel_specular
4 uniform SamplerSparse specularcolor_tex;
5 //: param auto channel_glossiness
6 uniform SamplerSparse glossiness_tex;
7
8
9 void shade(V2F inputs)
10 {
11 // Apply parallax occlusion mapping if possible
12 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
13 applyParallaxOffset(inputs, viewTS);
14
15 float glossiness = getGlossiness(glossiness_tex, inputs.sparse_coord);
16 vec3 specColor = getSpecularColor(specularcolor_tex, inputs.sparse_coord);
17 vec3 diffColor = getDiffuse(diffuse_tex, inputs.sparse_coord) * (vec3(1.0) - specColor);
18
19 // Get detail (ambient occlusion) and global (shadow) occlusion factors
20 // separately in order to blend the bent normals properly
21 float shadowFactor = getShadowFactor();
22 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
23 float specOcclusion = use_bent_normal ? shadowFactor : occlusion * shadowFactor;
24
25 LocalVectors vectors = computeLocalFrame(inputs);
26 computeBentNormal(vectors,inputs);
27
28 // Feed parameters for a physically based BRDF integration
29 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
30 albedoOutput(diffColor);
31 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
32 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, 1.0 - glossiness, occlusion, getBentNormalSpecularAmount()));
33 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
34 sssColorOutput(getSSSColor(inputs.sparse_coord));
35 }
36
37
\ No newline at end of file +Copied to your clipboard
1//: param auto channel_diffuse
2 uniform SamplerSparse diffuse_tex;
3 //: param auto channel_specular
4 uniform SamplerSparse specularcolor_tex;
5 //: param auto channel_glossiness
6 uniform SamplerSparse glossiness_tex;
7
8
9 void shade(V2F inputs)
10 {
11 // Apply parallax occlusion mapping if possible
12 vec3 viewTS = worldSpaceToTangentSpace(getEyeVec(inputs.position), inputs);
13 applyParallaxOffset(inputs, viewTS);
14
15 float glossiness = getGlossiness(glossiness_tex, inputs.sparse_coord);
16 vec3 specColor = getSpecularColor(specularcolor_tex, inputs.sparse_coord);
17 vec3 diffColor = getDiffuse(diffuse_tex, inputs.sparse_coord) * (vec3(1.0) - specColor);
18
19 // Get detail (ambient occlusion) and global (shadow) occlusion factors
20 // separately in order to blend the bent normals properly
21 float shadowFactor = getShadowFactor();
22 float occlusion = getAO(inputs.sparse_coord, true, use_bent_normal);
23 float specOcclusion = use_bent_normal ? shadowFactor : occlusion * shadowFactor;
24
25 LocalVectors vectors = computeLocalFrame(inputs);
26 computeBentNormal(vectors,inputs);
27
28 // Feed parameters for a physically based BRDF integration
29 emissiveColorOutput(pbrComputeEmissive(emissive_tex, inputs.sparse_coord));
30 albedoOutput(diffColor);
31 diffuseShadingOutput(occlusion * shadowFactor * envIrradiance(getDiffuseBentNormal(vectors)));
32 specularShadingOutput(specOcclusion * pbrComputeSpecular(vectors, specColor, 1.0 - glossiness, occlusion, getBentNormalSpecularAmount()));
33 sssCoefficientsOutput(getSSSCoefficients(inputs.sparse_coord));
34 sssColorOutput(getSSSColor(inputs.sparse_coord));
35 }
36
37
\ No newline at end of file diff --git a/api/shaders/pbr-velvet/index.html b/api/shaders/pbr-velvet/index.html index 2a36694b..5dbb4d3e 100644 --- a/api/shaders/pbr-velvet/index.html +++ b/api/shaders/pbr-velvet/index.html @@ -170,4 +170,4 @@ } -Copied to your clipboard
1//: param custom { "default": "fibers", "label": "Fibers Texture", "usage": "texture" }
2 uniform sampler2D fiber_tex;
3 //: param custom { "default": 50.0, "label": "Fiber Scale", "min": 1.0, "max": 100.0 }
4 uniform float fiber_scale;
5 //: param custom { "default": 0.5, "label": "Sheen", "min": 0.0, "max": 2.0 }
6 uniform float sheen;
7 //: param custom { "default": "sheen_noise", "label": "Sheen Variation", "usage": "texture" }
8 uniform sampler2D sheen_noise;
9 //: param custom { "default": 3.0, "label": "Variation Scale", "min": 1.0, "max": 10.0 }
10 uniform float sheen_noise_scale;
11 //: param custom { "default": 8.0, "label": "Edginess", "min": 1.0, "max": 16.0 }
12 uniform float edginess;
13 //: param custom { "default": 0.75, "label": "Fabric Tint", "min": 0.0, "max": 1.0 }
14 uniform float tint_amount;
15
16
17 // SHADER
18 void shade(V2F inputs)
19 {
20 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
21 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
22 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
23 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
24 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
25 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
26 // Get detail (ambient occlusion) and global (shadow) occlusion factors
27 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
28 float specOcclusion = specularOcclusionCorrection(occlusion, metallic, roughness);
29
30 LocalVectors vectors = computeLocalFrame(inputs);
31
32 // Material
33 vec3 diffuse = occlusion * pbrComputeDiffuse(vectors.normal, diffColor);
34 vec3 specular = specOcclusion * pbrComputeSpecular(vectors, specColor, roughness);
35
36 // Velvet reflection, simply summed over previous computation
37 float cosine = clamp(dot(normalize(vectors.normal), normalize(vectors.eye)), 0.0, 1.0);
38 float sine = sqrt(1.0 - cosine * cosine);
39 float rand = texture(fiber_tex, inputs.tex_coord * fiber_scale).r;
40 float noise = texture(sheen_noise, inputs.tex_coord * sheen_noise_scale).r;
41 float intensity = rand * (sheen * noise + 0.002) * pow(sine, edginess);
42 vec3 tint = mix(vec3(1.0), diffColor, tint_amount);
43 diffuse += intensity * mix(occlusion, 1.0, 1.0 / edginess) * envIrradiance(vectors.normal) * tint;
44
45 diffuseShadingOutput(diffuse);
46 specularShadingOutput(specular);
47 }
48
49
\ No newline at end of file +Copied to your clipboard
1//: param custom { "default": "fibers", "label": "Fibers Texture", "usage": "texture" }
2 uniform sampler2D fiber_tex;
3 //: param custom { "default": 50.0, "label": "Fiber Scale", "min": 1.0, "max": 100.0 }
4 uniform float fiber_scale;
5 //: param custom { "default": 0.5, "label": "Sheen", "min": 0.0, "max": 2.0 }
6 uniform float sheen;
7 //: param custom { "default": "sheen_noise", "label": "Sheen Variation", "usage": "texture" }
8 uniform sampler2D sheen_noise;
9 //: param custom { "default": 3.0, "label": "Variation Scale", "min": 1.0, "max": 10.0 }
10 uniform float sheen_noise_scale;
11 //: param custom { "default": 8.0, "label": "Edginess", "min": 1.0, "max": 16.0 }
12 uniform float edginess;
13 //: param custom { "default": 0.75, "label": "Fabric Tint", "min": 0.0, "max": 1.0 }
14 uniform float tint_amount;
15
16
17 // SHADER
18 void shade(V2F inputs)
19 {
20 float roughness = getRoughness(roughness_tex, inputs.sparse_coord);
21 vec3 baseColor = getBaseColor(basecolor_tex, inputs.sparse_coord);
22 float metallic = getMetallic(metallic_tex, inputs.sparse_coord);
23 float specularLevel = getSpecularLevel(specularlevel_tex, inputs.sparse_coord);
24 vec3 diffColor = generateDiffuseColor(baseColor, metallic);
25 vec3 specColor = generateSpecularColor(specularLevel, baseColor, metallic);
26 // Get detail (ambient occlusion) and global (shadow) occlusion factors
27 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
28 float specOcclusion = specularOcclusionCorrection(occlusion, metallic, roughness);
29
30 LocalVectors vectors = computeLocalFrame(inputs);
31
32 // Material
33 vec3 diffuse = occlusion * pbrComputeDiffuse(vectors.normal, diffColor);
34 vec3 specular = specOcclusion * pbrComputeSpecular(vectors, specColor, roughness);
35
36 // Velvet reflection, simply summed over previous computation
37 float cosine = clamp(dot(normalize(vectors.normal), normalize(vectors.eye)), 0.0, 1.0);
38 float sine = sqrt(1.0 - cosine * cosine);
39 float rand = texture(fiber_tex, inputs.tex_coord * fiber_scale).r;
40 float noise = texture(sheen_noise, inputs.tex_coord * sheen_noise_scale).r;
41 float intensity = rand * (sheen * noise + 0.002) * pow(sine, edginess);
42 vec3 tint = mix(vec3(1.0), diffColor, tint_amount);
43 diffuse += intensity * mix(occlusion, 1.0, 1.0 / edginess) * envIrradiance(vectors.normal) * tint;
44
45 diffuseShadingOutput(diffuse);
46 specularShadingOutput(specular);
47 }
48
49
\ No newline at end of file diff --git a/api/shaders/pixelated/index.html b/api/shaders/pixelated/index.html index a1242673..8e3bad5b 100644 --- a/api/shaders/pixelated/index.html +++ b/api/shaders/pixelated/index.html @@ -147,4 +147,4 @@ } -Copied to your clipboard
1 vec3 color = baseColor * NdL;
2
3 diffuseShadingOutput(mask * color);
4 }
5
6
\ No newline at end of file +Copied to your clipboard
1 vec3 color = baseColor * NdL;
2
3 diffuseShadingOutput(mask * color);
4 }
5
6
\ No newline at end of file diff --git a/api/shaders/surface-shader/index.html b/api/shaders/surface-shader/index.html index 9a5172f7..02960a5c 100644 --- a/api/shaders/surface-shader/index.html +++ b/api/shaders/surface-shader/index.html @@ -128,4 +128,4 @@ void albedoOutput(vec3); // subsurface scattering properties, see lib-sss.glsl for details. default value: vec4(0.0) void sssCoefficientsOutput(vec4); -Copied to your clipboard
1// fragment opacity. default value: 1.0
2 void alphaOutput(float);
3 // diffuse lighting contribution. default value: vec3(0.0)
4 void diffuseShadingOutput(vec3);
5 // specular lighting contribution. default value: vec3(0.0)
6 void specularShadingOutput(vec3);
7 // color emitted by the fragment. default value: vec3(0.0)
8 void emissiveColorOutput(vec3);
9 // fragment color. default value: vec3(1.0)
10 void albedoOutput(vec3);
11 // subsurface scattering properties, see lib-sss.glsl for details. default value: vec4(0.0)
12 void sssCoefficientsOutput(vec4);

As an example, the most basic rendering equation for computing the fragment color is: emissiveColor + albedo * diffuseShading + specularShading

\ No newline at end of file +Copied to your clipboard
1// fragment opacity. default value: 1.0
2 void alphaOutput(float);
3 // diffuse lighting contribution. default value: vec3(0.0)
4 void diffuseShadingOutput(vec3);
5 // specular lighting contribution. default value: vec3(0.0)
6 void specularShadingOutput(vec3);
7 // color emitted by the fragment. default value: vec3(0.0)
8 void emissiveColorOutput(vec3);
9 // fragment color. default value: vec3(1.0)
10 void albedoOutput(vec3);
11 // subsurface scattering properties, see lib-sss.glsl for details. default value: vec4(0.0)
12 void sssCoefficientsOutput(vec4);

As an example, the most basic rendering equation for computing the fragment color is: emissiveColor + albedo * diffuseShading + specularShading

\ No newline at end of file diff --git a/api/shaders/toon/index.html b/api/shaders/toon/index.html index 2d7c360e..267a1963 100644 --- a/api/shaders/toon/index.html +++ b/api/shaders/toon/index.html @@ -164,4 +164,4 @@ } -Copied to your clipboard
1 color = vec3(0.0);
2
3 diffuseShadingOutput(color);
4 }
5
6
\ No newline at end of file +Copied to your clipboard
1 color = vec3(0.0);
2
3 diffuseShadingOutput(color);
4 }
5
6
\ No newline at end of file diff --git a/api/shaders/vraymtl-metallic/index.html b/api/shaders/vraymtl-metallic/index.html index 75e79464..90897e2b 100644 --- a/api/shaders/vraymtl-metallic/index.html +++ b/api/shaders/vraymtl-metallic/index.html @@ -1223,4 +1223,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Normal with bump/normal map applied
4 vec3 bumpNormal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
5
6 // Init VRayMtl
7 VRayMtlInitParams initParams;
8
9 // setup geometric data
10 // for 2D put view vector along normal (see lib-vectors)
11 initParams.Vw = is2DView ? bumpNormal : getEyeVec(inputs.position);
12 initParams.geomNormal = bumpNormal;
13 initParams.approxEnv = false;
14
15 // setup common parameters
16 initParams.diffuseAmount = uniform_diffuse_amount;
17 initParams.reflAmount = uniform_reflection_amount;
18 initParams.traceReflections = uniform_trace_reflections;
19 initParams.aniso = 0.0;
20 initParams.anisoRotation = 0.0;
21 initParams.anisoAxis = uniform_anisotropy_axis;
22 initParams.refractionAmount = uniform_refraction_amount;
23 initParams.refractionIOR = uniform_refraction_ior;
24 initParams.refrGloss = uniform_refraction_glossiness;
25 initParams.traceRefractions = uniform_trace_refractions;
26 initParams.useFresnel = uniform_use_fresnel;
27 initParams.fresnelIOR = uniform_fresnel_ior;
28 initParams.lockFresnelIOR = uniform_lock_fresnel_ior;
29 initParams.doubleSided = uniform_double_sided;
30 initParams.useRoughness = false;
31 initParams.gtrGamma = uniform_gtr_gamma;
32 initParams.brdfType = uniform_brdf_type;
33 initParams.opacity = vec3(1.0);
34
35 // flavour-specific setup
36 setupInitParams(initParams, inputs.sparse_coord);
37
38 // Get detail (ambient occlusion) and global (shadow) occlusion factors
39 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
40 float specOcclusion = specularOcclusionCorrection(occlusion, initParams.metalness, initParams.useRoughness ? 1.0 - initParams.reflGloss : initParams.reflGloss);
41
42 // Init context and sample material
43 VRayMtlContext ctx = initVRayMtlContext(initParams);
44 vec3 lightDir = uniform_main_light.xyz - inputs.position * uniform_main_light.w;
45 vec3 diffuseDirect = vrayComputeDirectDiffuseContribution(initParams, ctx, lightDir);
46 vec3 diffuseIndirect = vrayComputeIndirectDiffuseContribution(initParams, ctx);
47 vec3 diffuse = diffuseDirect + diffuseIndirect;
48 vec3 reflection =
49 vrayComputeDirectReflectionContribution(initParams, ctx, lightDir) +
50 vrayComputeIndirectReflectionContribution(initParams, ctx);
51 float alpha = intensity(ctx.opacity);
52 vec3 refraction =
53 vrayComputeIndirectRefractionContribution(initParams, ctx, alpha, -initParams.Vw, diffuseIndirect);
54
55 // Output values
56 if (debugOutput == 0) {
57 albedoOutput(ctx.diff);
58 diffuseShadingOutput(occlusion * diffuse);
59 specularShadingOutput(specOcclusion * reflection * ctx.refl);
60 // output refraction with emissive as it can't really go elsewhere
61 emissiveColorOutput(ctx.illum + refraction * ctx.refr);
62 }
63 }
64
65
66 void setupInitParams(inout VRayMtlInitParams initParams, SparseCoord texCoord) {
67 // Fetch material parameters
68 vec3 baseColor = textureWithDefault(basecolor_tex, texCoord, vec3(0.5));
69 float roughness = textureWithDefault(roughness_tex, texCoord, 0.0);
70 float metallic = textureWithDefault(metallic_tex, texCoord, 0.0);
71 vec3 refractionColor = textureWithDefault(transmissive_tex, texCoord, vec3(0.0));
72 vec3 selfIllumColor = textureWithDefault(emissive_tex, texCoord, vec3(0.0));
73 float anisotropy = textureWithDefault(anisotropylevel_tex, texCoord, 0.0);
74 float anisotropyAngle = textureWithDefault(anisotropyangle_tex, texCoord, 0.0);
75
76 initParams.diffuseColor = baseColor;
77 initParams.roughness = roughness;
78 initParams.selfIllum = selfIllumColor;
79 initParams.reflColor = vec3(1.0);
80 initParams.reflGloss = roughness;
81 initParams.refractionColor = refractionColor;
82 initParams.metalness = metallic;
83 initParams.aniso = anisotropy;
84 initParams.anisoRotation = anisotropyAngle;
85 initParams.useRoughness = true;
86 }
87
88
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Normal with bump/normal map applied
4 vec3 bumpNormal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
5
6 // Init VRayMtl
7 VRayMtlInitParams initParams;
8
9 // setup geometric data
10 // for 2D put view vector along normal (see lib-vectors)
11 initParams.Vw = is2DView ? bumpNormal : getEyeVec(inputs.position);
12 initParams.geomNormal = bumpNormal;
13 initParams.approxEnv = false;
14
15 // setup common parameters
16 initParams.diffuseAmount = uniform_diffuse_amount;
17 initParams.reflAmount = uniform_reflection_amount;
18 initParams.traceReflections = uniform_trace_reflections;
19 initParams.aniso = 0.0;
20 initParams.anisoRotation = 0.0;
21 initParams.anisoAxis = uniform_anisotropy_axis;
22 initParams.refractionAmount = uniform_refraction_amount;
23 initParams.refractionIOR = uniform_refraction_ior;
24 initParams.refrGloss = uniform_refraction_glossiness;
25 initParams.traceRefractions = uniform_trace_refractions;
26 initParams.useFresnel = uniform_use_fresnel;
27 initParams.fresnelIOR = uniform_fresnel_ior;
28 initParams.lockFresnelIOR = uniform_lock_fresnel_ior;
29 initParams.doubleSided = uniform_double_sided;
30 initParams.useRoughness = false;
31 initParams.gtrGamma = uniform_gtr_gamma;
32 initParams.brdfType = uniform_brdf_type;
33 initParams.opacity = vec3(1.0);
34
35 // flavour-specific setup
36 setupInitParams(initParams, inputs.sparse_coord);
37
38 // Get detail (ambient occlusion) and global (shadow) occlusion factors
39 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
40 float specOcclusion = specularOcclusionCorrection(occlusion, initParams.metalness, initParams.useRoughness ? 1.0 - initParams.reflGloss : initParams.reflGloss);
41
42 // Init context and sample material
43 VRayMtlContext ctx = initVRayMtlContext(initParams);
44 vec3 lightDir = uniform_main_light.xyz - inputs.position * uniform_main_light.w;
45 vec3 diffuseDirect = vrayComputeDirectDiffuseContribution(initParams, ctx, lightDir);
46 vec3 diffuseIndirect = vrayComputeIndirectDiffuseContribution(initParams, ctx);
47 vec3 diffuse = diffuseDirect + diffuseIndirect;
48 vec3 reflection =
49 vrayComputeDirectReflectionContribution(initParams, ctx, lightDir) +
50 vrayComputeIndirectReflectionContribution(initParams, ctx);
51 float alpha = intensity(ctx.opacity);
52 vec3 refraction =
53 vrayComputeIndirectRefractionContribution(initParams, ctx, alpha, -initParams.Vw, diffuseIndirect);
54
55 // Output values
56 if (debugOutput == 0) {
57 albedoOutput(ctx.diff);
58 diffuseShadingOutput(occlusion * diffuse);
59 specularShadingOutput(specOcclusion * reflection * ctx.refl);
60 // output refraction with emissive as it can't really go elsewhere
61 emissiveColorOutput(ctx.illum + refraction * ctx.refr);
62 }
63 }
64
65
66 void setupInitParams(inout VRayMtlInitParams initParams, SparseCoord texCoord) {
67 // Fetch material parameters
68 vec3 baseColor = textureWithDefault(basecolor_tex, texCoord, vec3(0.5));
69 float roughness = textureWithDefault(roughness_tex, texCoord, 0.0);
70 float metallic = textureWithDefault(metallic_tex, texCoord, 0.0);
71 vec3 refractionColor = textureWithDefault(transmissive_tex, texCoord, vec3(0.0));
72 vec3 selfIllumColor = textureWithDefault(emissive_tex, texCoord, vec3(0.0));
73 float anisotropy = textureWithDefault(anisotropylevel_tex, texCoord, 0.0);
74 float anisotropyAngle = textureWithDefault(anisotropyangle_tex, texCoord, 0.0);
75
76 initParams.diffuseColor = baseColor;
77 initParams.roughness = roughness;
78 initParams.selfIllum = selfIllumColor;
79 initParams.reflColor = vec3(1.0);
80 initParams.reflGloss = roughness;
81 initParams.refractionColor = refractionColor;
82 initParams.metalness = metallic;
83 initParams.aniso = anisotropy;
84 initParams.anisoRotation = anisotropyAngle;
85 initParams.useRoughness = true;
86 }
87
88
\ No newline at end of file diff --git a/api/shaders/vraymtl-specular/index.html b/api/shaders/vraymtl-specular/index.html index bad728ba..9e3a6c38 100644 --- a/api/shaders/vraymtl-specular/index.html +++ b/api/shaders/vraymtl-specular/index.html @@ -1222,4 +1222,4 @@ } -Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Normal with bump/normal map applied
4 vec3 bumpNormal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
5
6 // Init VRayMtl
7 VRayMtlInitParams initParams;
8
9 // setup geometric data
10 // for 2D put view vector along normal (see lib-vectors)
11 initParams.Vw = is2DView ? bumpNormal : getEyeVec(inputs.position);
12 initParams.geomNormal = bumpNormal;
13 initParams.approxEnv = false;
14
15 // setup common parameters
16 initParams.diffuseAmount = uniform_diffuse_amount;
17 initParams.reflAmount = uniform_reflection_amount;
18 initParams.traceReflections = uniform_trace_reflections;
19 initParams.aniso = 0.0;
20 initParams.anisoRotation = 0.0;
21 initParams.anisoAxis = uniform_anisotropy_axis;
22 initParams.refractionAmount = uniform_refraction_amount;
23 initParams.refractionIOR = uniform_refraction_ior;
24 initParams.refrGloss = uniform_refraction_glossiness;
25 initParams.traceRefractions = uniform_trace_refractions;
26 initParams.useFresnel = uniform_use_fresnel;
27 initParams.fresnelIOR = uniform_fresnel_ior;
28 initParams.lockFresnelIOR = uniform_lock_fresnel_ior;
29 initParams.doubleSided = uniform_double_sided;
30 initParams.useRoughness = false;
31 initParams.gtrGamma = uniform_gtr_gamma;
32 initParams.brdfType = uniform_brdf_type;
33 initParams.opacity = vec3(1.0);
34
35 // flavour-specific setup
36 setupInitParams(initParams, inputs.sparse_coord);
37
38 // Get detail (ambient occlusion) and global (shadow) occlusion factors
39 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
40 float specOcclusion = specularOcclusionCorrection(occlusion, initParams.metalness, initParams.useRoughness ? 1.0 - initParams.reflGloss : initParams.reflGloss);
41
42 // Init context and sample material
43 VRayMtlContext ctx = initVRayMtlContext(initParams);
44 vec3 lightDir = uniform_main_light.xyz - inputs.position * uniform_main_light.w;
45 vec3 diffuseDirect = vrayComputeDirectDiffuseContribution(initParams, ctx, lightDir);
46 vec3 diffuseIndirect = vrayComputeIndirectDiffuseContribution(initParams, ctx);
47 vec3 diffuse = diffuseDirect + diffuseIndirect;
48 vec3 reflection =
49 vrayComputeDirectReflectionContribution(initParams, ctx, lightDir) +
50 vrayComputeIndirectReflectionContribution(initParams, ctx);
51 float alpha = intensity(ctx.opacity);
52 vec3 refraction =
53 vrayComputeIndirectRefractionContribution(initParams, ctx, alpha, -initParams.Vw, diffuseIndirect);
54
55 // Output values
56 if (debugOutput == 0) {
57 albedoOutput(ctx.diff);
58 diffuseShadingOutput(occlusion * diffuse);
59 specularShadingOutput(specOcclusion * reflection * ctx.refl);
60 // output refraction with emissive as it can't really go elsewhere
61 emissiveColorOutput(ctx.illum + refraction * ctx.refr);
62 }
63 }
64
65
66 void setupInitParams(inout VRayMtlInitParams initParams, SparseCoord texCoord) {
67 // Fetch material parameters
68 vec3 diffuseColor = textureWithDefault(diffuse_tex, texCoord, vec3(0.5));
69 vec3 specularColor = textureWithDefault(specular_tex, texCoord, vec3(0.0));
70 float glossiness = textureWithDefault(glossiness_tex, texCoord, 1.0);
71 vec3 refractionColor = textureWithDefault(transmissive_tex, texCoord, vec3(0.0));
72 vec3 selfIllumColor = textureWithDefault(emissive_tex, texCoord, vec3(0.0));
73 float anisotropy = textureWithDefault(anisotropylevel_tex, texCoord, 0.0);
74 float anisotropyAngle = textureWithDefault(anisotropyangle_tex, texCoord, 0.0);
75
76 initParams.diffuseColor = diffuseColor;
77 initParams.roughness = 1.0 - glossiness;
78 initParams.selfIllum = selfIllumColor;
79 initParams.reflColor = specularColor;
80 initParams.reflGloss = glossiness;
81 initParams.refractionColor = refractionColor;
82 initParams.metalness = 0.0;
83 initParams.aniso = anisotropy;
84 initParams.anisoRotation = anisotropyAngle;
85 initParams.useRoughness = false;
86 }
87
88
\ No newline at end of file +Copied to your clipboard
1void shade(V2F inputs)
2 {
3 // Normal with bump/normal map applied
4 vec3 bumpNormal = computeWSNormal(inputs.sparse_coord, inputs.tangent, inputs.bitangent, inputs.normal);
5
6 // Init VRayMtl
7 VRayMtlInitParams initParams;
8
9 // setup geometric data
10 // for 2D put view vector along normal (see lib-vectors)
11 initParams.Vw = is2DView ? bumpNormal : getEyeVec(inputs.position);
12 initParams.geomNormal = bumpNormal;
13 initParams.approxEnv = false;
14
15 // setup common parameters
16 initParams.diffuseAmount = uniform_diffuse_amount;
17 initParams.reflAmount = uniform_reflection_amount;
18 initParams.traceReflections = uniform_trace_reflections;
19 initParams.aniso = 0.0;
20 initParams.anisoRotation = 0.0;
21 initParams.anisoAxis = uniform_anisotropy_axis;
22 initParams.refractionAmount = uniform_refraction_amount;
23 initParams.refractionIOR = uniform_refraction_ior;
24 initParams.refrGloss = uniform_refraction_glossiness;
25 initParams.traceRefractions = uniform_trace_refractions;
26 initParams.useFresnel = uniform_use_fresnel;
27 initParams.fresnelIOR = uniform_fresnel_ior;
28 initParams.lockFresnelIOR = uniform_lock_fresnel_ior;
29 initParams.doubleSided = uniform_double_sided;
30 initParams.useRoughness = false;
31 initParams.gtrGamma = uniform_gtr_gamma;
32 initParams.brdfType = uniform_brdf_type;
33 initParams.opacity = vec3(1.0);
34
35 // flavour-specific setup
36 setupInitParams(initParams, inputs.sparse_coord);
37
38 // Get detail (ambient occlusion) and global (shadow) occlusion factors
39 float occlusion = getAO(inputs.sparse_coord) * getShadowFactor();
40 float specOcclusion = specularOcclusionCorrection(occlusion, initParams.metalness, initParams.useRoughness ? 1.0 - initParams.reflGloss : initParams.reflGloss);
41
42 // Init context and sample material
43 VRayMtlContext ctx = initVRayMtlContext(initParams);
44 vec3 lightDir = uniform_main_light.xyz - inputs.position * uniform_main_light.w;
45 vec3 diffuseDirect = vrayComputeDirectDiffuseContribution(initParams, ctx, lightDir);
46 vec3 diffuseIndirect = vrayComputeIndirectDiffuseContribution(initParams, ctx);
47 vec3 diffuse = diffuseDirect + diffuseIndirect;
48 vec3 reflection =
49 vrayComputeDirectReflectionContribution(initParams, ctx, lightDir) +
50 vrayComputeIndirectReflectionContribution(initParams, ctx);
51 float alpha = intensity(ctx.opacity);
52 vec3 refraction =
53 vrayComputeIndirectRefractionContribution(initParams, ctx, alpha, -initParams.Vw, diffuseIndirect);
54
55 // Output values
56 if (debugOutput == 0) {
57 albedoOutput(ctx.diff);
58 diffuseShadingOutput(occlusion * diffuse);
59 specularShadingOutput(specOcclusion * reflection * ctx.refl);
60 // output refraction with emissive as it can't really go elsewhere
61 emissiveColorOutput(ctx.illum + refraction * ctx.refr);
62 }
63 }
64
65
66 void setupInitParams(inout VRayMtlInitParams initParams, SparseCoord texCoord) {
67 // Fetch material parameters
68 vec3 diffuseColor = textureWithDefault(diffuse_tex, texCoord, vec3(0.5));
69 vec3 specularColor = textureWithDefault(specular_tex, texCoord, vec3(0.0));
70 float glossiness = textureWithDefault(glossiness_tex, texCoord, 1.0);
71 vec3 refractionColor = textureWithDefault(transmissive_tex, texCoord, vec3(0.0));
72 vec3 selfIllumColor = textureWithDefault(emissive_tex, texCoord, vec3(0.0));
73 float anisotropy = textureWithDefault(anisotropylevel_tex, texCoord, 0.0);
74 float anisotropyAngle = textureWithDefault(anisotropyangle_tex, texCoord, 0.0);
75
76 initParams.diffuseColor = diffuseColor;
77 initParams.roughness = 1.0 - glossiness;
78 initParams.selfIllum = selfIllumColor;
79 initParams.reflColor = specularColor;
80 initParams.reflGloss = glossiness;
81 initParams.refractionColor = refractionColor;
82 initParams.metalness = 0.0;
83 initParams.aniso = anisotropy;
84 initParams.anisoRotation = anisotropyAngle;
85 initParams.useRoughness = false;
86 }
87
88
\ No newline at end of file diff --git a/chunk-map.json b/chunk-map.json index 2576826c..14997c5c 100644 --- a/chunk-map.json +++ b/chunk-map.json @@ -1 +1 @@ -{"polyfill":["/polyfill-1203dfd7bd286a1da5b8.js"],"app":["/app-b9b68ccc630dfe64e855.js"],"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md":["/component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md-cf2c30d7d39f91be56ff.js"],"component---src-pages-api-changelog-md":["/component---src-pages-api-changelog-md-49d50c0c9125221bcc06.js"],"component---src-pages-api-index-md":["/component---src-pages-api-index-md-e8370b497288ee048f4c.js"],"component---src-pages-api-libraries-lib-alpha-md":["/component---src-pages-api-libraries-lib-alpha-md-55bbfbd607c986d6c1f7.js"],"component---src-pages-api-libraries-lib-bayer-md":["/component---src-pages-api-libraries-lib-bayer-md-7783c5c1c630cb13572d.js"],"component---src-pages-api-libraries-lib-bent-normal-md":["/component---src-pages-api-libraries-lib-bent-normal-md-bcec0173b056150e42ea.js"],"component---src-pages-api-libraries-lib-coat-md":["/component---src-pages-api-libraries-lib-coat-md-b571740285d3fe12debe.js"],"component---src-pages-api-libraries-lib-defines-md":["/component---src-pages-api-libraries-lib-defines-md-2c492b186787963815a3.js"],"component---src-pages-api-libraries-lib-emissive-md":["/component---src-pages-api-libraries-lib-emissive-md-143aa6adcf81a5d54d1c.js"],"component---src-pages-api-libraries-lib-env-md":["/component---src-pages-api-libraries-lib-env-md-77d3aadc9f679ae690e3.js"],"component---src-pages-api-libraries-lib-normal-md":["/component---src-pages-api-libraries-lib-normal-md-31350b773f6ff6f4e05e.js"],"component---src-pages-api-libraries-lib-pbr-aniso-md":["/component---src-pages-api-libraries-lib-pbr-aniso-md-ba5594b83f3f3617a782.js"],"component---src-pages-api-libraries-lib-pbr-md":["/component---src-pages-api-libraries-lib-pbr-md-f170c57dc68fb4499d12.js"],"component---src-pages-api-libraries-lib-pom-md":["/component---src-pages-api-libraries-lib-pom-md-f16f494c39983d430994.js"],"component---src-pages-api-libraries-lib-random-md":["/component---src-pages-api-libraries-lib-random-md-780eaf7df8bdf792600b.js"],"component---src-pages-api-libraries-lib-sampler-md":["/component---src-pages-api-libraries-lib-sampler-md-b2e12a0d46a735a6a6c8.js"],"component---src-pages-api-libraries-lib-sheen-md":["/component---src-pages-api-libraries-lib-sheen-md-829775ad19c0df8d6bd5.js"],"component---src-pages-api-libraries-lib-sparse-md":["/component---src-pages-api-libraries-lib-sparse-md-b2a635b0e1d7a669e8a8.js"],"component---src-pages-api-libraries-lib-sss-md":["/component---src-pages-api-libraries-lib-sss-md-230e505bd1e34b0fc907.js"],"component---src-pages-api-libraries-lib-utils-md":["/component---src-pages-api-libraries-lib-utils-md-f6208147b4a8bed1b450.js"],"component---src-pages-api-libraries-lib-vectors-md":["/component---src-pages-api-libraries-lib-vectors-md-84bc84aec1995db6a64d.js"],"component---src-pages-api-parameters-all-custom-params-md":["/component---src-pages-api-parameters-all-custom-params-md-3ad1b1f4d58972cce207.js"],"component---src-pages-api-parameters-all-custom-qualifiers-md":["/component---src-pages-api-parameters-all-custom-qualifiers-md-2bfed1592a854b3efe11.js"],"component---src-pages-api-parameters-all-engine-params-md":["/component---src-pages-api-parameters-all-engine-params-md-861fe9619d648a3f36a9.js"],"component---src-pages-api-parameters-all-rendering-states-params-md":["/component---src-pages-api-parameters-all-rendering-states-params-md-bc124e27427ebe44ba4d.js"],"component---src-pages-api-parameters-layering-bind-materials-md":["/component---src-pages-api-parameters-layering-bind-materials-md-fbff24f9ce1744b72a20.js"],"component---src-pages-api-parameters-layering-declare-stacks-md":["/component---src-pages-api-parameters-layering-declare-stacks-md-6aa0e80c9345d10f391f.js"],"component---src-pages-api-shaders-asm-metal-rough-md":["/component---src-pages-api-shaders-asm-metal-rough-md-a3e3d7fcf1c1d9077ad5.js"],"component---src-pages-api-shaders-clay-md":["/component---src-pages-api-shaders-clay-md-a96ddd98fdd13bba0fca.js"],"component---src-pages-api-shaders-dota-2-md":["/component---src-pages-api-shaders-dota-2-md-cef07ca9fc6e53fa894a.js"],"component---src-pages-api-shaders-non-pbr-spec-gloss-md":["/component---src-pages-api-shaders-non-pbr-spec-gloss-md-e5b6ea291e7bd15b07af.js"],"component---src-pages-api-shaders-pbr-car-paint-md":["/component---src-pages-api-shaders-pbr-car-paint-md-61f6a829028f877db639.js"],"component---src-pages-api-shaders-pbr-coated-md":["/component---src-pages-api-shaders-pbr-coated-md-67514ed7a81946f17493.js"],"component---src-pages-api-shaders-pbr-material-layering-10-mats-md":["/component---src-pages-api-shaders-pbr-material-layering-10-mats-md-a77d65b07a6e31d4b062.js"],"component---src-pages-api-shaders-pbr-material-layering-md":["/component---src-pages-api-shaders-pbr-material-layering-md-e0ef659d8fc71bcd3e8f.js"],"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md":["/component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md-87309e9665f1ba3b8304.js"],"component---src-pages-api-shaders-pbr-metal-rough-md":["/component---src-pages-api-shaders-pbr-metal-rough-md-5cc9ddd4470549e546de.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md":["/component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md-d260aefcadafc75d3081.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md":["/component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md-9e670e5cc630d79c49f5.js"],"component---src-pages-api-shaders-pbr-spec-gloss-md":["/component---src-pages-api-shaders-pbr-spec-gloss-md-60a936b304fc68304cb1.js"],"component---src-pages-api-shaders-pbr-velvet-md":["/component---src-pages-api-shaders-pbr-velvet-md-4082b0cd785c99c6e31b.js"],"component---src-pages-api-shaders-pixelated-md":["/component---src-pages-api-shaders-pixelated-md-6c1476961e8a63ad2831.js"],"component---src-pages-api-shaders-surface-shader-md":["/component---src-pages-api-shaders-surface-shader-md-202500aa8c14e934046e.js"],"component---src-pages-api-shaders-toon-md":["/component---src-pages-api-shaders-toon-md-38d3e991bdbf9f64a423.js"],"component---src-pages-api-shaders-vraymtl-metallic-md":["/component---src-pages-api-shaders-vraymtl-metallic-md-72260fdf093a2a323192.js"],"component---src-pages-api-shaders-vraymtl-specular-md":["/component---src-pages-api-shaders-vraymtl-specular-md-5cdebbca24c416b8a389.js"],"component---src-pages-index-md":["/component---src-pages-index-md-af02c3085a2ca4989268.js"]} \ No newline at end of file +{"polyfill":["/polyfill-1203dfd7bd286a1da5b8.js"],"app":["/app-b9b68ccc630dfe64e855.js"],"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md":["/component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md-cf2c30d7d39f91be56ff.js"],"component---src-pages-api-changelog-md":["/component---src-pages-api-changelog-md-49d50c0c9125221bcc06.js"],"component---src-pages-api-index-md":["/component---src-pages-api-index-md-e8370b497288ee048f4c.js"],"component---src-pages-api-libraries-lib-alpha-md":["/component---src-pages-api-libraries-lib-alpha-md-55bbfbd607c986d6c1f7.js"],"component---src-pages-api-libraries-lib-bayer-md":["/component---src-pages-api-libraries-lib-bayer-md-7783c5c1c630cb13572d.js"],"component---src-pages-api-libraries-lib-bent-normal-md":["/component---src-pages-api-libraries-lib-bent-normal-md-bcec0173b056150e42ea.js"],"component---src-pages-api-libraries-lib-coat-md":["/component---src-pages-api-libraries-lib-coat-md-b571740285d3fe12debe.js"],"component---src-pages-api-libraries-lib-defines-md":["/component---src-pages-api-libraries-lib-defines-md-2c492b186787963815a3.js"],"component---src-pages-api-libraries-lib-emissive-md":["/component---src-pages-api-libraries-lib-emissive-md-143aa6adcf81a5d54d1c.js"],"component---src-pages-api-libraries-lib-env-md":["/component---src-pages-api-libraries-lib-env-md-77d3aadc9f679ae690e3.js"],"component---src-pages-api-libraries-lib-normal-md":["/component---src-pages-api-libraries-lib-normal-md-31350b773f6ff6f4e05e.js"],"component---src-pages-api-libraries-lib-pbr-aniso-md":["/component---src-pages-api-libraries-lib-pbr-aniso-md-ba5594b83f3f3617a782.js"],"component---src-pages-api-libraries-lib-pbr-md":["/component---src-pages-api-libraries-lib-pbr-md-f170c57dc68fb4499d12.js"],"component---src-pages-api-libraries-lib-pom-md":["/component---src-pages-api-libraries-lib-pom-md-f16f494c39983d430994.js"],"component---src-pages-api-libraries-lib-random-md":["/component---src-pages-api-libraries-lib-random-md-780eaf7df8bdf792600b.js"],"component---src-pages-api-libraries-lib-sampler-md":["/component---src-pages-api-libraries-lib-sampler-md-b2e12a0d46a735a6a6c8.js"],"component---src-pages-api-libraries-lib-sheen-md":["/component---src-pages-api-libraries-lib-sheen-md-829775ad19c0df8d6bd5.js"],"component---src-pages-api-libraries-lib-sparse-md":["/component---src-pages-api-libraries-lib-sparse-md-b2a635b0e1d7a669e8a8.js"],"component---src-pages-api-libraries-lib-sss-md":["/component---src-pages-api-libraries-lib-sss-md-230e505bd1e34b0fc907.js"],"component---src-pages-api-libraries-lib-utils-md":["/component---src-pages-api-libraries-lib-utils-md-f6208147b4a8bed1b450.js"],"component---src-pages-api-libraries-lib-vectors-md":["/component---src-pages-api-libraries-lib-vectors-md-84bc84aec1995db6a64d.js"],"component---src-pages-api-parameters-all-custom-params-md":["/component---src-pages-api-parameters-all-custom-params-md-3ad1b1f4d58972cce207.js"],"component---src-pages-api-parameters-all-custom-qualifiers-md":["/component---src-pages-api-parameters-all-custom-qualifiers-md-2bfed1592a854b3efe11.js"],"component---src-pages-api-parameters-all-engine-params-md":["/component---src-pages-api-parameters-all-engine-params-md-861fe9619d648a3f36a9.js"],"component---src-pages-api-parameters-all-rendering-states-params-md":["/component---src-pages-api-parameters-all-rendering-states-params-md-bc124e27427ebe44ba4d.js"],"component---src-pages-api-parameters-layering-bind-materials-md":["/component---src-pages-api-parameters-layering-bind-materials-md-fbff24f9ce1744b72a20.js"],"component---src-pages-api-parameters-layering-declare-stacks-md":["/component---src-pages-api-parameters-layering-declare-stacks-md-6aa0e80c9345d10f391f.js"],"component---src-pages-api-shaders-asm-metal-rough-md":["/component---src-pages-api-shaders-asm-metal-rough-md-a3e3d7fcf1c1d9077ad5.js"],"component---src-pages-api-shaders-clay-md":["/component---src-pages-api-shaders-clay-md-a96ddd98fdd13bba0fca.js"],"component---src-pages-api-shaders-dota-2-md":["/component---src-pages-api-shaders-dota-2-md-cef07ca9fc6e53fa894a.js"],"component---src-pages-api-shaders-non-pbr-spec-gloss-md":["/component---src-pages-api-shaders-non-pbr-spec-gloss-md-e5b6ea291e7bd15b07af.js"],"component---src-pages-api-shaders-pbr-car-paint-md":["/component---src-pages-api-shaders-pbr-car-paint-md-61f6a829028f877db639.js"],"component---src-pages-api-shaders-pbr-coated-md":["/component---src-pages-api-shaders-pbr-coated-md-67514ed7a81946f17493.js"],"component---src-pages-api-shaders-pbr-material-layering-10-mats-md":["/component---src-pages-api-shaders-pbr-material-layering-10-mats-md-a77d65b07a6e31d4b062.js"],"component---src-pages-api-shaders-pbr-material-layering-md":["/component---src-pages-api-shaders-pbr-material-layering-md-e0ef659d8fc71bcd3e8f.js"],"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md":["/component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md-87309e9665f1ba3b8304.js"],"component---src-pages-api-shaders-pbr-metal-rough-md":["/component---src-pages-api-shaders-pbr-metal-rough-md-5cc9ddd4470549e546de.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md":["/component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md-d260aefcadafc75d3081.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md":["/component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md-9e670e5cc630d79c49f5.js"],"component---src-pages-api-shaders-pbr-spec-gloss-md":["/component---src-pages-api-shaders-pbr-spec-gloss-md-60a936b304fc68304cb1.js"],"component---src-pages-api-shaders-pbr-velvet-md":["/component---src-pages-api-shaders-pbr-velvet-md-4082b0cd785c99c6e31b.js"],"component---src-pages-api-shaders-pixelated-md":["/component---src-pages-api-shaders-pixelated-md-6c1476961e8a63ad2831.js"],"component---src-pages-api-shaders-surface-shader-md":["/component---src-pages-api-shaders-surface-shader-md-202500aa8c14e934046e.js"],"component---src-pages-api-shaders-toon-md":["/component---src-pages-api-shaders-toon-md-38d3e991bdbf9f64a423.js"],"component---src-pages-api-shaders-vraymtl-metallic-md":["/component---src-pages-api-shaders-vraymtl-metallic-md-72260fdf093a2a323192.js"],"component---src-pages-api-shaders-vraymtl-specular-md":["/component---src-pages-api-shaders-vraymtl-specular-md-5cdebbca24c416b8a389.js"],"component---src-pages-index-md":["/component---src-pages-index-md-641b0b57c3591a226a09.js"]} \ No newline at end of file diff --git a/component---src-pages-index-md-af02c3085a2ca4989268.js b/component---src-pages-index-md-641b0b57c3591a226a09.js similarity index 75% rename from component---src-pages-index-md-af02c3085a2ca4989268.js rename to component---src-pages-index-md-641b0b57c3591a226a09.js index ef04b67e..e4e6b49a 100644 --- a/component---src-pages-index-md-af02c3085a2ca4989268.js +++ b/component---src-pages-index-md-641b0b57c3591a226a09.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkdev_site_documentation_template=self.webpackChunkdev_site_documentation_template||[]).push([[8035],{18107:function(e,a,t){t.r(a),t.d(a,{_frontmatter:function(){return o},default:function(){return b}});var n=t(87462),i=t(63366),r=(t(15007),t(64983)),s=t(91515),p=["components"],o={},d=function(e){return function(a){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",a)}},m=d("Hero"),c=d("Resources"),l={_frontmatter:o},h=s.Z;function b(e){var a=e.components,t=(0,i.Z)(e,p);return(0,r.mdx)(h,(0,n.Z)({},l,t,{components:a,mdxType:"MDXLayout"}),(0,r.mdx)(m,{slots:"image, heading, text",background:"rgb(1, 46, 24)",hideBreadcrumbNav:!1,mdxType:"Hero"}),(0,r.mdx)("p",null,(0,r.mdx)("span",{parentName:"p",className:"gatsby-resp-image-wrapper",style:{position:"relative",display:"block",marginLeft:"auto",marginRight:"auto",maxWidth:"1280px"}},"\n ",(0,r.mdx)("span",{parentName:"span",className:"gatsby-resp-image-background-image",style:{paddingBottom:"24.375000000000004%",position:"relative",bottom:"0",left:"0",display:"block",transition:"opacity 0.5s 0.5s",pointerEvents:"none"}}),"\n ",(0,r.mdx)("picture",{parentName:"span"},"\n ",(0,r.mdx)("source",{parentName:"picture",srcSet:["/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/5530d/hero.webp 320w","/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/0c8fb/hero.webp 640w","/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/94b1e/hero.webp 1280w","/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/95f20/hero.webp 1440w"],sizes:"(max-width: 1280px) 100vw, 1280px",type:"image/webp"}),"\n ",(0,r.mdx)("source",{parentName:"picture",srcSet:["/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/dd4a7/hero.png 320w","/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/0f09e/hero.png 640w","/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/bbbf7/hero.png 1280w","/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/89066/hero.png 1440w"],sizes:"(max-width: 1280px) 100vw, 1280px",type:"image/png"}),"\n ",(0,r.mdx)("img",{parentName:"picture",className:"gatsby-resp-image-image",src:"/painter-shader-api/static/9a9007223a616019367b4c8cb87d1aa6/bbbf7/hero.png",alt:"Hero image",title:"Hero image",loading:"lazy",style:{width:"100%",height:"100%",margin:"0",verticalAlign:"middle",position:"absolute",opacity:"0",transition:"opacity 0.5s",color:"inherit",boxShadow:"inset 0px 0px 0px 400px none",top:"0",left:"0"}}),"\n "),"\n ")),(0,r.mdx)("h1",{id:"substance-3d-painter---shader-api"},"Substance 3D Painter - Shader API"),(0,r.mdx)("p",null,"This documentation provides an overview of Painter's shader system and its API."),(0,r.mdx)("p",null,"Custom shaders can be used to develop new rendering behaviors in the main 3D viewport of the application."),(0,r.mdx)(c,{slots:"heading, links",mdxType:"Resources"}),(0,r.mdx)("h4",{id:"learn-more"},"Learn more"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.adobe.com/products/substance3d-painter.html"},"Substance 3D Painter"))),(0,r.mdx)("h3",{id:"get-started"},"Get Started"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"The API documentation is ",(0,r.mdx)("a",{parentName:"li",href:"/painter-shader-api/api/index.html"},"available here"),"."),(0,r.mdx)("li",{parentName:"ul"},"Note that the API documentation is also installed alongside the software and can be accessed via the ",(0,r.mdx)("strong",{parentName:"li"},"Help > Scripting Documentation")," menu.")),(0,r.mdx)("hr",null))}b.isMDXComponent=!0}}]); -//# sourceMappingURL=component---src-pages-index-md-af02c3085a2ca4989268.js.map \ No newline at end of file +"use strict";(self.webpackChunkdev_site_documentation_template=self.webpackChunkdev_site_documentation_template||[]).push([[8035],{18107:function(e,a,t){t.r(a),t.d(a,{_frontmatter:function(){return o},default:function(){return b}});var n=t(87462),i=t(63366),r=(t(15007),t(64983)),s=t(91515),p=["components"],o={},d=function(e){return function(a){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.mdx)("div",a)}},m=d("Hero"),c=d("Resources"),l={_frontmatter:o},h=s.Z;function b(e){var a=e.components,t=(0,i.Z)(e,p);return(0,r.mdx)(h,(0,n.Z)({},l,t,{components:a,mdxType:"MDXLayout"}),(0,r.mdx)(m,{slots:"image, heading, text",background:"rgb(1, 46, 24)",hideBreadcrumbNav:!1,mdxType:"Hero"}),(0,r.mdx)("p",null,(0,r.mdx)("span",{parentName:"p",className:"gatsby-resp-image-wrapper",style:{position:"relative",display:"block",marginLeft:"auto",marginRight:"auto",maxWidth:"1280px"}},"\n ",(0,r.mdx)("span",{parentName:"span",className:"gatsby-resp-image-background-image",style:{paddingBottom:"24.375000000000004%",position:"relative",bottom:"0",left:"0",display:"block",transition:"opacity 0.5s 0.5s",pointerEvents:"none"}}),"\n ",(0,r.mdx)("picture",{parentName:"span"},"\n ",(0,r.mdx)("source",{parentName:"picture",srcSet:["/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/5530d/hero.webp 320w","/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/0c8fb/hero.webp 640w","/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/94b1e/hero.webp 1280w","/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/95f20/hero.webp 1440w"],sizes:"(max-width: 1280px) 100vw, 1280px",type:"image/webp"}),"\n ",(0,r.mdx)("source",{parentName:"picture",srcSet:["/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/dd4a7/hero.png 320w","/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/0f09e/hero.png 640w","/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/bbbf7/hero.png 1280w","/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/89066/hero.png 1440w"],sizes:"(max-width: 1280px) 100vw, 1280px",type:"image/png"}),"\n ",(0,r.mdx)("img",{parentName:"picture",className:"gatsby-resp-image-image",src:"/painter-shader-api/static/1cb8e24561f71d427e3729a5e744b69a/bbbf7/hero.png",alt:"Hero image",title:"Hero image",loading:"lazy",style:{width:"100%",height:"100%",margin:"0",verticalAlign:"middle",position:"absolute",opacity:"0",transition:"opacity 0.5s",color:"inherit",boxShadow:"inset 0px 0px 0px 400px none",top:"0",left:"0"}}),"\n "),"\n ")),(0,r.mdx)("h1",{id:"substance-3d-painter---shader-api"},"Substance 3D Painter - Shader API"),(0,r.mdx)("p",null,"This documentation provides an overview of Painter's shader system and its API."),(0,r.mdx)("p",null,"Custom shaders can be used to develop new rendering behaviors in the main 3D viewport of the application."),(0,r.mdx)(c,{slots:"heading, links",mdxType:"Resources"}),(0,r.mdx)("h4",{id:"learn-more"},"Learn more"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},(0,r.mdx)("a",{parentName:"li",href:"https://www.adobe.com/products/substance3d-painter.html"},"Substance 3D Painter"))),(0,r.mdx)("h3",{id:"get-started"},"Get Started"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"The API documentation is ",(0,r.mdx)("a",{parentName:"li",href:"/painter-shader-api/api/index.html"},"available here"),"."),(0,r.mdx)("li",{parentName:"ul"},"Note that the API documentation is also installed alongside the software and can be accessed via the ",(0,r.mdx)("strong",{parentName:"li"},"Help > Scripting Documentation")," menu.")),(0,r.mdx)("hr",null))}b.isMDXComponent=!0}}]); +//# sourceMappingURL=component---src-pages-index-md-641b0b57c3591a226a09.js.map \ No newline at end of file diff --git a/component---src-pages-index-md-af02c3085a2ca4989268.js.map b/component---src-pages-index-md-641b0b57c3591a226a09.js.map similarity index 87% rename from component---src-pages-index-md-af02c3085a2ca4989268.js.map rename to component---src-pages-index-md-641b0b57c3591a226a09.js.map index ef78fcd6..a53b00ea 100644 --- a/component---src-pages-index-md-af02c3085a2ca4989268.js.map +++ b/component---src-pages-index-md-641b0b57c3591a226a09.js.map @@ -1 +1 @@ -{"version":3,"file":"component---src-pages-index-md-af02c3085a2ca4989268.js","mappings":"oTAMaA,EAAe,CAAC,EACvBC,EAAgB,SAAAC,GAAI,OAAI,SAA6BC,GAEzD,OADAC,QAAQC,KAAK,aAAeH,EAAO,4EAC5BI,EAAAA,EAAAA,KAAA,MAASH,EAClB,CAAC,EACKI,EAAON,EAAc,QACrBO,EAAYP,EAAc,aAC1BQ,EAAc,CAClBT,aAAAA,GAEIU,EAAYC,EAAAA,EACH,SAASC,EAAUC,GAG/B,IAFDC,EAAUD,EAAVC,WACGX,GAAKY,EAAAA,EAAAA,GAAAF,EAAAG,GAER,OAAOV,EAAAA,EAAAA,KAACI,GAASO,EAAAA,EAAAA,GAAA,GAAKR,EAAiBN,EAAK,CAAEW,WAAYA,EAAYI,QAAQ,eAG5EZ,EAAAA,EAAAA,KAACC,EAAI,CAACY,MAAM,uBAAuBC,WAAW,iBAAiBC,mBAAmB,EAAOH,QAAQ,UACjGZ,EAAAA,EAAAA,KAAA,UAAGA,EAAAA,EAAAA,KAAA,QAAMgB,WAAW,IAChB,UAAa,4BACb,MAAS,CACP,SAAY,WACZ,QAAW,QACX,WAAc,OACd,YAAe,OACf,SAAY,WACb,YAEDhB,EAAAA,EAAAA,KAAA,QAAMgB,WAAW,OACf,UAAa,qCACb,MAAS,CACP,cAAiB,sBACjB,SAAY,WACZ,OAAU,IACV,KAAQ,IACR,QAAW,QACX,WAAc,oBACd,cAAiB,UAEX,QACdhB,EAAAA,EAAAA,KAAA,WAASgB,WAAW,QAAM,gBAClBhB,EAAAA,EAAAA,KAAA,UAAQgB,WAAW,UACnB,OAAU,CAAC,mFAAoF,mFAAoF,oFAAqF,qFACxQ,MAAS,oCACT,KAAQ,eACE,gBACVhB,EAAAA,EAAAA,KAAA,UAAQgB,WAAW,UACnB,OAAU,CAAC,kFAAmF,kFAAmF,mFAAoF,oFACrQ,MAAS,oCACT,KAAQ,cACE,gBACVhB,EAAAA,EAAAA,KAAA,OAAKgB,WAAW,UAChB,UAAa,0BACb,IAAO,6EACP,IAAO,aACP,MAAS,aACT,QAAW,OACX,MAAS,CACP,MAAS,OACT,OAAU,OACV,OAAU,IACV,cAAiB,SACjB,SAAY,WACZ,QAAW,IACX,WAAc,eACd,MAAS,UACT,UAAa,+BACb,IAAO,IACP,KAAQ,OAEH,cACC,YAEhBhB,EAAAA,EAAAA,KAAA,MACE,GAAM,qCAAmC,sCAE3CA,EAAAA,EAAAA,KAAA,6FACAA,EAAAA,EAAAA,KAAA,uHACAA,EAAAA,EAAAA,KAACE,EAAS,CAACW,MAAM,iBAAiBD,QAAQ,eAC1CZ,EAAAA,EAAAA,KAAA,MACE,GAAM,cAAY,eAEpBA,EAAAA,EAAAA,KAAA,WACEA,EAAAA,EAAAA,KAAA,MAAIgB,WAAW,OAAKhB,EAAAA,EAAAA,KAAA,KAAGgB,WAAW,KAC9B,KAAQ,2DAAyD,2BAGvEhB,EAAAA,EAAAA,KAAA,MACE,GAAM,eAAa,gBAErBA,EAAAA,EAAAA,KAAA,WACEA,EAAAA,EAAAA,KAAA,MAAIgB,WAAW,MAAI,6BAA8BhB,EAAAA,EAAAA,KAAA,KAAGgB,WAAW,KAC3D,KAAQ,sCAAoC,kBACrB,MAC3BhB,EAAAA,EAAAA,KAAA,MAAIgB,WAAW,MAAI,yGAA0GhB,EAAAA,EAAAA,KAAA,UAAQgB,WAAW,MAAI,kCAA4C,YAElMhB,EAAAA,EAAAA,KAAA,WAGJ,CAEAM,EAAWW,gBAAiB,C","sources":["webpack://dev-site-documentation-template/./src/pages/index.md"],"sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/painter-shader-api/painter-shader-api/node_modules/@adobe/gatsby-theme-aio/src/components/MDXFilter/index.js\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n return
;\n};\nconst Hero = makeShortcode(\"Hero\");\nconst Resources = makeShortcode(\"Resources\");\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n \n

{`\n `}{`\n `}{`\n `}{`\n `}{`\n `}{`\n `}{`\n `}

\n

{`Substance 3D Painter - Shader API`}

\n

{`This documentation provides an overview of Painter's shader system and its API.`}

\n

{`Custom shaders can be used to develop new rendering behaviors in the main 3D viewport of the application.`}

\n \n

{`Learn more`}

\n \n

{`Get Started`}

\n
    \n
  • {`The API documentation is `}{`available here`}{`.`}
  • \n
  • {`Note that the API documentation is also installed alongside the software and can be accessed via the `}{`Help > Scripting Documentation`}{` menu.`}
  • \n
\n
\n\n
;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"names":["_frontmatter","makeShortcode","name","props","console","warn","mdx","Hero","Resources","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","_objectWithoutPropertiesLoose","_excluded","_extends","mdxType","slots","background","hideBreadcrumbNav","parentName","isMDXComponent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"component---src-pages-index-md-641b0b57c3591a226a09.js","mappings":"oTAMaA,EAAe,CAAC,EACvBC,EAAgB,SAAAC,GAAI,OAAI,SAA6BC,GAEzD,OADAC,QAAQC,KAAK,aAAeH,EAAO,4EAC5BI,EAAAA,EAAAA,KAAA,MAASH,EAClB,CAAC,EACKI,EAAON,EAAc,QACrBO,EAAYP,EAAc,aAC1BQ,EAAc,CAClBT,aAAAA,GAEIU,EAAYC,EAAAA,EACH,SAASC,EAAUC,GAG/B,IAFDC,EAAUD,EAAVC,WACGX,GAAKY,EAAAA,EAAAA,GAAAF,EAAAG,GAER,OAAOV,EAAAA,EAAAA,KAACI,GAASO,EAAAA,EAAAA,GAAA,GAAKR,EAAiBN,EAAK,CAAEW,WAAYA,EAAYI,QAAQ,eAG5EZ,EAAAA,EAAAA,KAACC,EAAI,CAACY,MAAM,uBAAuBC,WAAW,iBAAiBC,mBAAmB,EAAOH,QAAQ,UACjGZ,EAAAA,EAAAA,KAAA,UAAGA,EAAAA,EAAAA,KAAA,QAAMgB,WAAW,IAChB,UAAa,4BACb,MAAS,CACP,SAAY,WACZ,QAAW,QACX,WAAc,OACd,YAAe,OACf,SAAY,WACb,YAEDhB,EAAAA,EAAAA,KAAA,QAAMgB,WAAW,OACf,UAAa,qCACb,MAAS,CACP,cAAiB,sBACjB,SAAY,WACZ,OAAU,IACV,KAAQ,IACR,QAAW,QACX,WAAc,oBACd,cAAiB,UAEX,QACdhB,EAAAA,EAAAA,KAAA,WAASgB,WAAW,QAAM,gBAClBhB,EAAAA,EAAAA,KAAA,UAAQgB,WAAW,UACnB,OAAU,CAAC,mFAAoF,mFAAoF,oFAAqF,qFACxQ,MAAS,oCACT,KAAQ,eACE,gBACVhB,EAAAA,EAAAA,KAAA,UAAQgB,WAAW,UACnB,OAAU,CAAC,kFAAmF,kFAAmF,mFAAoF,oFACrQ,MAAS,oCACT,KAAQ,cACE,gBACVhB,EAAAA,EAAAA,KAAA,OAAKgB,WAAW,UAChB,UAAa,0BACb,IAAO,6EACP,IAAO,aACP,MAAS,aACT,QAAW,OACX,MAAS,CACP,MAAS,OACT,OAAU,OACV,OAAU,IACV,cAAiB,SACjB,SAAY,WACZ,QAAW,IACX,WAAc,eACd,MAAS,UACT,UAAa,+BACb,IAAO,IACP,KAAQ,OAEH,cACC,YAEhBhB,EAAAA,EAAAA,KAAA,MACE,GAAM,qCAAmC,sCAE3CA,EAAAA,EAAAA,KAAA,6FACAA,EAAAA,EAAAA,KAAA,uHACAA,EAAAA,EAAAA,KAACE,EAAS,CAACW,MAAM,iBAAiBD,QAAQ,eAC1CZ,EAAAA,EAAAA,KAAA,MACE,GAAM,cAAY,eAEpBA,EAAAA,EAAAA,KAAA,WACEA,EAAAA,EAAAA,KAAA,MAAIgB,WAAW,OAAKhB,EAAAA,EAAAA,KAAA,KAAGgB,WAAW,KAC9B,KAAQ,2DAAyD,2BAGvEhB,EAAAA,EAAAA,KAAA,MACE,GAAM,eAAa,gBAErBA,EAAAA,EAAAA,KAAA,WACEA,EAAAA,EAAAA,KAAA,MAAIgB,WAAW,MAAI,6BAA8BhB,EAAAA,EAAAA,KAAA,KAAGgB,WAAW,KAC3D,KAAQ,sCAAoC,kBACrB,MAC3BhB,EAAAA,EAAAA,KAAA,MAAIgB,WAAW,MAAI,yGAA0GhB,EAAAA,EAAAA,KAAA,UAAQgB,WAAW,MAAI,kCAA4C,YAElMhB,EAAAA,EAAAA,KAAA,WAGJ,CAEAM,EAAWW,gBAAiB,C","sources":["webpack://dev-site-documentation-template/./src/pages/index.md"],"sourcesContent":["import * as React from 'react'\n /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport DefaultLayout from \"/home/runner/work/painter-shader-api/painter-shader-api/node_modules/@adobe/gatsby-theme-aio/src/components/MDXFilter/index.js\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n return
;\n};\nconst Hero = makeShortcode(\"Hero\");\nconst Resources = makeShortcode(\"Resources\");\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n \n

{`\n `}{`\n `}{`\n `}{`\n `}{`\n `}{`\n `}{`\n `}

\n

{`Substance 3D Painter - Shader API`}

\n

{`This documentation provides an overview of Painter's shader system and its API.`}

\n

{`Custom shaders can be used to develop new rendering behaviors in the main 3D viewport of the application.`}

\n \n

{`Learn more`}

\n \n

{`Get Started`}

\n
    \n
  • {`The API documentation is `}{`available here`}{`.`}
  • \n
  • {`Note that the API documentation is also installed alongside the software and can be accessed via the `}{`Help > Scripting Documentation`}{` menu.`}
  • \n
\n
\n\n
;\n}\n;\nMDXContent.isMDXComponent = true;\n "],"names":["_frontmatter","makeShortcode","name","props","console","warn","mdx","Hero","Resources","layoutProps","MDXLayout","DefaultLayout","MDXContent","_ref","components","_objectWithoutPropertiesLoose","_excluded","_extends","mdxType","slots","background","hideBreadcrumbNav","parentName","isMDXComponent"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html index abaef005..ca6ebf91 100644 --- a/index.html +++ b/index.html @@ -107,8 +107,8 @@ )!important;color:var(--spectrum-global-color-gray-900)!important;-webkit-text-decoration:none!important;text-decoration:none!important;}.css-b71vjq>div>div{width:var(--spectrum-global-dimension-size-100)!important;}.css-b71vjq>div>div>svg{padding:0!important;}
Cat Reference v2.0
Cat Reporting API
Cat Reference v1.4
Cat API Spec
Support

- - - Hero image + + + Hero image -

Substance 3D Painter - Shader API

This documentation provides an overview of Painter's shader system and its API.

Custom shaders can be used to develop new rendering behaviors in the main 3D viewport of the application.

Get Started

  • The API documentation is available here.
  • Note that the API documentation is also installed alongside the software and can be accessed via the Help > Scripting Documentation menu.

\ No newline at end of file +

Substance 3D Painter - Shader API

This documentation provides an overview of Painter's shader system and its API.

Custom shaders can be used to develop new rendering behaviors in the main 3D viewport of the application.

Get Started

  • The API documentation is available here.
  • Note that the API documentation is also installed alongside the software and can be accessed via the Help > Scripting Documentation menu.

\ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index be493035..6a4df225 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"f44d80ee93cd2d7d2f8b"} +{"webpackCompilationHash":"e7515af07e7186a9177b"} diff --git a/page-data/sq/d/915530536.json b/page-data/sq/d/915530536.json index 02d6ac6e..0c113fa2 100644 --- a/page-data/sq/d/915530536.json +++ b/page-data/sq/d/915530536.json @@ -1 +1 @@ -{"data":{"allGithub":{"nodes":[{"repository":"AdobeDocs/painter-shader-api","default_branch":"main","root":""}]},"allGithubContributors":{"nodes":[{"contributors":[{"date":"2023-12-04T17:57:26+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/index.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/changelog.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/index.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-alpha.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bayer.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bent-normal.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-coat.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-defines.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-emissive.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-env.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-normal.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr-aniso.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pom.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-random.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sampler.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sheen.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sparse.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sss.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-utils.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-vectors.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-params.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-qualifiers.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-engine-params.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-rendering-states-params.md"},{"contributors":[{"date":"2023-12-04T18:27:56+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_bind_materials.md"},{"contributors":[{"date":"2023-12-04T18:27:56+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_declare_stacks.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/asm-metal-rough.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/clay.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/dota-2.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/non-pbr-spec-gloss.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-car-paint.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-coated.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering-10-mats.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-anisotropy-angle.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-blending.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-test.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-spec-gloss.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-velvet.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pixelated.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/surface-shader.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/toon.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-metallic.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-specular.md"}]},"allMdx":{"nodes":[{"tableOfContents":{"items":[{"url":"#substance-3d-painter---shader-api","title":"Substance 3D Painter - Shader API","items":[{"items":[{"items":[{"url":"#learn-more","title":"Learn more"}]},{"url":"#get-started","title":"Get Started"}]}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/index.md"},{"tableOfContents":{"items":[{"url":"#shader-reference","title":"Shader reference","items":[{"url":"#changelog","title":"Changelog"},{"url":"#warm-up","title":"Warm up"},{"url":"#surface-shader","title":"Surface shader"},{"url":"#engine-provided-data","title":"Engine provided data"},{"url":"#engine-settings","title":"Engine settings"},{"url":"#custom-tweaks","title":"Custom tweaks"},{"url":"#custom-qualifiers","title":"Custom qualifiers"},{"url":"#embedded-libraries","title":"Embedded libraries"},{"url":"#metadata","title":"Metadata"},{"url":"#example-shaders","title":"Example shaders"},{"url":"#dynamic-material-layering","title":"Dynamic material layering"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/index.md"},{"tableOfContents":{"items":[{"url":"#changelog","title":"Changelog","items":[{"url":"#820","title":"8.2.0"},{"url":"#810","title":"8.1.0"},{"url":"#720","title":"7.2.0"},{"url":"#201832","title":"2018.3.2"},{"url":"#201830","title":"2018.3.0"},{"url":"#201820","title":"2018.2.0"},{"url":"#201742","title":"2017.4.2"},{"url":"#201741","title":"2017.4.1"},{"url":"#201740","title":"2017.4.0"},{"url":"#201731","title":"2017.3.1"},{"url":"#201720","title":"2017.2.0"},{"url":"#260","title":"2.6.0"},{"url":"#250","title":"2.5.0"},{"url":"#240","title":"2.4.0"},{"url":"#220","title":"2.2.0"},{"url":"#211","title":"2.1.1"},{"url":"#210","title":"2.1.0"},{"url":"#204","title":"2.0.4"},{"url":"#200","title":"2.0.0"},{"url":"#170","title":"1.7.0"},{"url":"#160","title":"1.6.0"},{"url":"#150","title":"1.5.0"},{"url":"#141","title":"1.4.1"},{"url":"#140","title":"1.4.0"},{"url":"#134","title":"1.3.4"},{"url":"#133","title":"1.3.3"},{"url":"#130","title":"1.3.0"},{"url":"#120","title":"1.2.0"},{"url":"#10","title":"1.0"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/changelog.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bayer.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-alpha.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bent-normal.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-coat.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-defines.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-emissive.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-env.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-normal.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr-aniso.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pom.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-random.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sparse.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sheen.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sampler.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sss.md"},{"tableOfContents":{"items":[{"url":"#utility-functions","title":"Utility functions","items":[{"url":"#tone-mapping","title":"Tone mapping"},{"url":"#srgb-conversions","title":"sRGB conversions"},{"url":"#dithering","title":"Dithering"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-utils.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-vectors.md"},{"tableOfContents":{"items":[{"url":"#custom-parameters-sample-shader","title":"Custom parameters sample shader","items":[{"url":"#visible-value","title":"Visible value"},{"url":"#color-parameters","title":"Color parameters"},{"url":"#spinboxes-parameters","title":"Spinboxes parameters"},{"url":"#slider-parameters","title":"Slider parameters"},{"url":"#bool-parameters","title":"Bool parameters"},{"url":"#sampler-parameters","title":"Sampler parameters"},{"url":"#combobox-parameters","title":"Combobox parameters"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-params.md"},{"tableOfContents":{"items":[{"url":"#custom-qualifiers","title":"Custom qualifiers","items":[{"url":"#uniform_specialization","title":"uniform_specialization"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-qualifiers.md"},{"tableOfContents":{"items":[{"url":"#engine-parameters-examples","title":"Engine parameters examples","items":[{"url":"#texture-parameters","title":"Texture parameters","items":[{"url":"#documents-channels-tags","title":"Document's channels tags"},{"url":"#mesh-maps","title":"Mesh maps"}]},{"url":"#additional-texture-parameters","title":"Additional texture parameters"},{"url":"#other-parameters","title":"Other parameters"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-engine-params.md"},{"tableOfContents":{"items":[{"url":"#material-layering-bind-materials-as-shader-parameters","title":"Material layering: bind materials as shader parameters"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_bind_materials.md"},{"tableOfContents":{"items":[{"url":"#material-layering-declare-editable-stacks","title":"Material layering: declare editable stacks"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_declare_stacks.md"},{"tableOfContents":{"items":[{"url":"#rendering-states-examples","title":"Rendering states examples","items":[{"url":"#backface-culling","title":"Backface culling"},{"url":"#blending","title":"Blending"},{"url":"#shader-sampling-locality","title":"Shader sampling locality"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-rendering-states-params.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-clay-shader","title":"Substance 3D Painter Clay shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/clay.md"},{"tableOfContents":{"items":[{"url":"#adobe-standard-material-definition-asm-shader","title":"Adobe Standard Material Definition (ASM) shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/asm-metal-rough.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-dota-2-shader","title":"Substance 3D Painter Dota 2 shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/dota-2.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-specularglossiness-non-pbr-shader","title":"Substance 3D Painter Specular/Glossiness Non-PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/non-pbr-spec-gloss.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-car-paint-pbr-shader","title":"Substance 3D Painter Car Paint PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-car-paint.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-coating-pbr-shader","title":"Substance 3D Painter Metal/Rough Coating PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-coated.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-material-layering-pbr-shader","title":"Substance 3D Painter Material Layering PBR shader","items":[{"url":"#channels-needed-for-metalrough-workflow-are-bound-here","title":"Channels needed for metal/rough workflow are bound here."}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering-10-mats.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-anisotropy-pbr-shader","title":"Substance 3D Painter Metal/Rough Anisotropy PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-anisotropy-angle.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-material-layering-pbr-shader","title":"Substance 3D Painter Material Layering PBR shader","items":[{"url":"#channels-needed-for-metalrough-workflow-are-bound-here","title":"Channels needed for metal/rough workflow are bound here."}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-and-opacity-pbr-shader","title":"Substance 3D Painter Metal/Rough and opacity PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-blending.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-and-opacity-pbr-shader","title":"Substance 3D Painter Metal/Rough and opacity PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-test.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-pbr-shader","title":"Substance 3D Painter Metal/Rough PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-pbr-velvet-shader","title":"Substance 3D Painter PBR Velvet shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-velvet.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-specularglossiness-pbr-shader","title":"Substance 3D Painter Specular/Glossiness PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-spec-gloss.md"},{"tableOfContents":{"items":[{"url":"#basic-pixelating-shader","title":"Basic pixelating shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pixelated.md"},{"tableOfContents":{"items":[{"url":"#v2f-input-type-definition","title":"V2F input type definition:"},{"url":"#surface-shader-outputs","title":"Surface shader outputs:"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/surface-shader.md"},{"tableOfContents":{"items":[{"url":"#substance-painter-vraymtl-shader","title":"Substance Painter VRayMtl shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-metallic.md"},{"tableOfContents":{"items":[{"url":"#substance-painter-vraymtl-shader","title":"Substance Painter VRayMtl shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-specular.md"},{"tableOfContents":{"items":[{"url":"#basic-toon-shader","title":"Basic toon shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/toon.md"}]},"allSitePage":{"nodes":[{"component":"/home/runner/work/painter-shader-api/painter-shader-api/node_modules/@adobe/gatsby-theme-aio/src/pages/404.md","path":"/404/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/node_modules/@adobe/gatsby-theme-aio/src/pages/404.md","path":"/404.html"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/changelog.md","path":"/api/changelog/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/index.md","path":"/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/index.md","path":"/api/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-alpha.md","path":"/api/libraries/lib-alpha/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bayer.md","path":"/api/libraries/lib-bayer/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bent-normal.md","path":"/api/libraries/lib-bent-normal/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-coat.md","path":"/api/libraries/lib-coat/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-defines.md","path":"/api/libraries/lib-defines/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-env.md","path":"/api/libraries/lib-env/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-normal.md","path":"/api/libraries/lib-normal/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-emissive.md","path":"/api/libraries/lib-emissive/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr.md","path":"/api/libraries/lib-pbr/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr-aniso.md","path":"/api/libraries/lib-pbr-aniso/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pom.md","path":"/api/libraries/lib-pom/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-random.md","path":"/api/libraries/lib-random/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sheen.md","path":"/api/libraries/lib-sheen/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sampler.md","path":"/api/libraries/lib-sampler/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sparse.md","path":"/api/libraries/lib-sparse/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sss.md","path":"/api/libraries/lib-sss/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-utils.md","path":"/api/libraries/lib-utils/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-vectors.md","path":"/api/libraries/lib-vectors/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-qualifiers.md","path":"/api/parameters/all-custom-qualifiers/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-params.md","path":"/api/parameters/all-custom-params/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-engine-params.md","path":"/api/parameters/all-engine-params/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-rendering-states-params.md","path":"/api/parameters/all-rendering-states-params/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_declare_stacks.md","path":"/api/parameters/layering_declare_stacks/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/asm-metal-rough.md","path":"/api/shaders/asm-metal-rough/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_bind_materials.md","path":"/api/parameters/layering_bind_materials/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/clay.md","path":"/api/shaders/clay/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/non-pbr-spec-gloss.md","path":"/api/shaders/non-pbr-spec-gloss/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/dota-2.md","path":"/api/shaders/dota-2/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-car-paint.md","path":"/api/shaders/pbr-car-paint/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-coated.md","path":"/api/shaders/pbr-coated/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering-10-mats.md","path":"/api/shaders/pbr-material-layering-10-mats/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering.md","path":"/api/shaders/pbr-material-layering/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-anisotropy-angle.md","path":"/api/shaders/pbr-metal-rough-anisotropy-angle/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-blending.md","path":"/api/shaders/pbr-metal-rough-with-alpha-blending/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-test.md","path":"/api/shaders/pbr-metal-rough-with-alpha-test/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-spec-gloss.md","path":"/api/shaders/pbr-spec-gloss/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough.md","path":"/api/shaders/pbr-metal-rough/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-velvet.md","path":"/api/shaders/pbr-velvet/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pixelated.md","path":"/api/shaders/pixelated/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/surface-shader.md","path":"/api/shaders/surface-shader/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/toon.md","path":"/api/shaders/toon/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-metallic.md","path":"/api/shaders/vraymtl-metallic/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-specular.md","path":"/api/shaders/vraymtl-specular/"}]},"site":{"pathPrefix":"/painter-shader-api","siteMetadata":{"home":null,"docs":null,"versions":[{"title":"v2.0","path":null,"selected":true},{"title":"v1.4","path":"https://github.com/AdobeDocs/dev-site","selected":null}],"pages":[{"title":"Cat Analytics","path":"/","menu":null},{"title":"Guides","path":"/guides/","menu":null},{"title":"API Reference","path":null,"menu":[{"title":"Cat Reference v2.0","description":"Cat Reporting API","path":"/api/index.md"},{"title":"Cat Reference v1.4","description":"Cat API Spec","path":"/api/1.4.md"}]},{"title":"Support","path":"/support/","menu":null}],"subPages":[{"title":"Get Started","path":"/guides/","header":null,"pages":[{"title":"Dummy an OAuth Client","path":"/guides/dummy_oauth_client/","pages":null},{"title":"Dummy OAuth using POSTMAN","path":"/guides/dummy_using_postman/","pages":null}]},{"title":"Cat Metrics API","path":"/guides/dummy_metrics_api/","header":null,"pages":null},{"title":"Migrating","path":"/guides/migrating/","header":null,"pages":null},{"title":"Overview","path":"/support/","header":true,"pages":[{"title":"Help","path":"/support/","pages":null},{"title":"FAQ","path":"/support/FAQ/","pages":null},{"title":"How to contribute","path":"/support/contribute/","pages":null}]},{"title":"Community","path":"/support/community/","header":true,"pages":[{"title":"Information","path":"/support/community/","pages":null}]}]}}}} \ No newline at end of file +{"data":{"allGithub":{"nodes":[{"repository":"AdobeDocs/painter-shader-api","default_branch":"main","root":""}]},"allGithubContributors":{"nodes":[{"contributors":[{"date":"2023-12-04T17:57:26+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/index.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/changelog.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/index.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-alpha.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bayer.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bent-normal.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-coat.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-defines.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-emissive.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-env.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-normal.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr-aniso.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pom.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-random.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sampler.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sheen.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sparse.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sss.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-utils.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-vectors.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-params.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-qualifiers.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-engine-params.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-rendering-states-params.md"},{"contributors":[{"date":"2023-12-04T18:27:56+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_bind_materials.md"},{"contributors":[{"date":"2023-12-04T18:27:56+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_declare_stacks.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/asm-metal-rough.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/clay.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/dota-2.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/non-pbr-spec-gloss.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-car-paint.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-coated.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering-10-mats.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-anisotropy-angle.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-blending.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-test.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-spec-gloss.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-velvet.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pixelated.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/surface-shader.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/toon.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-metallic.md"},{"contributors":[{"date":"2023-12-04T18:20:34+01:00","login":"Froyok","name":"Léna Piquet"}],"path":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-specular.md"}]},"allMdx":{"nodes":[{"tableOfContents":{"items":[{"url":"#substance-3d-painter---shader-api","title":"Substance 3D Painter - Shader API","items":[{"items":[{"items":[{"url":"#learn-more","title":"Learn more"}]},{"url":"#get-started","title":"Get Started"}]}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/index.md"},{"tableOfContents":{"items":[{"url":"#changelog","title":"Changelog","items":[{"url":"#820","title":"8.2.0"},{"url":"#810","title":"8.1.0"},{"url":"#720","title":"7.2.0"},{"url":"#201832","title":"2018.3.2"},{"url":"#201830","title":"2018.3.0"},{"url":"#201820","title":"2018.2.0"},{"url":"#201742","title":"2017.4.2"},{"url":"#201741","title":"2017.4.1"},{"url":"#201740","title":"2017.4.0"},{"url":"#201731","title":"2017.3.1"},{"url":"#201720","title":"2017.2.0"},{"url":"#260","title":"2.6.0"},{"url":"#250","title":"2.5.0"},{"url":"#240","title":"2.4.0"},{"url":"#220","title":"2.2.0"},{"url":"#211","title":"2.1.1"},{"url":"#210","title":"2.1.0"},{"url":"#204","title":"2.0.4"},{"url":"#200","title":"2.0.0"},{"url":"#170","title":"1.7.0"},{"url":"#160","title":"1.6.0"},{"url":"#150","title":"1.5.0"},{"url":"#141","title":"1.4.1"},{"url":"#140","title":"1.4.0"},{"url":"#134","title":"1.3.4"},{"url":"#133","title":"1.3.3"},{"url":"#130","title":"1.3.0"},{"url":"#120","title":"1.2.0"},{"url":"#10","title":"1.0"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/changelog.md"},{"tableOfContents":{"items":[{"url":"#shader-reference","title":"Shader reference","items":[{"url":"#changelog","title":"Changelog"},{"url":"#warm-up","title":"Warm up"},{"url":"#surface-shader","title":"Surface shader"},{"url":"#engine-provided-data","title":"Engine provided data"},{"url":"#engine-settings","title":"Engine settings"},{"url":"#custom-tweaks","title":"Custom tweaks"},{"url":"#custom-qualifiers","title":"Custom qualifiers"},{"url":"#embedded-libraries","title":"Embedded libraries"},{"url":"#metadata","title":"Metadata"},{"url":"#example-shaders","title":"Example shaders"},{"url":"#dynamic-material-layering","title":"Dynamic material layering"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/index.md"},{"tableOfContents":{"items":[{"url":"#custom-qualifiers","title":"Custom qualifiers","items":[{"url":"#uniform_specialization","title":"uniform_specialization"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-qualifiers.md"},{"tableOfContents":{"items":[{"url":"#custom-parameters-sample-shader","title":"Custom parameters sample shader","items":[{"url":"#visible-value","title":"Visible value"},{"url":"#color-parameters","title":"Color parameters"},{"url":"#spinboxes-parameters","title":"Spinboxes parameters"},{"url":"#slider-parameters","title":"Slider parameters"},{"url":"#bool-parameters","title":"Bool parameters"},{"url":"#sampler-parameters","title":"Sampler parameters"},{"url":"#combobox-parameters","title":"Combobox parameters"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-params.md"},{"tableOfContents":{"items":[{"url":"#engine-parameters-examples","title":"Engine parameters examples","items":[{"url":"#texture-parameters","title":"Texture parameters","items":[{"url":"#documents-channels-tags","title":"Document's channels tags"},{"url":"#mesh-maps","title":"Mesh maps"}]},{"url":"#additional-texture-parameters","title":"Additional texture parameters"},{"url":"#other-parameters","title":"Other parameters"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-engine-params.md"},{"tableOfContents":{"items":[{"url":"#rendering-states-examples","title":"Rendering states examples","items":[{"url":"#backface-culling","title":"Backface culling"},{"url":"#blending","title":"Blending"},{"url":"#shader-sampling-locality","title":"Shader sampling locality"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-rendering-states-params.md"},{"tableOfContents":{"items":[{"url":"#material-layering-bind-materials-as-shader-parameters","title":"Material layering: bind materials as shader parameters"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_bind_materials.md"},{"tableOfContents":{"items":[{"url":"#material-layering-declare-editable-stacks","title":"Material layering: declare editable stacks"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_declare_stacks.md"},{"tableOfContents":{"items":[{"url":"#adobe-standard-material-definition-asm-shader","title":"Adobe Standard Material Definition (ASM) shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/asm-metal-rough.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-clay-shader","title":"Substance 3D Painter Clay shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/clay.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-dota-2-shader","title":"Substance 3D Painter Dota 2 shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/dota-2.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-specularglossiness-non-pbr-shader","title":"Substance 3D Painter Specular/Glossiness Non-PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/non-pbr-spec-gloss.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-car-paint-pbr-shader","title":"Substance 3D Painter Car Paint PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-car-paint.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-coating-pbr-shader","title":"Substance 3D Painter Metal/Rough Coating PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-coated.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-material-layering-pbr-shader","title":"Substance 3D Painter Material Layering PBR shader","items":[{"url":"#channels-needed-for-metalrough-workflow-are-bound-here","title":"Channels needed for metal/rough workflow are bound here."}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering-10-mats.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-material-layering-pbr-shader","title":"Substance 3D Painter Material Layering PBR shader","items":[{"url":"#channels-needed-for-metalrough-workflow-are-bound-here","title":"Channels needed for metal/rough workflow are bound here."}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-anisotropy-pbr-shader","title":"Substance 3D Painter Metal/Rough Anisotropy PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-anisotropy-angle.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-and-opacity-pbr-shader","title":"Substance 3D Painter Metal/Rough and opacity PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-blending.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-and-opacity-pbr-shader","title":"Substance 3D Painter Metal/Rough and opacity PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-test.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-specularglossiness-pbr-shader","title":"Substance 3D Painter Specular/Glossiness PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-spec-gloss.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-metalrough-pbr-shader","title":"Substance 3D Painter Metal/Rough PBR shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough.md"},{"tableOfContents":{"items":[{"url":"#substance-3d-painter-pbr-velvet-shader","title":"Substance 3D Painter PBR Velvet shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-velvet.md"},{"tableOfContents":{"items":[{"url":"#basic-pixelating-shader","title":"Basic pixelating shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pixelated.md"},{"tableOfContents":{"items":[{"url":"#v2f-input-type-definition","title":"V2F input type definition:"},{"url":"#surface-shader-outputs","title":"Surface shader outputs:"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/surface-shader.md"},{"tableOfContents":{"items":[{"url":"#basic-toon-shader","title":"Basic toon shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/toon.md"},{"tableOfContents":{"items":[{"url":"#substance-painter-vraymtl-shader","title":"Substance Painter VRayMtl shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-metallic.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-alpha.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bayer.md"},{"tableOfContents":{"items":[{"url":"#substance-painter-vraymtl-shader","title":"Substance Painter VRayMtl shader"}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-specular.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bent-normal.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-coat.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-emissive.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-defines.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-normal.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-env.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr-aniso.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pom.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-random.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sampler.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sheen.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sss.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sparse.md"},{"tableOfContents":{},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-vectors.md"},{"tableOfContents":{"items":[{"url":"#utility-functions","title":"Utility functions","items":[{"url":"#tone-mapping","title":"Tone mapping"},{"url":"#srgb-conversions","title":"sRGB conversions"},{"url":"#dithering","title":"Dithering"}]}]},"fileAbsolutePath":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-utils.md"}]},"allSitePage":{"nodes":[{"component":"/home/runner/work/painter-shader-api/painter-shader-api/node_modules/@adobe/gatsby-theme-aio/src/pages/404.md","path":"/404/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/node_modules/@adobe/gatsby-theme-aio/src/pages/404.md","path":"/404.html"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/index.md","path":"/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/changelog.md","path":"/api/changelog/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/index.md","path":"/api/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-alpha.md","path":"/api/libraries/lib-alpha/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bayer.md","path":"/api/libraries/lib-bayer/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-bent-normal.md","path":"/api/libraries/lib-bent-normal/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-coat.md","path":"/api/libraries/lib-coat/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-emissive.md","path":"/api/libraries/lib-emissive/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-env.md","path":"/api/libraries/lib-env/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-defines.md","path":"/api/libraries/lib-defines/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr-aniso.md","path":"/api/libraries/lib-pbr-aniso/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-normal.md","path":"/api/libraries/lib-normal/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pbr.md","path":"/api/libraries/lib-pbr/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-pom.md","path":"/api/libraries/lib-pom/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-random.md","path":"/api/libraries/lib-random/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sampler.md","path":"/api/libraries/lib-sampler/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sheen.md","path":"/api/libraries/lib-sheen/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sparse.md","path":"/api/libraries/lib-sparse/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-sss.md","path":"/api/libraries/lib-sss/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-utils.md","path":"/api/libraries/lib-utils/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/libraries/lib-vectors.md","path":"/api/libraries/lib-vectors/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-params.md","path":"/api/parameters/all-custom-params/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-engine-params.md","path":"/api/parameters/all-engine-params/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-custom-qualifiers.md","path":"/api/parameters/all-custom-qualifiers/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_bind_materials.md","path":"/api/parameters/layering_bind_materials/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/all-rendering-states-params.md","path":"/api/parameters/all-rendering-states-params/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/parameters/layering_declare_stacks.md","path":"/api/parameters/layering_declare_stacks/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/asm-metal-rough.md","path":"/api/shaders/asm-metal-rough/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/clay.md","path":"/api/shaders/clay/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/dota-2.md","path":"/api/shaders/dota-2/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/non-pbr-spec-gloss.md","path":"/api/shaders/non-pbr-spec-gloss/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-car-paint.md","path":"/api/shaders/pbr-car-paint/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-coated.md","path":"/api/shaders/pbr-coated/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering-10-mats.md","path":"/api/shaders/pbr-material-layering-10-mats/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-anisotropy-angle.md","path":"/api/shaders/pbr-metal-rough-anisotropy-angle/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-material-layering.md","path":"/api/shaders/pbr-material-layering/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-blending.md","path":"/api/shaders/pbr-metal-rough-with-alpha-blending/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough-with-alpha-test.md","path":"/api/shaders/pbr-metal-rough-with-alpha-test/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-metal-rough.md","path":"/api/shaders/pbr-metal-rough/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-spec-gloss.md","path":"/api/shaders/pbr-spec-gloss/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pixelated.md","path":"/api/shaders/pixelated/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/pbr-velvet.md","path":"/api/shaders/pbr-velvet/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/surface-shader.md","path":"/api/shaders/surface-shader/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/toon.md","path":"/api/shaders/toon/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-metallic.md","path":"/api/shaders/vraymtl-metallic/"},{"component":"/home/runner/work/painter-shader-api/painter-shader-api/src/pages/api/shaders/vraymtl-specular.md","path":"/api/shaders/vraymtl-specular/"}]},"site":{"pathPrefix":"/painter-shader-api","siteMetadata":{"home":null,"docs":null,"versions":[{"title":"v2.0","path":null,"selected":true},{"title":"v1.4","path":"https://github.com/AdobeDocs/dev-site","selected":null}],"pages":[{"title":"Cat Analytics","path":"/","menu":null},{"title":"Guides","path":"/guides/","menu":null},{"title":"API Reference","path":null,"menu":[{"title":"Cat Reference v2.0","description":"Cat Reporting API","path":"/api/index.md"},{"title":"Cat Reference v1.4","description":"Cat API Spec","path":"/api/1.4.md"}]},{"title":"Support","path":"/support/","menu":null}],"subPages":[{"title":"Get Started","path":"/guides/","header":null,"pages":[{"title":"Dummy an OAuth Client","path":"/guides/dummy_oauth_client/","pages":null},{"title":"Dummy OAuth using POSTMAN","path":"/guides/dummy_using_postman/","pages":null}]},{"title":"Cat Metrics API","path":"/guides/dummy_metrics_api/","header":null,"pages":null},{"title":"Migrating","path":"/guides/migrating/","header":null,"pages":null},{"title":"Overview","path":"/support/","header":true,"pages":[{"title":"Help","path":"/support/","pages":null},{"title":"FAQ","path":"/support/FAQ/","pages":null},{"title":"How to contribute","path":"/support/contribute/","pages":null}]},{"title":"Community","path":"/support/community/","header":true,"pages":[{"title":"Information","path":"/support/community/","pages":null}]}]}}}} \ No newline at end of file diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/0c8fb/hero.webp b/static/1cb8e24561f71d427e3729a5e744b69a/0c8fb/hero.webp new file mode 100644 index 00000000..98fb901c Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/0c8fb/hero.webp differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/0f09e/hero.png b/static/1cb8e24561f71d427e3729a5e744b69a/0f09e/hero.png new file mode 100644 index 00000000..66d58834 Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/0f09e/hero.png differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/5530d/hero.webp b/static/1cb8e24561f71d427e3729a5e744b69a/5530d/hero.webp new file mode 100644 index 00000000..7e0c48de Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/5530d/hero.webp differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/89066/hero.png b/static/1cb8e24561f71d427e3729a5e744b69a/89066/hero.png new file mode 100644 index 00000000..d3d41d89 Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/89066/hero.png differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/94b1e/hero.webp b/static/1cb8e24561f71d427e3729a5e744b69a/94b1e/hero.webp new file mode 100644 index 00000000..4090b9b5 Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/94b1e/hero.webp differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/95f20/hero.webp b/static/1cb8e24561f71d427e3729a5e744b69a/95f20/hero.webp new file mode 100644 index 00000000..0e65ce44 Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/95f20/hero.webp differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/bbbf7/hero.png b/static/1cb8e24561f71d427e3729a5e744b69a/bbbf7/hero.png new file mode 100644 index 00000000..7db5a1a7 Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/bbbf7/hero.png differ diff --git a/static/1cb8e24561f71d427e3729a5e744b69a/dd4a7/hero.png b/static/1cb8e24561f71d427e3729a5e744b69a/dd4a7/hero.png new file mode 100644 index 00000000..4b2300d2 Binary files /dev/null and b/static/1cb8e24561f71d427e3729a5e744b69a/dd4a7/hero.png differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/0c8fb/hero.webp b/static/9a9007223a616019367b4c8cb87d1aa6/0c8fb/hero.webp deleted file mode 100644 index 313ef355..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/0c8fb/hero.webp and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/0f09e/hero.png b/static/9a9007223a616019367b4c8cb87d1aa6/0f09e/hero.png deleted file mode 100644 index ec160d7c..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/0f09e/hero.png and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/5530d/hero.webp b/static/9a9007223a616019367b4c8cb87d1aa6/5530d/hero.webp deleted file mode 100644 index 8318fab0..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/5530d/hero.webp and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/89066/hero.png b/static/9a9007223a616019367b4c8cb87d1aa6/89066/hero.png deleted file mode 100644 index 8b937b96..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/89066/hero.png and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/94b1e/hero.webp b/static/9a9007223a616019367b4c8cb87d1aa6/94b1e/hero.webp deleted file mode 100644 index 05f626ca..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/94b1e/hero.webp and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/95f20/hero.webp b/static/9a9007223a616019367b4c8cb87d1aa6/95f20/hero.webp deleted file mode 100644 index ab3ccecb..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/95f20/hero.webp and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/bbbf7/hero.png b/static/9a9007223a616019367b4c8cb87d1aa6/bbbf7/hero.png deleted file mode 100644 index c23e4a00..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/bbbf7/hero.png and /dev/null differ diff --git a/static/9a9007223a616019367b4c8cb87d1aa6/dd4a7/hero.png b/static/9a9007223a616019367b4c8cb87d1aa6/dd4a7/hero.png deleted file mode 100644 index 36ce8471..00000000 Binary files a/static/9a9007223a616019367b4c8cb87d1aa6/dd4a7/hero.png and /dev/null differ diff --git a/webpack-runtime-df16d86f8fd112635ecd.js b/webpack-runtime-12cdcdcf06204ff1ddf2.js similarity index 75% rename from webpack-runtime-df16d86f8fd112635ecd.js rename to webpack-runtime-12cdcdcf06204ff1ddf2.js index 9f0e8d9f..d82b48b2 100644 --- a/webpack-runtime-df16d86f8fd112635ecd.js +++ b/webpack-runtime-12cdcdcf06204ff1ddf2.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e,a,r,n,t,s={},c={};function o(e){var a=c[e];if(void 0!==a)return a.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return s[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=s,o.amdO={},e=[],o.O=function(a,r,n,t){if(!r){var s=1/0;for(p=0;p=t)&&Object.keys(o.O).every((function(e){return o.O[e](r[i])}))?r.splice(i--,1):(c=!1,t0&&e[p-1][2]>t;p--)e[p]=e[p-1];e[p]=[r,n,t]},o.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(a,{a:a}),a},o.d=function(e,a){for(var r in a)o.o(a,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},o.f={},o.e=function(e){return Promise.all(Object.keys(o.f).reduce((function(a,r){return o.f[r](e,a),a}),[]))},o.u=function(e){return({141:"490477d6",149:"component---src-pages-api-shaders-clay-md",296:"ea88be26",305:"5e65052d",344:"component---src-pages-api-libraries-lib-bayer-md",380:"component---src-pages-api-shaders-non-pbr-spec-gloss-md",461:"e82996df",532:"styles",558:"component---src-pages-api-libraries-lib-vectors-md",878:"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md",1050:"component---src-pages-api-shaders-dota-2-md",1099:"component---src-pages-api-libraries-lib-env-md",1206:"2dee68d8",1595:"component---src-pages-api-shaders-pbr-velvet-md",2184:"component---src-pages-api-shaders-pixelated-md",2289:"component---src-pages-api-libraries-lib-coat-md",2448:"component---src-pages-api-libraries-lib-normal-md",2682:"component---src-pages-api-shaders-pbr-coated-md",2974:"component---src-pages-api-parameters-all-engine-params-md",2995:"component---src-pages-api-shaders-surface-shader-md",3013:"component---src-pages-api-libraries-lib-sheen-md",3125:"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md",3289:"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md",3490:"b6f3ea4c",3565:"component---src-pages-api-libraries-lib-sss-md",4568:"component---src-pages-api-libraries-lib-pbr-aniso-md",4600:"component---src-pages-api-shaders-toon-md",4722:"component---src-pages-api-libraries-lib-sampler-md",4723:"b19b3968",4842:"component---src-pages-api-libraries-lib-defines-md",4857:"component---src-pages-api-parameters-all-rendering-states-params-md",4926:"component---src-pages-api-shaders-vraymtl-specular-md",5042:"component---src-pages-api-libraries-lib-sparse-md",5364:"component---src-pages-api-shaders-pbr-material-layering-md",5654:"component---src-pages-api-libraries-lib-random-md",5975:"component---src-pages-api-libraries-lib-alpha-md",6065:"component---src-pages-api-libraries-lib-emissive-md",6183:"component---src-pages-api-parameters-all-custom-qualifiers-md",6530:"f5cc1685",6818:"component---src-pages-api-parameters-layering-declare-stacks-md",6983:"component---src-pages-api-shaders-pbr-car-paint-md",7296:"component---src-pages-api-libraries-lib-pom-md",7344:"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md",7602:"c9f1e04f",7714:"8b61fb39",7742:"component---src-pages-api-libraries-lib-utils-md",7767:"component---src-pages-api-shaders-asm-metal-rough-md",8035:"component---src-pages-index-md",8338:"component---src-pages-api-parameters-layering-bind-materials-md",8481:"component---src-pages-api-libraries-lib-pbr-md",8494:"component---src-pages-api-shaders-pbr-spec-gloss-md",8502:"component---src-pages-api-shaders-pbr-metal-rough-md",8674:"component---src-pages-api-libraries-lib-bent-normal-md",8824:"component---src-pages-api-index-md",9251:"1e479c3f",9308:"component---src-pages-api-shaders-vraymtl-metallic-md",9351:"commons",9467:"component---src-pages-api-changelog-md",9523:"component---src-pages-api-parameters-all-custom-params-md",9758:"component---src-pages-api-shaders-pbr-material-layering-10-mats-md"}[e]||e)+"-"+{141:"57ff9ba7b8bc4e705927",149:"a96ddd98fdd13bba0fca",296:"85b5231843b1316c9f21",305:"fbdbaa5368d29c686127",344:"7783c5c1c630cb13572d",380:"e5b6ea291e7bd15b07af",461:"ca9656ecc6f36b01397b",532:"01cdba3dbb4fb85d8f2c",558:"84bc84aec1995db6a64d",732:"9e460655dad862c82796",878:"87309e9665f1ba3b8304",1050:"cef07ca9fc6e53fa894a",1099:"77d3aadc9f679ae690e3",1206:"03544b56fb6b7be4f91e",1595:"4082b0cd785c99c6e31b",2184:"6c1476961e8a63ad2831",2289:"b571740285d3fe12debe",2448:"31350b773f6ff6f4e05e",2682:"67514ed7a81946f17493",2974:"861fe9619d648a3f36a9",2995:"202500aa8c14e934046e",3013:"829775ad19c0df8d6bd5",3125:"cf2c30d7d39f91be56ff",3289:"d260aefcadafc75d3081",3490:"aae07414f36e9898d8a3",3565:"230e505bd1e34b0fc907",4568:"ba5594b83f3f3617a782",4574:"3f857991a5a6cfafbe3a",4600:"38d3e991bdbf9f64a423",4722:"b2e12a0d46a735a6a6c8",4723:"1a11da7ebf8672ad52ec",4842:"2c492b186787963815a3",4857:"bc124e27427ebe44ba4d",4926:"5cdebbca24c416b8a389",5042:"b2a635b0e1d7a669e8a8",5364:"e0ef659d8fc71bcd3e8f",5654:"780eaf7df8bdf792600b",5975:"55bbfbd607c986d6c1f7",6008:"31df70f8f7bc24ce9713",6065:"143aa6adcf81a5d54d1c",6183:"2bfed1592a854b3efe11",6530:"be5858d6b6992f56a4b5",6818:"6aa0e80c9345d10f391f",6983:"61f6a829028f877db639",7296:"f16f494c39983d430994",7344:"9e670e5cc630d79c49f5",7602:"f4f15e89c0f479c2a98c",7714:"5c46a29928cd3c508b8d",7742:"f6208147b4a8bed1b450",7767:"a3e3d7fcf1c1d9077ad5",8035:"af02c3085a2ca4989268",8338:"fbff24f9ce1744b72a20",8481:"f170c57dc68fb4499d12",8494:"60a936b304fc68304cb1",8502:"5cc9ddd4470549e546de",8674:"bcec0173b056150e42ea",8824:"e8370b497288ee048f4c",9251:"62449a35c2ac11c2b2d1",9308:"72260fdf093a2a323192",9351:"fdb2e0b5ee668d79616a",9467:"49d50c0c9125221bcc06",9523:"3ad1b1f4d58972cce207",9758:"a77d65b07a6e31d4b062"}[e]+".js"},o.miniCssF=function(e){return"styles.a1fb8bdd6763ae92da34.css"},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},a={},r="dev-site-documentation-template:",o.l=function(e,n,t,s){if(a[e])a[e].push(n);else{var c,i;if(void 0!==t)for(var d=document.getElementsByTagName("script"),p=0;p=t)&&Object.keys(o.O).every((function(e){return o.O[e](r[i])}))?r.splice(i--,1):(s=!1,t0&&e[p-1][2]>t;p--)e[p]=e[p-1];e[p]=[r,n,t]},o.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(a,{a:a}),a},o.d=function(e,a){for(var r in a)o.o(a,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},o.f={},o.e=function(e){return Promise.all(Object.keys(o.f).reduce((function(a,r){return o.f[r](e,a),a}),[]))},o.u=function(e){return({141:"490477d6",149:"component---src-pages-api-shaders-clay-md",296:"ea88be26",305:"5e65052d",344:"component---src-pages-api-libraries-lib-bayer-md",380:"component---src-pages-api-shaders-non-pbr-spec-gloss-md",461:"e82996df",532:"styles",558:"component---src-pages-api-libraries-lib-vectors-md",878:"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md",1050:"component---src-pages-api-shaders-dota-2-md",1099:"component---src-pages-api-libraries-lib-env-md",1206:"2dee68d8",1595:"component---src-pages-api-shaders-pbr-velvet-md",2184:"component---src-pages-api-shaders-pixelated-md",2289:"component---src-pages-api-libraries-lib-coat-md",2448:"component---src-pages-api-libraries-lib-normal-md",2682:"component---src-pages-api-shaders-pbr-coated-md",2974:"component---src-pages-api-parameters-all-engine-params-md",2995:"component---src-pages-api-shaders-surface-shader-md",3013:"component---src-pages-api-libraries-lib-sheen-md",3125:"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md",3289:"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md",3490:"b6f3ea4c",3565:"component---src-pages-api-libraries-lib-sss-md",4568:"component---src-pages-api-libraries-lib-pbr-aniso-md",4600:"component---src-pages-api-shaders-toon-md",4722:"component---src-pages-api-libraries-lib-sampler-md",4723:"b19b3968",4842:"component---src-pages-api-libraries-lib-defines-md",4857:"component---src-pages-api-parameters-all-rendering-states-params-md",4926:"component---src-pages-api-shaders-vraymtl-specular-md",5042:"component---src-pages-api-libraries-lib-sparse-md",5364:"component---src-pages-api-shaders-pbr-material-layering-md",5654:"component---src-pages-api-libraries-lib-random-md",5975:"component---src-pages-api-libraries-lib-alpha-md",6065:"component---src-pages-api-libraries-lib-emissive-md",6183:"component---src-pages-api-parameters-all-custom-qualifiers-md",6530:"f5cc1685",6818:"component---src-pages-api-parameters-layering-declare-stacks-md",6983:"component---src-pages-api-shaders-pbr-car-paint-md",7296:"component---src-pages-api-libraries-lib-pom-md",7344:"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md",7602:"c9f1e04f",7714:"8b61fb39",7742:"component---src-pages-api-libraries-lib-utils-md",7767:"component---src-pages-api-shaders-asm-metal-rough-md",8035:"component---src-pages-index-md",8338:"component---src-pages-api-parameters-layering-bind-materials-md",8481:"component---src-pages-api-libraries-lib-pbr-md",8494:"component---src-pages-api-shaders-pbr-spec-gloss-md",8502:"component---src-pages-api-shaders-pbr-metal-rough-md",8674:"component---src-pages-api-libraries-lib-bent-normal-md",8824:"component---src-pages-api-index-md",9251:"1e479c3f",9308:"component---src-pages-api-shaders-vraymtl-metallic-md",9351:"commons",9467:"component---src-pages-api-changelog-md",9523:"component---src-pages-api-parameters-all-custom-params-md",9758:"component---src-pages-api-shaders-pbr-material-layering-10-mats-md"}[e]||e)+"-"+{141:"57ff9ba7b8bc4e705927",149:"a96ddd98fdd13bba0fca",296:"85b5231843b1316c9f21",305:"fbdbaa5368d29c686127",344:"7783c5c1c630cb13572d",380:"e5b6ea291e7bd15b07af",461:"ca9656ecc6f36b01397b",532:"01cdba3dbb4fb85d8f2c",558:"84bc84aec1995db6a64d",732:"9e460655dad862c82796",878:"87309e9665f1ba3b8304",1050:"cef07ca9fc6e53fa894a",1099:"77d3aadc9f679ae690e3",1206:"03544b56fb6b7be4f91e",1595:"4082b0cd785c99c6e31b",2184:"6c1476961e8a63ad2831",2289:"b571740285d3fe12debe",2448:"31350b773f6ff6f4e05e",2682:"67514ed7a81946f17493",2974:"861fe9619d648a3f36a9",2995:"202500aa8c14e934046e",3013:"829775ad19c0df8d6bd5",3125:"cf2c30d7d39f91be56ff",3289:"d260aefcadafc75d3081",3490:"aae07414f36e9898d8a3",3565:"230e505bd1e34b0fc907",4568:"ba5594b83f3f3617a782",4574:"3f857991a5a6cfafbe3a",4600:"38d3e991bdbf9f64a423",4722:"b2e12a0d46a735a6a6c8",4723:"1a11da7ebf8672ad52ec",4842:"2c492b186787963815a3",4857:"bc124e27427ebe44ba4d",4926:"5cdebbca24c416b8a389",5042:"b2a635b0e1d7a669e8a8",5364:"e0ef659d8fc71bcd3e8f",5654:"780eaf7df8bdf792600b",5975:"55bbfbd607c986d6c1f7",6008:"31df70f8f7bc24ce9713",6065:"143aa6adcf81a5d54d1c",6183:"2bfed1592a854b3efe11",6530:"be5858d6b6992f56a4b5",6818:"6aa0e80c9345d10f391f",6983:"61f6a829028f877db639",7296:"f16f494c39983d430994",7344:"9e670e5cc630d79c49f5",7602:"f4f15e89c0f479c2a98c",7714:"5c46a29928cd3c508b8d",7742:"f6208147b4a8bed1b450",7767:"a3e3d7fcf1c1d9077ad5",8035:"641b0b57c3591a226a09",8338:"fbff24f9ce1744b72a20",8481:"f170c57dc68fb4499d12",8494:"60a936b304fc68304cb1",8502:"5cc9ddd4470549e546de",8674:"bcec0173b056150e42ea",8824:"e8370b497288ee048f4c",9251:"62449a35c2ac11c2b2d1",9308:"72260fdf093a2a323192",9351:"fdb2e0b5ee668d79616a",9467:"49d50c0c9125221bcc06",9523:"3ad1b1f4d58972cce207",9758:"a77d65b07a6e31d4b062"}[e]+".js"},o.miniCssF=function(e){return"styles.a1fb8bdd6763ae92da34.css"},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},a={},r="dev-site-documentation-template:",o.l=function(e,n,t,c){if(a[e])a[e].push(n);else{var s,i;if(void 0!==t)for(var d=document.getElementsByTagName("script"),p=0;p 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"dev-site-documentation-template:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t6658: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"532\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"141\":\"490477d6\",\"149\":\"component---src-pages-api-shaders-clay-md\",\"296\":\"ea88be26\",\"305\":\"5e65052d\",\"344\":\"component---src-pages-api-libraries-lib-bayer-md\",\"380\":\"component---src-pages-api-shaders-non-pbr-spec-gloss-md\",\"461\":\"e82996df\",\"532\":\"styles\",\"558\":\"component---src-pages-api-libraries-lib-vectors-md\",\"878\":\"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md\",\"1050\":\"component---src-pages-api-shaders-dota-2-md\",\"1099\":\"component---src-pages-api-libraries-lib-env-md\",\"1206\":\"2dee68d8\",\"1595\":\"component---src-pages-api-shaders-pbr-velvet-md\",\"2184\":\"component---src-pages-api-shaders-pixelated-md\",\"2289\":\"component---src-pages-api-libraries-lib-coat-md\",\"2448\":\"component---src-pages-api-libraries-lib-normal-md\",\"2682\":\"component---src-pages-api-shaders-pbr-coated-md\",\"2974\":\"component---src-pages-api-parameters-all-engine-params-md\",\"2995\":\"component---src-pages-api-shaders-surface-shader-md\",\"3013\":\"component---src-pages-api-libraries-lib-sheen-md\",\"3125\":\"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md\",\"3289\":\"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md\",\"3490\":\"b6f3ea4c\",\"3565\":\"component---src-pages-api-libraries-lib-sss-md\",\"4568\":\"component---src-pages-api-libraries-lib-pbr-aniso-md\",\"4600\":\"component---src-pages-api-shaders-toon-md\",\"4722\":\"component---src-pages-api-libraries-lib-sampler-md\",\"4723\":\"b19b3968\",\"4842\":\"component---src-pages-api-libraries-lib-defines-md\",\"4857\":\"component---src-pages-api-parameters-all-rendering-states-params-md\",\"4926\":\"component---src-pages-api-shaders-vraymtl-specular-md\",\"5042\":\"component---src-pages-api-libraries-lib-sparse-md\",\"5364\":\"component---src-pages-api-shaders-pbr-material-layering-md\",\"5654\":\"component---src-pages-api-libraries-lib-random-md\",\"5975\":\"component---src-pages-api-libraries-lib-alpha-md\",\"6065\":\"component---src-pages-api-libraries-lib-emissive-md\",\"6183\":\"component---src-pages-api-parameters-all-custom-qualifiers-md\",\"6530\":\"f5cc1685\",\"6818\":\"component---src-pages-api-parameters-layering-declare-stacks-md\",\"6983\":\"component---src-pages-api-shaders-pbr-car-paint-md\",\"7296\":\"component---src-pages-api-libraries-lib-pom-md\",\"7344\":\"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md\",\"7602\":\"c9f1e04f\",\"7714\":\"8b61fb39\",\"7742\":\"component---src-pages-api-libraries-lib-utils-md\",\"7767\":\"component---src-pages-api-shaders-asm-metal-rough-md\",\"8035\":\"component---src-pages-index-md\",\"8338\":\"component---src-pages-api-parameters-layering-bind-materials-md\",\"8481\":\"component---src-pages-api-libraries-lib-pbr-md\",\"8494\":\"component---src-pages-api-shaders-pbr-spec-gloss-md\",\"8502\":\"component---src-pages-api-shaders-pbr-metal-rough-md\",\"8674\":\"component---src-pages-api-libraries-lib-bent-normal-md\",\"8824\":\"component---src-pages-api-index-md\",\"9251\":\"1e479c3f\",\"9308\":\"component---src-pages-api-shaders-vraymtl-metallic-md\",\"9351\":\"commons\",\"9467\":\"component---src-pages-api-changelog-md\",\"9523\":\"component---src-pages-api-parameters-all-custom-params-md\",\"9758\":\"component---src-pages-api-shaders-pbr-material-layering-10-mats-md\"}[chunkId] || chunkId) + \"-\" + {\"141\":\"57ff9ba7b8bc4e705927\",\"149\":\"a96ddd98fdd13bba0fca\",\"296\":\"85b5231843b1316c9f21\",\"305\":\"fbdbaa5368d29c686127\",\"344\":\"7783c5c1c630cb13572d\",\"380\":\"e5b6ea291e7bd15b07af\",\"461\":\"ca9656ecc6f36b01397b\",\"532\":\"01cdba3dbb4fb85d8f2c\",\"558\":\"84bc84aec1995db6a64d\",\"732\":\"9e460655dad862c82796\",\"878\":\"87309e9665f1ba3b8304\",\"1050\":\"cef07ca9fc6e53fa894a\",\"1099\":\"77d3aadc9f679ae690e3\",\"1206\":\"03544b56fb6b7be4f91e\",\"1595\":\"4082b0cd785c99c6e31b\",\"2184\":\"6c1476961e8a63ad2831\",\"2289\":\"b571740285d3fe12debe\",\"2448\":\"31350b773f6ff6f4e05e\",\"2682\":\"67514ed7a81946f17493\",\"2974\":\"861fe9619d648a3f36a9\",\"2995\":\"202500aa8c14e934046e\",\"3013\":\"829775ad19c0df8d6bd5\",\"3125\":\"cf2c30d7d39f91be56ff\",\"3289\":\"d260aefcadafc75d3081\",\"3490\":\"aae07414f36e9898d8a3\",\"3565\":\"230e505bd1e34b0fc907\",\"4568\":\"ba5594b83f3f3617a782\",\"4574\":\"3f857991a5a6cfafbe3a\",\"4600\":\"38d3e991bdbf9f64a423\",\"4722\":\"b2e12a0d46a735a6a6c8\",\"4723\":\"1a11da7ebf8672ad52ec\",\"4842\":\"2c492b186787963815a3\",\"4857\":\"bc124e27427ebe44ba4d\",\"4926\":\"5cdebbca24c416b8a389\",\"5042\":\"b2a635b0e1d7a669e8a8\",\"5364\":\"e0ef659d8fc71bcd3e8f\",\"5654\":\"780eaf7df8bdf792600b\",\"5975\":\"55bbfbd607c986d6c1f7\",\"6008\":\"31df70f8f7bc24ce9713\",\"6065\":\"143aa6adcf81a5d54d1c\",\"6183\":\"2bfed1592a854b3efe11\",\"6530\":\"be5858d6b6992f56a4b5\",\"6818\":\"6aa0e80c9345d10f391f\",\"6983\":\"61f6a829028f877db639\",\"7296\":\"f16f494c39983d430994\",\"7344\":\"9e670e5cc630d79c49f5\",\"7602\":\"f4f15e89c0f479c2a98c\",\"7714\":\"5c46a29928cd3c508b8d\",\"7742\":\"f6208147b4a8bed1b450\",\"7767\":\"a3e3d7fcf1c1d9077ad5\",\"8035\":\"af02c3085a2ca4989268\",\"8338\":\"fbff24f9ce1744b72a20\",\"8481\":\"f170c57dc68fb4499d12\",\"8494\":\"60a936b304fc68304cb1\",\"8502\":\"5cc9ddd4470549e546de\",\"8674\":\"bcec0173b056150e42ea\",\"8824\":\"e8370b497288ee048f4c\",\"9251\":\"62449a35c2ac11c2b2d1\",\"9308\":\"72260fdf093a2a323192\",\"9351\":\"fdb2e0b5ee668d79616a\",\"9467\":\"49d50c0c9125221bcc06\",\"9523\":\"3ad1b1f4d58972cce207\",\"9758\":\"a77d65b07a6e31d4b062\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"a1fb8bdd6763ae92da34\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/painter-shader-api/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|6658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdev_site_documentation_template\"] = self[\"webpackChunkdev_site_documentation_template\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;"],"names":["deferred","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","p","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","miniCss","then","installedChunks","installedChunkData","test","promise","error","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"webpack-runtime-12cdcdcf06204ff1ddf2.js","mappings":"6BAAIA,ECAAC,EACAC,ECwCAC,EASAC,E,KCjDAC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CACjDK,GAAIL,EACJM,QAAQ,EACRH,QAAS,CAAC,GAUX,OANAI,EAAoBP,GAAUQ,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAG3EK,EAAOE,QAAS,EAGTF,EAAOD,OACf,CAGAJ,EAAoBU,EAAIF,EC5BxBR,EAAoBW,KAAO,CAAC,EJAxBjB,EAAW,GACfM,EAAoBY,EAAI,SAASC,EAAQC,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAIzB,EAAS0B,OAAQD,IAAK,CACrCL,EAAWpB,EAASyB,GAAG,GACvBJ,EAAKrB,EAASyB,GAAG,GACjBH,EAAWtB,EAASyB,GAAG,GAE3B,IAJA,IAGIE,GAAY,EACPC,EAAI,EAAGA,EAAIR,EAASM,OAAQE,MACpB,EAAXN,GAAsBC,GAAgBD,IAAaO,OAAOC,KAAKxB,EAAoBY,GAAGa,OAAM,SAASC,GAAO,OAAO1B,EAAoBY,EAAEc,GAAKZ,EAASQ,GAAK,IAChKR,EAASa,OAAOL,IAAK,IAErBD,GAAY,EACTL,EAAWC,IAAcA,EAAeD,IAG7C,GAAGK,EAAW,CACb3B,EAASiC,OAAOR,IAAK,GACrB,IAAIS,EAAIb,SACEZ,IAANyB,IAAiBf,EAASe,EAC/B,CACD,CACA,OAAOf,CArBP,CAJCG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAIzB,EAAS0B,OAAQD,EAAI,GAAKzB,EAASyB,EAAI,GAAG,GAAKH,EAAUG,IAAKzB,EAASyB,GAAKzB,EAASyB,EAAI,GACrGzB,EAASyB,GAAK,CAACL,EAAUC,EAAIC,EAwB/B,EK5BAhB,EAAoB6B,EAAI,SAASxB,GAChC,IAAIyB,EAASzB,GAAUA,EAAO0B,WAC7B,WAAa,OAAO1B,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAL,EAAoBgC,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CACR,ECNA9B,EAAoBgC,EAAI,SAAS5B,EAAS8B,GACzC,IAAI,IAAIR,KAAOQ,EACXlC,EAAoBmC,EAAED,EAAYR,KAAS1B,EAAoBmC,EAAE/B,EAASsB,IAC5EH,OAAOa,eAAehC,EAASsB,EAAK,CAAEW,YAAY,EAAMC,IAAKJ,EAAWR,IAG3E,ECPA1B,EAAoBuC,EAAI,CAAC,EAGzBvC,EAAoBwC,EAAI,SAASC,GAChC,OAAOC,QAAQC,IAAIpB,OAAOC,KAAKxB,EAAoBuC,GAAGK,QAAO,SAASC,EAAUnB,GAE/E,OADA1B,EAAoBuC,EAAEb,GAAKe,EAASI,GAC7BA,CACR,GAAG,IACJ,ECPA7C,EAAoB8C,EAAI,SAASL,GAEhC,OAAa,CAAC,IAAM,WAAW,IAAM,4CAA4C,IAAM,WAAW,IAAM,WAAW,IAAM,mDAAmD,IAAM,0DAA0D,IAAM,WAAW,IAAM,SAAS,IAAM,qDAAqD,IAAM,wEAAwE,KAAO,8CAA8C,KAAO,iDAAiD,KAAO,WAAW,KAAO,kDAAkD,KAAO,iDAAiD,KAAO,kDAAkD,KAAO,oDAAoD,KAAO,kDAAkD,KAAO,4DAA4D,KAAO,sDAAsD,KAAO,mDAAmD,KAAO,mEAAmE,KAAO,2EAA2E,KAAO,WAAW,KAAO,iDAAiD,KAAO,uDAAuD,KAAO,4CAA4C,KAAO,qDAAqD,KAAO,WAAW,KAAO,qDAAqD,KAAO,sEAAsE,KAAO,wDAAwD,KAAO,oDAAoD,KAAO,6DAA6D,KAAO,oDAAoD,KAAO,mDAAmD,KAAO,sDAAsD,KAAO,gEAAgE,KAAO,WAAW,KAAO,kEAAkE,KAAO,qDAAqD,KAAO,iDAAiD,KAAO,uEAAuE,KAAO,WAAW,KAAO,WAAW,KAAO,mDAAmD,KAAO,uDAAuD,KAAO,iCAAiC,KAAO,kEAAkE,KAAO,iDAAiD,KAAO,sDAAsD,KAAO,uDAAuD,KAAO,yDAAyD,KAAO,qCAAqC,KAAO,WAAW,KAAO,wDAAwD,KAAO,UAAU,KAAO,yCAAyC,KAAO,4DAA4D,KAAO,sEAAsEA,IAAYA,GAAW,IAAM,CAAC,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,uBAAuB,KAAO,wBAAwBA,GAAW,KAC97J,ECHAzC,EAAoB+C,SAAW,SAASN,GAEvC,MAAO,iCACR,ECJAzC,EAAoBgD,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAChB,CAAE,MAAOX,GACR,GAAsB,iBAAXY,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBpD,EAAoBmC,EAAI,SAASkB,EAAKC,GAAQ,OAAO/B,OAAOgC,UAAUC,eAAe/C,KAAK4C,EAAKC,EAAO,EVAlG3D,EAAa,CAAC,EACdC,EAAoB,mCAExBI,EAAoByD,EAAI,SAASC,EAAKC,EAAMjC,EAAKe,GAChD,GAAG9C,EAAW+D,GAAQ/D,EAAW+D,GAAKE,KAAKD,OAA3C,CACA,IAAIE,EAAQC,EACZ,QAAW3D,IAARuB,EAEF,IADA,IAAIqC,EAAUC,SAASC,qBAAqB,UACpC9C,EAAI,EAAGA,EAAI4C,EAAQ3C,OAAQD,IAAK,CACvC,IAAI+C,EAAIH,EAAQ5C,GAChB,GAAG+C,EAAEC,aAAa,QAAUT,GAAOQ,EAAEC,aAAa,iBAAmBvE,EAAoB8B,EAAK,CAAEmC,EAASK,EAAG,KAAO,CACpH,CAEGL,IACHC,GAAa,GACbD,EAASG,SAASI,cAAc,WAEzBC,QAAU,QACjBR,EAAOS,QAAU,IACbtE,EAAoBuE,IACvBV,EAAOW,aAAa,QAASxE,EAAoBuE,IAElDV,EAAOW,aAAa,eAAgB5E,EAAoB8B,GACxDmC,EAAOY,IAAMf,GAEd/D,EAAW+D,GAAO,CAACC,GACnB,IAAIe,EAAmB,SAASC,EAAMC,GAErCf,EAAOgB,QAAUhB,EAAOiB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAUrF,EAAW+D,GAIzB,UAHO/D,EAAW+D,GAClBG,EAAOoB,YAAcpB,EAAOoB,WAAWC,YAAYrB,GACnDmB,GAAWA,EAAQG,SAAQ,SAASpE,GAAM,OAAOA,EAAG6D,EAAQ,IACzDD,EAAM,OAAOA,EAAKC,EACtB,EACIN,EAAUc,WAAWV,EAAiBW,KAAK,UAAMlF,EAAW,CAAEmF,KAAM,UAAWC,OAAQ1B,IAAW,MACtGA,EAAOgB,QAAUH,EAAiBW,KAAK,KAAMxB,EAAOgB,SACpDhB,EAAOiB,OAASJ,EAAiBW,KAAK,KAAMxB,EAAOiB,QACnDhB,GAAcE,SAASwB,KAAKC,YAAY5B,EAnCkB,CAoC3D,EWvCA7D,EAAoB4B,EAAI,SAASxB,GACX,oBAAXsF,QAA0BA,OAAOC,aAC1CpE,OAAOa,eAAehC,EAASsF,OAAOC,YAAa,CAAEC,MAAO,WAE7DrE,OAAOa,eAAehC,EAAS,aAAc,CAAEwF,OAAO,GACvD,ECNA5F,EAAoB6F,IAAM,SAASxF,GAGlC,OAFAA,EAAOyF,MAAQ,GACVzF,EAAO0F,WAAU1F,EAAO0F,SAAW,IACjC1F,CACR,ECJAL,EAAoBgG,EAAI,uBZyCpBnG,EAAiB,SAAS4C,GAC7B,OAAO,IAAIC,SAAQ,SAASuD,EAASC,GACpC,IAAIC,EAAOnG,EAAoB+C,SAASN,GACpC2D,EAAWpG,EAAoBgG,EAAIG,EACvC,GAlBmB,SAASA,EAAMC,GAEnC,IADA,IAAIC,EAAmBrC,SAASC,qBAAqB,QAC7C9C,EAAI,EAAGA,EAAIkF,EAAiBjF,OAAQD,IAAK,CAChD,IACImF,GADAC,EAAMF,EAAiBlF,IACRgD,aAAa,cAAgBoC,EAAIpC,aAAa,QACjE,GAAe,eAAZoC,EAAIC,MAAyBF,IAAaH,GAAQG,IAAaF,GAAW,OAAOG,CACrF,CACA,IAAIE,EAAoBzC,SAASC,qBAAqB,SACtD,IAAQ9C,EAAI,EAAGA,EAAIsF,EAAkBrF,OAAQD,IAAK,CACjD,IAAIoF,EAEJ,IADID,GADAC,EAAME,EAAkBtF,IACTgD,aAAa,gBAChBgC,GAAQG,IAAaF,EAAU,OAAOG,CACvD,CACD,CAKKG,CAAeP,EAAMC,GAAW,OAAOH,KA7CrB,SAASxD,EAAS2D,EAAUH,EAASC,GAC3D,IAAIS,EAAU3C,SAASI,cAAc,QAErCuC,EAAQH,IAAM,aACdG,EAAQrB,KAAO,WAiBfqB,EAAQ9B,QAAU8B,EAAQ7B,OAhBL,SAASF,GAG7B,GADA+B,EAAQ9B,QAAU8B,EAAQ7B,OAAS,KAChB,SAAfF,EAAMU,KACTW,QACM,CACN,IAAIW,EAAYhC,IAAyB,SAAfA,EAAMU,KAAkB,UAAYV,EAAMU,MAChEuB,EAAWjC,GAASA,EAAMW,QAAUX,EAAMW,OAAOY,MAAQC,EACzDU,EAAM,IAAIC,MAAM,qBAAuBtE,EAAU,cAAgBoE,EAAW,KAChFC,EAAIE,KAAO,wBACXF,EAAIxB,KAAOsB,EACXE,EAAIG,QAAUJ,EACdF,EAAQ1B,WAAWC,YAAYyB,GAC/BT,EAAOY,EACR,CACD,EAEAH,EAAQR,KAAOC,EAEfpC,SAASwB,KAAKC,YAAYkB,EAE3B,CAoBEO,CAAiBzE,EAAS2D,EAAUH,EAASC,EAC9C,GACD,EAEIpG,EAAqB,CACxB,KAAM,GAGPE,EAAoBuC,EAAE4E,QAAU,SAAS1E,EAASI,GAE9C/C,EAAmB2C,GAAUI,EAASe,KAAK9D,EAAmB2C,IACzB,IAAhC3C,EAAmB2C,IAFX,CAAC,IAAM,GAEgCA,IACtDI,EAASe,KAAK9D,EAAmB2C,GAAW5C,EAAe4C,GAAS2E,MAAK,WACxEtH,EAAmB2C,GAAW,CAC/B,IAAG,SAASD,GAEX,aADO1C,EAAmB2C,GACpBD,CACP,IAEF,E,Wa5DA,IAAI6E,EAAkB,CACrB,KAAM,EACN,IAAK,GAGNrH,EAAoBuC,EAAEjB,EAAI,SAASmB,EAASI,GAE1C,IAAIyE,EAAqBtH,EAAoBmC,EAAEkF,EAAiB5E,GAAW4E,EAAgB5E,QAAWtC,EACtG,GAA0B,IAAvBmH,EAGF,GAAGA,EACFzE,EAASe,KAAK0D,EAAmB,SAEjC,GAAI,eAAeC,KAAK9E,GAyBjB4E,EAAgB5E,GAAW,MAzBA,CAEjC,IAAI+E,EAAU,IAAI9E,SAAQ,SAASuD,EAASC,GAAUoB,EAAqBD,EAAgB5E,GAAW,CAACwD,EAASC,EAAS,IACzHrD,EAASe,KAAK0D,EAAmB,GAAKE,GAGtC,IAAI9D,EAAM1D,EAAoBgG,EAAIhG,EAAoB8C,EAAEL,GAEpDgF,EAAQ,IAAIV,MAgBhB/G,EAAoByD,EAAEC,GAfH,SAASkB,GAC3B,GAAG5E,EAAoBmC,EAAEkF,EAAiB5E,KAEf,KAD1B6E,EAAqBD,EAAgB5E,MACR4E,EAAgB5E,QAAWtC,GACrDmH,GAAoB,CACtB,IAAIV,EAAYhC,IAAyB,SAAfA,EAAMU,KAAkB,UAAYV,EAAMU,MAChEoC,EAAU9C,GAASA,EAAMW,QAAUX,EAAMW,OAAOd,IACpDgD,EAAME,QAAU,iBAAmBlF,EAAU,cAAgBmE,EAAY,KAAOc,EAAU,IAC1FD,EAAMG,KAAO,iBACbH,EAAMnC,KAAOsB,EACba,EAAMR,QAAUS,EAChBJ,EAAmB,GAAGG,EACvB,CAEF,GACyC,SAAWhF,EAASA,EAC9D,CAGJ,EAUAzC,EAAoBY,EAAEU,EAAI,SAASmB,GAAW,OAAoC,IAA7B4E,EAAgB5E,EAAgB,EAGrF,IAAIoF,EAAuB,SAASC,EAA4BC,GAC/D,IAKI9H,EAAUwC,EALV3B,EAAWiH,EAAK,GAChBC,EAAcD,EAAK,GACnBE,EAAUF,EAAK,GAGI5G,EAAI,EAC3B,GAAGL,EAASoH,MAAK,SAAS5H,GAAM,OAA+B,IAAxB+G,EAAgB/G,EAAW,IAAI,CACrE,IAAIL,KAAY+H,EACZhI,EAAoBmC,EAAE6F,EAAa/H,KACrCD,EAAoBU,EAAET,GAAY+H,EAAY/H,IAGhD,GAAGgI,EAAS,IAAIpH,EAASoH,EAAQjI,EAClC,CAEA,IADG8H,GAA4BA,EAA2BC,GACrD5G,EAAIL,EAASM,OAAQD,IACzBsB,EAAU3B,EAASK,GAChBnB,EAAoBmC,EAAEkF,EAAiB5E,IAAY4E,EAAgB5E,IACrE4E,EAAgB5E,GAAS,KAE1B4E,EAAgB5E,GAAW,EAE5B,OAAOzC,EAAoBY,EAAEC,EAC9B,EAEIsH,EAAqBC,KAAkD,4CAAIA,KAAkD,6CAAK,GACtID,EAAmBhD,QAAQ0C,EAAqBxC,KAAK,KAAM,IAC3D8C,EAAmBvE,KAAOiE,EAAqBxC,KAAK,KAAM8C,EAAmBvE,KAAKyB,KAAK8C,G,ICxFvFnI,EAAoBuE,QAAKpE,C","sources":["webpack://dev-site-documentation-template/webpack/runtime/chunk loaded","webpack://dev-site-documentation-template/webpack/runtime/load script","webpack://dev-site-documentation-template/webpack/runtime/css loading","webpack://dev-site-documentation-template/webpack/bootstrap","webpack://dev-site-documentation-template/webpack/runtime/amd options","webpack://dev-site-documentation-template/webpack/runtime/compat get default export","webpack://dev-site-documentation-template/webpack/runtime/define property getters","webpack://dev-site-documentation-template/webpack/runtime/ensure chunk","webpack://dev-site-documentation-template/webpack/runtime/get javascript chunk filename","webpack://dev-site-documentation-template/webpack/runtime/get mini-css chunk filename","webpack://dev-site-documentation-template/webpack/runtime/global","webpack://dev-site-documentation-template/webpack/runtime/hasOwnProperty shorthand","webpack://dev-site-documentation-template/webpack/runtime/make namespace object","webpack://dev-site-documentation-template/webpack/runtime/node module decorator","webpack://dev-site-documentation-template/webpack/runtime/publicPath","webpack://dev-site-documentation-template/webpack/runtime/jsonp chunk loading","webpack://dev-site-documentation-template/webpack/runtime/nonce"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"dev-site-documentation-template:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t6658: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"532\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"141\":\"490477d6\",\"149\":\"component---src-pages-api-shaders-clay-md\",\"296\":\"ea88be26\",\"305\":\"5e65052d\",\"344\":\"component---src-pages-api-libraries-lib-bayer-md\",\"380\":\"component---src-pages-api-shaders-non-pbr-spec-gloss-md\",\"461\":\"e82996df\",\"532\":\"styles\",\"558\":\"component---src-pages-api-libraries-lib-vectors-md\",\"878\":\"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md\",\"1050\":\"component---src-pages-api-shaders-dota-2-md\",\"1099\":\"component---src-pages-api-libraries-lib-env-md\",\"1206\":\"2dee68d8\",\"1595\":\"component---src-pages-api-shaders-pbr-velvet-md\",\"2184\":\"component---src-pages-api-shaders-pixelated-md\",\"2289\":\"component---src-pages-api-libraries-lib-coat-md\",\"2448\":\"component---src-pages-api-libraries-lib-normal-md\",\"2682\":\"component---src-pages-api-shaders-pbr-coated-md\",\"2974\":\"component---src-pages-api-parameters-all-engine-params-md\",\"2995\":\"component---src-pages-api-shaders-surface-shader-md\",\"3013\":\"component---src-pages-api-libraries-lib-sheen-md\",\"3125\":\"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md\",\"3289\":\"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md\",\"3490\":\"b6f3ea4c\",\"3565\":\"component---src-pages-api-libraries-lib-sss-md\",\"4568\":\"component---src-pages-api-libraries-lib-pbr-aniso-md\",\"4600\":\"component---src-pages-api-shaders-toon-md\",\"4722\":\"component---src-pages-api-libraries-lib-sampler-md\",\"4723\":\"b19b3968\",\"4842\":\"component---src-pages-api-libraries-lib-defines-md\",\"4857\":\"component---src-pages-api-parameters-all-rendering-states-params-md\",\"4926\":\"component---src-pages-api-shaders-vraymtl-specular-md\",\"5042\":\"component---src-pages-api-libraries-lib-sparse-md\",\"5364\":\"component---src-pages-api-shaders-pbr-material-layering-md\",\"5654\":\"component---src-pages-api-libraries-lib-random-md\",\"5975\":\"component---src-pages-api-libraries-lib-alpha-md\",\"6065\":\"component---src-pages-api-libraries-lib-emissive-md\",\"6183\":\"component---src-pages-api-parameters-all-custom-qualifiers-md\",\"6530\":\"f5cc1685\",\"6818\":\"component---src-pages-api-parameters-layering-declare-stacks-md\",\"6983\":\"component---src-pages-api-shaders-pbr-car-paint-md\",\"7296\":\"component---src-pages-api-libraries-lib-pom-md\",\"7344\":\"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md\",\"7602\":\"c9f1e04f\",\"7714\":\"8b61fb39\",\"7742\":\"component---src-pages-api-libraries-lib-utils-md\",\"7767\":\"component---src-pages-api-shaders-asm-metal-rough-md\",\"8035\":\"component---src-pages-index-md\",\"8338\":\"component---src-pages-api-parameters-layering-bind-materials-md\",\"8481\":\"component---src-pages-api-libraries-lib-pbr-md\",\"8494\":\"component---src-pages-api-shaders-pbr-spec-gloss-md\",\"8502\":\"component---src-pages-api-shaders-pbr-metal-rough-md\",\"8674\":\"component---src-pages-api-libraries-lib-bent-normal-md\",\"8824\":\"component---src-pages-api-index-md\",\"9251\":\"1e479c3f\",\"9308\":\"component---src-pages-api-shaders-vraymtl-metallic-md\",\"9351\":\"commons\",\"9467\":\"component---src-pages-api-changelog-md\",\"9523\":\"component---src-pages-api-parameters-all-custom-params-md\",\"9758\":\"component---src-pages-api-shaders-pbr-material-layering-10-mats-md\"}[chunkId] || chunkId) + \"-\" + {\"141\":\"57ff9ba7b8bc4e705927\",\"149\":\"a96ddd98fdd13bba0fca\",\"296\":\"85b5231843b1316c9f21\",\"305\":\"fbdbaa5368d29c686127\",\"344\":\"7783c5c1c630cb13572d\",\"380\":\"e5b6ea291e7bd15b07af\",\"461\":\"ca9656ecc6f36b01397b\",\"532\":\"01cdba3dbb4fb85d8f2c\",\"558\":\"84bc84aec1995db6a64d\",\"732\":\"9e460655dad862c82796\",\"878\":\"87309e9665f1ba3b8304\",\"1050\":\"cef07ca9fc6e53fa894a\",\"1099\":\"77d3aadc9f679ae690e3\",\"1206\":\"03544b56fb6b7be4f91e\",\"1595\":\"4082b0cd785c99c6e31b\",\"2184\":\"6c1476961e8a63ad2831\",\"2289\":\"b571740285d3fe12debe\",\"2448\":\"31350b773f6ff6f4e05e\",\"2682\":\"67514ed7a81946f17493\",\"2974\":\"861fe9619d648a3f36a9\",\"2995\":\"202500aa8c14e934046e\",\"3013\":\"829775ad19c0df8d6bd5\",\"3125\":\"cf2c30d7d39f91be56ff\",\"3289\":\"d260aefcadafc75d3081\",\"3490\":\"aae07414f36e9898d8a3\",\"3565\":\"230e505bd1e34b0fc907\",\"4568\":\"ba5594b83f3f3617a782\",\"4574\":\"3f857991a5a6cfafbe3a\",\"4600\":\"38d3e991bdbf9f64a423\",\"4722\":\"b2e12a0d46a735a6a6c8\",\"4723\":\"1a11da7ebf8672ad52ec\",\"4842\":\"2c492b186787963815a3\",\"4857\":\"bc124e27427ebe44ba4d\",\"4926\":\"5cdebbca24c416b8a389\",\"5042\":\"b2a635b0e1d7a669e8a8\",\"5364\":\"e0ef659d8fc71bcd3e8f\",\"5654\":\"780eaf7df8bdf792600b\",\"5975\":\"55bbfbd607c986d6c1f7\",\"6008\":\"31df70f8f7bc24ce9713\",\"6065\":\"143aa6adcf81a5d54d1c\",\"6183\":\"2bfed1592a854b3efe11\",\"6530\":\"be5858d6b6992f56a4b5\",\"6818\":\"6aa0e80c9345d10f391f\",\"6983\":\"61f6a829028f877db639\",\"7296\":\"f16f494c39983d430994\",\"7344\":\"9e670e5cc630d79c49f5\",\"7602\":\"f4f15e89c0f479c2a98c\",\"7714\":\"5c46a29928cd3c508b8d\",\"7742\":\"f6208147b4a8bed1b450\",\"7767\":\"a3e3d7fcf1c1d9077ad5\",\"8035\":\"641b0b57c3591a226a09\",\"8338\":\"fbff24f9ce1744b72a20\",\"8481\":\"f170c57dc68fb4499d12\",\"8494\":\"60a936b304fc68304cb1\",\"8502\":\"5cc9ddd4470549e546de\",\"8674\":\"bcec0173b056150e42ea\",\"8824\":\"e8370b497288ee048f4c\",\"9251\":\"62449a35c2ac11c2b2d1\",\"9308\":\"72260fdf093a2a323192\",\"9351\":\"fdb2e0b5ee668d79616a\",\"9467\":\"49d50c0c9125221bcc06\",\"9523\":\"3ad1b1f4d58972cce207\",\"9758\":\"a77d65b07a6e31d4b062\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"a1fb8bdd6763ae92da34\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/painter-shader-api/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|6658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdev_site_documentation_template\"] = self[\"webpackChunkdev_site_documentation_template\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;"],"names":["deferred","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","p","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","miniCss","then","installedChunks","installedChunkData","test","promise","error","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack.stats.json b/webpack.stats.json index e7fbc4e5..d1d8f531 100644 --- a/webpack.stats.json +++ b/webpack.stats.json @@ -1 +1 @@ -{"name":"build-javascript","namedChunkGroups":{"polyfill":{"name":"polyfill","assets":[{"name":"webpack-runtime-df16d86f8fd112635ecd.js","size":9121},{"name":"polyfill-1203dfd7bd286a1da5b8.js","size":85051}],"filteredAssets":0,"assetsSize":94172,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":236160},"app":{"name":"app","assets":[{"name":"webpack-runtime-df16d86f8fd112635ecd.js","size":9121},{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"framework-fe3b0f919a58ddfbe4de.js","size":25037},{"name":"3f943334-8d5b58410520bfbe9405.js","size":13463},{"name":"379b34f3-8ae4cd06d385f09cb171.js","size":19736},{"name":"ff106bf9-add94c0c91613bff909a.js","size":16688},{"name":"bca8bde3-4d44e80ee333a9fc882c.js","size":20661},{"name":"app-b9b68ccc630dfe64e855.js","size":302785}],"filteredAssets":0,"assetsSize":1577979,"filteredAuxiliaryAssets":7,"auxiliaryAssetsSize":1394545},"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md":{"name":"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md-cf2c30d7d39f91be56ff.js","size":1120}],"filteredAssets":0,"assetsSize":2422120,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3299883},"component---src-pages-api-changelog-md":{"name":"component---src-pages-api-changelog-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-changelog-md-49d50c0c9125221bcc06.js","size":14898}],"filteredAssets":0,"assetsSize":2435898,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3322668},"component---src-pages-api-index-md":{"name":"component---src-pages-api-index-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-index-md-e8370b497288ee048f4c.js","size":11010}],"filteredAssets":0,"assetsSize":2432010,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3315285},"component---src-pages-api-libraries-lib-alpha-md":{"name":"component---src-pages-api-libraries-lib-alpha-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-alpha-md-55bbfbd607c986d6c1f7.js","size":2643}],"filteredAssets":0,"assetsSize":2423643,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302067},"component---src-pages-api-libraries-lib-bayer-md":{"name":"component---src-pages-api-libraries-lib-bayer-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-bayer-md-7783c5c1c630cb13572d.js","size":1093}],"filteredAssets":0,"assetsSize":2422093,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3299663},"component---src-pages-api-libraries-lib-bent-normal-md":{"name":"component---src-pages-api-libraries-lib-bent-normal-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-bent-normal-md-bcec0173b056150e42ea.js","size":4050}],"filteredAssets":0,"assetsSize":2425050,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303272},"component---src-pages-api-libraries-lib-coat-md":{"name":"component---src-pages-api-libraries-lib-coat-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-coat-md-b571740285d3fe12debe.js","size":4169}],"filteredAssets":0,"assetsSize":2425169,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303891},"component---src-pages-api-libraries-lib-defines-md":{"name":"component---src-pages-api-libraries-lib-defines-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-defines-md-2c492b186787963815a3.js","size":3195}],"filteredAssets":0,"assetsSize":2424195,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302380},"component---src-pages-api-libraries-lib-emissive-md":{"name":"component---src-pages-api-libraries-lib-emissive-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-emissive-md-143aa6adcf81a5d54d1c.js","size":2388}],"filteredAssets":0,"assetsSize":2423388,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3301623},"component---src-pages-api-libraries-lib-env-md":{"name":"component---src-pages-api-libraries-lib-env-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-env-md-77d3aadc9f679ae690e3.js","size":3691}],"filteredAssets":0,"assetsSize":2424691,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303206},"component---src-pages-api-libraries-lib-normal-md":{"name":"component---src-pages-api-libraries-lib-normal-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-normal-md-31350b773f6ff6f4e05e.js","size":10503}],"filteredAssets":0,"assetsSize":2431503,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3312854},"component---src-pages-api-libraries-lib-pbr-aniso-md":{"name":"component---src-pages-api-libraries-lib-pbr-aniso-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-pbr-aniso-md-ba5594b83f3f3617a782.js","size":5643}],"filteredAssets":0,"assetsSize":2426643,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304742},"component---src-pages-api-libraries-lib-pbr-md":{"name":"component---src-pages-api-libraries-lib-pbr-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-pbr-md-f170c57dc68fb4499d12.js","size":9916}],"filteredAssets":0,"assetsSize":2430916,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3310389},"component---src-pages-api-libraries-lib-pom-md":{"name":"component---src-pages-api-libraries-lib-pom-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-pom-md-f16f494c39983d430994.js","size":5451}],"filteredAssets":0,"assetsSize":2426451,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304792},"component---src-pages-api-libraries-lib-random-md":{"name":"component---src-pages-api-libraries-lib-random-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-random-md-780eaf7df8bdf792600b.js","size":4299}],"filteredAssets":0,"assetsSize":2425299,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304874},"component---src-pages-api-libraries-lib-sampler-md":{"name":"component---src-pages-api-libraries-lib-sampler-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sampler-md-b2e12a0d46a735a6a6c8.js","size":23853}],"filteredAssets":0,"assetsSize":2444853,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3330988},"component---src-pages-api-libraries-lib-sheen-md":{"name":"component---src-pages-api-libraries-lib-sheen-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sheen-md-829775ad19c0df8d6bd5.js","size":4604}],"filteredAssets":0,"assetsSize":2425604,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304045},"component---src-pages-api-libraries-lib-sparse-md":{"name":"component---src-pages-api-libraries-lib-sparse-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sparse-md-b2a635b0e1d7a669e8a8.js","size":8483}],"filteredAssets":0,"assetsSize":2429483,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3309461},"component---src-pages-api-libraries-lib-sss-md":{"name":"component---src-pages-api-libraries-lib-sss-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sss-md-230e505bd1e34b0fc907.js","size":11224}],"filteredAssets":0,"assetsSize":2432224,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3312987},"component---src-pages-api-libraries-lib-utils-md":{"name":"component---src-pages-api-libraries-lib-utils-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-utils-md-f6208147b4a8bed1b450.js","size":6999}],"filteredAssets":0,"assetsSize":2427999,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3308697},"component---src-pages-api-libraries-lib-vectors-md":{"name":"component---src-pages-api-libraries-lib-vectors-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-vectors-md-84bc84aec1995db6a64d.js","size":5986}],"filteredAssets":0,"assetsSize":2426986,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3306806},"component---src-pages-api-parameters-all-custom-params-md":{"name":"component---src-pages-api-parameters-all-custom-params-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-custom-params-md-3ad1b1f4d58972cce207.js","size":7213}],"filteredAssets":0,"assetsSize":2428213,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3308541},"component---src-pages-api-parameters-all-custom-qualifiers-md":{"name":"component---src-pages-api-parameters-all-custom-qualifiers-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-custom-qualifiers-md-2bfed1592a854b3efe11.js","size":2946}],"filteredAssets":0,"assetsSize":2423946,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302252},"component---src-pages-api-parameters-all-engine-params-md":{"name":"component---src-pages-api-parameters-all-engine-params-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-engine-params-md-861fe9619d648a3f36a9.js","size":14948}],"filteredAssets":0,"assetsSize":2435948,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3322788},"component---src-pages-api-parameters-all-rendering-states-params-md":{"name":"component---src-pages-api-parameters-all-rendering-states-params-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-rendering-states-params-md-bc124e27427ebe44ba4d.js","size":3170}],"filteredAssets":0,"assetsSize":2424170,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303494},"component---src-pages-api-parameters-layering-bind-materials-md":{"name":"component---src-pages-api-parameters-layering-bind-materials-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-layering-bind-materials-md-fbff24f9ce1744b72a20.js","size":2600}],"filteredAssets":0,"assetsSize":2423600,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3301641},"component---src-pages-api-parameters-layering-declare-stacks-md":{"name":"component---src-pages-api-parameters-layering-declare-stacks-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-layering-declare-stacks-md-6aa0e80c9345d10f391f.js","size":5067}],"filteredAssets":0,"assetsSize":2426067,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3306631},"component---src-pages-api-shaders-asm-metal-rough-md":{"name":"component---src-pages-api-shaders-asm-metal-rough-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-asm-metal-rough-md-a3e3d7fcf1c1d9077ad5.js","size":14362}],"filteredAssets":0,"assetsSize":2435362,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3314526},"component---src-pages-api-shaders-clay-md":{"name":"component---src-pages-api-shaders-clay-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-clay-md-a96ddd98fdd13bba0fca.js","size":3642}],"filteredAssets":0,"assetsSize":2424642,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303469},"component---src-pages-api-shaders-dota-2-md":{"name":"component---src-pages-api-shaders-dota-2-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-dota-2-md-cef07ca9fc6e53fa894a.js","size":10158}],"filteredAssets":0,"assetsSize":2431158,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3310707},"component---src-pages-api-shaders-non-pbr-spec-gloss-md":{"name":"component---src-pages-api-shaders-non-pbr-spec-gloss-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-non-pbr-spec-gloss-md-e5b6ea291e7bd15b07af.js","size":3554}],"filteredAssets":0,"assetsSize":2424554,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302136},"component---src-pages-api-shaders-pbr-car-paint-md":{"name":"component---src-pages-api-shaders-pbr-car-paint-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-car-paint-md-61f6a829028f877db639.js","size":3578}],"filteredAssets":0,"assetsSize":2424578,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302384},"component---src-pages-api-shaders-pbr-coated-md":{"name":"component---src-pages-api-shaders-pbr-coated-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-coated-md-67514ed7a81946f17493.js","size":5354}],"filteredAssets":0,"assetsSize":2426354,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303977},"component---src-pages-api-shaders-pbr-material-layering-10-mats-md":{"name":"component---src-pages-api-shaders-pbr-material-layering-10-mats-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-material-layering-10-mats-md-a77d65b07a6e31d4b062.js","size":25301}],"filteredAssets":0,"assetsSize":2446301,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3326632},"component---src-pages-api-shaders-pbr-material-layering-md":{"name":"component---src-pages-api-shaders-pbr-material-layering-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-material-layering-md-e0ef659d8fc71bcd3e8f.js","size":14835}],"filteredAssets":0,"assetsSize":2435835,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3315654},"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md-87309e9665f1ba3b8304.js","size":4561}],"filteredAssets":0,"assetsSize":2425561,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303953},"component---src-pages-api-shaders-pbr-metal-rough-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-md-5cc9ddd4470549e546de.js","size":3822}],"filteredAssets":0,"assetsSize":2424822,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302988},"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md-d260aefcadafc75d3081.js","size":4173}],"filteredAssets":0,"assetsSize":2425173,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303567},"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md-9e670e5cc630d79c49f5.js","size":4074}],"filteredAssets":0,"assetsSize":2425074,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303256},"component---src-pages-api-shaders-pbr-spec-gloss-md":{"name":"component---src-pages-api-shaders-pbr-spec-gloss-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-spec-gloss-md-60a936b304fc68304cb1.js","size":3054}],"filteredAssets":0,"assetsSize":2424054,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3301803},"component---src-pages-api-shaders-pbr-velvet-md":{"name":"component---src-pages-api-shaders-pbr-velvet-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-velvet-md-4082b0cd785c99c6e31b.js","size":3965}],"filteredAssets":0,"assetsSize":2424965,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302780},"component---src-pages-api-shaders-pixelated-md":{"name":"component---src-pages-api-shaders-pixelated-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pixelated-md-6c1476961e8a63ad2831.js","size":5282}],"filteredAssets":0,"assetsSize":2426282,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3306439},"component---src-pages-api-shaders-surface-shader-md":{"name":"component---src-pages-api-shaders-surface-shader-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-surface-shader-md-202500aa8c14e934046e.js","size":3364}],"filteredAssets":0,"assetsSize":2424364,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302769},"component---src-pages-api-shaders-toon-md":{"name":"component---src-pages-api-shaders-toon-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-toon-md-38d3e991bdbf9f64a423.js","size":6119}],"filteredAssets":0,"assetsSize":2427119,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3307831},"component---src-pages-api-shaders-vraymtl-metallic-md":{"name":"component---src-pages-api-shaders-vraymtl-metallic-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-vraymtl-metallic-md-72260fdf093a2a323192.js","size":41854}],"filteredAssets":0,"assetsSize":2462854,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3341366},"component---src-pages-api-shaders-vraymtl-specular-md":{"name":"component---src-pages-api-shaders-vraymtl-specular-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-vraymtl-specular-md-5cdebbca24c416b8a389.js","size":41879}],"filteredAssets":0,"assetsSize":2462879,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3341391},"component---src-pages-index-md":{"name":"component---src-pages-index-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-index-md-af02c3085a2ca4989268.js","size":3781}],"filteredAssets":0,"assetsSize":2424781,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304768}},"assetsByChunkName":{"polyfill":["webpack-runtime-df16d86f8fd112635ecd.js","polyfill-1203dfd7bd286a1da5b8.js"],"app":["webpack-runtime-df16d86f8fd112635ecd.js","styles.a1fb8bdd6763ae92da34.css","framework-fe3b0f919a58ddfbe4de.js","3f943334-8d5b58410520bfbe9405.js","379b34f3-8ae4cd06d385f09cb171.js","ff106bf9-add94c0c91613bff909a.js","bca8bde3-4d44e80ee333a9fc882c.js","app-b9b68ccc630dfe64e855.js"],"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md-cf2c30d7d39f91be56ff.js"],"component---src-pages-api-changelog-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-changelog-md-49d50c0c9125221bcc06.js"],"component---src-pages-api-index-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-index-md-e8370b497288ee048f4c.js"],"component---src-pages-api-libraries-lib-alpha-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-alpha-md-55bbfbd607c986d6c1f7.js"],"component---src-pages-api-libraries-lib-bayer-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-bayer-md-7783c5c1c630cb13572d.js"],"component---src-pages-api-libraries-lib-bent-normal-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-bent-normal-md-bcec0173b056150e42ea.js"],"component---src-pages-api-libraries-lib-coat-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-coat-md-b571740285d3fe12debe.js"],"component---src-pages-api-libraries-lib-defines-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-defines-md-2c492b186787963815a3.js"],"component---src-pages-api-libraries-lib-emissive-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-emissive-md-143aa6adcf81a5d54d1c.js"],"component---src-pages-api-libraries-lib-env-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-env-md-77d3aadc9f679ae690e3.js"],"component---src-pages-api-libraries-lib-normal-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-normal-md-31350b773f6ff6f4e05e.js"],"component---src-pages-api-libraries-lib-pbr-aniso-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-pbr-aniso-md-ba5594b83f3f3617a782.js"],"component---src-pages-api-libraries-lib-pbr-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-pbr-md-f170c57dc68fb4499d12.js"],"component---src-pages-api-libraries-lib-pom-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-pom-md-f16f494c39983d430994.js"],"component---src-pages-api-libraries-lib-random-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-random-md-780eaf7df8bdf792600b.js"],"component---src-pages-api-libraries-lib-sampler-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sampler-md-b2e12a0d46a735a6a6c8.js"],"component---src-pages-api-libraries-lib-sheen-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sheen-md-829775ad19c0df8d6bd5.js"],"component---src-pages-api-libraries-lib-sparse-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sparse-md-b2a635b0e1d7a669e8a8.js"],"component---src-pages-api-libraries-lib-sss-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sss-md-230e505bd1e34b0fc907.js"],"component---src-pages-api-libraries-lib-utils-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-utils-md-f6208147b4a8bed1b450.js"],"component---src-pages-api-libraries-lib-vectors-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-vectors-md-84bc84aec1995db6a64d.js"],"component---src-pages-api-parameters-all-custom-params-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-custom-params-md-3ad1b1f4d58972cce207.js"],"component---src-pages-api-parameters-all-custom-qualifiers-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-custom-qualifiers-md-2bfed1592a854b3efe11.js"],"component---src-pages-api-parameters-all-engine-params-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-engine-params-md-861fe9619d648a3f36a9.js"],"component---src-pages-api-parameters-all-rendering-states-params-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-rendering-states-params-md-bc124e27427ebe44ba4d.js"],"component---src-pages-api-parameters-layering-bind-materials-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-layering-bind-materials-md-fbff24f9ce1744b72a20.js"],"component---src-pages-api-parameters-layering-declare-stacks-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-layering-declare-stacks-md-6aa0e80c9345d10f391f.js"],"component---src-pages-api-shaders-asm-metal-rough-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-asm-metal-rough-md-a3e3d7fcf1c1d9077ad5.js"],"component---src-pages-api-shaders-clay-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-clay-md-a96ddd98fdd13bba0fca.js"],"component---src-pages-api-shaders-dota-2-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-dota-2-md-cef07ca9fc6e53fa894a.js"],"component---src-pages-api-shaders-non-pbr-spec-gloss-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-non-pbr-spec-gloss-md-e5b6ea291e7bd15b07af.js"],"component---src-pages-api-shaders-pbr-car-paint-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-car-paint-md-61f6a829028f877db639.js"],"component---src-pages-api-shaders-pbr-coated-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-coated-md-67514ed7a81946f17493.js"],"component---src-pages-api-shaders-pbr-material-layering-10-mats-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-material-layering-10-mats-md-a77d65b07a6e31d4b062.js"],"component---src-pages-api-shaders-pbr-material-layering-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-material-layering-md-e0ef659d8fc71bcd3e8f.js"],"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md-87309e9665f1ba3b8304.js"],"component---src-pages-api-shaders-pbr-metal-rough-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-md-5cc9ddd4470549e546de.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md-d260aefcadafc75d3081.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md-9e670e5cc630d79c49f5.js"],"component---src-pages-api-shaders-pbr-spec-gloss-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-spec-gloss-md-60a936b304fc68304cb1.js"],"component---src-pages-api-shaders-pbr-velvet-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-velvet-md-4082b0cd785c99c6e31b.js"],"component---src-pages-api-shaders-pixelated-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pixelated-md-6c1476961e8a63ad2831.js"],"component---src-pages-api-shaders-surface-shader-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-surface-shader-md-202500aa8c14e934046e.js"],"component---src-pages-api-shaders-toon-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-toon-md-38d3e991bdbf9f64a423.js"],"component---src-pages-api-shaders-vraymtl-metallic-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-vraymtl-metallic-md-72260fdf093a2a323192.js"],"component---src-pages-api-shaders-vraymtl-specular-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-vraymtl-specular-md-5cdebbca24c416b8a389.js"],"component---src-pages-index-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-index-md-af02c3085a2ca4989268.js"]},"childAssetsByChunkName":{}} \ No newline at end of file +{"name":"build-javascript","namedChunkGroups":{"polyfill":{"name":"polyfill","assets":[{"name":"webpack-runtime-12cdcdcf06204ff1ddf2.js","size":9121},{"name":"polyfill-1203dfd7bd286a1da5b8.js","size":85051}],"filteredAssets":0,"assetsSize":94172,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":236160},"app":{"name":"app","assets":[{"name":"webpack-runtime-12cdcdcf06204ff1ddf2.js","size":9121},{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"framework-fe3b0f919a58ddfbe4de.js","size":25037},{"name":"3f943334-8d5b58410520bfbe9405.js","size":13463},{"name":"379b34f3-8ae4cd06d385f09cb171.js","size":19736},{"name":"ff106bf9-add94c0c91613bff909a.js","size":16688},{"name":"bca8bde3-4d44e80ee333a9fc882c.js","size":20661},{"name":"app-b9b68ccc630dfe64e855.js","size":302785}],"filteredAssets":0,"assetsSize":1577979,"filteredAuxiliaryAssets":7,"auxiliaryAssetsSize":1394545},"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md":{"name":"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md-cf2c30d7d39f91be56ff.js","size":1120}],"filteredAssets":0,"assetsSize":2422120,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3299883},"component---src-pages-api-changelog-md":{"name":"component---src-pages-api-changelog-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-changelog-md-49d50c0c9125221bcc06.js","size":14898}],"filteredAssets":0,"assetsSize":2435898,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3322668},"component---src-pages-api-index-md":{"name":"component---src-pages-api-index-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-index-md-e8370b497288ee048f4c.js","size":11010}],"filteredAssets":0,"assetsSize":2432010,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3315285},"component---src-pages-api-libraries-lib-alpha-md":{"name":"component---src-pages-api-libraries-lib-alpha-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-alpha-md-55bbfbd607c986d6c1f7.js","size":2643}],"filteredAssets":0,"assetsSize":2423643,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302067},"component---src-pages-api-libraries-lib-bayer-md":{"name":"component---src-pages-api-libraries-lib-bayer-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-bayer-md-7783c5c1c630cb13572d.js","size":1093}],"filteredAssets":0,"assetsSize":2422093,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3299663},"component---src-pages-api-libraries-lib-bent-normal-md":{"name":"component---src-pages-api-libraries-lib-bent-normal-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-bent-normal-md-bcec0173b056150e42ea.js","size":4050}],"filteredAssets":0,"assetsSize":2425050,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303272},"component---src-pages-api-libraries-lib-coat-md":{"name":"component---src-pages-api-libraries-lib-coat-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-coat-md-b571740285d3fe12debe.js","size":4169}],"filteredAssets":0,"assetsSize":2425169,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303891},"component---src-pages-api-libraries-lib-defines-md":{"name":"component---src-pages-api-libraries-lib-defines-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-defines-md-2c492b186787963815a3.js","size":3195}],"filteredAssets":0,"assetsSize":2424195,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302380},"component---src-pages-api-libraries-lib-emissive-md":{"name":"component---src-pages-api-libraries-lib-emissive-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-emissive-md-143aa6adcf81a5d54d1c.js","size":2388}],"filteredAssets":0,"assetsSize":2423388,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3301623},"component---src-pages-api-libraries-lib-env-md":{"name":"component---src-pages-api-libraries-lib-env-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-env-md-77d3aadc9f679ae690e3.js","size":3691}],"filteredAssets":0,"assetsSize":2424691,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303206},"component---src-pages-api-libraries-lib-normal-md":{"name":"component---src-pages-api-libraries-lib-normal-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-normal-md-31350b773f6ff6f4e05e.js","size":10503}],"filteredAssets":0,"assetsSize":2431503,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3312854},"component---src-pages-api-libraries-lib-pbr-aniso-md":{"name":"component---src-pages-api-libraries-lib-pbr-aniso-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-pbr-aniso-md-ba5594b83f3f3617a782.js","size":5643}],"filteredAssets":0,"assetsSize":2426643,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304742},"component---src-pages-api-libraries-lib-pbr-md":{"name":"component---src-pages-api-libraries-lib-pbr-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-pbr-md-f170c57dc68fb4499d12.js","size":9916}],"filteredAssets":0,"assetsSize":2430916,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3310389},"component---src-pages-api-libraries-lib-pom-md":{"name":"component---src-pages-api-libraries-lib-pom-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-pom-md-f16f494c39983d430994.js","size":5451}],"filteredAssets":0,"assetsSize":2426451,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304792},"component---src-pages-api-libraries-lib-random-md":{"name":"component---src-pages-api-libraries-lib-random-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-random-md-780eaf7df8bdf792600b.js","size":4299}],"filteredAssets":0,"assetsSize":2425299,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304874},"component---src-pages-api-libraries-lib-sampler-md":{"name":"component---src-pages-api-libraries-lib-sampler-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sampler-md-b2e12a0d46a735a6a6c8.js","size":23853}],"filteredAssets":0,"assetsSize":2444853,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3330988},"component---src-pages-api-libraries-lib-sheen-md":{"name":"component---src-pages-api-libraries-lib-sheen-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sheen-md-829775ad19c0df8d6bd5.js","size":4604}],"filteredAssets":0,"assetsSize":2425604,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304045},"component---src-pages-api-libraries-lib-sparse-md":{"name":"component---src-pages-api-libraries-lib-sparse-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sparse-md-b2a635b0e1d7a669e8a8.js","size":8483}],"filteredAssets":0,"assetsSize":2429483,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3309461},"component---src-pages-api-libraries-lib-sss-md":{"name":"component---src-pages-api-libraries-lib-sss-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-sss-md-230e505bd1e34b0fc907.js","size":11224}],"filteredAssets":0,"assetsSize":2432224,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3312987},"component---src-pages-api-libraries-lib-utils-md":{"name":"component---src-pages-api-libraries-lib-utils-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-utils-md-f6208147b4a8bed1b450.js","size":6999}],"filteredAssets":0,"assetsSize":2427999,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3308697},"component---src-pages-api-libraries-lib-vectors-md":{"name":"component---src-pages-api-libraries-lib-vectors-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-libraries-lib-vectors-md-84bc84aec1995db6a64d.js","size":5986}],"filteredAssets":0,"assetsSize":2426986,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3306806},"component---src-pages-api-parameters-all-custom-params-md":{"name":"component---src-pages-api-parameters-all-custom-params-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-custom-params-md-3ad1b1f4d58972cce207.js","size":7213}],"filteredAssets":0,"assetsSize":2428213,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3308541},"component---src-pages-api-parameters-all-custom-qualifiers-md":{"name":"component---src-pages-api-parameters-all-custom-qualifiers-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-custom-qualifiers-md-2bfed1592a854b3efe11.js","size":2946}],"filteredAssets":0,"assetsSize":2423946,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302252},"component---src-pages-api-parameters-all-engine-params-md":{"name":"component---src-pages-api-parameters-all-engine-params-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-engine-params-md-861fe9619d648a3f36a9.js","size":14948}],"filteredAssets":0,"assetsSize":2435948,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3322788},"component---src-pages-api-parameters-all-rendering-states-params-md":{"name":"component---src-pages-api-parameters-all-rendering-states-params-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-all-rendering-states-params-md-bc124e27427ebe44ba4d.js","size":3170}],"filteredAssets":0,"assetsSize":2424170,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303494},"component---src-pages-api-parameters-layering-bind-materials-md":{"name":"component---src-pages-api-parameters-layering-bind-materials-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-layering-bind-materials-md-fbff24f9ce1744b72a20.js","size":2600}],"filteredAssets":0,"assetsSize":2423600,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3301641},"component---src-pages-api-parameters-layering-declare-stacks-md":{"name":"component---src-pages-api-parameters-layering-declare-stacks-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-parameters-layering-declare-stacks-md-6aa0e80c9345d10f391f.js","size":5067}],"filteredAssets":0,"assetsSize":2426067,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3306631},"component---src-pages-api-shaders-asm-metal-rough-md":{"name":"component---src-pages-api-shaders-asm-metal-rough-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-asm-metal-rough-md-a3e3d7fcf1c1d9077ad5.js","size":14362}],"filteredAssets":0,"assetsSize":2435362,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3314526},"component---src-pages-api-shaders-clay-md":{"name":"component---src-pages-api-shaders-clay-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-clay-md-a96ddd98fdd13bba0fca.js","size":3642}],"filteredAssets":0,"assetsSize":2424642,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303469},"component---src-pages-api-shaders-dota-2-md":{"name":"component---src-pages-api-shaders-dota-2-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-dota-2-md-cef07ca9fc6e53fa894a.js","size":10158}],"filteredAssets":0,"assetsSize":2431158,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3310707},"component---src-pages-api-shaders-non-pbr-spec-gloss-md":{"name":"component---src-pages-api-shaders-non-pbr-spec-gloss-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-non-pbr-spec-gloss-md-e5b6ea291e7bd15b07af.js","size":3554}],"filteredAssets":0,"assetsSize":2424554,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302136},"component---src-pages-api-shaders-pbr-car-paint-md":{"name":"component---src-pages-api-shaders-pbr-car-paint-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-car-paint-md-61f6a829028f877db639.js","size":3578}],"filteredAssets":0,"assetsSize":2424578,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302384},"component---src-pages-api-shaders-pbr-coated-md":{"name":"component---src-pages-api-shaders-pbr-coated-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-coated-md-67514ed7a81946f17493.js","size":5354}],"filteredAssets":0,"assetsSize":2426354,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303977},"component---src-pages-api-shaders-pbr-material-layering-10-mats-md":{"name":"component---src-pages-api-shaders-pbr-material-layering-10-mats-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-material-layering-10-mats-md-a77d65b07a6e31d4b062.js","size":25301}],"filteredAssets":0,"assetsSize":2446301,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3326632},"component---src-pages-api-shaders-pbr-material-layering-md":{"name":"component---src-pages-api-shaders-pbr-material-layering-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-material-layering-md-e0ef659d8fc71bcd3e8f.js","size":14835}],"filteredAssets":0,"assetsSize":2435835,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3315654},"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md-87309e9665f1ba3b8304.js","size":4561}],"filteredAssets":0,"assetsSize":2425561,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303953},"component---src-pages-api-shaders-pbr-metal-rough-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-md-5cc9ddd4470549e546de.js","size":3822}],"filteredAssets":0,"assetsSize":2424822,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302988},"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md-d260aefcadafc75d3081.js","size":4173}],"filteredAssets":0,"assetsSize":2425173,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303567},"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md":{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md-9e670e5cc630d79c49f5.js","size":4074}],"filteredAssets":0,"assetsSize":2425074,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3303256},"component---src-pages-api-shaders-pbr-spec-gloss-md":{"name":"component---src-pages-api-shaders-pbr-spec-gloss-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-spec-gloss-md-60a936b304fc68304cb1.js","size":3054}],"filteredAssets":0,"assetsSize":2424054,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3301803},"component---src-pages-api-shaders-pbr-velvet-md":{"name":"component---src-pages-api-shaders-pbr-velvet-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pbr-velvet-md-4082b0cd785c99c6e31b.js","size":3965}],"filteredAssets":0,"assetsSize":2424965,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302780},"component---src-pages-api-shaders-pixelated-md":{"name":"component---src-pages-api-shaders-pixelated-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-pixelated-md-6c1476961e8a63ad2831.js","size":5282}],"filteredAssets":0,"assetsSize":2426282,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3306439},"component---src-pages-api-shaders-surface-shader-md":{"name":"component---src-pages-api-shaders-surface-shader-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-surface-shader-md-202500aa8c14e934046e.js","size":3364}],"filteredAssets":0,"assetsSize":2424364,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3302769},"component---src-pages-api-shaders-toon-md":{"name":"component---src-pages-api-shaders-toon-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-toon-md-38d3e991bdbf9f64a423.js","size":6119}],"filteredAssets":0,"assetsSize":2427119,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3307831},"component---src-pages-api-shaders-vraymtl-metallic-md":{"name":"component---src-pages-api-shaders-vraymtl-metallic-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-vraymtl-metallic-md-72260fdf093a2a323192.js","size":41854}],"filteredAssets":0,"assetsSize":2462854,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3341366},"component---src-pages-api-shaders-vraymtl-specular-md":{"name":"component---src-pages-api-shaders-vraymtl-specular-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-api-shaders-vraymtl-specular-md-5cdebbca24c416b8a389.js","size":41879}],"filteredAssets":0,"assetsSize":2462879,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3341391},"component---src-pages-index-md":{"name":"component---src-pages-index-md","assets":[{"name":"styles.a1fb8bdd6763ae92da34.css","size":1170488},{"name":"b6f3ea4c-aae07414f36e9898d8a3.js","size":9043},{"name":"5e65052d-fbdbaa5368d29c686127.js","size":13912},{"name":"ea88be26-85b5231843b1316c9f21.js","size":296190},{"name":"8b61fb39-5c46a29928cd3c508b8d.js","size":10947},{"name":"f5cc1685-be5858d6b6992f56a4b5.js","size":7711},{"name":"1e479c3f-62449a35c2ac11c2b2d1.js","size":7692},{"name":"490477d6-57ff9ba7b8bc4e705927.js","size":6230},{"name":"2dee68d8-03544b56fb6b7be4f91e.js","size":8164},{"name":"c9f1e04f-f4f15e89c0f479c2a98c.js","size":6122},{"name":"commons-fdb2e0b5ee668d79616a.js","size":884501},{"name":"component---src-pages-index-md-641b0b57c3591a226a09.js","size":3781}],"filteredAssets":0,"assetsSize":2424781,"filteredAuxiliaryAssets":11,"auxiliaryAssetsSize":3304768}},"assetsByChunkName":{"polyfill":["webpack-runtime-12cdcdcf06204ff1ddf2.js","polyfill-1203dfd7bd286a1da5b8.js"],"app":["webpack-runtime-12cdcdcf06204ff1ddf2.js","styles.a1fb8bdd6763ae92da34.css","framework-fe3b0f919a58ddfbe4de.js","3f943334-8d5b58410520bfbe9405.js","379b34f3-8ae4cd06d385f09cb171.js","ff106bf9-add94c0c91613bff909a.js","bca8bde3-4d44e80ee333a9fc882c.js","app-b9b68ccc630dfe64e855.js"],"component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---node-modules-adobe-gatsby-theme-aio-src-pages-404-md-cf2c30d7d39f91be56ff.js"],"component---src-pages-api-changelog-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-changelog-md-49d50c0c9125221bcc06.js"],"component---src-pages-api-index-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-index-md-e8370b497288ee048f4c.js"],"component---src-pages-api-libraries-lib-alpha-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-alpha-md-55bbfbd607c986d6c1f7.js"],"component---src-pages-api-libraries-lib-bayer-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-bayer-md-7783c5c1c630cb13572d.js"],"component---src-pages-api-libraries-lib-bent-normal-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-bent-normal-md-bcec0173b056150e42ea.js"],"component---src-pages-api-libraries-lib-coat-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-coat-md-b571740285d3fe12debe.js"],"component---src-pages-api-libraries-lib-defines-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-defines-md-2c492b186787963815a3.js"],"component---src-pages-api-libraries-lib-emissive-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-emissive-md-143aa6adcf81a5d54d1c.js"],"component---src-pages-api-libraries-lib-env-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-env-md-77d3aadc9f679ae690e3.js"],"component---src-pages-api-libraries-lib-normal-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-normal-md-31350b773f6ff6f4e05e.js"],"component---src-pages-api-libraries-lib-pbr-aniso-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-pbr-aniso-md-ba5594b83f3f3617a782.js"],"component---src-pages-api-libraries-lib-pbr-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-pbr-md-f170c57dc68fb4499d12.js"],"component---src-pages-api-libraries-lib-pom-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-pom-md-f16f494c39983d430994.js"],"component---src-pages-api-libraries-lib-random-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-random-md-780eaf7df8bdf792600b.js"],"component---src-pages-api-libraries-lib-sampler-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sampler-md-b2e12a0d46a735a6a6c8.js"],"component---src-pages-api-libraries-lib-sheen-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sheen-md-829775ad19c0df8d6bd5.js"],"component---src-pages-api-libraries-lib-sparse-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sparse-md-b2a635b0e1d7a669e8a8.js"],"component---src-pages-api-libraries-lib-sss-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-sss-md-230e505bd1e34b0fc907.js"],"component---src-pages-api-libraries-lib-utils-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-utils-md-f6208147b4a8bed1b450.js"],"component---src-pages-api-libraries-lib-vectors-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-libraries-lib-vectors-md-84bc84aec1995db6a64d.js"],"component---src-pages-api-parameters-all-custom-params-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-custom-params-md-3ad1b1f4d58972cce207.js"],"component---src-pages-api-parameters-all-custom-qualifiers-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-custom-qualifiers-md-2bfed1592a854b3efe11.js"],"component---src-pages-api-parameters-all-engine-params-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-engine-params-md-861fe9619d648a3f36a9.js"],"component---src-pages-api-parameters-all-rendering-states-params-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-all-rendering-states-params-md-bc124e27427ebe44ba4d.js"],"component---src-pages-api-parameters-layering-bind-materials-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-layering-bind-materials-md-fbff24f9ce1744b72a20.js"],"component---src-pages-api-parameters-layering-declare-stacks-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-parameters-layering-declare-stacks-md-6aa0e80c9345d10f391f.js"],"component---src-pages-api-shaders-asm-metal-rough-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-asm-metal-rough-md-a3e3d7fcf1c1d9077ad5.js"],"component---src-pages-api-shaders-clay-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-clay-md-a96ddd98fdd13bba0fca.js"],"component---src-pages-api-shaders-dota-2-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-dota-2-md-cef07ca9fc6e53fa894a.js"],"component---src-pages-api-shaders-non-pbr-spec-gloss-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-non-pbr-spec-gloss-md-e5b6ea291e7bd15b07af.js"],"component---src-pages-api-shaders-pbr-car-paint-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-car-paint-md-61f6a829028f877db639.js"],"component---src-pages-api-shaders-pbr-coated-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-coated-md-67514ed7a81946f17493.js"],"component---src-pages-api-shaders-pbr-material-layering-10-mats-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-material-layering-10-mats-md-a77d65b07a6e31d4b062.js"],"component---src-pages-api-shaders-pbr-material-layering-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-material-layering-md-e0ef659d8fc71bcd3e8f.js"],"component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-anisotropy-angle-md-87309e9665f1ba3b8304.js"],"component---src-pages-api-shaders-pbr-metal-rough-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-md-5cc9ddd4470549e546de.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-with-alpha-blending-md-d260aefcadafc75d3081.js"],"component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-metal-rough-with-alpha-test-md-9e670e5cc630d79c49f5.js"],"component---src-pages-api-shaders-pbr-spec-gloss-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-spec-gloss-md-60a936b304fc68304cb1.js"],"component---src-pages-api-shaders-pbr-velvet-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pbr-velvet-md-4082b0cd785c99c6e31b.js"],"component---src-pages-api-shaders-pixelated-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-pixelated-md-6c1476961e8a63ad2831.js"],"component---src-pages-api-shaders-surface-shader-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-surface-shader-md-202500aa8c14e934046e.js"],"component---src-pages-api-shaders-toon-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-toon-md-38d3e991bdbf9f64a423.js"],"component---src-pages-api-shaders-vraymtl-metallic-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-vraymtl-metallic-md-72260fdf093a2a323192.js"],"component---src-pages-api-shaders-vraymtl-specular-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-api-shaders-vraymtl-specular-md-5cdebbca24c416b8a389.js"],"component---src-pages-index-md":["styles.a1fb8bdd6763ae92da34.css","b6f3ea4c-aae07414f36e9898d8a3.js","5e65052d-fbdbaa5368d29c686127.js","ea88be26-85b5231843b1316c9f21.js","8b61fb39-5c46a29928cd3c508b8d.js","f5cc1685-be5858d6b6992f56a4b5.js","1e479c3f-62449a35c2ac11c2b2d1.js","490477d6-57ff9ba7b8bc4e705927.js","2dee68d8-03544b56fb6b7be4f91e.js","c9f1e04f-f4f15e89c0f479c2a98c.js","commons-fdb2e0b5ee668d79616a.js","component---src-pages-index-md-641b0b57c3591a226a09.js"]},"childAssetsByChunkName":{}} \ No newline at end of file