设置材质球的灯光强度.

设置GPU选择时,设置渲染器参数以防止渲染错误.
(已知问题,灯光助手无法使用GPU拾取.)
pull/7/head
ChenX 7 years ago
parent 25bdbb43ba
commit 8c2d03ac98

@ -93,10 +93,12 @@ export class MaterialEditor
//Ambient light 环境光
var ambient = new THREE.AmbientLight(0x999999);
ambient.intensity = 2.5
scene.add(ambient);
//Pontual light 点光源
var point = new THREE.PointLight(0x999999);
point.intensity = 2.5;
point.position.set(-0.5, 1, 1.5);
scene.add(point);

@ -84,15 +84,40 @@ export class SelectControls
this.m_SelectIng = false;
}
setRenderVar(render: THREE.WebGLRenderer, renderVar: Object)
{
let saveVar = {};
for (let name in renderVar)
{
saveVar[name] = render[name];
render[name] = renderVar[name];
}
return saveVar;
}
select()
{
let view = app.m_Viewer;
let render = view.m_Render;
//设置渲染器设置
let renderVar = {
toneMappingExposure: 1,
gammaInput: false,
gammaOutput: false,
physicallyCorrectLights: false,
toneMapping: THREE.NoToneMapping,
}
let saveVar = this.setRenderVar(render, renderVar);
render.context.disable(render.context.DEPTH_TEST);
let pickingTexture = new THREE.WebGLRenderTarget(view.m_HtmlElement.clientWidth, view.m_HtmlElement.clientHeight);
render.render(view.m_Scene, view.m_Camera.m_CurCamera, pickingTexture);
//create buffer for reading single pixel
render.context.enable(render.context.DEPTH_TEST);
this.setRenderVar(render, saveVar);
//create buffer for reading single pixel
let b2 = new THREE.Box2();
b2.setFromPoints([
new THREE.Vector2(this.m_SelectCss.start.x, this.m_SelectCss.start.y),
@ -123,5 +148,7 @@ export class SelectControls
{
return view.m_Scene.getObjectById(id);
});
this.m_Viewer.m_OutlinePass.selectedObjects =
this.m_Viewer.m_OutlinePass.selectedObjects.filter(o => { return o != undefined })
}
}
Loading…
Cancel
Save