Author Topic: Phong tag doesn't work when using SSS  (Read 4174 times)

2017-05-02, 04:46:13

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
Hello guys.
I'm trying to use SSS but it's impossible to have a smooth surface in a low poly model. If I'm not planning to use Subdivision in a high level, all the polygons are visible, which is bad.

Scene file: www.samurai.cc/downloads/SSS_phong_problem_corona.c4d

I put 4 dummies just to compare the results with and without Subdivision.
The first 2 dummies have SSS and we can see the problem related.

How can I make Phong work properly when using SSS?

Build timestamp: Apr 12 2017 18:43:19
Version: A6.3  (core 1.5 )
Cinema version: CINEMA 4D Studio R18.041 S

Thanks

2017-05-02, 06:01:31
Reply #1

Cinemike

  • Active Users
  • **
  • Posts: 909
    • View Profile

2017-05-02, 06:20:00
Reply #2

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
I found this one in the helpdesk for 3dsmax, maybe it can help you.

https://coronarenderer.freshdesk.com/support/solutions/articles/12000012390-my-sss-objects-are-faceted-

That article is very usefull.

I've tried SSS + Translucency and the resulty is slightly better, although the SSS is less precise with translucency than refraction.

Thanks

2017-05-02, 13:43:47
Reply #3

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1513
  • Cestmir Houska
    • View Profile
Well, as the helpdesk article says - you should have more detailed geometry. SSS is such a complex effect that it is not possible to fake the smooth geometry the same way as it is done with surface interactions. Simply smoothing the normal is not enough, because the SSS highlights the edges of the geometry regardless of the surface normals. Similar effect could actually be seen with AO and concave faceted geometry - in that case you also couldn't just use Phong tag to fix it...

2017-05-02, 22:22:16
Reply #4

burnin

  • Active Users
  • **
  • Posts: 1386
    • View Profile
+ a Tip
SSS is VOLUME based - without other surface elements or properties (shaders, materials, fine textures, normals...) can be artistically considered & used as a homogeneous volumetric shader (ie. fog ;)


2017-05-03, 01:03:23
Reply #5

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
Well, as the helpdesk article says - you should have more detailed geometry. SSS is such a complex effect that it is not possible to fake the smooth geometry the same way as it is done with surface interactions. Simply smoothing the normal is not enough, because the SSS highlights the edges of the geometry regardless of the surface normals. Similar effect could actually be seen with AO and concave faceted geometry - in that case you also couldn't just use Phong tag to fix it...

Thank you for reply.

I wonder if Corona could implement a little biased feature, just to avoid us to have to deal with real world problems inside a fake world, which CGI is actually.

2017-05-03, 11:20:43
Reply #6

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1513
  • Cestmir Houska
    • View Profile
Well, as the helpdesk article says - you should have more detailed geometry. SSS is such a complex effect that it is not possible to fake the smooth geometry the same way as it is done with surface interactions. Simply smoothing the normal is not enough, because the SSS highlights the edges of the geometry regardless of the surface normals. Similar effect could actually be seen with AO and concave faceted geometry - in that case you also couldn't just use Phong tag to fix it...

Thank you for reply.

I wonder if Corona could implement a little biased feature, just to avoid us to have to deal with real world problems inside a fake world, which CGI is actually.

First of all, such a change would require a change to the rendering core and it would not be trivial, since what it would have to do would be to subtract some portion of light that is comming through the edge to make the highlight on the edge disappear. This would probably be done by somehow calculating the incoming light from the surface by simulating a uniform lighting from all directions and then subtracting this contribution from the final render (actually you could do this yourself with a special light and a separate render pass). But then again - isn't this contribution what you actually want to simulate using SSS in the first place? So how to differentiate between wanted and unwanted scattered light? You see that to solve this problem would require a lot of code and a lot of UI elements to setup the parameters, since the default ones would not suit everyone.

While I understand your rationale, it's against the very philosophy of Corona to introduce fakes like this. Corona tries to be as realistic as possible and avoid unnecessary tweaks that you have to manually set up in the UI. Imagine if Corona added this fake. Then most of the people would want it off, because it would cause their images of cubes (for example) with SSS incorrect by destroying the highlights. Some of them would turn this on and forget about it and then complain that the rendering is incorrect. Those that would really want it on like you would be confused by the number of parameters that the fakewould have and in the end the result might not even be what you expect it to be...

I hope you see now why it's improbable that this would be "fixed" by any fake in close future.

2017-05-03, 14:55:54
Reply #7

danielsian

  • Active Users
  • **
  • Posts: 100
    • View Profile
    • Portfolio
I agree with your point of view, Houska.
That's make sense when we think about the philosophy of Corona, like you said.

Thanks for your time and explanation.

2022-06-13, 21:10:11
Reply #8

Mac3DX

  • Active Users
  • **
  • Posts: 78
    • View Profile
Glad to find this information, and it seems to be working the same way.