File tree Expand file tree Collapse file tree 3 files changed +11
-8
lines changed Expand file tree Collapse file tree 3 files changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -14,15 +14,17 @@ export class Shader extends domHandler {
14
14
private shaderProgram : WebGLProgram ;
15
15
private vertexBuffer : WebGLBuffer ;
16
16
private uniforms : Array < UniformValue > | undefined
17
+ private loadedClass : string = 'loaded'
17
18
18
19
constructor ( container : HTMLCanvasElement , args : ShaderArgs ) {
19
20
super ( container ) ;
20
21
this . gl = container . getContext ( 'webgl' ) as WebGLRenderingContext ;
21
22
this . shaderProgram = this . initializeShader ( args . vertShader , args . fragShader ) ;
22
23
this . vertexBuffer = this . initBuffers ( ) ;
23
- this . uniforms = args . uniforms
24
- // Initialize custom logic if provided
25
- args . hooks ?. forEach ( ( hook ) => {
24
+
25
+ if ( args . uniforms ) this . uniforms = args . uniforms
26
+ if ( args . loadedClass ) this . loadedClass = args . loadedClass
27
+ if ( args . hooks ) args . hooks . forEach ( ( hook ) => {
26
28
this . addHook ( hook . methodName , hook . hook )
27
29
} )
28
30
}
@@ -37,6 +39,7 @@ export class Shader extends domHandler {
37
39
this . uniforms ?. forEach ( ( uniform ) => {
38
40
this . setUniform ( uniform )
39
41
} )
42
+ this . container . classList . add ( this . loadedClass )
40
43
}
41
44
42
45
public addHook ( methodName : MethodName , hook : ShaderHook ) : void {
Original file line number Diff line number Diff line change @@ -6,12 +6,10 @@ import { ShaderArgs } from "../types";
6
6
7
7
export const SimpleShaderCanvas = ( {
8
8
args,
9
- className,
10
- loadedClass = 'loaded'
9
+ className
11
10
} : {
12
11
args : ShaderArgs ,
13
- className ?: string ,
14
- loadedClass ?: string
12
+ className ?: string
15
13
} ) => {
16
14
17
15
const ref = useRef < HTMLCanvasElement > ( null ) ;
@@ -28,7 +26,7 @@ export const SimpleShaderCanvas = ({
28
26
return (
29
27
< canvas
30
28
ref = { ref }
31
- className = { `${ className } ${ loadedClass } ` }
29
+ className = { `${ className } ` }
32
30
style = { { width : '100%' } }
33
31
/>
34
32
)
Original file line number Diff line number Diff line change @@ -13,6 +13,8 @@ declare namespace simpleShaderComponent {
13
13
fragShader ?: string ,
14
14
uniforms ?: Array < UniformValue > ,
15
15
hooks ?: Array < { methodName : MethodName , hook : ShaderHook } >
16
+ /** Default 'loaded' */
17
+ loadedClass ?: string
16
18
}
17
19
18
20
type UniformValue = {
You can’t perform that action at this time.
0 commit comments