|Anonymous | Login | Signup for a new account||2013-05-18 17:00 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000790||LuxRender||Core||public||2010-06-04 03:27||2010-11-10 04:36|
|Target Version||0.8RC1||Fixed in Version||0.7.1|
|Summary||0000790: mattetranslucent behaving "problematic" and wrong|
|Description||Statement: mattetranslucent should by default apply as material for eg normal uncoated paper. Mattetranslucent as it is now does not suit this req.|
more details and an example:
1. mattetranslucent as it is now tends to burn out pretty fast in exposed areas (despite r+t <= 1)
2. materials with high transmission requires low reflection. Esspecially with textures this results in a dirty, greyish reflection of the matte part in shadowy areas.
As a result: gettign mattetranslucent right and balancing r and t is close to impossible with increasing t for anythign that is NOT in front of a light source. This becomes worse with a texture channel applied to both.
- drop the r+t rule, but hardcode it dependant on amount of light passing through a mattetranslcuent object
|Additional Information||newbie explanation:|
Take paper for example. 100g normal white uncoated paper is by default mattetranslucent. Laying flat on a surface, that paper is 100% reflection and 0% transmission. As a result one could choose eg 95% white matte instead.
Take the very same paper to the edge of the table and have a light shine through from below. One part of the paper is at app. 80% transmission now (where the light shines through), the other part at 0% transmission (the part flat on the table). The area between both parts would be blended towards the 0% transmission (light leaking from the transmission part over).
What do I want to tell by that example?
- I dont know how mattetranslucent is defined in a technical sense
- as a user for a material I would expect that transmission and reflection is based on amount of light passing through. Solid surface behind the mattetranslucent material=100% reflection channel and 0% transmission channel, at increasing amounts of light passign through, the transmission increases and reflection decreases.
mattetranslucent - how I would expect it:
- defined as it is now, except both channeles are made as 100% (without the r+t <=1 rule)
- add another channel: transmission amount eg in percent, ranging 0 - 1
Example for the "real newbie-mattetranslucent" for one pixel:
x% of light passing through, eg indirect light passing through our paper from somewhere (however this can be measured - I am the newbie)
Property of our pixel material in that situation:
transmission=(transmission amount)* (x%) * (transmission color)
reflection=(1-(transmission amount)* (x%))*(reflection color)
|Tags||No tags attached.|
|Mercurial Changeset #|
|Requires Documentation Update||No|
|Requires Exporter Update|
- setting r=0 (true black) on mattetranslucent and mixing it with another material eases the problem slightly but doesnt eliminate the base problem.
Actually there are 2 use cases with mattetranslucent: volume or sheet surfaces.
For sheet surfaces I think it makes sense to keep current behaviour and just scale down colors if the sum is above one.
For volume surfaces I think it'd make more sense to just define the reflection color and let all the remaining light go through and be absorbed (maybe keep a transmission value that would multiply this remainder).
Sheet surfaces - agreed
Volume surface - there are sufficient mattetranslucent materials with similar reflection, but heavily differing translucency. Can those be handled by that volume surface?
|Translucency is a result of absorption, so I'd say yes. You can attach volumetric properties to an object with a mattetranslucent material.|
|A new option "bool energyconserving" allows to switch to a new behaviour where the transmission is multiplied by (1-reflection).|
|2010-06-04 03:27||heretic||New Issue|
|2010-06-04 03:44||heretic||Note Added: 0002239|
|2010-06-06 01:51||jeanphi||Note Added: 0002246|
|2010-06-06 02:50||heretic||Note Added: 0002249|
|2010-06-06 13:57||jeanphi||Note Added: 0002252|
|2010-06-06 14:07||jeanphi||Target Version||=> 0.8RC1|
|2010-08-08 11:44||jeanphi||Assigned To||=> jeanphi|
|2010-08-08 11:44||jeanphi||Status||new => assigned|
|2010-09-04 08:31||jeanphi||Requires Documentation Update||=> No|
|2010-09-04 08:31||jeanphi||Note Added: 0002351|
|2010-09-04 08:31||jeanphi||Status||assigned => resolved|
|2010-09-04 08:31||jeanphi||Resolution||open => fixed|
|2010-11-10 04:34||jeanphi||Fixed in Version||=> 0.7.1|
|2010-11-10 04:36||jeanphi||Status||resolved => closed|
|Copyright © 2000 - 2012 MantisBT Group|