2
0
Эх сурвалжийг харах

added editor gamma options #2 (#9231)

* Update index.html

* Revert "Update index.html"

This reverts commit 76f47860891b9bc87b0243ec79378d325a725650.

* added options for gammaInput and gammaOutput

* added storage for gammaInput and gammaOutput

* added gammaInOut values to json export

* further adds

added gammaInOutput options to the app and fixed them not loading on
page reload

* dang that was wrong
thmasn 9 жил өмнө
parent
commit
aa078fa2fd

+ 3 - 0
editor/js/Config.js

@@ -11,6 +11,9 @@ var Config = function ( name ) {
 		'project/renderer': 'WebGLRenderer',
 		'project/renderer/antialias': true,
 		'project/renderer/shadows': true,
+		'project/renderer/softShadows': false,
+		'project/renderer/gammaInput': false,
+		'project/renderer/gammaOutput': false,
 		'project/editable': false,
 		'project/vr': false,
 

+ 2 - 0
editor/js/Editor.js

@@ -486,6 +486,8 @@ Editor.prototype = {
 			project: {
 				shadows: this.config.getKey( 'project/renderer/shadows' ),
 				editable: this.config.getKey( 'project/editable' ),
+				gammaInput: this.config.getKey( 'project/renderer/gammaInput' ),
+				gammaOutput: this.config.getKey( 'project/renderer/gammaOutput' ),
 				vr: this.config.getKey( 'project/vr' )
 			},
 			camera: this.camera.toJSON(),

+ 27 - 6
editor/js/Sidebar.Project.js

@@ -67,7 +67,7 @@ Sidebar.Project = function ( editor ) {
 
 	} );
 	rendererPropertiesRow.add( rendererAntialias );
-
+	
 	// shadow
 
 	var rendererShadows = new UI.THREE.Boolean( config.getKey( 'project/renderer/shadows' ), 'shadows' ).onChange( function () {
@@ -80,6 +80,26 @@ Sidebar.Project = function ( editor ) {
 
 	container.add( rendererPropertiesRow );
 
+	//gamma input
+	
+	var rendererGammaInput = new UI.THREE.Boolean( config.getKey( 'project/renderer/gammaInput' ), 'gammaInput' ).onChange( function () {
+
+		config.setKey( 'project/renderer/gammaInput', this.getValue() );
+		updateRenderer();
+
+	} );
+	rendererPropertiesRow.add( rendererGammaInput );
+	
+	//gamma output
+	
+	var rendererGammaOutput = new UI.THREE.Boolean( config.getKey( 'project/renderer/gammaOutput' ), 'gammaOutput' ).onChange( function () {
+
+		config.setKey( 'project/renderer/gammaOutput', this.getValue() );
+		updateRenderer();
+
+	} );
+	rendererPropertiesRow.add( rendererGammaOutput );
+	
 	// Editable
 
 	var editableRow = new UI.Row();
@@ -113,11 +133,11 @@ Sidebar.Project = function ( editor ) {
 
 	function updateRenderer() {
 
-		createRenderer( rendererType.getValue(), rendererAntialias.getValue(), rendererShadows.getValue() );
+		createRenderer( rendererType.getValue(), rendererAntialias.getValue(), rendererShadows.getValue(), rendererGammaInput.getValue(), rendererGammaOutput.getValue() );
 
 	}
 
-	function createRenderer( type, antialias, shadows ) {
+	function createRenderer( type, antialias, shadows, gammaIn, gammaOut ) {
 
 		if ( type === 'WebGLRenderer' && System.support.webgl === false ) {
 
@@ -127,8 +147,9 @@ Sidebar.Project = function ( editor ) {
 
 		rendererPropertiesRow.setDisplay( type === 'WebGLRenderer' ? '' : 'none' );
 
-		var renderer = new rendererTypes[ type ]( { antialias: antialias } );
-
+		var renderer = new rendererTypes[ type ]( { antialias: antialias} );
+		renderer.gammaInput = gammaIn;
+		renderer.gammaOutput = gammaOut;
 		if ( shadows && renderer.shadowMap ) {
 
 			renderer.shadowMap.enabled = true;
@@ -140,7 +161,7 @@ Sidebar.Project = function ( editor ) {
 
 	}
 
-	createRenderer( config.getKey( 'project/renderer' ), config.getKey( 'project/renderer/antialias' ), config.getKey( 'project/renderer/shadows' ) );
+	createRenderer( config.getKey( 'project/renderer' ), config.getKey( 'project/renderer/antialias' ), config.getKey( 'project/renderer/shadows' ), config.getKey( 'project/renderer/gammaInput' ), config.getKey( 'project/renderer/gammaOutput' ) );
 
 	return container;
 

+ 2 - 1
editor/js/libs/app.js

@@ -23,10 +23,11 @@ var APP = {
 		this.load = function ( json ) {
 
 			vr = json.project.vr;
-
 			renderer = new THREE.WebGLRenderer( { antialias: true } );
 			renderer.setClearColor( 0x000000 );
 			renderer.setPixelRatio( window.devicePixelRatio );
+			renderer.gammaInput = json.project.gammaInput;
+			renderer.gammaOutput = json.project.gammaOutput;
 
 			if ( json.project.shadows ) {