Rendering Improvement


#1

I want to share a script that improve the rendering quality especialy in domains with PBR materials like one of my domains: impromedia .
You first must download this qml file:

http://transmissiongate.com/advrender.qml

Take care, when you download this file, Windows will add sometimes the .txt extension, so you will need to rename back the downloaded file as advrender.qml

Copy this file to

C:\Program Files\High Fidelity\scripts\developer\utilities\render\advrender.qml

Launch this tablet app script in Running Scripts/FROM URL:

https://transmissiongate.com/hifi/render.js

You will have a tablet app button called Render
Click on it:
Capture

Recomended settings (on my domain):

Tone Mapping Exposure: -0.13
Tone Mapping Curve drop-down, select: Filmic
Enable the check box for Bloom Effect 
and in the Bloom effect sliders chose something like:
Intensity: 1.00
Size: 0.81
Threshold: 0.00

I hope that in the near future will be able to access this settings by default (in the zone entity settings).

Enjoy!


Some interesting thing you can do with ToneMapping script
#2

Hi @GeorgeDeac. I’ve installed it, nice work! Thank you


#3

Just a note, Bloom is buggy in the current interface with AMD graphics cards and on some Macs but has been fixed in the next release.


#4

This is beautiful! I just saw some snaps taken in Help with this add-on. I would love to try it, but replacing qml files would make debugging difficult. Looking forward to a version where no files have to be replaced so that it can be enabled and disabled on the fly!

Also a note that it looks like it forgets your settings when you close and reopen the Render menu.


#5

Looks good. I think you might have run into the same problem I did when calling qml files from the web. I’m going to check my browser app, which Humble Tim helped me resolve, and see if the same can’t be implemented so you just need to call the JS file.


#6

Very interesting. Definitely something to support on the zone.


#7

Just as a head up, its becomming a zone property later on. @Alezia.Kurdis


#8

I would love to dream that not only bloom, but tone mapping as well can be configurable (!). This tone mapping thing makes the appearance in HF almost acceptable compared to the washed-out feeling normally I get when entering in HF.

Can I dream about this? Or does HF makes this script not working in next release?


#9

I suggested this on the meeting on friday. Would love to see zones that would have funky colors like in NMS


Color toning can also be used to create various moods like “Hot” or “Cold”


#10

Hey folks,

Just wanted to mention, as @Menithal discovered, that the bloom properties will be moved into first class zone properties in RC 73. Unfortunately, this will break that part of this tool. Sorry about that! But now you can add bloom to your zones properly :smiley:


#11

#12

We can look into exposing this too! For now, the tonemapping debug tool will continue to work.


#13

Why not exposing it as well? Maybe it will be not too difficult to expose them both, but if we missed the train now, we could not be able to see it for years … (I mean, not us the usual 5 old seasoned wise users, we already know about those hundreds little tricks)…

As our old parents taught us: “*Don’t put off until tomorrow what you can do today”

Image result for don't put off until tomorrow what you can do today


#14

Whereas bloom is a finished feature that had been fully scoped out, tonemapping is not something we’ve discussed exposing before. Personally, I’d like to see things like adaptive exposure and that would affect how it’s exposed. I’ll try to push for it!


#15

My main concern is that HF looks normally as a washed’out decolorized version of other virtual worlds. (I already wrote on this forum multiple times about that). And tonemapping is one thing that can adapt this to be more acceptable.
Blooming is just for refinement and it is much more technical.

Moreover it can be interesting to let it be modifiable via interface menu to enable people with slight sight impairements (I am one of those) to enjoy this better. So it is not just a frill, it is something HF should consider…

This is an example from Wikipedia: a good tonemapping can add a further 4D dimension on any “flat coloured” image. Talking about that, maybe in the future you can add some control to the tonemapping since now there are pre-defined 4 curves, but this is more science fiction right now :slight_smile:

SecondLife alone offered some good tonemapping like options in the viewers since 2012… See for instance:


#16

After some testing (thanks @Menithal @Thoys and @claudio.pacchiega for your interest on this topic), I’ve managed to use only JavaScript to enable some render options like bloom and tonal mapping.
You can use this script in the zone entity or on a collisionless invisible box:

(function(){
    this.enterEntity = function(entityID) {	

		//########## RENDERING SETTINGS ############
		Render.getConfig("RenderMainView").getConfig("Bloom").enabled = true;
		Render.getConfig("RenderMainView").getConfig("Bloom").intensity = 1;
		Render.getConfig("RenderMainView").getConfig("BloomThreshold").threshold = 0;
		Render.getConfig("RenderMainView").getConfig("Bloom").size = 0.7;
		Render.getConfig("RenderMainView").getConfig("ToneMapping").enable = true;
		Render.getConfig("RenderMainView").getConfig("ToneMapping").curve = 3;
		Render.getConfig("RenderMainView").getConfig("ToneMapping").exposure = -0.2;
	
	};
	this.leaveEntity = function(entityID) {	
			
		//############# RESTORE RENDER SETTINGS #############	
		Render.getConfig("RenderMainView").getConfig("Bloom").enabled = false;
		Render.getConfig("RenderMainView").getConfig("Bloom").intensity = 0;
		Render.getConfig("RenderMainView").getConfig("BloomThreshold").threshold = 1;
		Render.getConfig("RenderMainView").getConfig("Bloom").size = 0.25;
		Render.getConfig("RenderMainView").getConfig("ToneMapping").enable = true;
		Render.getConfig("RenderMainView").getConfig("ToneMapping").curve = 1;
		Render.getConfig("RenderMainView").getConfig("ToneMapping").exposure = 0;

	};
 })

You can play with this settings and values, to fit your visual need.

*** If you place this script on the zone entity, when the users leave your domain, the settings remain active on other domains too, until they restart the interface. I didn’t find a way to disable them when user leave your domain without leaving first your zone or the colissionless box.


SuperPowers for human scripters... The Render.getConfig(“XXXXXXXX”) kryptonite
#17

Thanks a lot for this scripting tip. It definitely is simpler to have it as a zone script so that people don’t need to install anything local or tweaks with their interface program… Hope they will allow to use these as standard values for zones in following releases: I’m lobbying for this :slight_smile:


#18

If I recall correctly there is also a setMap value for config that allows you to set multiple values in a single line


#19

This webgl demo demonstrates how having control of both bloom and tone mapping can dramatically increase the quality of our scenes. It’s fun to play with the values live like this.

https://threejs.org/examples/webgl_shaders_tonemapping.html


#20

impressive website :slight_smile: is cineon the same as cinema in HF?