我想使用从new THREE.Texture(canvas)
到PointsMaterial的纹理。
但是,它不起作用。画布在右上角。但是CubeGeometry
只有白点。
var texture = new THREE.Texture( canvas );
texture.needsUpdate = 1;
当我使用来自new THREE.TextureLoader().load( "snowflake5.png" )
的纹理时,它有效。
这是演示:https://codepen.io/anon/pen/JNezgM
我的错在哪里?
答案 0 :(得分:2)
如果使用以下模式从canvas元素实例化纹理,则必须将needsUpdate
标记设置为true
。
var texture = new THREE.Texture( canvas );
texture.needsUpdate = true;
或者,您可以使用此模式,并为您设置needsUpdate
标志:
var texture = new THREE.CanvasTexture( canvas );
关于您的错误,您的代码无效,因为:
true === 1 // false
three.js r.85