@needle-tools/engine 3.44.0-beta → 3.44.0-beta.1

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.
@@ -47,6 +47,7 @@ type SkyboxAttributes = {
47
47
  };
48
48
  export type TonemappingAttributeOptions = "none" | "linear" | "neutral" | "agx";
49
49
  type RenderingAttributes = {
50
+ "transparent"?: boolean;
50
51
  "contactshadows"?: boolean;
51
52
  "tone-mapping"?: TonemappingAttributeOptions;
52
53
  "tone-mapping-exposure"?: number;
@@ -72,6 +72,7 @@ export function screenshot2(opts = {
72
72
  context.renderer.domElement.style.width = width + "px";
73
73
  context.renderer.domElement.style.height = height + "px";
74
74
  const previousClearColor = context.renderer.getClearColor(new Color());
75
+ const previousClearAlpha = context.renderer.getClearAlpha();
75
76
  try {
76
77
  if (opts?.transparent) {
77
78
  context.renderer.setClearColor(0x000000, 0);
@@ -102,7 +103,7 @@ export function screenshot2(opts = {
102
103
  finally {
103
104
  context.renderer.setSize(prevWidth, prevHeight, false);
104
105
  context.updateSize();
105
- context.renderer.setClearColor(previousClearColor);
106
+ context.renderer.setClearColor(previousClearColor, previousClearAlpha);
106
107
  }
107
108
  return null;
108
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine_utils_screenshot.js","sourceRoot":"","sources":["../../src/engine/engine_utils_screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_utils_screenshot.js","sourceRoot":"","sources":["../../src/engine/engine_utils_screenshot.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ ContextRegistry.registerCallback(ContextEvent.MissingCamera, (evt) => {
24
24
  camInstance.clearFlags = ClearFlags.SolidColor;
25
25
  camInstance.backgroundColor = new RGBAColor(0.5, 0.5, 0.5, 1);
26
26
  camInstance.fieldOfView = 35;
27
+ const transparentAttribute = evt.context.domElement.getAttribute("transparent");
28
+ if (transparentAttribute != undefined) {
29
+ camInstance.clearFlags = ClearFlags.Uninitialized;
30
+ }
27
31
  // TODO: can we store the backgroundBlurriness in the gltf file somewhere except inside the camera?
28
32
  // e.g. when we export a scene from blender without a camera in the scene
29
33
  camInstance.backgroundBlurriness = .2; // same as in blender 0.5
@@ -1 +1 @@
1
- {"version":3,"file":"CameraUtils.js","sourceRoot":"","sources":["../../src/engine-components/CameraUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraUtils.js","sourceRoot":"","sources":["../../src/engine-components/CameraUtils.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor)
73
73
  }
74
74
 
75
75
  // Calculate the sharpened color using inputColor
76
- vec4 sharp = inputColor + (inputColor - blurred) * amount;
76
+ vec4 sharp = inputColor + clamp(inputColor - blurred, 0.0, 1.0) * amount;
77
77
 
78
78
  // Ensure the sharp color does not go below 0 or above 1
79
79
  sharp = clamp(sharp, 0.0, 1.0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "3.44.0-beta",
3
+ "version": "3.44.0-beta.1",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
5
5
  "main": "dist/needle-engine.umd.cjs",
6
6
  "type": "module",
@@ -55,6 +55,7 @@ type SkyboxAttributes = {
55
55
 
56
56
  export type TonemappingAttributeOptions = "none" | "linear" | "neutral" | "agx";
57
57
  type RenderingAttributes = {
58
+ "transparent"?: boolean,
58
59
  "contactshadows"?: boolean,
59
60
  "tone-mapping"?: TonemappingAttributeOptions,
60
61
  "tone-mapping-exposure"?: number,
@@ -127,6 +127,7 @@ export function screenshot2(opts: ScreenshotOptions = {
127
127
  context.renderer.domElement.style.height = height + "px";
128
128
 
129
129
  const previousClearColor = context.renderer.getClearColor(new Color());
130
+ const previousClearAlpha = context.renderer.getClearAlpha();
130
131
 
131
132
  try {
132
133
  if (opts?.transparent) {
@@ -168,7 +169,7 @@ export function screenshot2(opts: ScreenshotOptions = {
168
169
  finally {
169
170
  context.renderer.setSize(prevWidth, prevHeight, false);
170
171
  context.updateSize();
171
- context.renderer.setClearColor(previousClearColor);
172
+ context.renderer.setClearColor(previousClearColor, previousClearAlpha);
172
173
  }
173
174
 
174
175
  return null;
@@ -32,6 +32,12 @@ ContextRegistry.registerCallback(ContextEvent.MissingCamera, (evt) => {
32
32
  camInstance.clearFlags = ClearFlags.SolidColor;
33
33
  camInstance.backgroundColor = new RGBAColor(0.5, 0.5, 0.5, 1);
34
34
  camInstance.fieldOfView = 35;
35
+
36
+ const transparentAttribute = evt.context.domElement.getAttribute("transparent");
37
+ if (transparentAttribute != undefined) {
38
+ camInstance.clearFlags = ClearFlags.Uninitialized;
39
+ }
40
+
35
41
  // TODO: can we store the backgroundBlurriness in the gltf file somewhere except inside the camera?
36
42
  // e.g. when we export a scene from blender without a camera in the scene
37
43
  camInstance.backgroundBlurriness = .2; // same as in blender 0.5
@@ -83,7 +83,7 @@ void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor)
83
83
  }
84
84
 
85
85
  // Calculate the sharpened color using inputColor
86
- vec4 sharp = inputColor + (inputColor - blurred) * amount;
86
+ vec4 sharp = inputColor + clamp(inputColor - blurred, 0.0, 1.0) * amount;
87
87
 
88
88
  // Ensure the sharp color does not go below 0 or above 1
89
89
  sharp = clamp(sharp, 0.0, 1.0);