我正在学习Gera WebGL库,我想知道如何更改其中的网格纹理?
我正在创建旋转框:
var cube = new Gera.Cube({
geometry: {
alpha: 1,
beta: 1,
gamma: 1,
delta: 1,
epsilon: 1,
dzeta: 1
},
position: {
x: 0,
y: 0,
z: -7
},
rotation: {
x: 1,
y: 0,
z: 1,
autostart: true,
angle: 45
},
texture: 'imagePath.jpg'
});
scene.add( cube );
但是,如果我想在某个动作/事件后更改纹理,我该怎么办?
中的信息较少上面的代码来自索引页面,而一些来自某些playground scene
的样本答案 0 :(得分:0)
我找到了方法,如何实现纹理变化。
您可以使用下一个代码执行此操作:
window.setTimeout( function() {
var image = new Image();
image.src = 'new-file-path.jpg';
image.onload = function( event ) {
var handledImage = event.target || event.srcElement;
cube.texture.image = handledImage;
};
}, 1000 );
纹理将在1秒内更新。
另外,Gera现在没有提供CORS原始请求,所以要小心获取图像数据,如果你试图从远程服务器获取图像它不会被更新,你应该把你的纹理在localhost。