Skip to content

Commit

Permalink
fix: make shader key static
Browse files Browse the repository at this point in the history
  • Loading branch information
CodyJasonBennett committed Feb 26, 2025
1 parent 6879228 commit 7e5c7f0
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/core/shaderMaterial.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ type UniformValue =

type Uniforms = Record<string, UniformValue | Record<string, UniformValue> | Array<UniformValue>>

export function shaderMaterial<U extends Uniforms, M extends THREE.ShaderMaterial & U & { key: string }>(
export function shaderMaterial<U extends Uniforms, M extends THREE.ShaderMaterial & U>(
uniforms: U,
vertexShader: string,
fragmentShader: string,
onInit?: (material?: M) => void
) {
return class extends THREE.ShaderMaterial {
key = THREE.MathUtils.generateUUID()
static key = THREE.MathUtils.generateUUID()

constructor(parameters?: THREE.ShaderMaterialParameters) {
super({ vertexShader, fragmentShader, ...parameters })
Expand All @@ -45,5 +45,5 @@ export function shaderMaterial<U extends Uniforms, M extends THREE.ShaderMateria

onInit?.(this as unknown as M)
}
} as unknown as ConstructorRepresentation<M>
} as unknown as ConstructorRepresentation<M> & { key: string }
}

0 comments on commit 7e5c7f0

Please sign in to comment.