我正在学习three.js并阅读文档。我不明白以下描述的意思,有人能帮我吗?
,因为您正在手动创建WebGL 2呈现上下文,所以您还必须传递所有必要的上下文属性。注意:在创建了上下文之后,不可能修改这些属性,因此将它们传递给WebGLRenderer不会有任何效果。
var canvas = document.createElement( 'canvas' );
var context = canvas.getContext( 'webgl2', { alpha: false } );
var renderer = new THREE.WebGLRenderer( { canvas: canvas, context: context } );发布于 2020-03-20 21:09:45
在本例中,您正在创建WebGLRenderer并传递GL上下文,而不是让WebGLRenderer构造函数为您创建它。
这意味着您正在创建上下文。在你的例子中,WebGL2RenderingContext。以这种方式创建上下文时,需要在getContext调用期间提供所有选项。将GL选项传递到WebGLRenderer构造函数后不会更改上下文。
考虑到这一点:
var canvas = document.createElement( 'canvas' );
var context = canvas.getContext( 'webgl2', { alpha: false } );
var renderer = new THREE.WebGLRenderer( { canvas: canvas, context: context, alpha: true } );在最后一行中,传递alpha: true将完全没有任何效果,因为前一行获得了上下文(您将使用alpha: false提供给WebGLRenderer )。
https://stackoverflow.com/questions/60781517
复制相似问题