ShadowVolumeDynamicMaterial.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /**
  2. * @author mr.doob / http://mrdoob.com/
  3. * @author alteredq / http://alteredqualia.com/
  4. *
  5. * parameters = {
  6. * color: <hex>,
  7. * opacity: <float>,
  8. * map: new THREE.Texture( <Image> ),
  9. * lightMap: new THREE.Texture( <Image> ),
  10. * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
  11. * combine: THREE.Multiply,
  12. * reflectivity: <float>,
  13. * refractionRatio: <float>,
  14. * shading: THREE.SmoothShading,
  15. * blending: THREE.NormalBlending,
  16. * depthTest: <bool>,
  17. * wireframe: <boolean>,
  18. * wireframeLinewidth: <float>,
  19. * vertexColors: <bool>,
  20. * skinning: <bool>
  21. * }
  22. */
  23. THREE.ShadowVolumeDynamicMaterial = function ( parameters ) {
  24. THREE.Material.call( this, parameters );
  25. parameters = parameters || {};
  26. this.color = parameters.color !== undefined ? new THREE.Color( parameters.color ) : new THREE.Color( 0xffffff );
  27. this.map = parameters.map !== undefined ? parameters.map : null;
  28. this.lightMap = parameters.lightMap !== undefined ? parameters.lightMap : null;
  29. this.envMap = parameters.envMap !== undefined ? parameters.envMap : null;
  30. this.combine = parameters.combine !== undefined ? parameters.combine : THREE.MultiplyOperation;
  31. this.reflectivity = parameters.reflectivity !== undefined ? parameters.reflectivity : 1;
  32. this.refractionRatio = parameters.refractionRatio !== undefined ? parameters.refractionRatio : 0.98;
  33. // this.enableFog = parameters.enableFog ? parameters.enableFog : true;
  34. this.shading = parameters.shading !== undefined ? parameters.shading : THREE.SmoothShading;
  35. this.wireframe = parameters.wireframe !== undefined ? parameters.wireframe : false;
  36. this.wireframeLinewidth = parameters.wireframeLinewidth !== undefined ? parameters.wireframeLinewidth : 1;
  37. this.wireframeLinecap = parameters.wireframeLinecap !== undefined ? parameters.wireframeLinecap : 'round';
  38. this.wireframeLinejoin = parameters.wireframeLinejoin !== undefined ? parameters.wireframeLinejoin : 'round';
  39. this.vertexColors = parameters.vertexColors !== undefined ? parameters.vertexColors : false;
  40. this.skinning = parameters.skinning !== undefined ? parameters.skinning : false;
  41. this.morphTargets = parameters.morphTargets !== undefined ? parameters.morphTargets : false;
  42. };
  43. THREE.ShadowVolumeDynamicMaterial.prototype = new THREE.Material();
  44. THREE.ShadowVolumeDynamicMaterial.prototype.constructor = THREE.ShadowVolumeDynamicMaterial;