Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将webgl函数作为变量传递_Javascript_Webgl - Fatal编程技术网

Javascript 如何将webgl函数作为变量传递

Javascript 如何将webgl函数作为变量传递,javascript,webgl,Javascript,Webgl,我想不出怎么做。我一直被非法调用。 假设我从程序中的一个函数调用一个函数 setGlState( cGl.DEPTH_WRITEMASK, true, cGl.depthMask ); 因此,我将不同的状态和函数传递给setGlState函数,以便它可以做出一些决策,并在需要设置状态时调用gl函数 setGlState = function ( cap, value, setterFunc ) { .... if( needsToBeSent ) { sett

我想不出怎么做。我一直被非法调用。 假设我从程序中的一个函数调用一个函数

setGlState( cGl.DEPTH_WRITEMASK, true, cGl.depthMask );
因此,我将不同的状态和函数传递给setGlState函数,以便它可以做出一些决策,并在需要设置状态时调用gl函数

setGlState = function ( cap, value, setterFunc ) {
    ....

    if( needsToBeSent ) {
        setterFunc( value ) 
    }
}

由于某些原因,此代码不起作用。我需要绑定函数还是调用函数?函数位于gl上下文上是否存在问题。I

您需要传递一个新函数,该函数将在正确的上下文中调用旧函数(因此
在函数中是
cGl

我会帮你的

setGlState( cGl.DEPTH_WRITEMASK.bind(cGl), true, cGl.depthMask.bind(cGl) );

上面链接的文档包括一个垫片,适用于本机不支持
bind

Uggghh的浏览器。非常感谢。它不工作仍然和我发现了一个问题,在其他地方,纠正后,使其工作。我很感激。