|
@@ -49,6 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
* KHR_materials_sheen full
|
|
|
* KHR_materials_clearcoat full
|
|
|
* KHR_materials_transmission full
|
|
|
+ * KHR_materials_volume full
|
|
|
+ * KHR_materials_ior full
|
|
|
*/
|
|
|
#ifndef GLTF2ASSET_H_INC
|
|
|
#define GLTF2ASSET_H_INC
|
|
@@ -713,6 +715,7 @@ const vec3 defaultEmissiveFactor = { 0, 0, 0 };
|
|
|
const vec4 defaultDiffuseFactor = { 1, 1, 1, 1 };
|
|
|
const vec3 defaultSpecularFactor = { 1, 1, 1 };
|
|
|
const vec3 defaultSheenFactor = { 0, 0, 0 };
|
|
|
+const vec3 defaultAttenuationColor = { 1, 1, 1 };
|
|
|
|
|
|
struct TextureInfo {
|
|
|
Ref<Texture> texture;
|
|
@@ -777,6 +780,23 @@ struct MaterialTransmission {
|
|
|
float transmissionFactor = 0.f;
|
|
|
};
|
|
|
|
|
|
+struct MaterialVolume {
|
|
|
+ float thicknessFactor = 0.f;
|
|
|
+ TextureInfo thicknessTexture;
|
|
|
+ float attenuationDistance = 0.f;
|
|
|
+ vec3 attenuationColor;
|
|
|
+
|
|
|
+ MaterialVolume() { SetDefaults(); }
|
|
|
+ void SetDefaults();
|
|
|
+};
|
|
|
+
|
|
|
+struct MaterialIOR {
|
|
|
+ float ior = 0.f;
|
|
|
+
|
|
|
+ MaterialIOR() { SetDefaults(); }
|
|
|
+ void SetDefaults();
|
|
|
+};
|
|
|
+
|
|
|
//! The material appearance of a primitive.
|
|
|
struct Material : public Object {
|
|
|
//PBR metallic roughness properties
|
|
@@ -803,6 +823,12 @@ struct Material : public Object {
|
|
|
//extension: KHR_materials_transmission
|
|
|
Nullable<MaterialTransmission> materialTransmission;
|
|
|
|
|
|
+ //extension: KHR_materials_volume
|
|
|
+ Nullable<MaterialVolume> materialVolume;
|
|
|
+
|
|
|
+ //extension: KHR_materials_ior
|
|
|
+ Nullable<MaterialIOR> materialIOR;
|
|
|
+
|
|
|
//extension: KHR_materials_unlit
|
|
|
bool unlit;
|
|
|
|
|
@@ -1091,6 +1117,8 @@ public:
|
|
|
bool KHR_materials_sheen;
|
|
|
bool KHR_materials_clearcoat;
|
|
|
bool KHR_materials_transmission;
|
|
|
+ bool KHR_materials_volume;
|
|
|
+ bool KHR_materials_ior;
|
|
|
bool KHR_draco_mesh_compression;
|
|
|
bool FB_ngon_encoding;
|
|
|
bool KHR_texture_basisu;
|