@aura3d/rendering 1.1.0 → 1.3.0

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.
Files changed (70) hide show
  1. package/dist/ForwardPass.js +18 -13
  2. package/dist/ForwardPass.js.map +1 -1
  3. package/dist/MorphTargetPlan.d.ts +42 -0
  4. package/dist/MorphTargetPlan.d.ts.map +1 -0
  5. package/dist/MorphTargetPlan.js +129 -0
  6. package/dist/MorphTargetPlan.js.map +1 -0
  7. package/dist/MorphUnlitMaterial.d.ts.map +1 -1
  8. package/dist/MorphUnlitMaterial.js +7 -1
  9. package/dist/MorphUnlitMaterial.js.map +1 -1
  10. package/dist/ShaderLibrary.d.ts.map +1 -1
  11. package/dist/ShaderLibrary.js +34 -6
  12. package/dist/ShaderLibrary.js.map +1 -1
  13. package/dist/WebGPUDevice.d.ts +2 -0
  14. package/dist/WebGPUDevice.d.ts.map +1 -1
  15. package/dist/WebGPUDevice.js +69 -12
  16. package/dist/WebGPUDevice.js.map +1 -1
  17. package/dist/animation/AnimationMaterialStyle.d.ts +19 -0
  18. package/dist/animation/AnimationMaterialStyle.d.ts.map +1 -0
  19. package/dist/animation/AnimationMaterialStyle.js +13 -0
  20. package/dist/animation/AnimationMaterialStyle.js.map +1 -0
  21. package/dist/animation/AnimationRenderPreset.d.ts +36 -0
  22. package/dist/animation/AnimationRenderPreset.d.ts.map +1 -0
  23. package/dist/animation/AnimationRenderPreset.js +23 -0
  24. package/dist/animation/AnimationRenderPreset.js.map +1 -0
  25. package/dist/animation/AnimationToonMaterial.d.ts +130 -0
  26. package/dist/animation/AnimationToonMaterial.d.ts.map +1 -0
  27. package/dist/animation/AnimationToonMaterial.js +303 -0
  28. package/dist/animation/AnimationToonMaterial.js.map +1 -0
  29. package/dist/animation/AnimationVisualQuality.d.ts +28 -0
  30. package/dist/animation/AnimationVisualQuality.d.ts.map +1 -0
  31. package/dist/animation/AnimationVisualQuality.js +39 -0
  32. package/dist/animation/AnimationVisualQuality.js.map +1 -0
  33. package/dist/animation/applyAnimationRenderPreset.d.ts +79 -0
  34. package/dist/animation/applyAnimationRenderPreset.d.ts.map +1 -0
  35. package/dist/animation/applyAnimationRenderPreset.js +88 -0
  36. package/dist/animation/applyAnimationRenderPreset.js.map +1 -0
  37. package/dist/animation/index.d.ts +6 -0
  38. package/dist/animation/index.d.ts.map +1 -0
  39. package/dist/animation/index.js +6 -0
  40. package/dist/animation/index.js.map +1 -0
  41. package/dist/cartoon/CartoonToonMaterial.d.ts +130 -0
  42. package/dist/cartoon/CartoonToonMaterial.d.ts.map +1 -0
  43. package/dist/cartoon/CartoonToonMaterial.js +303 -0
  44. package/dist/cartoon/CartoonToonMaterial.js.map +1 -0
  45. package/dist/cartoon/applyCartoonRenderPreset.d.ts +79 -0
  46. package/dist/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
  47. package/dist/cartoon/applyCartoonRenderPreset.js +88 -0
  48. package/dist/cartoon/applyCartoonRenderPreset.js.map +1 -0
  49. package/dist/cartoon/index.d.ts +2 -0
  50. package/dist/cartoon/index.d.ts.map +1 -1
  51. package/dist/cartoon/index.js +2 -0
  52. package/dist/cartoon/index.js.map +1 -1
  53. package/dist/index.d.ts +4 -2
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3 -2
  56. package/dist/index.js.map +1 -1
  57. package/package.json +4 -4
  58. package/src/ForwardPass.ts +18 -13
  59. package/src/MorphTargetPlan.ts +178 -0
  60. package/src/MorphUnlitMaterial.ts +7 -1
  61. package/src/ShaderLibrary.ts +34 -6
  62. package/src/WebGPUDevice.ts +83 -12
  63. package/src/{cartoon/CartoonMaterialStyle.ts → animation/AnimationMaterialStyle.ts} +9 -9
  64. package/src/{cartoon/CartoonRenderPreset.ts → animation/AnimationRenderPreset.ts} +10 -10
  65. package/src/animation/AnimationToonMaterial.ts +387 -0
  66. package/src/{cartoon/CartoonVisualQuality.ts → animation/AnimationVisualQuality.ts} +14 -14
  67. package/src/animation/applyAnimationRenderPreset.ts +180 -0
  68. package/src/animation/index.ts +5 -0
  69. package/src/index.ts +10 -2
  70. package/src/cartoon/index.ts +0 -3
