Subdivision surface rendering

Newtek Lightwave 3D (exporter developed by holocube, Integrated Plugin developed by juanjgon)

Moderator: juanjgon

Post Reply
User avatar
scooternva
Licensed Customer
Posts: 88
Joined: Thu Jul 04, 2019 6:13 pm
Location: Suburban Washington DC
Contact:

I've gotten into subdivision surface modeling recently and am impressed with OctaneRender's Cattmull-Clark SDS support. I am confused by something though... these are stats from rendering my 9,857 polygon base model in Layout with the OctaneRender object tag settings shown below (all tests using Catmull-Clark SDS, edge-and-corner boundary interpolation, SDS sharpness 0.0, and a single-layer model that is 100% SDS):
  • Subdivision Level 1: 80,712 polys; peak memory 5.195 GB; 192 secs
  • Subdivision Level 2: 322,842 polys; peak memory 5.297 GB; 200 secs
  • Subdivision Level 3: 1.3 million polys; peak memory 5.540 GB; 207 secs
  • Subdivision Level 4: 5.2 million polys; peak memory 6.646 GB; 221 secs
  • Subdivision Level 5: 20.7 million polys; peak memory 30.2 GB; 240 secs
Peak memory rising with each SDS level, yup that's expected; you're keeping track of more polys at each level. The scene frames take longer to load as SDS level increases, and that's also expected; you're doing more and more computations to generate the SDS polys prior to rendering. But how is it that SDS level 5 (with 256 times the polys of SDS level 1) only takes 25% longer to actually render?

Honestly, even when the camera is right next to my model I can't spot any smoothing issues above level 3, and barely above level 2. If there really is such a low memory and time penalty for higher SDS levels (at least below level 4), why wouldn't I just leave the SDS at level 3? I'm just curious how it's possible that the renderer barely slows down between the intermediate SDS levels.
Octane 2020.2.3.1 | LightWave 2019.1.5 (3134) | Win10 Pro 19041.1052 | 2 x Gigabyte AORUS RTX 2080 Ti Xtreme w/NVLink | Gigabyte AORUS Xtreme X399 | AMD Ryzen 2950X | 64 GB RAM | SSDs: Samsung 970 PRO 512 GB + Seagate FireCuda 510 2 TB | blog.gammans.zone
User avatar
LightwaveGuru
Licensed Customer
Posts: 487
Joined: Wed Jun 25, 2014 9:34 am
Location: Germany
Contact:

Hi,

It is not the rendering that slows down, but the preparation of the objects and loading into the VRAM. Therefore. The fastest possible rendering can be achieved by freezing all objects into their corresponding sub patch level (no matter if sub division surface or catmull clark). This saves for each frame this process that otherwise octane must perform. so. find the right level beforehand and then render with the frozen models.

snip LWGuru
http://www.neotek.laboratories.de or http://www.youtube.com/c/Lightwaveguru or http://www.facebook.com/safarifx 4x Titan X 12 GB watercooled / 6x 2080 ti air cooled / 2x 980 ti watercooled
User avatar
scooternva
Licensed Customer
Posts: 88
Joined: Thu Jul 04, 2019 6:13 pm
Location: Suburban Washington DC
Contact:

Huh... I thought part of the whole reason for using SDS was that you didn't freeze your model, but instead selected the subdivision level you needed. Is dynamic SDS only really used for previz and while you're surfacing your models, and everyone freezes their models when they're finished?
Octane 2020.2.3.1 | LightWave 2019.1.5 (3134) | Win10 Pro 19041.1052 | 2 x Gigabyte AORUS RTX 2080 Ti Xtreme w/NVLink | Gigabyte AORUS Xtreme X399 | AMD Ryzen 2950X | 64 GB RAM | SSDs: Samsung 970 PRO 512 GB + Seagate FireCuda 510 2 TB | blog.gammans.zone
Post Reply

Return to “Lightwave 3D”