|
@@ -1,9 +1,7 @@
|
|
|
import NodeMaterial, { addNodeMaterial } from './NodeMaterial.js';
|
|
|
-import { diffuseColor } from '../core/PropertyNode.js';
|
|
|
-import { materialSpecularStrength, materialReflectivity } from '../accessors/MaterialNode.js';
|
|
|
import { MeshBasicMaterial } from '../../materials/MeshBasicMaterial.js';
|
|
|
-import { MultiplyOperation, MixOperation, AddOperation } from '../../constants.js';
|
|
|
-import { mix } from '../math/MathNode.js';
|
|
|
+import BasicEnvironmentNode from '../lighting/BasicEnvironmentNode.js';
|
|
|
+import BasicLightingModel from '../functions/BasicLightingModel.js';
|
|
|
|
|
|
const defaultValues = new MeshBasicMaterial();
|
|
|
|
|
@@ -15,7 +13,7 @@ class MeshBasicNodeMaterial extends NodeMaterial {
|
|
|
|
|
|
this.isMeshBasicNodeMaterial = true;
|
|
|
|
|
|
- this.lights = false;
|
|
|
+ this.lights = true;
|
|
|
//this.normals = false; @TODO: normals usage by context
|
|
|
|
|
|
this.setDefaultValues( defaultValues );
|
|
@@ -24,34 +22,17 @@ class MeshBasicNodeMaterial extends NodeMaterial {
|
|
|
|
|
|
}
|
|
|
|
|
|
- setupVariants( builder ) {
|
|
|
+ setupEnvironment( builder ) {
|
|
|
|
|
|
- const envNode = this.getEnvNode( builder );
|
|
|
+ const envNode = super.setupEnvironment( builder );
|
|
|
|
|
|
- if ( envNode !== null ) {
|
|
|
+ return envNode ? new BasicEnvironmentNode( envNode ) : null;
|
|
|
|
|
|
- switch ( this.combine ) {
|
|
|
-
|
|
|
- case MultiplyOperation:
|
|
|
- diffuseColor.assign( mix( diffuseColor.rgb, diffuseColor.rgb.mul( envNode.rgb ), materialSpecularStrength.mul( materialReflectivity ) ) );
|
|
|
- break;
|
|
|
-
|
|
|
- case MixOperation:
|
|
|
- diffuseColor.assign( mix( diffuseColor.rgb, envNode.rgb, materialSpecularStrength.mul( materialReflectivity ) ) );
|
|
|
- break;
|
|
|
-
|
|
|
- case AddOperation:
|
|
|
- diffuseColor.addAssign( envNode.rgb.mul( materialSpecularStrength.mul( materialReflectivity ) ) );
|
|
|
- break;
|
|
|
-
|
|
|
- default:
|
|
|
- console.warn( 'THREE.MeshBasicNodeMaterial: Unsupported .combine value:', this.combine );
|
|
|
- break;
|
|
|
-
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ setupLightingModel() {
|
|
|
|
|
|
+ return new BasicLightingModel();
|
|
|
|
|
|
}
|
|
|
|