/** Initializes this struct with the specified values. */ public AIColor4D set( float r, float g, float b, float a ) { r(r); g(g); b(b); a(a); return this; }
protected static void processMaterial(AIMaterial aiMaterial, List<Material> materials, String texturesDir) throws Exception { AIColor4D colour = AIColor4D.create(); AIString path = AIString.calloc(); Assimp.aiGetMaterialTexture(aiMaterial, aiTextureType_DIFFUSE, 0, path, (IntBuffer) null, null, null, null, null, null); String textPath = path.dataString(); Texture texture = null; if (textPath != null && textPath.length() > 0) { TextureCache textCache = TextureCache.getInstance(); String textureFile = texturesDir + "/" + textPath; textureFile = textureFile.replace("//", "/"); texture = textCache.getTexture(textureFile); } Vector4f diffuse = Material.DEFAULT_COLOUR; int result = aiGetMaterialColor(aiMaterial, AI_MATKEY_COLOR_DIFFUSE, aiTextureType_NONE, 0, colour); if (result == 0) { diffuse = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); } Vector4f specular = Material.DEFAULT_COLOUR; result = aiGetMaterialColor(aiMaterial, AI_MATKEY_COLOR_SPECULAR, aiTextureType_NONE, 0, colour); if (result == 0) { specular = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); } Material material = new Material(diffuse, specular, 1.0f); material.setTexture(texture); materials.add(material); }
colour); if (result == 0) { ambient = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); colour); if (result == 0) { diffuse = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); colour); if (result == 0) { specular = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a());
private static void processMaterial(AIMaterial aiMaterial, List<Material> materials, String texturesDir) throws Exception { AIColor4D colour = AIColor4D.create(); AIString path = AIString.calloc(); Assimp.aiGetMaterialTexture(aiMaterial, aiTextureType_DIFFUSE, 0, path, (IntBuffer) null, null, null, null, null, null); String textPath = path.dataString(); Texture texture = null; if (textPath != null && textPath.length() > 0) { TextureCache textCache = TextureCache.getInstance(); texture = textCache.getTexture(texturesDir + "/" + textPath); } Vector4f ambient = Material.DEFAULT_COLOUR; int result = aiGetMaterialColor(aiMaterial, AI_MATKEY_COLOR_AMBIENT, aiTextureType_NONE, 0, colour); if (result == 0) { ambient = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); } Vector4f diffuse = Material.DEFAULT_COLOUR; result = aiGetMaterialColor(aiMaterial, AI_MATKEY_COLOR_DIFFUSE, aiTextureType_NONE, 0, colour); if (result == 0) { diffuse = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); } Vector4f specular = Material.DEFAULT_COLOUR; result = aiGetMaterialColor(aiMaterial, AI_MATKEY_COLOR_SPECULAR, aiTextureType_NONE, 0, colour); if (result == 0) { specular = new Vector4f(colour.r(), colour.g(), colour.b(), colour.a()); } Material material = new Material(ambient, diffuse, specular, 1.0f); material.setTexture(texture); materials.add(material); }
private static Material<GLTexture> processMaterial(AIMaterial aiMaterial, String texturesDir) { AIString path = AIString.calloc(); Assimp.aiGetMaterialTexture(aiMaterial, Assimp.aiTextureType_DIFFUSE, 0, path, (IntBuffer) null, null, null, null, null, null); String textPath = path.dataString(); GLTexture diffuseTexture = null; if (textPath != null && textPath.length() > 0) { diffuseTexture = new Texture2DTrilinearFilter(texturesDir + "/" + textPath); } AIColor4D color = AIColor4D.create(); Vec3f diffuseColor = null; int result = Assimp.aiGetMaterialColor(aiMaterial, Assimp.AI_MATKEY_COLOR_AMBIENT, Assimp.aiTextureType_NONE, 0, color); if (result == 0) { diffuseColor = new Vec3f(color.r(), color.g(), color.b()); } Material<GLTexture> material = new Material<GLTexture>(); material.setDiffusemap(diffuseTexture); material.setColor(diffuseColor); return material; }