@onerjs/core 8.29.6 → 8.29.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Lights/Shadows/cascadedShadowGenerator.d.ts +1 -0
- package/Lights/Shadows/cascadedShadowGenerator.js +9 -1
- package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
- package/Lights/Shadows/shadowGenerator.js +10 -3
- package/Lights/Shadows/shadowGenerator.js.map +1 -1
- package/Materials/Textures/index.d.ts +1 -0
- package/Materials/Textures/index.js +1 -0
- package/Materials/Textures/index.js.map +1 -1
- package/Materials/Textures/texture.d.ts +2 -0
- package/Materials/Textures/texture.js +15 -4
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureMerger.d.ts +75 -0
- package/Materials/Textures/textureMerger.js +206 -0
- package/Materials/Textures/textureMerger.js.map +1 -0
- package/Materials/floatingOriginMatrixOverrides.d.ts +6 -0
- package/Materials/floatingOriginMatrixOverrides.js +32 -9
- package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
- package/Shaders/ShadersInclude/openpbrBaseLayerData.js +1 -1
- package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
- package/Shaders/textureMerger.fragment.d.ts +5 -0
- package/Shaders/textureMerger.fragment.js +94 -0
- package/Shaders/textureMerger.fragment.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +1 -1
- package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -1
- package/ShadersWGSL/textureMerger.fragment.d.ts +5 -0
- package/ShadersWGSL/textureMerger.fragment.js +86 -0
- package/ShadersWGSL/textureMerger.fragment.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Do not edit.
|
|
2
|
+
import { ShaderStore } from "../Engines/shaderStore.js";
|
|
3
|
+
const name = "textureMergerPixelShader";
|
|
4
|
+
const shader = `#ifdef USE_TEXTURE0
|
|
5
|
+
var inputTexture0Sampler: sampler;var inputTexture0: texture_2d<f32>;
|
|
6
|
+
#endif
|
|
7
|
+
#ifdef USE_TEXTURE1
|
|
8
|
+
var inputTexture1Sampler: sampler;var inputTexture1: texture_2d<f32>;
|
|
9
|
+
#endif
|
|
10
|
+
#ifdef USE_TEXTURE2
|
|
11
|
+
var inputTexture2Sampler: sampler;var inputTexture2: texture_2d<f32>;
|
|
12
|
+
#endif
|
|
13
|
+
#ifdef USE_TEXTURE3
|
|
14
|
+
var inputTexture3Sampler: sampler;var inputTexture3: texture_2d<f32>;
|
|
15
|
+
#endif
|
|
16
|
+
#ifdef RED_FROM_TEXTURE
|
|
17
|
+
uniform redTextureIndex: i32;uniform redSourceChannel: i32;
|
|
18
|
+
#else
|
|
19
|
+
uniform redConstantValue: f32;
|
|
20
|
+
#endif
|
|
21
|
+
#ifdef GREEN_FROM_TEXTURE
|
|
22
|
+
uniform greenTextureIndex: i32;uniform greenSourceChannel: i32;
|
|
23
|
+
#else
|
|
24
|
+
uniform greenConstantValue: f32;
|
|
25
|
+
#endif
|
|
26
|
+
#ifdef BLUE_FROM_TEXTURE
|
|
27
|
+
uniform blueTextureIndex: i32;uniform blueSourceChannel: i32;
|
|
28
|
+
#else
|
|
29
|
+
uniform blueConstantValue: f32;
|
|
30
|
+
#endif
|
|
31
|
+
#ifdef ALPHA_FROM_TEXTURE
|
|
32
|
+
uniform alphaTextureIndex: i32;uniform alphaSourceChannel: i32;
|
|
33
|
+
#else
|
|
34
|
+
uniform alphaConstantValue: f32;
|
|
35
|
+
#endif
|
|
36
|
+
varying vUV: vec2f;
|
|
37
|
+
#if defined(RED_FROM_TEXTURE) || defined(GREEN_FROM_TEXTURE) || defined(BLUE_FROM_TEXTURE) || defined(ALPHA_FROM_TEXTURE)
|
|
38
|
+
fn sampleTexture(textureIndex: i32,uv: vec2f)->vec4f {switch (textureIndex) {
|
|
39
|
+
#ifdef USE_TEXTURE0
|
|
40
|
+
case 0: {return textureSample(inputTexture0,inputTexture0Sampler,uv);}
|
|
41
|
+
#endif
|
|
42
|
+
#ifdef USE_TEXTURE1
|
|
43
|
+
case 1: {return textureSample(inputTexture1,inputTexture1Sampler,uv);}
|
|
44
|
+
#endif
|
|
45
|
+
#ifdef USE_TEXTURE2
|
|
46
|
+
case 2: {return textureSample(inputTexture2,inputTexture2Sampler,uv);}
|
|
47
|
+
#endif
|
|
48
|
+
#ifdef USE_TEXTURE3
|
|
49
|
+
case 3: {return textureSample(inputTexture3,inputTexture3Sampler,uv);}
|
|
50
|
+
#endif
|
|
51
|
+
default: {return vec4f(0.0,0.0,0.0,1.0); }}}
|
|
52
|
+
fn extractChannel(color: vec4f,channelIndex: i32)->f32 {switch (channelIndex) {case 0: {return color.r; }
|
|
53
|
+
case 1: {return color.g; }
|
|
54
|
+
case 2: {return color.b; }
|
|
55
|
+
default: {return color.a; }}}
|
|
56
|
+
#endif
|
|
57
|
+
@fragment
|
|
58
|
+
fn main(input: FragmentInputs)->FragmentOutputs {let uv: vec2f=input.vUV;
|
|
59
|
+
#ifdef RED_FROM_TEXTURE
|
|
60
|
+
let redSample: vec4f=sampleTexture(uniforms.redTextureIndex,uv);let r: f32=extractChannel(redSample,uniforms.redSourceChannel);
|
|
61
|
+
#else
|
|
62
|
+
let r: f32=uniforms.redConstantValue;
|
|
63
|
+
#endif
|
|
64
|
+
#ifdef GREEN_FROM_TEXTURE
|
|
65
|
+
let greenSample: vec4f=sampleTexture(uniforms.greenTextureIndex,uv);let g: f32=extractChannel(greenSample,uniforms.greenSourceChannel);
|
|
66
|
+
#else
|
|
67
|
+
let g: f32=uniforms.greenConstantValue;
|
|
68
|
+
#endif
|
|
69
|
+
#ifdef BLUE_FROM_TEXTURE
|
|
70
|
+
let blueSample: vec4f=sampleTexture(uniforms.blueTextureIndex,uv);let b: f32=extractChannel(blueSample,uniforms.blueSourceChannel);
|
|
71
|
+
#else
|
|
72
|
+
let b: f32=uniforms.blueConstantValue;
|
|
73
|
+
#endif
|
|
74
|
+
#ifdef ALPHA_FROM_TEXTURE
|
|
75
|
+
let alphaSample: vec4f=sampleTexture(uniforms.alphaTextureIndex,uv);let a: f32=extractChannel(alphaSample,uniforms.alphaSourceChannel);
|
|
76
|
+
#else
|
|
77
|
+
let a: f32=uniforms.alphaConstantValue;
|
|
78
|
+
#endif
|
|
79
|
+
fragmentOutputs.color=vec4f(r,g,b,a);}`;
|
|
80
|
+
// Sideeffect
|
|
81
|
+
if (!ShaderStore.ShadersStoreWGSL[name]) {
|
|
82
|
+
ShaderStore.ShadersStoreWGSL[name] = shader;
|
|
83
|
+
}
|
|
84
|
+
/** @internal */
|
|
85
|
+
export const textureMergerPixelShaderWGSL = { name, shader };
|
|
86
|
+
//# sourceMappingURL=textureMerger.fragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textureMerger.fragment.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/textureMerger.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCA2EwB,CAAC;AACxC,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\n\nconst name = \"textureMergerPixelShader\";\nconst shader = `#ifdef USE_TEXTURE0\nvar inputTexture0Sampler: sampler;var inputTexture0: texture_2d<f32>;\n#endif\n#ifdef USE_TEXTURE1\nvar inputTexture1Sampler: sampler;var inputTexture1: texture_2d<f32>;\n#endif\n#ifdef USE_TEXTURE2\nvar inputTexture2Sampler: sampler;var inputTexture2: texture_2d<f32>;\n#endif\n#ifdef USE_TEXTURE3\nvar inputTexture3Sampler: sampler;var inputTexture3: texture_2d<f32>;\n#endif\n#ifdef RED_FROM_TEXTURE\nuniform redTextureIndex: i32;uniform redSourceChannel: i32;\n#else\nuniform redConstantValue: f32;\n#endif\n#ifdef GREEN_FROM_TEXTURE\nuniform greenTextureIndex: i32;uniform greenSourceChannel: i32;\n#else\nuniform greenConstantValue: f32;\n#endif\n#ifdef BLUE_FROM_TEXTURE\nuniform blueTextureIndex: i32;uniform blueSourceChannel: i32;\n#else\nuniform blueConstantValue: f32;\n#endif\n#ifdef ALPHA_FROM_TEXTURE\nuniform alphaTextureIndex: i32;uniform alphaSourceChannel: i32;\n#else\nuniform alphaConstantValue: f32;\n#endif\nvarying vUV: vec2f;\n#if defined(RED_FROM_TEXTURE) || defined(GREEN_FROM_TEXTURE) || defined(BLUE_FROM_TEXTURE) || defined(ALPHA_FROM_TEXTURE)\nfn sampleTexture(textureIndex: i32,uv: vec2f)->vec4f {switch (textureIndex) {\n#ifdef USE_TEXTURE0\ncase 0: {return textureSample(inputTexture0,inputTexture0Sampler,uv);}\n#endif\n#ifdef USE_TEXTURE1\ncase 1: {return textureSample(inputTexture1,inputTexture1Sampler,uv);}\n#endif\n#ifdef USE_TEXTURE2\ncase 2: {return textureSample(inputTexture2,inputTexture2Sampler,uv);}\n#endif\n#ifdef USE_TEXTURE3\ncase 3: {return textureSample(inputTexture3,inputTexture3Sampler,uv);}\n#endif\ndefault: {return vec4f(0.0,0.0,0.0,1.0); }}}\nfn extractChannel(color: vec4f,channelIndex: i32)->f32 {switch (channelIndex) {case 0: {return color.r; }\ncase 1: {return color.g; }\ncase 2: {return color.b; }\ndefault: {return color.a; }}}\n#endif\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {let uv: vec2f=input.vUV;\n#ifdef RED_FROM_TEXTURE\nlet redSample: vec4f=sampleTexture(uniforms.redTextureIndex,uv);let r: f32=extractChannel(redSample,uniforms.redSourceChannel);\n#else\nlet r: f32=uniforms.redConstantValue;\n#endif\n#ifdef GREEN_FROM_TEXTURE\nlet greenSample: vec4f=sampleTexture(uniforms.greenTextureIndex,uv);let g: f32=extractChannel(greenSample,uniforms.greenSourceChannel);\n#else\nlet g: f32=uniforms.greenConstantValue;\n#endif\n#ifdef BLUE_FROM_TEXTURE\nlet blueSample: vec4f=sampleTexture(uniforms.blueTextureIndex,uv);let b: f32=extractChannel(blueSample,uniforms.blueSourceChannel);\n#else\nlet b: f32=uniforms.blueConstantValue;\n#endif\n#ifdef ALPHA_FROM_TEXTURE\nlet alphaSample: vec4f=sampleTexture(uniforms.alphaTextureIndex,uv);let a: f32=extractChannel(alphaSample,uniforms.alphaSourceChannel);\n#else\nlet a: f32=uniforms.alphaConstantValue;\n#endif\nfragmentOutputs.color=vec4f(r,g,b,a);}`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const textureMergerPixelShaderWGSL = { name, shader };\n"]}
|