@@ -1,6 +1,7 @@
1
1
  import { ShaderPreprocessor } from "./ShaderPreprocessor.js";
2
2
  import { DEFAULT_PBR_SHADER_MARKER, DEFAULT_PBR_SHADER_NAME } from "./PBRMaterial.js";
3
3
  import { SHADER_CHUNKS, validateShaderChunks } from "./ShaderChunks.js";
4
+ import { registerAnimationToonShader } from "./animation/AnimationToonMaterial.js";
4
5
  export class ShaderLibrary {
5
6
  shaders = new Map();
6
7
  chunks = new Map();
@@ -1290,7 +1291,7 @@ void main() {
1290
1291
  float metallic = mix(u_metallic, clamp(u_metallic * metallicRoughnessSample.b, 0.0, 1.0), step(0.5, u_metallicRoughnessTextureEnabled));
1291
1292
  float roughness = mix(u_roughness, clamp(u_roughness * metallicRoughnessSample.g, 0.0, 1.0), step(0.5, u_metallicRoughnessTextureEnabled));
1292
1293
  float occlusion = mix(1.0, mix(1.0, texture(u_occlusionTexture, v_uv).r, clamp(u_occlusionStrength, 0.0, 1.0)), step(0.5, u_occlusionTextureEnabled));
1293
- vec3 emissive = u_emissiveColor * u_emissiveStrength + a3dPbrDecodeEnvironmentSrgb(texture(u_emissiveTexture, v_uv).rgb) * step(0.5, u_emissiveTextureEnabled);
1294
+ vec3 emissive = u_emissiveColor * u_emissiveStrength * mix(vec3(1.0), a3dPbrDecodeEnvironmentSrgb(texture(u_emissiveTexture, v_uv).rgb), step(0.5, u_emissiveTextureEnabled));
1294
1295
  vec3 materialBase = a3dApplyAdvancedPbrLobes(
1295
1296
  baseColor.rgb,
1296
1297
  u_clearcoatFactor,
@@ -1410,16 +1411,39 @@ void main() {
1410
1411
  precision highp float;
1411
1412
  layout(location = 0) in vec3 a_position;
1412
1413
  uniform mat4 u_modelViewProjection;
1414
+ // Uniform fast path (<= 4 targets / 64 verts):
1413
1415
  uniform vec4 u_morphPositionDeltas[256];
1414
1416
  uniform vec4 u_morphWeights;
1415
1417
  uniform float u_morphTargetCount;
1418
+ // Texture-backed path (lifts the 4/64 cap; see MorphTargetPlan.ts createMorphTargetPlan):
1419
+ uniform sampler2D u_morphDeltaTexture;
1420
+ uniform float u_morphUsesTexture; // > 0.5 => sample deltas from the texture
1421
+ uniform float u_morphTextureWidth; // = vertexCount
1422
+ uniform float u_morphRowsPerTarget; // 1 = positions only, 2 = positions + normals
1423
+ uniform float u_morphWeightArray[64]; // per-target weights for the texture path
1424
+ vec3 sampleMorphTexel(float row, float vertex) {
1425
+ // Fetch RGBA float texel at (x=vertex, y=row) using normalized coords + nearest filtering.
1426
+ float u = (vertex + 0.5) / max(1.0, u_morphTextureWidth);
1427
+ float height = u_morphTargetCount * u_morphRowsPerTarget;
1428
+ float v = (row + 0.5) / max(1.0, height);
1429
+ return texture(u_morphDeltaTexture, vec2(u, v)).xyz;
1430
+ }
1416
1431
  void main() {
1417
- int morphVertexIndex = clamp(gl_VertexID, 0, 63);
1418
1432
  vec3 morphDelta = vec3(0.0);
1419
- for (int target = 0; target < 4; ++target) {
1420
- if (float(target) < u_morphTargetCount) {
1421
- int morphIndex = target * 64 + morphVertexIndex;
1422
- morphDelta += u_morphPositionDeltas[morphIndex].xyz * u_morphWeights[target];
1433
+ if (u_morphUsesTexture > 0.5) {
1434
+ float vertex = float(gl_VertexID);
1435
+ for (int target = 0; target < 64; ++target) {
1436
+ if (float(target) >= u_morphTargetCount) break;
1437
+ float row = float(target) * u_morphRowsPerTarget;
1438
+ morphDelta += sampleMorphTexel(row, vertex) * u_morphWeightArray[target];
1439
+ }
1440
+ } else {
1441
+ int morphVertexIndex = clamp(gl_VertexID, 0, 63);
1442
+ for (int target = 0; target < 4; ++target) {
1443
+ if (float(target) < u_morphTargetCount) {
1444
+ int morphIndex = target * 64 + morphVertexIndex;
1445
+ morphDelta += u_morphPositionDeltas[morphIndex].xyz * u_morphWeights[target];
1446
+ }
1423
1447
  }
1424
1448
  }
1425
1449
  vec3 morphedPosition = a_position + morphDelta;
@@ -2702,6 +2726,10 @@ void main() {
2702
2726
  }
2703
2727
  `
2704
2728
  });
2729
+ // Register the animation/cel toon program (banded N·L ramp + Fresnel rim).
2730
+ // This is a real GLSL program compiled through the same library path as the
2731
+ // built-in shaders; AnimationToonMaterial targets it via ANIMATION_TOON_SHADER_NAME.
2732
+ registerAnimationToonShader(library);
2705
2733
  return library;
2706
2734
  }
2707
2735
  //# sourceMappingURL=ShaderLibrary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShaderLibrary.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderLibrary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShaderLibrary.js","sourceRoot":"","sources":["../../../../packages/rendering/src/ShaderLibrary.ts"],"names":[],"mappings":"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"}
@@ -204,6 +204,8 @@ export interface WebGPUDeviceOptions {
204
204
  readonly canvas?: HTMLCanvasElement | OffscreenCanvas;
205
205
  readonly presentationFormat?: string;
206
206
  }
207
+ /** Joint-palette capacity of the WebGPU skinning path — parity with the WebGL2 `u_jointMatrices[96]`. */
208
+ export declare const MAX_WEBGPU_SKINNING_JOINTS = 96;
207
209
  export declare class WebGPUDevice implements RenderDevice {
208
210
  private readonly adapter;
209
211
  private readonly device;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGPUDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGPUDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGPUDevice.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/WebGPUDevice.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,8 @@ class WebGPURenderTarget {
115
115
  }
116
116
  }
117
117
  }
118
+ /** Joint-palette capacity of the WebGPU skinning path — parity with the WebGL2 `u_jointMatrices[96]`. */
119
+ export const MAX_WEBGPU_SKINNING_JOINTS = 96;
118
120
  export class WebGPUDevice {
119
121
  adapter;
120
122
  device;
@@ -867,6 +869,10 @@ export class WebGPUDevice {
867
869
  const modelMatrices = uniformRasterModelMatrices(command.uniforms, command.instanceCount ?? 1);
868
870
  const depthTest = command.renderState?.depthTest !== false && this.activeRenderTarget.depthPixels !== null;
869
871
  const depthWrite = command.renderState?.depthWrite !== false;
872
+ // Full joint-palette skinning (up to 96 joints, WebGL2 parity). readLocal applies morph then skin.
873
+ const jointPalette = jointPaletteFor(command.uniforms);
874
+ const format = command.vertexFormat;
875
+ const readLocal = (index) => skinLocalPosition(readMorphedPosition(vertexBuffer.bytes, format.stride, position.offset, index, command.uniforms), vertexBuffer.bytes, format, index, jointPalette);
870
876
  for (let instanceIndex = 0; instanceIndex < instanceMatrices.length; instanceIndex += 1) {
871
877
  const matrix = instanceMatrices[instanceIndex] ?? identityMatrix();
872
878
  const modelMatrix = modelMatrices[instanceIndex] ?? identityMatrix();
@@ -875,9 +881,9 @@ export class WebGPUDevice {
875
881
  const indexA = indices[offset];
876
882
  const indexB = indices[offset + 1];
877
883
  const indexC = indices[offset + 2];
878
- const localA = readMorphedPosition(vertexBuffer.bytes, command.vertexFormat.stride, position.offset, indexA, command.uniforms);
879
- const localB = readMorphedPosition(vertexBuffer.bytes, command.vertexFormat.stride, position.offset, indexB, command.uniforms);
880
- const localC = readMorphedPosition(vertexBuffer.bytes, command.vertexFormat.stride, position.offset, indexC, command.uniforms);
884
+ const localA = readLocal(indexA);
885
+ const localB = readLocal(indexB);
886
+ const localC = readLocal(indexC);
881
887
  const a = transformPosition(localA, matrix);
882
888
  const b = transformPosition(localB, matrix);
883
889
  const c = transformPosition(localC, matrix);
@@ -897,8 +903,8 @@ export class WebGPUDevice {
897
903
  for (let offset = 0; offset + 1 < indices.length; offset += 2) {
898
904
  const indexA = indices[offset];
899
905
  const indexB = indices[offset + 1];
900
- const a = transformPosition(readMorphedPosition(vertexBuffer.bytes, command.vertexFormat.stride, position.offset, indexA, command.uniforms), matrix);
901
- const b = transformPosition(readMorphedPosition(vertexBuffer.bytes, command.vertexFormat.stride, position.offset, indexB, command.uniforms), matrix);
906
+ const a = transformPosition(readLocal(indexA), matrix);
907
+ const b = transformPosition(readLocal(indexB), matrix);
902
908
  const colorA = readVertexColor(vertexBuffer.bytes, command.vertexFormat.stride, colorAttribute?.offset, indexA);
903
909
  const colorB = readVertexColor(vertexBuffer.bytes, command.vertexFormat.stride, colorAttribute?.offset, indexB);
904
910
  rasterizeLine(this.activeRenderTarget, a, b, color, colorA, colorB, depthTest, depthWrite);
@@ -906,7 +912,7 @@ export class WebGPUDevice {
906
912
  }
907
913
  else {
908
914
  for (const index of indices) {
909
- const point = transformPosition(readMorphedPosition(vertexBuffer.bytes, command.vertexFormat.stride, position.offset, index, command.uniforms), matrix);
915
+ const point = transformPosition(readLocal(index), matrix);
910
916
  const vertexColor = readVertexColor(vertexBuffer.bytes, command.vertexFormat.stride, colorAttribute?.offset, index);
911
917
  rasterizePoint(this.activeRenderTarget, point, multiplyColor(color, vertexColor), depthTest, depthWrite);
912
918
  }
@@ -1235,7 +1241,8 @@ export class WebGPUDevice {
1235
1241
  createNativeDrawUniformBuffer(command) {
1236
1242
  if (!this.device.createBindGroup)
1237
1243
  return null;
1238
- const data = new Float32Array(188);
1244
+ // 188 floats for the scalar/matrix fields + 96 joint matrices (16 floats each) appended at 188.
1245
+ const data = new Float32Array(188 + MAX_WEBGPU_SKINNING_JOINTS * 16);
1239
1246
  const baseColorBinding = uniformBaseColorTextureBinding(command.uniforms);
1240
1247
  const environmentBinding = uniformTextureBinding(command.uniforms, "u_environmentMapTexture");
1241
1248
  const normalBinding = uniformTextureBinding(command.uniforms, "u_normalTexture");
@@ -1277,9 +1284,13 @@ export class WebGPUDevice {
1277
1284
  for (let index = 0; index < 4; index += 1) {
1278
1285
  data.set(instanceMatrices[index] ?? (index === 0 ? modelMatrix : identityMatrix()), 32 + index * 16);
1279
1286
  }
1280
- const jointMatrices = uniformMat4Array(command.uniforms?.get("u_jointMatrices"), 2);
1281
- for (let index = 0; index < 2; index += 1) {
1282
- data.set(jointMatrices[index] ?? identityMatrix(), 96 + index * 16);
1287
+ // Legacy 2-slot joint fields (offsets 96/112) kept as identity for layout stability.
1288
+ data.set(identityMatrix(), 96);
1289
+ data.set(identityMatrix(), 112);
1290
+ // Full 96-joint palette (WebGL2 parity), appended after normalMatrix at offset 188.
1291
+ const jointMatrices = uniformMat4Array(command.uniforms?.get("u_jointMatrices"), MAX_WEBGPU_SKINNING_JOINTS);
1292
+ for (let index = 0; index < MAX_WEBGPU_SKINNING_JOINTS; index += 1) {
1293
+ data.set(jointMatrices[index] ?? identityMatrix(), 188 + index * 16);
1283
1294
  }
1284
1295
  const morphDeltas = command.uniforms?.get("u_morphPositionDeltas");
1285
1296
  const morphNumbers = morphDeltas instanceof Float32Array || Array.isArray(morphDeltas) ? Array.from(morphDeltas).slice(0, 32) : [];
@@ -1760,6 +1771,48 @@ function toPixel(position, width, height) {
1760
1771
  function identityMatrix() {
1761
1772
  return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
1762
1773
  }
1774
+ function readVec4Attribute(bytes, stride, offset, vertexIndex) {
1775
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
1776
+ const base = vertexIndex * stride + offset;
1777
+ return [
1778
+ view.getFloat32(base, true),
1779
+ view.getFloat32(base + 4, true),
1780
+ view.getFloat32(base + 8, true),
1781
+ view.getFloat32(base + 12, true)
1782
+ ];
1783
+ }
1784
+ // CPU skinning for the WebGPU emulation rasterizer: blend the joint palette (up to the full
1785
+ // WebGL2-parity 96-joint count) by the vertex's 4 joint indices + weights, then transform the local
1786
+ // position by the blended matrix. Mirrors the WebGL2 skinning path so a skinned character deforms
1787
+ // identically on both backends. `palette` may hold up to 96 matrices (parity with WebGL2).
1788
+ function skinLocalPosition(local, bytes, format, vertexIndex, palette) {
1789
+ if (palette.length === 0 || !format.hasAttribute("joints") || !format.hasAttribute("weights")) {
1790
+ return local;
1791
+ }
1792
+ const joints = readVec4Attribute(bytes, format.stride, format.getAttribute("joints").offset, vertexIndex);
1793
+ const weights = readVec4Attribute(bytes, format.stride, format.getAttribute("weights").offset, vertexIndex);
1794
+ const weightSum = weights[0] + weights[1] + weights[2] + weights[3];
1795
+ if (weightSum <= 1e-4)
1796
+ return local;
1797
+ const blended = new Array(16).fill(0);
1798
+ const maxJoint = palette.length - 1;
1799
+ for (let influence = 0; influence < 4; influence += 1) {
1800
+ const weight = weights[influence] ?? 0;
1801
+ if (weight === 0)
1802
+ continue;
1803
+ const jointIndex = Math.max(0, Math.min(maxJoint, Math.round(joints[influence] ?? 0)));
1804
+ const jointMatrix = palette[jointIndex] ?? identityMatrix();
1805
+ for (let k = 0; k < 16; k += 1)
1806
+ blended[k] += (jointMatrix[k] ?? 0) * weight;
1807
+ }
1808
+ return transformPosition(local, blended);
1809
+ }
1810
+ function jointPaletteFor(uniforms) {
1811
+ const value = uniforms?.get("u_jointMatrices");
1812
+ const length = value instanceof Float32Array || Array.isArray(value) ? value.length : 0;
1813
+ const count = Math.min(MAX_WEBGPU_SKINNING_JOINTS, Math.floor(length / 16));
1814
+ return count > 0 ? uniformMat4Array(value, count) : [];
1815
+ }
1763
1816
  function readVertexColor(bytes, stride, offset, vertexIndex) {
1764
1817
  if (offset === undefined)
1765
1818
  return [1, 1, 1, 1];
@@ -1989,6 +2042,7 @@ function nativeUniformStruct() {
1989
2042
  joint0: mat4x4<f32>,
1990
2043
  joint1: mat4x4<f32>,
1991
2044
  morph0: vec4<f32>,
2045
+ // (joint palette appended at struct end below as \`joints\` for 96-joint WebGL2 parity)
1992
2046
  morph1: vec4<f32>,
1993
2047
  morph2: vec4<f32>,
1994
2048
  morph3: vec4<f32>,
@@ -2000,6 +2054,9 @@ function nativeUniformStruct() {
2000
2054
  camera: vec4<f32>,
2001
2055
  materialFlags: vec4<f32>,
2002
2056
  normalMatrix: mat4x4<f32>,
2057
+ // 96-joint skinning palette (WebGL2 \`u_jointMatrices[96]\` parity). Appended at the struct end so
2058
+ // the existing field offsets are unchanged.
2059
+ joints: array<mat4x4<f32>, 96>,
2003
2060
  };
2004
2061
 
2005
2062
  @group(0) @binding(0) var<uniform> u_draw: DrawUniforms;
@@ -2315,8 +2372,8 @@ struct VertexOutput {
2315
2372
  };
2316
2373
 
2317
2374
  fn jointMatrix(index: f32) -> mat4x4<f32> {
2318
- if (index > 0.5) { return u_draw.joint1; }
2319
- return u_draw.joint0;
2375
+ let i = clamp(i32(index + 0.5), 0, 95);
2376
+ return u_draw.joints[i];
2320
2377
  }
2321
2378
 
2322
2379
  @vertex