|
@@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
*
|
|
* glTF Extensions Support:
|
|
* glTF Extensions Support:
|
|
* KHR_materials_pbrSpecularGlossiness full
|
|
* KHR_materials_pbrSpecularGlossiness full
|
|
|
|
+ * KHR_materials_specular full
|
|
* KHR_materials_unlit full
|
|
* KHR_materials_unlit full
|
|
* KHR_lights_punctual full
|
|
* KHR_lights_punctual full
|
|
* KHR_materials_sheen full
|
|
* KHR_materials_sheen full
|
|
@@ -710,6 +711,7 @@ const vec4 defaultBaseColor = { 1, 1, 1, 1 };
|
|
const vec3 defaultEmissiveFactor = { 0, 0, 0 };
|
|
const vec3 defaultEmissiveFactor = { 0, 0, 0 };
|
|
const vec4 defaultDiffuseFactor = { 1, 1, 1, 1 };
|
|
const vec4 defaultDiffuseFactor = { 1, 1, 1, 1 };
|
|
const vec3 defaultSpecularFactor = { 1, 1, 1 };
|
|
const vec3 defaultSpecularFactor = { 1, 1, 1 };
|
|
|
|
+const vec3 defaultSpecularColorFactor = { 0, 0, 0 };
|
|
const vec3 defaultSheenFactor = { 0, 0, 0 };
|
|
const vec3 defaultSheenFactor = { 0, 0, 0 };
|
|
const vec3 defaultAttenuationColor = { 1, 1, 1 };
|
|
const vec3 defaultAttenuationColor = { 1, 1, 1 };
|
|
|
|
|
|
@@ -753,6 +755,16 @@ struct PbrSpecularGlossiness {
|
|
void SetDefaults();
|
|
void SetDefaults();
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+struct MaterialSpecular {
|
|
|
|
+ float specularFactor;
|
|
|
|
+ vec3 specularColorFactor;
|
|
|
|
+ TextureInfo specularTexture;
|
|
|
|
+ TextureInfo specularColorTexture;
|
|
|
|
+
|
|
|
|
+ MaterialSpecular() { SetDefaults(); }
|
|
|
|
+ void SetDefaults();
|
|
|
|
+};
|
|
|
|
+
|
|
struct MaterialSheen {
|
|
struct MaterialSheen {
|
|
vec3 sheenColorFactor;
|
|
vec3 sheenColorFactor;
|
|
float sheenRoughnessFactor;
|
|
float sheenRoughnessFactor;
|
|
@@ -817,6 +829,9 @@ struct Material : public Object {
|
|
//extension: KHR_materials_pbrSpecularGlossiness
|
|
//extension: KHR_materials_pbrSpecularGlossiness
|
|
Nullable<PbrSpecularGlossiness> pbrSpecularGlossiness;
|
|
Nullable<PbrSpecularGlossiness> pbrSpecularGlossiness;
|
|
|
|
|
|
|
|
+ //extension: KHR_materials_specular
|
|
|
|
+ Nullable<MaterialSpecular> materialSpecular;
|
|
|
|
+
|
|
//extension: KHR_materials_sheen
|
|
//extension: KHR_materials_sheen
|
|
Nullable<MaterialSheen> materialSheen;
|
|
Nullable<MaterialSheen> materialSheen;
|
|
|
|
|
|
@@ -1099,6 +1114,7 @@ public:
|
|
//! Keeps info about the enabled extensions
|
|
//! Keeps info about the enabled extensions
|
|
struct Extensions {
|
|
struct Extensions {
|
|
bool KHR_materials_pbrSpecularGlossiness;
|
|
bool KHR_materials_pbrSpecularGlossiness;
|
|
|
|
+ bool KHR_materials_specular;
|
|
bool KHR_materials_unlit;
|
|
bool KHR_materials_unlit;
|
|
bool KHR_lights_punctual;
|
|
bool KHR_lights_punctual;
|
|
bool KHR_texture_transform;
|
|
bool KHR_texture_transform;
|
|
@@ -1113,13 +1129,14 @@ public:
|
|
bool KHR_texture_basisu;
|
|
bool KHR_texture_basisu;
|
|
|
|
|
|
Extensions() :
|
|
Extensions() :
|
|
- KHR_materials_pbrSpecularGlossiness(false),
|
|
|
|
- KHR_materials_unlit(false),
|
|
|
|
- KHR_lights_punctual(false),
|
|
|
|
- KHR_texture_transform(false),
|
|
|
|
- KHR_materials_sheen(false),
|
|
|
|
- KHR_materials_clearcoat(false),
|
|
|
|
- KHR_materials_transmission(false),
|
|
|
|
|
|
+ KHR_materials_pbrSpecularGlossiness(false),
|
|
|
|
+ KHR_materials_specular(false),
|
|
|
|
+ KHR_materials_unlit(false),
|
|
|
|
+ KHR_lights_punctual(false),
|
|
|
|
+ KHR_texture_transform(false),
|
|
|
|
+ KHR_materials_sheen(false),
|
|
|
|
+ KHR_materials_clearcoat(false),
|
|
|
|
+ KHR_materials_transmission(false),
|
|
KHR_materials_volume(false),
|
|
KHR_materials_volume(false),
|
|
KHR_materials_ior(false),
|
|
KHR_materials_ior(false),
|
|
KHR_materials_emissive_strength(false),
|
|
KHR_materials_emissive_strength(false),
|