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

Editor: Added antialias checkbox.

上级 509b91b5
......@@ -8,8 +8,11 @@ var Config = function () {
var storage = {
'autosave': true,
'theme': 'css/light.css',
'renderer': 'WebGLRenderer',
'renderer/antialias': true,
'camera/position': [ 500, 250, 500 ],
'camera/target': [ 0, 0, 0 ],
......
......@@ -338,6 +338,7 @@ Sidebar.Material = function ( editor ) {
materialBlendingRow.add( materialBlending );
container.add( materialBlendingRow );
// opacity
var materialOpacityRow = new UI.Panel();
......
......@@ -40,7 +40,12 @@ Sidebar.Renderer = function ( editor ) {
}
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( rendererType );
......@@ -52,13 +57,27 @@ Sidebar.Renderer = function ( editor ) {
rendererType.setValue( editor.config.getKey( 'renderer' ) );
}
// 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() {
signals.rendererChanged.dispatch( rendererType.getValue() );
editor.config.setKey( 'renderer', rendererType.getValue() );
signals.rendererChanged.dispatch( rendererType.getValue(), rendererAntialias.getValue() );
}
......
......@@ -264,13 +264,11 @@ var Viewport = function ( editor ) {
} );
signals.rendererChanged.add( function ( type ) {
signals.rendererChanged.add( function ( type, antialias ) {
container.dom.removeChild( renderer.domElement );
renderer = new THREE[ type ]( { antialias: true } );
renderer.autoClear = false;
renderer.autoUpdateScene = false;
renderer = createRenderer( type, antialias );
renderer.setClearColor( clearColor );
renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
......@@ -508,28 +506,24 @@ var Viewport = function ( editor ) {
//
var clearColor, renderer;
if ( editor.config.getKey( 'renderer' ) !== undefined ) {
var createRenderer = function ( type, antialias ) {
renderer = new THREE[ editor.config.getKey( 'renderer' ) ]( { antialias: true } );
if ( type === 'WebGLRenderer' && System.support.webgl === false ) {
} else {
type = 'CanvasRenderer';
if ( System.support.webgl === true ) {
renderer = new THREE.WebGLRenderer( { antialias: true } );
} else {
}
renderer = new THREE.CanvasRenderer();
var renderer = new THREE[ type ]( { antialias: antialias } );
renderer.autoClear = false;
renderer.autoUpdateScene = false;
}
return renderer;
}
};
renderer.autoClear = false;
renderer.autoUpdateScene = false;
var clearColor;
var renderer = createRenderer( editor.config.getKey( 'renderer' ), editor.config.getKey( 'renderer/antialias' ) );
container.dom.appendChild( renderer.domElement );
animate();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册