r3-legacy/src/r3-d3-api-material-standard.js

222 lines
6.4 KiB
JavaScript

/**
* R3.D3.API.Material.Standard
* @param apiComponent
*
* @property alphaMap
* @property aoMap
* @property aoMapIntensity
* @property bumpMap
* @property bumpScale
* @property color
* @property displacementMap
* @property displacementScale
* @property displacementBias
* @property emissive
* @property emissiveMap
* @property emissiveIntensity
* @property envMap
* @property envMapIntensity
* @property lightMap
* @property lightMapIntensity
* @property diffuseMap
* @property metalness
* @property metalnessMap
* @property morphNormals
* @property morphTargets
* @property normalMap
* @property normalScale
* @property refractionRatio
* @property roughness
* @property roughnessMap
* @property skinning
* @property wireframe
* @property wireframeLinecap
* @property wireframeLinejoin
* @property wireframeLinewidth
*
* @constructor
*/
R3.D3.API.Material.Standard = function(
apiComponent
) {
__API_MATERIAL__;
if (R3.Utils.UndefinedOrNull(apiComponent.alphaMap)) {
apiComponent.alphaMap = null;
}
this.alphaMap = apiComponent.alphaMap;
if (R3.Utils.UndefinedOrNull(apiComponent.aoMap)) {
apiComponent.aoMap = null;
}
this.aoMap = apiComponent.aoMap;
if (R3.Utils.UndefinedOrNull(apiComponent.aoMapIntensity)) {
apiComponent.aoMapIntensity = 1;
}
this.aoMapIntensity = apiComponent.aoMapIntensity;
if (R3.Utils.UndefinedOrNull(apiComponent.bumpMap)) {
apiComponent.bumpMap = null;
}
this.bumpMap = apiComponent.bumpMap;
if (R3.Utils.UndefinedOrNull(apiComponent.bumpScale)) {
apiComponent.bumpScale = 1;
}
this.bumpScale = apiComponent.bumpScale;
if (R3.Utils.UndefinedOrNull(apiComponent.color)) {
apiComponent.color = new R3.API.Color(
{
parent : this,
register : true,
r : 1,
g : 1,
b : 1,
a : 1
}
);
}
this.color = apiComponent.color;
if (R3.Utils.UndefinedOrNull(apiComponent.displacementMap)) {
apiComponent.displacementMap = null;
}
this.displacementMap = apiComponent.displacementMap;
if (R3.Utils.UndefinedOrNull(apiComponent.displacementBias)) {
apiComponent.displacementBias = 0;
}
this.displacementBias = apiComponent.displacementBias;
if (R3.Utils.UndefinedOrNull(apiComponent.displacementScale)) {
apiComponent.displacementScale = 1;
}
this.displacementScale = apiComponent.displacementScale;
if (R3.Utils.UndefinedOrNull(apiComponent.emissive)) {
apiComponent.emissive = new R3.API.Color(
{
parent : this,
register : true,
r : 0,
g : 0,
b : 0,
a : 0
}
);
}
this.emissive = apiComponent.emissive;
if (R3.Utils.UndefinedOrNull(apiComponent.emissiveMap)) {
apiComponent.emissiveMap = null;
}
this.emissiveMap = apiComponent.emissiveMap;
if (R3.Utils.UndefinedOrNull(apiComponent.emissiveIntensity)) {
apiComponent.emissiveIntensity = 1;
}
this.emissiveIntensity = apiComponent.emissiveIntensity;
if (R3.Utils.UndefinedOrNull(apiComponent.envMap)) {
apiComponent.envMap = null;
}
this.envMap = apiComponent.envMap;
if (R3.Utils.UndefinedOrNull(apiComponent.envMapIntensity)) {
apiComponent.envMapIntensity = 1;
}
this.envMapIntensity = apiComponent.envMapIntensity;
if (R3.Utils.UndefinedOrNull(apiComponent.lightMap)) {
apiComponent.lightMap = null;
}
this.lightMap = apiComponent.lightMap;
if (R3.Utils.UndefinedOrNull(apiComponent.lightMapIntensity)) {
apiComponent.lightMapIntensity = 1;
}
this.lightMapIntensity = apiComponent.lightMapIntensity;
if (R3.Utils.UndefinedOrNull(apiComponent.diffuseMap)) {
apiComponent.diffuseMap = null;
}
this.diffuseMap = apiComponent.diffuseMap;
if (R3.Utils.UndefinedOrNull(apiComponent.metalness)) {
apiComponent.metalness = 0.5;
}
this.metalness = apiComponent.metalness;
if (R3.Utils.UndefinedOrNull(apiComponent.metalnessMap)) {
apiComponent.metalnessMap = null;
}
this.metalnessMap = apiComponent.metalnessMap;
if (R3.Utils.UndefinedOrNull(apiComponent.morphNormals)) {
apiComponent.morphNormals = false;
}
this.morphNormals = apiComponent.morphNormals;
if (R3.Utils.UndefinedOrNull(apiComponent.morphTargets)) {
apiComponent.morphTargets = false;
}
this.morphTargets = apiComponent.morphTargets;
if (R3.Utils.UndefinedOrNull(apiComponent.normalMap)) {
apiComponent.normalMap = null;
}
this.normalMap = apiComponent.normalMap;
if (R3.Utils.UndefinedOrNull(apiComponent.normalScale)) {
apiComponent.normalScale = 1;
}
this.normalScale = apiComponent.normalScale;
if (R3.Utils.UndefinedOrNull(apiComponent.refractionRatio)) {
apiComponent.refractionRatio = 0.98;
}
this.refractionRatio = apiComponent.refractionRatio;
if (R3.Utils.UndefinedOrNull(apiComponent.roughness)) {
apiComponent.roughness = 0.5;
}
this.roughness = apiComponent.roughness;
if (R3.Utils.UndefinedOrNull(apiComponent.roughnessMap)) {
apiComponent.roughnessMap = null;
}
this.roughnessMap = apiComponent.roughnessMap;
if (R3.Utils.UndefinedOrNull(apiComponent.skinning)) {
apiComponent.skinning = false;
}
this.skinning = apiComponent.skinning;
if (R3.Utils.UndefinedOrNull(apiComponent.wireframe)) {
apiComponent.wireframe = false;
}
this.wireframe = apiComponent.wireframe;
if (R3.Utils.UndefinedOrNull(apiComponent.wireframeLinecap)) {
apiComponent.wireframeLinecap = 'round';
}
this.wireframeLinecap = apiComponent.wireframeLinecap;
if (R3.Utils.UndefinedOrNull(apiComponent.wireframeLinejoin)) {
apiComponent.wireframeLinejoin = 'round';
}
this.wireframeLinejoin = apiComponent.wireframeLinejoin;
if (R3.Utils.UndefinedOrNull(apiComponent.wireframeLinewidth)) {
apiComponent.wireframeLinewidth = 1;
}
this.wireframeLinewidth = apiComponent.wireframeLinewidth;
};
R3.D3.API.Material.Standard.prototype = Object.create(R3.D3.API.Material.prototype);
R3.D3.API.Material.Standard.prototype.constructor = R3.D3.API.Material.Standard;