@@ -11,7 +11,7 @@ import { setRenderTarget } from "../core/renderTarget";
1111import { findUniformName } from "../internal/findName" ;
1212import { useUniforms } from "../internal/useUniforms" ;
1313import { useAttributes } from "../internal/useAttributes" ;
14- import { useLifeCycleCallback } from "../internal/useLifeCycleCallback " ;
14+ import { useHook } from "../internal/useHook " ;
1515
1616export type RenderPassOptions < U extends Uniforms = Record < string , never > > = {
1717 target ?: RenderTarget | null ;
@@ -62,7 +62,7 @@ export function useRenderPass<U extends Uniforms>(
6262 indexType,
6363 } = useAttributes ( attributes ) ;
6464
65- const [ initCallbacks , onInit ] = useLifeCycleCallback < ( gl : WebGL2RenderingContext ) => void > ( ) ;
65+ const [ onInit , executeInitCallbacks ] = useHook < ( gl : WebGL2RenderingContext ) => void > ( ) ;
6666
6767 function initialize ( gl : WebGL2RenderingContext ) {
6868 _gl = gl ;
@@ -76,9 +76,7 @@ export function useRenderPass<U extends Uniforms>(
7676 initializeUniforms ( _gl , _program ) ;
7777 initializeAttributes ( _gl , _program ) ;
7878
79- for ( const callback of initCallbacks ) {
80- callback ( _gl ) ;
81- }
79+ executeInitCallbacks ( _gl ) ;
8280 }
8381
8482 if ( gl ) {
@@ -91,8 +89,7 @@ export function useRenderPass<U extends Uniforms>(
9189
9290 const resolutionUniformName = findUniformName ( fragment + vertex , "resolution" ) ;
9391
94- const [ resizeCallbacks , onResize ] =
95- useLifeCycleCallback < ( width : number , height : number ) => void > ( ) ;
92+ const [ onResize , executeResizeCallbacks ] = useHook < ( width : number , height : number ) => void > ( ) ;
9693
9794 function setSize ( size : { width : number ; height : number } ) {
9895 const width = size . width * resolutionScale ;
@@ -104,9 +101,7 @@ export function useRenderPass<U extends Uniforms>(
104101 if ( _target != null ) {
105102 _target . setSize ( width , height ) ;
106103 }
107- for ( const callback of resizeCallbacks ) {
108- callback ( width , height ) ;
109- }
104+ executeResizeCallbacks ( width , height ) ;
110105 }
111106
112107 function setTarget ( target : RenderTarget | null ) {
@@ -119,8 +114,8 @@ export function useRenderPass<U extends Uniforms>(
119114
120115 const drawMode = userDrawMode || ( vertex . includes ( "gl_PointSize" ) ? "POINTS" : "TRIANGLES" ) ;
121116
122- const [ beforeRenderCallbacks , onBeforeRender ] = useLifeCycleCallback < RenderCallback < U > > ( ) ;
123- const [ afterRenderCallbacks , onAfterRender ] = useLifeCycleCallback < RenderCallback < U > > ( ) ;
117+ const [ onBeforeRender , executeBeforeRenderCallbacks ] = useHook < RenderCallback < U > > ( ) ;
118+ const [ onAfterRender , executeAfterRenderCallbacks ] = useHook < RenderCallback < U > > ( ) ;
124119
125120 function render ( { target } : { target ?: RenderTarget | null } = { } ) {
126121 if ( _gl == undefined ) {
@@ -140,19 +135,15 @@ export function useRenderPass<U extends Uniforms>(
140135 bindVAO ( ) ;
141136 setUniforms ( ) ;
142137
143- for ( const callback of beforeRenderCallbacks ) {
144- callback ( { uniforms : getUniformsSnapshot ( ) } ) ;
145- }
138+ executeBeforeRenderCallbacks ( { uniforms : getUniformsSnapshot ( ) } ) ;
146139
147140 if ( hasIndices ) {
148141 _gl . drawElements ( _gl [ drawMode ] , getVertexCount ( ) , indexType , 0 ) ;
149142 } else {
150143 _gl . drawArrays ( _gl [ drawMode ] , 0 , getVertexCount ( ) ) ;
151144 }
152145
153- for ( const callback of afterRenderCallbacks ) {
154- callback ( { uniforms : getUniformsSnapshot ( ) } ) ;
155- }
146+ executeAfterRenderCallbacks ( { uniforms : getUniformsSnapshot ( ) } ) ;
156147 }
157148
158149 return {
0 commit comments