You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
267 lines
4.7 KiB
JavaScript
267 lines
4.7 KiB
JavaScript
const materials = [
|
|
{
|
|
name: 'MeshBasicMaterial',
|
|
shortName: 'Basic',
|
|
properties: [
|
|
'alphaMap',
|
|
'aoMap',
|
|
'aoMapIntensity',
|
|
'color',
|
|
'combine',
|
|
'envMap',
|
|
'envMapRotation',
|
|
'fog',
|
|
'lightMap',
|
|
'lightMapIntensity',
|
|
'map',
|
|
'reflectivity',
|
|
'refractionRatio',
|
|
'specularMap',
|
|
'wireframe',
|
|
'wireframeLinecap',
|
|
'wireframeLinejoin',
|
|
'wireframeLinewidth'
|
|
],
|
|
},
|
|
{
|
|
name: 'MeshLambertMaterial',
|
|
shortName: 'Lambert',
|
|
properties: [
|
|
'alphaMap',
|
|
'aoMap',
|
|
'aoMapIntensity',
|
|
'bumpMap',
|
|
'bumpScale',
|
|
'color',
|
|
'combine',
|
|
'displacementBias',
|
|
'displacementMap',
|
|
'displacementScale',
|
|
'emissive',
|
|
'emissiveIntensity',
|
|
'emissiveMap',
|
|
'envMap',
|
|
'envMapRotation',
|
|
'flatShading',
|
|
'fog',
|
|
'lightMap',
|
|
'lightMapIntensity',
|
|
'map',
|
|
'normalMap',
|
|
'normalMapType',
|
|
'normalScale',
|
|
'reflectivity',
|
|
'refractionRatio',
|
|
'specularMap',
|
|
'wireframe',
|
|
'wireframeLinecap',
|
|
'wireframeLinejoin',
|
|
'wireframeLinewidth'
|
|
],
|
|
},
|
|
{
|
|
name: 'MeshPhongMaterial',
|
|
shortName: 'Phong',
|
|
properties: [
|
|
'alphaMap',
|
|
'aoMap',
|
|
'aoMapIntensity',
|
|
'bumpMap',
|
|
'bumpScale',
|
|
'color',
|
|
'combine',
|
|
'displacementBias',
|
|
'displacementMap',
|
|
'displacementScale',
|
|
'emissive',
|
|
'emissiveIntensity',
|
|
'emissiveMap',
|
|
'envMap',
|
|
'envMapRotation',
|
|
'flatShading',
|
|
'fog',
|
|
'lightMap',
|
|
'lightMapIntensity',
|
|
'map',
|
|
'normalMap',
|
|
'normalMapType',
|
|
'normalScale',
|
|
'reflectivity',
|
|
'refractionRatio',
|
|
'shininess',
|
|
'specular',
|
|
'specularMap',
|
|
'wireframe',
|
|
'wireframeLinecap',
|
|
'wireframeLinejoin',
|
|
'wireframeLinewidth'
|
|
],
|
|
},
|
|
{
|
|
name: 'MeshStandardMaterial',
|
|
shortName: 'Standard',
|
|
properties: [
|
|
'alphaMap',
|
|
'aoMap',
|
|
'aoMapIntensity',
|
|
'bumpMap',
|
|
'bumpScale',
|
|
'color',
|
|
'displacementBias',
|
|
'displacementMap',
|
|
'displacementScale',
|
|
'emissive',
|
|
'emissiveIntensity',
|
|
'emissiveMap',
|
|
'envMap',
|
|
'envMapIntensity',
|
|
'envMapRotation',
|
|
'flatShading',
|
|
'fog',
|
|
'lightMap',
|
|
'lightMapIntensity',
|
|
'map',
|
|
'metalness',
|
|
'metalnessMap',
|
|
'normalMap',
|
|
'normalMapType',
|
|
'normalScale',
|
|
'roughness',
|
|
'roughnessMap',
|
|
'wireframe',
|
|
'wireframeLinecap',
|
|
'wireframeLinejoin',
|
|
'wireframeLinewidth'
|
|
],
|
|
},
|
|
{
|
|
name: 'MeshPhysicalMaterial',
|
|
shortName: 'Physical',
|
|
properties: [
|
|
'alphaMap',
|
|
'aoMap',
|
|
'aoMapIntensity',
|
|
'anisotropy',
|
|
'anisotropyRotation',
|
|
'anisotropyMap',
|
|
'attenuationColor',
|
|
'attenuationDistance',
|
|
'bumpMap',
|
|
'bumpScale',
|
|
'clearcoat',
|
|
'clearcoatMap',
|
|
'clearcoatNormalMap',
|
|
'clearcoatNormalScale',
|
|
'clearcoatRoughness',
|
|
'clearcoatRoughnessMap',
|
|
'color',
|
|
'displacementBias',
|
|
'displacementMap',
|
|
'displacementScale',
|
|
'emissive',
|
|
'emissiveIntensity',
|
|
'emissiveMap',
|
|
'envMap',
|
|
'envMapIntensity',
|
|
'envMapRotation',
|
|
'flatShading',
|
|
'fog',
|
|
'ior',
|
|
'iridescence',
|
|
'iridescenceIOR',
|
|
'iridescenceMap',
|
|
'iridescenceThicknessMap',
|
|
'iridescenceThicknessRange',
|
|
'lightMap',
|
|
'lightMapIntensity',
|
|
'map',
|
|
'metalness',
|
|
'metalnessMap',
|
|
'normalMap',
|
|
'normalMapType',
|
|
'normalScale',
|
|
'reflectivity',
|
|
'roughness',
|
|
'roughnessMap',
|
|
'sheen',
|
|
'sheenColor',
|
|
'sheenColorMap',
|
|
'sheenRoughness',
|
|
'sheenRoughnessMap',
|
|
'specularColor',
|
|
'specularColorMap',
|
|
'specularIntensity',
|
|
'specularIntensityMap',
|
|
'thickness',
|
|
'thicknessMap',
|
|
'transmission',
|
|
'transmissionMap',
|
|
'wireframe',
|
|
'wireframeLinecap',
|
|
'wireframeLinejoin',
|
|
'wireframeLinewidth'
|
|
],
|
|
},
|
|
];
|
|
|
|
const allProperties = new Set();
|
|
materials.forEach( ( material ) => {
|
|
|
|
material.properties.forEach( ( property ) => {
|
|
|
|
allProperties.add( property );
|
|
|
|
} );
|
|
|
|
} );
|
|
|
|
function addElem( type, parent, content ) {
|
|
|
|
const elem = document.createElement( type );
|
|
if ( content ) {
|
|
|
|
elem.textContent = content;
|
|
|
|
}
|
|
|
|
if ( parent ) {
|
|
|
|
parent.appendChild( elem );
|
|
|
|
}
|
|
|
|
return elem;
|
|
|
|
}
|
|
|
|
const table = document.createElement( 'table' );
|
|
const thead = addElem( 'thead', table );
|
|
{
|
|
|
|
addElem( 'td', thead );
|
|
materials.forEach( ( material ) => {
|
|
|
|
const td = addElem( 'td', thead );
|
|
const a = addElem( 'a', td, material.shortName );
|
|
a.href = `https://threejs.org/docs/#api/materials/${material.name}`;
|
|
|
|
} );
|
|
|
|
}
|
|
|
|
Array.from( allProperties ).sort().forEach( ( property ) => {
|
|
|
|
const tr = addElem( 'tr', table );
|
|
addElem( 'td', tr, property );
|
|
materials.forEach( ( material ) => {
|
|
|
|
const hasProperty = material.properties.indexOf( property ) >= 0;
|
|
const td = addElem( 'td', tr );
|
|
const a = addElem( 'a', td, hasProperty ? '•' : '' );
|
|
a.href = `https://threejs.org/docs/#api/materials/${material.name}.${property}`;
|
|
|
|
} );
|
|
|
|
} );
|
|
document.querySelector( '#material-table' ).appendChild( table );
|