Opengl libgdx更改预纹理模型上的纹理
我已经从blender导出了一个模型,但我希望某些实例使用不同的纹理Opengl libgdx更改预纹理模型上的纹理,opengl,model,libgdx,textures,Opengl,Model,Libgdx,Textures,我已经从blender导出了一个模型,但我希望某些实例使用不同的纹理 if (x % 2 == 0) { shipInstance.materials.clear(); shipInstance.materials.add(new Material()); shipInstance.materials.get(0).set(new TextureAttribute(TextureAttribute.Diffus
if (x % 2 == 0) {
shipInstance.materials.clear();
shipInstance.materials.add(new Material());
shipInstance.materials.get(0).set(new TextureAttribute(TextureAttribute.Diffuse, enemyTexture));
不幸的是,这不起作用
以类似的方式,我希望能够改变像反光和平滑的东西
(我猜您可以更改使用默认着色器的类似内容?)
我(后来)也试过这个
Material mat = shipInstance.materials.get(m);
for (Iterator<Attribute> ai = mat.iterator(); ai.hasNext();){
Attribute att=ai.next();
if (att.type==TextureAttribute.Diffuse) {
((TextureAttribute)att).textureDescription.set(enemyTexture,TextureFilter.Linear,TextureFilter.Linear,TextureWrap.ClampToEdge,TextureWrap.ClampToEdge);
}
}
Material mat=shipInstance.materials.get(m);
for(迭代器ai=mat.Iterator();ai.hasNext();){
属性att=ai.next();
if(att.type==TextureAttribute.Diffuse){
((TextureAttribute)att).textureDescription.set(enemyTexture,TextureFilter.Linear,TextureFilter.Linear,TextureWrap.ClampoEdge,TextureWrap.ClampoEdge);
}
}
除此之外…啊
for(int m=0;m<shipInstance.materials.size;m++) {
Material mat = shipInstance.materials.get(m);
for (Iterator<Attribute> ai = mat.iterator(); ai.hasNext();){
Attribute att=ai.next();
if (att.type==TextureAttribute.Diffuse) {
((TextureAttribute)att).textureDescription.set(enemyTexture,TextureFilter.Linear,TextureFilter.Linear,TextureWrap.ClampToEdge,TextureWrap.ClampToEdge);
}
}
}
for(int m=0;mShipInstance是哪种类型的?我想它是一个模型实例,但那是近4年前的事了。。。