提交 bf7d54c7 编写于 作者: M Mr.doob

Editor: Added antialias checkbox.

上级 509b91b5
...@@ -8,8 +8,11 @@ var Config = function () { ...@@ -8,8 +8,11 @@ var Config = function () {
var storage = { var storage = {
'autosave': true, 'autosave': true,
'theme': 'css/light.css', 'theme': 'css/light.css',
'renderer': 'WebGLRenderer',
'renderer/antialias': true,
'camera/position': [ 500, 250, 500 ], 'camera/position': [ 500, 250, 500 ],
'camera/target': [ 0, 0, 0 ], 'camera/target': [ 0, 0, 0 ],
......
...@@ -338,6 +338,7 @@ Sidebar.Material = function ( editor ) { ...@@ -338,6 +338,7 @@ Sidebar.Material = function ( editor ) {
materialBlendingRow.add( materialBlending ); materialBlendingRow.add( materialBlending );
container.add( materialBlendingRow ); container.add( materialBlendingRow );
// opacity // opacity
var materialOpacityRow = new UI.Panel(); var materialOpacityRow = new UI.Panel();
......
...@@ -40,7 +40,12 @@ Sidebar.Renderer = function ( editor ) { ...@@ -40,7 +40,12 @@ Sidebar.Renderer = function ( editor ) {
} }
var rendererTypeRow = new UI.Panel(); var rendererTypeRow = new UI.Panel();
var rendererType = new UI.Select().setOptions( options ).setWidth( '150px' ).setColor( '#444' ).setFontSize( '12px' ).onChange( updateRenderer ); var rendererType = new UI.Select().setOptions( options ).setWidth( '150px' ).setColor( '#444' ).onChange( function () {
editor.config.setKey( 'renderer', this.getValue() );
updateRenderer();
} );
rendererTypeRow.add( new UI.Text( 'Type' ).setWidth( '90px' ) ); rendererTypeRow.add( new UI.Text( 'Type' ).setWidth( '90px' ) );
rendererTypeRow.add( rendererType ); rendererTypeRow.add( rendererType );
...@@ -53,12 +58,26 @@ Sidebar.Renderer = function ( editor ) { ...@@ -53,12 +58,26 @@ Sidebar.Renderer = function ( editor ) {
} }
// antialiasing
var rendererAntialiasRow = new UI.Panel();
var rendererAntialias = new UI.Checkbox( editor.config.getKey( 'renderer/antialias' ) ).setLeft( '100px' ).onChange( function () {
editor.config.setKey( 'renderer/antialias', this.getValue() );
// updateRenderer();
} );
rendererAntialiasRow.add( new UI.Text( 'Antialias' ).setWidth( '90px' ) );
rendererAntialiasRow.add( rendererAntialias );
container.add( rendererAntialiasRow );
// //
function updateRenderer() { function updateRenderer() {
signals.rendererChanged.dispatch( rendererType.getValue() ); signals.rendererChanged.dispatch( rendererType.getValue(), rendererAntialias.getValue() );
editor.config.setKey( 'renderer', rendererType.getValue() );
} }
......
...@@ -264,13 +264,11 @@ var Viewport = function ( editor ) { ...@@ -264,13 +264,11 @@ var Viewport = function ( editor ) {
} ); } );
signals.rendererChanged.add( function ( type ) { signals.rendererChanged.add( function ( type, antialias ) {
container.dom.removeChild( renderer.domElement ); container.dom.removeChild( renderer.domElement );
renderer = new THREE[ type ]( { antialias: true } ); renderer = createRenderer( type, antialias );
renderer.autoClear = false;
renderer.autoUpdateScene = false;
renderer.setClearColor( clearColor ); renderer.setClearColor( clearColor );
renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight ); renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
...@@ -508,28 +506,24 @@ var Viewport = function ( editor ) { ...@@ -508,28 +506,24 @@ var Viewport = function ( editor ) {
// //
var clearColor, renderer; var createRenderer = function ( type, antialias ) {
if ( editor.config.getKey( 'renderer' ) !== undefined ) {
renderer = new THREE[ editor.config.getKey( 'renderer' ) ]( { antialias: true } );
} else { if ( type === 'WebGLRenderer' && System.support.webgl === false ) {
if ( System.support.webgl === true ) {
renderer = new THREE.WebGLRenderer( { antialias: true } ); type = 'CanvasRenderer';
} else {
renderer = new THREE.CanvasRenderer();
}
} }
var renderer = new THREE[ type ]( { antialias: antialias } );
renderer.autoClear = false; renderer.autoClear = false;
renderer.autoUpdateScene = false; renderer.autoUpdateScene = false;
return renderer;
};
var clearColor;
var renderer = createRenderer( editor.config.getKey( 'renderer' ), editor.config.getKey( 'renderer/antialias' ) );
container.dom.appendChild( renderer.domElement ); container.dom.appendChild( renderer.domElement );
animate(); animate();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册