Comments (4)
I can imagine a possible use case is e.g. dirty skin where this is modelled as SSS/diffuse blended via subsurface_weight
. Then it would be less convenient if the base_color
map had to have the subsurface_weight
blending baked in to account for this, than just feeding in the skin texture and a dirt texture.
This seems less common though than using the same map for both. Ideally it would use the base_color
by default but optionally be independent, though this would require adding a checkbox.
from openpbr.
@brechtvl wrote:
I also can imagine a motivation for this, but at the same time I do not remember seeing good examples where someone painted or captured separate texture maps and it was convincingly better. They may well exist, I was mainly wondering if there were known good examples of that.
Perhaps related to this is that only the subsurface weight and radius at the light exit point is taken into account, while if they are zero at the light entry point you probably don't want that color to bleed to other parts of the surface. Separate texture maps could help compensate for this. I had something automatic for this in a point based SSS implementation long ago, but it's difficult with ray tracing and I'm not sure how valid it was.
from openpbr.
@peterkutz wrote:
We had planned to get rid of the distinct subsurface_color and use just base_color, partially because of an implementation quirk, and partially because nearly always the same texture map was connected to both. But maybe it is common to have separate texture maps for these for some users?
Yeah, we had the same question. The main idea was that people might use diffuse and SSS together for skin and might want two different colors. It seems potentially confusing that the base color is shared across diffuse and metal but nothing else.
from openpbr.
This seems like it could be closed, as in practice we are not going to merge the two colors (at least in the near term). Also it seems it's not clear whether doing that would be an improvement necessarily.
from openpbr.
Related Issues (20)
- Merge specular_weight and specular_ior_level HOT 1
- Anisotropic roughness in MaterialX implemetation differs from the specification HOT 1
- Parameters related to volume shading have not been used in MaterialX implementation HOT 1
- Anisotropy direction parametrization HOT 26
- Update transmission in default example material
- Oren-Nayar roughness parametrization is not sufficiently clear HOT 5
- Proposal: Fuzz/sheen can darken as well as lighten HOT 3
- Visual discontinuity at `transmission_depth` of zero HOT 8
- Minor errors in Glossy-Diffuse section
- subsurface weight has incorrect uifolder HOT 1
- Add formula for the average albedo of the F82-tint model HOT 2
- Proposal/Request: Decouple coat roughness from transmission/refraction HOT 4
- Default value of transmission_dispersion_abbe_number is not between uisoftmin and uisoftmax HOT 2
- Layer inconsistencies between the whitepaper and the reference implementation HOT 3
- Proposal: dual specular roughness sliders with mix HOT 3
- Proposal: Remove uifolder prefix from uiname strings HOT 2
- Coat and Fuzz parameter order inconsistent between specification and reference implementation HOT 2
- Specular weight > 1 can cause energy gain in metals, and NaNs in dielectrics HOT 4
- Suggest Hoffman approximations for Fresnel factor of metal under coat/film
- Give an explicit suggested formula for fuzz base-roughening
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openpbr.