提交 bbf158f9 编写于 作者: M Mugen87

Editor: Use PMREMGenerator and Scene.environment.

上级 ce686fd4
......@@ -16,6 +16,7 @@ var SidebarProject = function ( editor ) {
var strings = editor.strings;
var currentRenderer = null;
var currentPmremGenerator = null;
var container = new UISpan();
......@@ -151,7 +152,17 @@ var SidebarProject = function ( editor ) {
function createRenderer( antialias, shadows, toneMapping ) {
var parameters = { antialias: antialias };
if ( currentRenderer !== null ) {
currentRenderer.dispose();
currentPmremGenerator.dispose();
}
currentRenderer = new THREE.WebGLRenderer( parameters );
currentPmremGenerator = new THREE.PMREMGenerator( currentRenderer );
currentPmremGenerator.compileCubemapShader();
if ( shadows ) {
......@@ -162,7 +173,7 @@ var SidebarProject = function ( editor ) {
currentRenderer.toneMapping = parseFloat( toneMapping );
signals.rendererChanged.dispatch( currentRenderer );
signals.rendererChanged.dispatch( currentRenderer, currentPmremGenerator );
}
......
......@@ -31,6 +31,7 @@ var Viewport = function ( editor ) {
//
var renderer = null;
var pmremGenerator = null;
var camera = editor.camera;
var scene = editor.scene;
......@@ -324,7 +325,7 @@ var Viewport = function ( editor ) {
} );
signals.rendererChanged.add( function ( newRenderer ) {
signals.rendererChanged.add( function ( newRenderer, newPmremGenerator ) {
if ( renderer !== null ) {
......@@ -333,6 +334,7 @@ var Viewport = function ( editor ) {
}
renderer = newRenderer;
pmremGenerator = newPmremGenerator;
renderer.autoClear = false;
renderer.autoUpdateScene = false;
......@@ -493,14 +495,26 @@ var Viewport = function ( editor ) {
if ( backgroundType === 'Color' ) {
scene.background.set( backgroundColor );
scene.environment = null;
} else if ( backgroundType === 'Texture' ) {
scene.background = backgroundTexture;
scene.environment = null;
} else if ( backgroundType === 'CubeTexture' ) {
scene.background = backgroundCubeTexture;
if ( backgroundCubeTexture && backgroundCubeTexture.isHDRTexture ) {
scene.background = pmremGenerator.fromCubemap( backgroundCubeTexture ).texture;
scene.environment = scene.background;
} else {
scene.background = backgroundCubeTexture;
scene.environment = null;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册