| Anonymous | Login | Signup for a new account | 2013-06-18 13:56 PDT | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0001195 | LuxRender | Core | public | 2012-01-26 05:29 | 2012-07-26 17:51 | ||||
| Reporter | commorancy | ||||||||
| Assigned To | |||||||||
| Priority | normal | Severity | feature | Reproducibility | always | ||||
| Status | closed | Resolution | won't fix | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | 0.8 | ||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0001195: Shaders need ambient or glow feature | ||||||||
| Description | There are times where 255 Diffuse value is not enough to satisfy the brightness of an object within a scene and doesn't sufficiently brighten an object. It's also overkill to convert the mesh into an light source object. In fact, you don't want or need the object producing visible light or shadows. But, you do need the object to be brighter within the scene. Other rendering packages consider this 'glow' or 'ambient' that you apply as part of the shader, but doesn't produce visible light or shadows. Think of it as how much existing light the object reflects back towards the camera. So, if an object reflects 100% of the light back at the viewer, it would be considered a bright object (100% white if 255/255/255). If it reflects 0%, it would be consider a dark object. But, it doesn't make the object a light source. Note, the ambient value should contain three settings (brightness, color and a strength map). There are objects where this feature is necessary. Specifically, fingernails, toenails and sclera (whites of the eyes). Without an ambient value on the shader, these objects always appear dark, dull and unnatural. This can also be useful on some types of metal (specifically shined silver, platinum and mercury). Other types of objects that can use this feature are balloons, flower petals and plant leaves. So, there are plenty of use cases where an ambient value is extremely useful for making scenes appear much more realistic. Please add ambient to at least the glossy shader, but it should probably be added to all of the shader types. | ||||||||
| Tags | No tags attached. | ||||||||
| Mercurial Changeset # | |||||||||
| Requires Documentation Update | No | ||||||||
| Requires Exporter Update | |||||||||
| Attached Files | |||||||||
Notes |
|
|
(0003332) SATtva (developer) 2012-01-26 05:48 |
Albedo (reflectance) is a physical property -- any material reflects a given proportion of light (and there are no natural material with 100% reflectance, this is pure nonsense). The *visual perception* of this brightness is controlled through the tonemapping mechanism. Personally, i don't see how this proposed feature has any meaning for physically based renderer. |
|
(0003333) commorancy (reporter) 2012-01-26 06:12 |
Hi SATtva, So, you're stuck on the fact that I said 100% reflectance rather than understanding the use case? That's fine by me. It's up to you to decide what to do with it. And no, tonemapping doesn't cut it because tonemapping does the entire scene all at once and not individual objects within the scene. I can't specifically tell Lux to tonemap the eyes differently from something else other than through a shader. The shaders define the individual objects' properties, not the tonemapping. What you're saying is that I will always end up needing Photoshop at the end to fix the problems that Lux can't resolve internally. So, the question is, why would I want to use Lux at all? Also, this request has plenty of meaning for a physically based renderer, just as it does for ANY renderer. You can only approximate reality with a renderer, but light also does a lot of things that is not being approximated in Lux due to the limited nature of computational approximation. And that is the crux of the problem. So, you either extend Lux to approximate light better or you add to the shaders and let them do the work without trying to add tons of additional calculations. Or, you do nothing and people use other renderers. It's really up to you. Thanks. |
|
(0003334) commorancy (reporter) 2012-01-26 07:32 |
I should also point out one additional thing regarding shaders. Even if Lux is able to approximate light at 99.999% accuracy, if the built-in shaders can only approximate certain real-world objects at 80%-90% accuracy, after light is applied, then the best image you can ever hope achieve from Lux will only appear 80%-90% realistic. It's not the light approximation that's holding Lux back. It's the shaders. For some reason (and I'm not singling Lux out here), some developers don't seem to grasp this concept. In human reality, real world object surfaces are both subtle and complex. Distilling real world surfaces down to a single layer of diffuse, bump, displacement, specular, ambient, subsurface scattering, reflection, refraction, etc applied to an infinitesimally thin surface is simplistic at best. Since the shaders are supplied by the renderer, the limitations of the built-in shaders will, in turn, limit the final output quality. Thanks. |
|
(0003335) J the Ninja (developer) 2012-01-26 13:08 |
Fingernails, toenails, and sclera reflect less than 100% of the light in real life. What makes you think having them act as though they added energy (but somehow didn't) will somehow make them more realistic? Most of these kinds of issues revolve more around poor modeling or light setup than anything else. I'm looking at my fingernails and they don't seem to be sending off nearly as much light as the white wall near me at the moment. Imagine bright, clean snow. That is what 90% reflectance looks like. Imagine a clean sheet of paper in bright sunlight. That is what 80% reflectance looks like. You think eyes and fingernails need to somehow be more intense than that? In fact, there is something like this in the matte translucent material. If you disable the "energy conserving" option and set Kr and Kt to something that adds up to more than 1.0, you get a material the looks like its glowing. Except the problem is Lux is not designed for this, and it has a tendency to produce fireflies (mathematical errors, in other words) as a result. And yes, as a matter of fact you can just tone map the eyes. There is no requirement that you even tone map in Lux at all. That's what the export EXR option is for. Pretty much any commercial photograph will be tweaked in photoshop afterward to make it "larger than life". Why would you expect a render to be any different? |
|
(0003336) Lord Crc (administrator) 2012-01-26 15:20 edited on: 2012-01-26 15:31 |
Given your mention of "255" as max, I guess you use Daz with Reality. I suspect the main problem here might be the mapping that Reality performs to lux materials, which makes it hard for some of these more difficult cases. If you can use regular lux materials I would try using a mattetranslucent base with a glossycoating on top for fingernails. As noted the reflection coefficient for normal nails shouldn't be extreme, but for fake or painted nails you can come close to the max. For the sclera I think a plain glossy should be accurate. It seems the sclera has a reflection coefficient between 50-70% in the visible spectrum[1]. edit: Seems I was mistaken about how Reality did color mapping. From what I understand now, 255 = 1.0 for reflection coefficients. References: [1] http://www.bmo.uni-luebeck.de/fileadmin/vogel/Paper/Vogel+%201991%20Sclera%20LasersSurgMed.pdf [^] |
|
(0003337) commorancy (reporter) 2012-01-28 02:00 edited on: 2012-01-28 02:04 |
J, I never said fingernails, toenails and sclera reflect 100% light. And no, the lighting I am using is correct. The schlera and nails still don't work in the scene. So, no, I cannot correct for this problem by modifying the light source. If I try to correct by adding more light to the scene, I will wash everything else out. Also, please read what I write. What I did say was having ambient light capabilities added to a shader would allow for uses on these objects. I also said that if you do implement ambient values, then you should think of it as 0% to 100%. Clearly, you would likely never use 100% ambient on any object. Otherwise, you might as well make a light source out of it. However, when I use this technique, I add max 8-10% ambient to fingernails, toenails or sclera. Sometimes less, sometimes more. It depends on the scene and the surface maps being used. Note, nails are used in combination with other settings including opacity, translucency, image and bump maps and specular. In the end, they look far more realistic than anything I can get out of Lux. Schlera just needs to simply be brighter and that cannot be done with anything other than the shader itself. Look, I'm just trying to help make Lux a better product and it seems like you guys have a mindset set in stone that how it is now is how it is. That's fine if you want this renderer to be left in the dust before it even begins to get used. For now, Mental Ray is the leader and several others are not far behind these. While Lux has some decent capabilities, you're already hindering it by not being open to new features. All I needed to hear was a yes, no, or we'll consider it. I don't really need to get into a heated debate about how to render fingernails, toenails and sclera as I already know how to do this and quite well in fact, but not with Lux. Thanks. |
|
(0003338) SATtva (developer) 2012-01-28 02:51 edited on: 2012-01-28 02:53 |
There is a bunch of human images in the gallery [1], and i don't see anything wrong with fingernails or sclera on them. Lux is not a commercial renderer, implementation of any feature is paid with developers' spare time, so any proposal must be backed up with arguments (unless it has self-evident benefits... or unless you wish to provide a patch yourself). I just don't see how this feature could be helpful to the community and whether developers should spend their time implementing it for the sake of just one person rather than something more useful for the community as a whole. I'd say, if a user is unable to represent such a simple objects with the given material models, then it must be an implementation bug of these models rather than lack of an additional feature. (It's not to say Lux can *efficiently* simulate *any* material, but Lord Crc and J the Ninja already provided suggestions for your particular situation.) [1] http://www.luxrender.net/forum/gallery2.php?g2_itemId=359 [^] |
|
(0003339) Lord Crc (administrator) 2012-01-28 03:49 |
Since the goal of LuxRender is to be a physically based renderer, the chances of implementing such an obvious non-physical concept is low. Not just because it's against the spirit of LuxRender, but because the methods used in LuxRender assumes that physical laws such as conservation of energy holds. Adding non-light energy that will make those assumptions break down and can lead to really bad results. As JtheNinja mentioned you can get a feel for this by using the mattetranslucent material without the energy conservation enabled, you'd get a lot of really bright fireflies all over. |
|
(0003485) J the Ninja (developer) 2012-07-26 17:51 |
This is pretty simply not an unbiased rendering feature. In fact, even in renderers that DO have it, combining it with full GI is usually a bad idea, because the result just looks plain silly. Ambient is primarily to add back in light to make up for a lack of indirect lighting. This is not an issue in Lux, since all relevant indirect light will always be present, therefore there is no proper use case for it. Trying to use ambient glow to fix bad lighting is a HORRIBLE habit to get into. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2012-01-26 05:29 | commorancy | New Issue | |
| 2012-01-26 05:48 | SATtva | Note Added: 0003332 | |
| 2012-01-26 06:12 | commorancy | Note Added: 0003333 | |
| 2012-01-26 07:32 | commorancy | Note Added: 0003334 | |
| 2012-01-26 13:08 | J the Ninja | Note Added: 0003335 | |
| 2012-01-26 15:20 | Lord Crc | Note Added: 0003336 | |
| 2012-01-26 15:31 | Lord Crc | Note Edited: 0003336 | View Revisions |
| 2012-01-28 02:00 | commorancy | Note Added: 0003337 | |
| 2012-01-28 02:04 | commorancy | Note Edited: 0003337 | View Revisions |
| 2012-01-28 02:51 | SATtva | Note Added: 0003338 | |
| 2012-01-28 02:53 | SATtva | Note Edited: 0003338 | View Revisions |
| 2012-01-28 03:49 | Lord Crc | Note Added: 0003339 | |
| 2012-07-26 17:51 | J the Ninja | Requires Documentation Update | Yes => No |
| 2012-07-26 17:51 | J the Ninja | Note Added: 0003485 | |
| 2012-07-26 17:51 | J the Ninja | Status | new => closed |
| 2012-07-26 17:51 | J the Ninja | Resolution | open => won't fix |
| Copyright © 2000 - 2012 MantisBT Group |