Update Jassimp's AiTextureType.java

The newer PBR enums are missing, making it impossible to import many models.
pull/3386/head
Chananya Freiman 2020-09-02 02:52:56 +03:00
parent 48ec3ef458
commit 542d784457
1 changed files with 98 additions and 92 deletions

View File

@ -56,109 +56,115 @@ package jassimp;
* regardless which 3D tool they're using. * regardless which 3D tool they're using.
*/ */
public enum AiTextureType { public enum AiTextureType {
/** /** Dummy value.
* The texture is combined with the result of the diffuse *
* lighting equation. * No texture, but the value to be used as 'texture semantic'
* (#aiMaterialProperty::mSemantic) for all material properties
* *not* related to textures.
*/
NONE(0),
/** LEGACY API MATERIALS
* Legacy refers to materials which
* Were originally implemented in the specifications around 2000.
* These must never be removed, as most engines support them.
*/
/** The texture is combined with the result of the diffuse
* lighting equation.
*/
DIFFUSE(1),
/** The texture is combined with the result of the specular
* lighting equation.
*/
SPECULAR(2),
/** The texture is combined with the result of the ambient
* lighting equation.
*/
AMBIENT(3),
/** The texture is added to the result of the lighting
* calculation. It isn't influenced by incoming light.
*/
EMISSIVE(4),
/** The texture is a height map.
*
* By convention, higher gray-scale values stand for
* higher elevations from the base height.
*/
HEIGHT(5),
/** The texture is a (tangent space) normal-map.
*
* Again, there are several conventions for tangent-space
* normal maps. Assimp does (intentionally) not
* distinguish here.
*/
NORMALS(6),
/** The texture defines the glossiness of the material.
*
* The glossiness is in fact the exponent of the specular
* (phong) lighting equation. Usually there is a conversion
* function defined to map the linear color values in the
* texture to a suitable exponent. Have fun.
*/ */
DIFFUSE(0x1), SHININESS(7),
/** The texture defines per-pixel opacity.
/** *
* The texture is combined with the result of the specular * Usually 'white' means opaque and 'black' means
* lighting equation. * 'transparency'. Or quite the opposite. Have fun.
*/ */
SPECULAR(0x2), OPACITY(8),
/** Displacement texture
/** *
* The texture is combined with the result of the ambient * The exact purpose and format is application-dependent.
* lighting equation. * Higher color values stand for higher vertex displacements.
*/ */
AMBIENT(0x3), DISPLACEMENT(9),
/** Lightmap texture (aka Ambient Occlusion)
/** *
* The texture is added to the result of the lighting * Both 'Lightmaps' and dedicated 'ambient occlusion maps' are
* calculation. It isn't influenced by incoming light. * covered by this material property. The texture contains a
* scaling value for the final color value of a pixel. Its
* intensity is not affected by incoming light.
*/ */
EMISSIVE(0x4), LIGHTMAP(10),
/** Reflection texture
/** *
* The texture is a height map.<p> * Contains the color of a perfect mirror reflection.
* * Rarely used, almost never for real-time applications.
* By convention, higher gray-scale values stand for
* higher elevations from the base height.
*/ */
HEIGHT(0x5), REFLECTION(11),
/** PBR Materials
/** * PBR definitions from maya and other modelling packages now use this standard.
* The texture is a (tangent space) normal-map.<p> * This was originally introduced around 2012.
* * Support for this is in game engines like Godot, Unreal or Unity3D.
* Again, there are several conventions for tangent-space * Modelling packages which use this are very common now.
* normal maps. Assimp does (intentionally) not distinguish here. */
BASE_COLOR(12),
NORMAL_CAMERA(13),
EMISSION_COLOR(14),
METALNESS(15),
DIFFUSE_ROUGHNESS(16),
AMBIENT_OCCLUSION(17),
/** Unknown texture
*
* A texture reference that does not match any of the definitions
* above is considered to be 'unknown'. It is still imported,
* but is excluded from any further post-processing.
*/ */
NORMALS(0x6), UNKNOWN(18);
/**
* The texture defines the glossiness of the material.<p>
*
* The glossiness is in fact the exponent of the specular
* (phong) lighting equation. Usually there is a conversion
* function defined to map the linear color values in the
* texture to a suitable exponent. Have fun.
*/
SHININESS(0x7),
/**
* The texture defines per-pixel opacity.<p>
*
* Usually 'white' means opaque and 'black' means
* 'transparency'. Or quite the opposite. Have fun.
*/
OPACITY(0x8),
/**
* Displacement texture.<p>
*
* The exact purpose and format is application-dependent.
* Higher color values stand for higher vertex displacements.
*/
DISPLACEMENT(0x9),
/**
* Lightmap texture (aka Ambient Occlusion).<p>
*
* Both 'Lightmaps' and dedicated 'ambient occlusion maps' are
* covered by this material property. The texture contains a
* scaling value for the final color value of a pixel. Its
* intensity is not affected by incoming light.
*/
LIGHTMAP(0xA),
/**
* Reflection texture.<p>
*
* Contains the color of a perfect mirror reflection.
* Rarely used, almost never for real-time applications.
*/
REFLECTION(0xB),
/**
* Unknown texture.<p>
*
* A texture reference that does not match any of the definitions
* above is considered to be 'unknown'. It is still imported,
* but is excluded from any further postprocessing.
*/
UNKNOWN(0xC);
/** /**