2018-04-09 09:35:04 +02:00
|
|
|
/**
|
|
|
|
* R3.D3.API.Material.Standard
|
|
|
|
* @param apiMaterial
|
|
|
|
* @param alphaMap
|
|
|
|
* @param aoMap
|
|
|
|
* @param aoMapIntensity
|
|
|
|
* @param bumpMap
|
|
|
|
* @param bumpScale
|
|
|
|
* @param color
|
|
|
|
* @param displacementMap
|
|
|
|
* @param displacementScale
|
|
|
|
* @param displacementBias
|
|
|
|
* @param emissive
|
|
|
|
* @param emissiveMap
|
|
|
|
* @param emissiveIntensity
|
|
|
|
* @param envMap
|
|
|
|
* @param envMapIntensity
|
|
|
|
* @param lightMap
|
|
|
|
* @param lightMapIntensity
|
|
|
|
* @param diffuseMap
|
|
|
|
* @param metalness
|
|
|
|
* @param metalnessMap
|
|
|
|
* @param morphNormals
|
|
|
|
* @param morphTargets
|
|
|
|
* @param normalMap
|
|
|
|
* @param normalScale
|
|
|
|
* @param refractionRatio
|
|
|
|
* @param roughness
|
|
|
|
* @param roughnessMap
|
|
|
|
* @param skinning
|
|
|
|
* @param wireframe
|
|
|
|
* @param wireframeLinecap
|
|
|
|
* @param wireframeLinejoin
|
|
|
|
* @param wireframeLinewidth
|
|
|
|
* @constructor
|
|
|
|
*/
|
|
|
|
R3.D3.API.Material.Standard = function(
|
|
|
|
apiMaterial,
|
|
|
|
alphaMap,
|
|
|
|
aoMap,
|
|
|
|
aoMapIntensity,
|
|
|
|
bumpMap,
|
|
|
|
bumpScale,
|
|
|
|
color,
|
|
|
|
displacementMap,
|
|
|
|
displacementScale,
|
|
|
|
displacementBias,
|
|
|
|
emissive,
|
|
|
|
emissiveMap,
|
|
|
|
emissiveIntensity,
|
|
|
|
envMap,
|
|
|
|
envMapIntensity,
|
|
|
|
lightMap,
|
|
|
|
lightMapIntensity,
|
|
|
|
diffuseMap,
|
|
|
|
metalness,
|
|
|
|
metalnessMap,
|
|
|
|
morphNormals,
|
|
|
|
morphTargets,
|
|
|
|
normalMap,
|
|
|
|
normalScale,
|
|
|
|
refractionRatio,
|
|
|
|
roughness,
|
|
|
|
roughnessMap,
|
|
|
|
skinning,
|
|
|
|
wireframe,
|
|
|
|
wireframeLinecap,
|
|
|
|
wireframeLinejoin,
|
|
|
|
wireframeLinewidth
|
|
|
|
) {
|
|
|
|
|
2019-07-25 22:22:32 +02:00
|
|
|
__API_MATERIAL_MACRO__;
|
2018-04-09 09:35:04 +02:00
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(alphaMap)) {
|
|
|
|
alphaMap = null;
|
|
|
|
}
|
|
|
|
this.alphaMap = alphaMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(aoMap)) {
|
|
|
|
aoMap = null;
|
|
|
|
}
|
|
|
|
this.aoMap = aoMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(aoMapIntensity)) {
|
|
|
|
aoMapIntensity = 1;
|
|
|
|
}
|
|
|
|
this.aoMapIntensity = aoMapIntensity;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(bumpMap)) {
|
|
|
|
bumpMap = null;
|
|
|
|
}
|
|
|
|
this.bumpMap = bumpMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(bumpScale)) {
|
|
|
|
bumpScale = 1;
|
|
|
|
}
|
|
|
|
this.bumpScale = bumpScale;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(color)) {
|
2019-07-24 08:08:02 +02:00
|
|
|
color = new R3.API.Color(this, 1, 1, 1, 1)
|
2018-04-09 09:35:04 +02:00
|
|
|
}
|
|
|
|
this.color = color;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(displacementMap)) {
|
|
|
|
displacementMap = null;
|
|
|
|
}
|
|
|
|
this.displacementMap = displacementMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(displacementBias)) {
|
|
|
|
displacementBias = 0;
|
|
|
|
}
|
|
|
|
this.displacementBias = displacementBias;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(displacementScale)) {
|
|
|
|
displacementScale = 1;
|
|
|
|
}
|
|
|
|
this.displacementScale = displacementScale;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(emissive)) {
|
2019-07-24 08:08:02 +02:00
|
|
|
emissive = new R3.API.Color(this, 0, 0, 0, 0);
|
2018-04-09 09:35:04 +02:00
|
|
|
}
|
|
|
|
this.emissive = emissive;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(emissiveMap)) {
|
|
|
|
emissiveMap = null;
|
|
|
|
}
|
|
|
|
this.emissiveMap = emissiveMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(emissiveIntensity)) {
|
|
|
|
emissiveIntensity = 1;
|
|
|
|
}
|
|
|
|
this.emissiveIntensity = emissiveIntensity;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(envMap)) {
|
|
|
|
envMap = null;
|
|
|
|
}
|
|
|
|
this.envMap = envMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(envMapIntensity)) {
|
|
|
|
envMapIntensity = 1;
|
|
|
|
}
|
|
|
|
this.envMapIntensity = envMapIntensity;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(lightMap)) {
|
|
|
|
lightMap = null;
|
|
|
|
}
|
|
|
|
this.lightMap = lightMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(lightMapIntensity)) {
|
|
|
|
lightMapIntensity = 1;
|
|
|
|
}
|
|
|
|
this.lightMapIntensity = lightMapIntensity;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(diffuseMap)) {
|
|
|
|
diffuseMap = null;
|
|
|
|
}
|
|
|
|
this.diffuseMap = diffuseMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(metalness)) {
|
|
|
|
metalness = 0.5;
|
|
|
|
}
|
|
|
|
this.metalness = metalness;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(metalnessMap)) {
|
|
|
|
metalnessMap = null;
|
|
|
|
}
|
|
|
|
this.metalnessMap = metalnessMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(morphNormals)) {
|
|
|
|
morphNormals = false;
|
|
|
|
}
|
|
|
|
this.morphNormals = morphNormals;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(morphTargets)) {
|
|
|
|
morphTargets = false;
|
|
|
|
}
|
|
|
|
this.morphTargets = morphTargets;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(normalMap)) {
|
|
|
|
normalMap = null;
|
|
|
|
}
|
|
|
|
this.normalMap = normalMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(normalScale)) {
|
|
|
|
normalScale = 1;
|
|
|
|
}
|
|
|
|
this.normalScale = normalScale;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(refractionRatio)) {
|
|
|
|
refractionRatio = 0.98;
|
|
|
|
}
|
|
|
|
this.refractionRatio = refractionRatio;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(roughness)) {
|
|
|
|
roughness = 0.5;
|
|
|
|
}
|
|
|
|
this.roughness = roughness;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(roughnessMap)) {
|
|
|
|
roughnessMap = null;
|
|
|
|
}
|
|
|
|
this.roughnessMap = roughnessMap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(skinning)) {
|
|
|
|
skinning = false;
|
|
|
|
}
|
|
|
|
this.skinning = skinning;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(wireframe)) {
|
|
|
|
wireframe = false;
|
|
|
|
}
|
|
|
|
this.wireframe = wireframe;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(wireframeLinecap)) {
|
|
|
|
wireframeLinecap = 'round';
|
|
|
|
}
|
|
|
|
this.wireframeLinecap = wireframeLinecap;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(wireframeLinejoin)) {
|
|
|
|
wireframeLinejoin = 'round';
|
|
|
|
}
|
|
|
|
this.wireframeLinejoin = wireframeLinejoin;
|
|
|
|
|
|
|
|
if (R3.Utils.UndefinedOrNull(wireframeLinewidth)) {
|
|
|
|
wireframeLinewidth = 1;
|
|
|
|
}
|
|
|
|
this.wireframeLinewidth = 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;
|