1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /*jshint esversion: 6 */
- var blender_light_types = {
- point: 0,
- sun: 1,
- spot: 0,
- hemi: 0,
- area: 0
- };
- module.exports = function createThreeJSLamp(blend_lamp) {
- let ldata = blend_lamp.data;
- let pos_array = [blend_lamp.loc[0], blend_lamp.loc[2], -blend_lamp.loc[1]];
- let color = ((ldata.r * 255) << 16) | ((ldata.g * 255) << 8) | ((ldata.b * 255) << 0);
- let intesity = ldata.energy;
- let distance = 0;
- var three_light = null;
- switch (ldata.type) {
- case blender_light_types.point:
- var three_light = new THREE.PointLight(color, intesity, distance);
- three_light.position.fromArray(pos_array, 0);
- three_light.castShadow = true;
- break;
- case blender_light_types.sun:
- var three_light = new THREE.PointLight(color, intesity, distance);
- three_light.position.fromArray(pos_array, 0);
- three_light.castShadow = true;
- three_light.shadow.mapSize.width = 1024;
- three_light.shadow.mapSize.height = 1024;
- three_light.shadow.camera.near = 0.01;
- three_light.shadow.camera.far = 500;
- break;
- }
- return three_light;
- }
|