Skip to content

Commit

Permalink
Editor: ViewHelper clean up.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrdoob committed Jul 2, 2020
1 parent 91f3ebc commit 8bea5b8
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 15 deletions.
2 changes: 1 addition & 1 deletion editor/js/Viewport.Camera.js
Expand Up @@ -13,7 +13,7 @@ function ViewportCamera( editor ) {
var cameraSelect = new UISelect();
cameraSelect.setPosition( 'absolute' );
cameraSelect.setRight( '10px' );
cameraSelect.setBottom( '10px' );
cameraSelect.setTop( '10px' );
cameraSelect.onChange( function () {

editor.setViewportCamera( this.getValue() );
Expand Down
37 changes: 23 additions & 14 deletions editor/js/Viewport.ViewHelper.js
Expand Up @@ -8,18 +8,28 @@ function ViewHelper() {

THREE.Object3D.call( this );

var color1 = new THREE.Color( '#ff3653' );
var color2 = new THREE.Color( '#8adb00' );
var color3 = new THREE.Color( '#2c8fff' );

var camera = new THREE.OrthographicCamera( - 2, 2, 2, - 2, 0, 4 );
camera.position.set( 0, 0, 2 );

var axesHelper = new THREE.AxesHelper();
color1.toArray( axesHelper.geometry.attributes.color.array, 0 );
color1.toArray( axesHelper.geometry.attributes.color.array, 3 );
color2.toArray( axesHelper.geometry.attributes.color.array, 6 );
color2.toArray( axesHelper.geometry.attributes.color.array, 9 );
color3.toArray( axesHelper.geometry.attributes.color.array, 12 );
color3.toArray( axesHelper.geometry.attributes.color.array, 15 );
this.add( axesHelper );

var posXAxisHelper = new THREE.Sprite( new THREE.SpriteMaterial( { map: generateTexture( '#ff0000', 'X' ), toneMapped: false } ) );
var posYAxisHelper = new THREE.Sprite( new THREE.SpriteMaterial( { map: generateTexture( '#00ff00', 'Y' ), toneMapped: false } ) );
var posZAxisHelper = new THREE.Sprite( new THREE.SpriteMaterial( { map: generateTexture( '#0000ff', 'Z' ), toneMapped: false } ) );
var negXAxisHelper = new THREE.Sprite( new THREE.SpriteMaterial( { map: generateTexture( '#ff0000' ), toneMapped: false } ) );
var negYAxisHelper = new THREE.Sprite( new THREE.SpriteMaterial( { map: generateTexture( '#00ff00' ), toneMapped: false } ) );
var negZAxisHelper = new THREE.Sprite( new THREE.SpriteMaterial( { map: generateTexture( '#0000ff' ), toneMapped: false } ) );
var posXAxisHelper = new THREE.Sprite( getAxisMaterial( color1, 'X' ) );
var posYAxisHelper = new THREE.Sprite( getAxisMaterial( color2, 'Y' ) );
var posZAxisHelper = new THREE.Sprite( getAxisMaterial( color3, 'Z' ) );
var negXAxisHelper = new THREE.Sprite( getAxisMaterial( color1 ) );
var negYAxisHelper = new THREE.Sprite( getAxisMaterial( color2 ) );
var negZAxisHelper = new THREE.Sprite( getAxisMaterial( color3 ) );

posXAxisHelper.position.x = 1;
posYAxisHelper.position.y = 1;
Expand Down Expand Up @@ -88,18 +98,14 @@ function ViewHelper() {
//

var x = container.dom.offsetWidth - dim;
var y = container.dom.offsetHeight - dim;

renderer.clearDepth();
renderer.setScissorTest( true );
renderer.setScissor( x, y, dim, dim );
renderer.setViewport( x, y, dim, dim );
renderer.setViewport( x, 0, dim, dim );
renderer.render( this, camera );
renderer.setScissorTest( false );

};

function generateTexture( color, text = null ) {
function getAxisMaterial( color, text = null ) {

var canvas = document.createElement( 'canvas' );
canvas.width = 64;
Expand All @@ -109,7 +115,7 @@ function ViewHelper() {
context.beginPath();
context.arc( 32, 32, 16, 0, 2 * Math.PI );
context.closePath();
context.fillStyle = color;
context.fillStyle = color.getStyle();
context.fill();

if ( text !== null ) {
Expand All @@ -121,7 +127,10 @@ function ViewHelper() {

}

return new THREE.CanvasTexture( canvas );
return new THREE.SpriteMaterial( {
map: new THREE.CanvasTexture( canvas ),
toneMapped: false
} );

}

Expand Down

0 comments on commit 8bea5b8

Please sign in to comment.