|
@@ -539,12 +539,23 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable {
|
|
checkSetParam(type, name);
|
|
checkSetParam(type, name);
|
|
MatParamTexture val = getTextureParam(name);
|
|
MatParamTexture val = getTextureParam(name);
|
|
if (val == null) {
|
|
if (val == null) {
|
|
- MatParamTexture paramDef = (MatParamTexture)def.getMaterialParam(name);
|
|
|
|
- if(paramDef.getColorSpace() != null && paramDef.getColorSpace() != value.getImage().getColorSpace()){
|
|
|
|
|
|
+ MatParamTexture paramDef = (MatParamTexture) def.getMaterialParam(name);
|
|
|
|
+ if (paramDef.getColorSpace() != null && paramDef.getColorSpace() != value.getImage().getColorSpace()) {
|
|
value.getImage().setColorSpace(paramDef.getColorSpace());
|
|
value.getImage().setColorSpace(paramDef.getColorSpace());
|
|
- logger.log(Level.FINE, "Material parameter {0} needs a {1} texture, texture {2} was switched to {3} color space.", new Object[]{name, paramDef.getColorSpace().toString(), value.getName(), value.getImage().getColorSpace().name()});
|
|
|
|
- }else if(paramDef.getColorSpace() == null && value.getName() != null && value.getImage().getColorSpace() == ColorSpace.Linear){
|
|
|
|
- logger.log(Level.WARNING, "texture {0} has a {1} color space, but material parameter {2} has no color space requirement, this may lead to unexpected behavior.\n Cheack wether the image was not set to another material parameter with a linear color space, or that you did not set the ColorSpace to Linear using texture.getImage.setColorSpace().", new Object[]{value.getName(), value.getImage().getColorSpace().name(),name});
|
|
|
|
|
|
+ logger.log(Level.FINE, "Material parameter {0} needs a {1} texture, "
|
|
|
|
+ + "texture {2} was switched to {3} color space.",
|
|
|
|
+ new Object[]{name, paramDef.getColorSpace().toString(),
|
|
|
|
+ value.getName(),
|
|
|
|
+ value.getImage().getColorSpace().name()});
|
|
|
|
+ } else if (paramDef.getColorSpace() == null && value.getName() != null && value.getImage().getColorSpace() == ColorSpace.Linear) {
|
|
|
|
+ logger.log(Level.WARNING,
|
|
|
|
+ "The texture {0} has linear color space, but the material "
|
|
|
|
+ + "parameter {2} specifies no color space requirement, this may "
|
|
|
|
+ + "lead to unexpected behavior.\nCheck if the image "
|
|
|
|
+ + "was not set to another material parameter with a linear "
|
|
|
|
+ + "color space, or that you did not set the ColorSpace to "
|
|
|
|
+ + "Linear using texture.getImage.setColorSpace().",
|
|
|
|
+ new Object[]{value.getName(), value.getImage().getColorSpace().name(), name});
|
|
}
|
|
}
|
|
paramValues.put(name, new MatParamTexture(type, name, value, nextTexUnit++));
|
|
paramValues.put(name, new MatParamTexture(type, name, value, nextTexUnit++));
|
|
} else {
|
|
} else {
|