Skip to content

Commit d6d5e7e

Browse files
authored
Ensure splatDefines ShaderChunk is ready when using Readback before SparkRenderer (#240)
1 parent fa71609 commit d6d5e7e

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

src/PackedSplats.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
outputPackedSplat,
2020
} from "./dyno";
2121
import { TPackedSplats, definePackedSplats } from "./dyno/splats";
22-
import computeUvec4Template from "./shaders/computeUvec4.glsl";
22+
import { getShaders } from "./shaders";
2323
import { getTextureSize, setPackedSplat, unpackSplat } from "./utils";
2424

2525
export type SplatEncoding = {
@@ -574,7 +574,7 @@ export class PackedSplats {
574574
);
575575
if (!PackedSplats.programTemplate) {
576576
PackedSplats.programTemplate = new DynoProgramTemplate(
577-
computeUvec4Template,
577+
getShaders().computeUvec4Template,
578578
);
579579
}
580580
// Create a program from the template and graph

src/Readback.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { FullScreenQuad } from "three/addons/postprocessing/Pass.js";
44
import { SPLAT_TEX_HEIGHT, SPLAT_TEX_WIDTH } from "./defines";
55
import { type Dyno, OutputRgba8, dynoBlock } from "./dyno";
66
import { DynoProgram, DynoProgramTemplate } from "./dyno/program";
7-
import computeVec4Template from "./shaders/computeVec4.glsl";
7+
import { getShaders } from "./shaders";
88
import { getTextureSize } from "./utils";
99

1010
// Readback can be used to run a Dyno program that maps an index to a 32-bit
@@ -107,7 +107,9 @@ export class Readback {
107107
},
108108
);
109109
if (!Readback.programTemplate) {
110-
Readback.programTemplate = new DynoProgramTemplate(computeVec4Template);
110+
Readback.programTemplate = new DynoProgramTemplate(
111+
getShaders().computeVec4Template,
112+
);
111113
}
112114
// Create a program from the template and graph
113115
program = new DynoProgram({

src/shaders.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import * as THREE from "three";
22

3+
import computeUvec4Template from "./shaders/computeUvec4.glsl";
4+
import computeVec4Template from "./shaders/computeVec4.glsl";
35
import splatDefines from "./shaders/splatDefines.glsl";
46
import splatFragment from "./shaders/splatFragment.glsl";
57
import splatVertex from "./shaders/splatVertex.glsl";
@@ -13,6 +15,8 @@ export function getShaders(): Record<string, string> {
1315
shaders = {
1416
splatVertex,
1517
splatFragment,
18+
computeVec4Template,
19+
computeUvec4Template,
1620
};
1721
}
1822
return shaders;

0 commit comments

Comments
 (0)