/** * initialize the pem map * @param size the size of the map * @param imageFormat the format of the image * @return the initialized prefiltered env map */ public static TextureCubeMap createPrefilteredEnvMap(int size, Image.Format imageFormat) { TextureCubeMap pem = new TextureCubeMap(size, size, imageFormat); pem.setMagFilter(Texture.MagFilter.Bilinear); pem.setMinFilter(Texture.MinFilter.Trilinear); pem.getImage().setColorSpace(ColorSpace.Linear); int nbMipMap = Math.min(6, (int) (Math.log(size) / Math.log(2))); CubeMapWrapper targetWrapper = new CubeMapWrapper(pem); targetWrapper.initMipMaps(nbMipMap); return pem; } }
/** * initialize the Irradiancemap * @param size the size of the map * @param imageFormat the format of the image * @return the initialized Irradiance map */ public static TextureCubeMap createIrradianceMap(int size, Image.Format imageFormat) { TextureCubeMap irrMap = new TextureCubeMap(size, size, imageFormat); irrMap.setMagFilter(Texture.MagFilter.Bilinear); irrMap.setMinFilter(Texture.MinFilter.BilinearNoMipMaps); irrMap.getImage().setColorSpace(ColorSpace.Linear); return irrMap; }
private void checkTextureParamColorSpace(String name, Texture value) { MatParamTexture paramDef = (MatParamTexture) def.getMaterialParam(name); if (paramDef.getColorSpace() != null && paramDef.getColorSpace() != value.getImage().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, "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}); } }
fbxDiffuseMap = tex; diffuseMap = tex.getJmeObject(); diffuseMap.getImage().setColorSpace(ColorSpace.sRGB); FbxTexture tex = (FbxTexture) specularColor; specularMap = tex.getJmeObject(); specularMap.getImage().setColorSpace(ColorSpace.sRGB); FbxTexture tex = (FbxTexture) transparentColor; transpMap = tex.getJmeObject(); transpMap.getImage().setColorSpace(ColorSpace.sRGB); FbxTexture tex = (FbxTexture) emissiveColor; emitMap = tex.getJmeObject(); emitMap.getImage().setColorSpace(ColorSpace.sRGB); normalMap.getImage().setColorSpace(ColorSpace.Linear); aoMap.getImage().setColorSpace(ColorSpace.sRGB);
/** * initialize the pem map * @param size the size of the map * @param imageFormat the format of the image * @return the initialized prefiltered env map */ public static TextureCubeMap createPrefilteredEnvMap(int size, Image.Format imageFormat) { TextureCubeMap pem = new TextureCubeMap(size, size, imageFormat); pem.setMagFilter(Texture.MagFilter.Bilinear); pem.setMinFilter(Texture.MinFilter.Trilinear); pem.getImage().setColorSpace(ColorSpace.Linear); int nbMipMap = Math.min(6, (int) (Math.log(size) / Math.log(2))); CubeMapWrapper targetWrapper = new CubeMapWrapper(pem); targetWrapper.initMipMaps(nbMipMap); return pem; } }
/** * initialize the Irradiancemap * @param size the size of the map * @param imageFormat the format of the image * @return the initialized Irradiance map */ public static TextureCubeMap createIrradianceMap(int size, Image.Format imageFormat) { TextureCubeMap irrMap = new TextureCubeMap(size, size, imageFormat); irrMap.setMagFilter(Texture.MagFilter.Bilinear); irrMap.setMinFilter(Texture.MinFilter.BilinearNoMipMaps); irrMap.getImage().setColorSpace(ColorSpace.Linear); return irrMap; }
private void checkTextureParamColorSpace(String name, Texture value) { MatParamTexture paramDef = (MatParamTexture) def.getMaterialParam(name); if (paramDef.getColorSpace() != null && paramDef.getColorSpace() != value.getImage().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, "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}); } }
fbxDiffuseMap = tex; diffuseMap = tex.getJmeObject(); diffuseMap.getImage().setColorSpace(ColorSpace.sRGB); FbxTexture tex = (FbxTexture) specularColor; specularMap = tex.getJmeObject(); specularMap.getImage().setColorSpace(ColorSpace.sRGB); FbxTexture tex = (FbxTexture) transparentColor; transpMap = tex.getJmeObject(); transpMap.getImage().setColorSpace(ColorSpace.sRGB); FbxTexture tex = (FbxTexture) emissiveColor; emitMap = tex.getJmeObject(); emitMap.getImage().setColorSpace(ColorSpace.sRGB); normalMap.getImage().setColorSpace(ColorSpace.Linear); aoMap.getImage().setColorSpace(ColorSpace.sRGB);