1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- Sidebar.Renderer = function ( editor ) {
- var signals = editor.signals;
- var rendererClasses = {
- 'WebGLRenderer': THREE.WebGLRenderer,
- 'WebGLRenderer3': THREE.WebGLRenderer3,
- 'CanvasRenderer': THREE.CanvasRenderer,
- 'SoftwareRenderer': THREE.SoftwareRenderer,
- 'SVGRenderer': THREE.SVGRenderer
- };
- var container = new UI.Panel();
- container.add( new UI.Text( 'RENDERER' ) );
- container.add( new UI.Break(), new UI.Break() );
- // class
- var options = {};
- for ( var key in rendererClasses ) {
- if ( key.indexOf( 'WebGL' ) >= 0 && System.support.webgl === false ) continue;
- options[ key ] = key;
- }
- var rendererClassRow = new UI.Panel();
- var rendererClass = new UI.Select().setOptions( options ).setWidth( '150px' ).setColor( '#444' ).setFontSize( '12px' ).onChange( updateRenderer );
- rendererClassRow.add( new UI.Text( 'Class' ).setWidth( '90px' ) );
- rendererClassRow.add( rendererClass );
- container.add( rendererClassRow );
- // clear color
- var clearColorRow = new UI.Panel();
- var clearColor = new UI.Color().setValue( '#aaaaaa' ).onChange( updateClearColor );
- clearColorRow.add( new UI.Text( 'Clear color' ).setWidth( '90px' ) );
- clearColorRow.add( clearColor );
- container.add( clearColorRow );
- //
- function updateRenderer() {
- var renderer = new rendererClasses[ rendererClass.getValue() ]( {
- antialias: true,
- alpha: false,
- clearColor: clearColor.getHexValue(),
- clearAlpha: 1
- } );
- signals.rendererChanged.dispatch( renderer );
- }
- function updateClearColor() {
- signals.clearColorChanged.dispatch( clearColor.getHexValue() );
- }
- // events
- signals.clearColorChanged.add( function ( color ) {
- clearColor.setHexValue( color );
- } );
- return container;
- }
|