Skip to content

Commit 8cf5785

Browse files
committed
feat: add webgpu flag
1 parent 146e9c6 commit 8cf5785

File tree

4 files changed

+11
-1
lines changed

4 files changed

+11
-1
lines changed

packages/@triplex/server/src/types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,12 @@ export interface TriplexConfig {
202202
* See: https://triplex.dev/docs/api-reference/config-options/public-dir
203203
*/
204204
publicDir?: string;
205+
/**
206+
* Enables WebGPU support for React Three Fiber components.
207+
*
208+
* See: https://triplex.dev/docs/api-reference/config-options/webgpu
209+
*/
210+
webgpu?: boolean;
205211
}
206212

207213
export interface RendererManifest {

packages/@triplex/server/src/util/config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const schema = object({
3636
provider: optional(string()),
3737
publicDir: optional(string()),
3838
renderer: optional(string()),
39+
webgpu: optional(boolean()),
3940
});
4041

4142
export function getConfig(_cwd: string): ReconciledTriplexConfig {
@@ -99,6 +100,7 @@ export function getConfig(_cwd: string): ReconciledTriplexConfig {
99100
provider,
100101
publicDir,
101102
renderer,
103+
webgpu: config.webgpu || false,
102104
};
103105
}
104106

packages/bridge/renderer.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ declare interface Window {
1313
readonly preload: {
1414
readonly reactThreeFiber: boolean;
1515
};
16+
readonly webgpu: boolean;
1617
};
1718
}

packages/renderer/src/features/canvas/canvas.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ export function Canvas({ children, ...props }: CanvasProps) {
5454

5555
return (
5656
<FiberCanvas
57-
shadows
57+
renderer={window.triplex.webgpu ? "webgpu" : undefined}
58+
shadows="percentage"
5859
{...props}
5960
raycaster={{
6061
...props.raycaster,

0 commit comments

Comments
 (0)