The Future of Rendering
#GTC16 #OTOY #OctaneRender
OTOY Inc.
April 2016
Rendering in 2020: Looking ahead 5 years…
 Unbiased spectral path tracing - 16K/eye (90 deg.) HDR 240+ fps
 Live and cinematic IP, games, WYSIWYG social sandbox all converge
 ‘Holographic’ – VR, AR, MR, light fields -> mobile / volumetric / FV displays
 Cloud Rendering - hybrid adaptive live streams (web-like) vs. app/binary
 ‘GPU FTW’* – better and better rays/Watt on client + server (*until RT ASIC?)
2015 Recap
OTOY’s Mission:
 Practical digital holographic* content creation and publishing for everyone
*(Digital Hologram: 8D light field volume + depth + reflectance)
OCTANERENDER AND SPACE STATION 76
3
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
OCTANERENDER AND SPACE STATION 76
3.X
OCTANERENDER AND SPACE STATION 76
3.0
May 15th
3.0
OXR – Octane Film Buffer
 OXR – a file which stores a snapshot of the Octane film
buffer (it’s a subset of ORBX)
 Links and/or embeds to assets required to resume
rendering are included (not needed w/ ORC)
 All imager/post processing nodes work on film buffer,
not baked in OXR file
 ORC – import or export OXR film buffers. Key
requirement for commercial launch…
3.0
Deep Motion buffers (OXR)
 Deep Motion = multi-light for time/space
 Render @ 24 fps but output 240 frames per sec.
 Huge savings just in frame and scene load times...
 Essential for VR renders where 90 – 120 fps is baseline
– BTW Carmack says 300 fps!
 Can also be used to speed up stereo rendering
3.0
ORC – OctaneRender Cloud
 ORC is deeply integrated in Octane 3.0 and all 3.0
plug-ins going forward
 Cloud render is one a click away within Octane. Each
ORC render can pop open a web page to view
status/result.
 Delta synching – only changed assets are sent to ORC.
Huge savings in bandwidth vs. earlier workflows.
 ORBX/OCS versioning – ORC can roll back to a
previous snapshot sent to ORC.
3.0
ORC– Octane Live App Stream (experimental)
 Users can run Octane and ORC entirely from a browser
on any device – even on a plane w/ LTE hotspot:
3.0
ORC subscriptions
 Monthly subscription covers storage, I/O and other
overhead - $9.99/month (ORC Test Drive)
 Render credits based on GPU minutes (~40
OctaneBench).
 ORC jobs mapped into 20 GPU workloads (~800
OctaneBench) for best price/perf ratio in $9.99 buckets
 Load times+ export times minimized across nodes –
ORC is best for multi-frame or tiled rendering
3.0
ORC – 2016 roadmap
 Aiming for 50% more power per GPU minute once
service scales close to last year RTM numbers
 CPU jobs like OKX compression can run for free while
GPU is rendering next frame
 Adding more regions and many more providers over
the coming months…
 AWS, Azure, SoftLayer and OTOY LA (mini ORC region)
3.0
May launch overview
 May 15th Release of Octane 3.0 and ORC
 OR 2.x -> 3.0 = $49 upgrade ($399 for new licenses)
 ORC Test Drive = $9.99 (1000+ GPU render minutes)
 3.0 Plug-in updates in line with 2.x path
What’s next?
OCTANERENDER AND SPACE STATION 76
3.1
Alpha 3.1 build as of today…
3.1
CUDA cross compiler
 CUDA is an amazing GPGPU toolchain.
 We’re sticking with CUDA across all OTOY projects for
now
 We plan to target new platforms such as Android, OSX
and consoles through this unified codebase
3.1
CUDA cross compiler for non-GPUs
 CPU will be first backend we ship in 3.1 alpha – won’t
be fast (20 core Xeon < GK104 )
 thinking about outlier hardware options beyond GPU
and CPU…
 Each new GPU family/device we support requires 2-8
weeks of optimization work – including Pascal (next)
3.1
Octane Shader Compiler
 Part of larger compiler work being done at OTOY
 OSL is subset of Octane’s shader VM
 AOV shaders are in Octane but extensions to OSL are
needed to expose them fully…
 With 3.1 we are introducing API for any shader
language - with OSL. as default
3.1
Octane Shader Compiler
 We are working with NVIDIA on an MDL front end for
the Octane Shader Compiler
 Also exploring GLSL (would love to see shader toy
textures)
 On CPU we support both JIT and VM modes for
shaders to cover all platforms
3.1
ORBX native plug-ins
 Designed to keep Octane 3.1 features growing with
new 1st and 3rd party extensions for long time to come
 Limited only by what Octane C API exposes – but that
is a lot!
 ORBX plug-ins may be pulled in to Octane node
system like LiveDB materials –must be whitelisted.
3.1
ORBX native plug-ins
 ORBX plug-ins can be offered, sold or licensed
through otoy.com alongside OR and DCC plug-ins
 ORBX packager in 3.1 adds crypto, digital signing and
various lossless compression options for all ORBX
node types
 ORBX plug-ins can also be used in ORBX Media Player
3.1
ORBX plug-in ecosystem
 Scripting: looking at V8 plug-in for JS/LLVM script
nodes
 Textures: Substance Designer plug-in being developed
 Physics plug-ins for rigid, soft and fluid dynamics (e.g.
TFD)
3.1
ORBX Denoiser case study
 Atlus ORBX native WIP plug-in
 Hooked into OR film buffer system
 Needs it’s own GPU (3 GB+ VRAM)
 But results are really nice – even at 16 spp!
3.1
3.1
3.1
3.1
3.1
ORBX native plug-ins:
 Shader languages: OSL, MDL, GLSL et al
 Media/3D file handlers: glTF ( in place of FBX), CT
scans for medical data as volumes
 Widgets and UX extensions
 UDIM/PTEX plug-ins (implemented in some apps,
should be supported widely)
3.1
Native skinned meshes and bones
 Optimized character animation inside Octane for
dynamic characters
 Basis for new animated mesh types (other than .abc)
 Exploring glTF instead of FBX as it is more compact
and can also be supported in ORBX media player
3.1
Refinement of 3.0 features:
 New Displacement and Rounded Edges codebase
 Adaptive Sampling
 UX scene tools (proxies for audio, light field volumes,
and scene editing)
 Faster Mesh loading/compiling
What’s next?
OCTANERENDER AND SPACE STATION 76
engine
OctaneEngine
Major expansion of Octane ecosystem 
 OctaneEngine = Octane API refactored as ORBX
module + running as web/socket server
 Foundation for major features beyond 3.1
 Legacy app/plug-in model is starting to hold us back..
 OE will be subscription option in tandem w/ 3.1 box
licenses
OctaneEngine
Zero GPU mode
 Octane plug-ins will no longer require a GPU on local
machine – connect to OE server over LAN (or WAN on
high speed connection).
 Max, Maya and Blender 3.0 plug-ins pushed out until
now so we could include OE API support
 Speed is looking on par w/ local GPU over 1 Gbps
 OSX - MacPro (aging D700s), MacBook (no AMD/NV
GPU) et al.
OctaneEngine
New rental price points for artists, studios and pros
 $19.99/month – same features as Octane
standalone/network slave
 $9.99/month - Octane on up to 2x GPUs. Ideal for
students, smaller studios, or remote second license…
 OE Plug-ins (using new OE API) will be $9.99/month
 OE bundles/suites (e.g. 2, 3 or more plug-ins) priced at
$19.99/month
OctaneEngine
New Enterprise Plans (monthly pricing TBD)
 Network rendering - up to 200 GPUs via certified GPU
appliances w/ 10GE+ networking
 ORC in a box – create a virtual private ORC region
using your GPU appliances. All the features of the ORC
public cloud, but provisioned in your own DC.
 NVIDIA and other partners working on HW
certification path.
OctaneEngine
Asynchronous Render Graph API
 New API allows Octane to build node trees with
asynchronous I/O and queues – similar to ORC but
internalized in Octane node system in future OE
release.
 Simple use case: baking camera -> texture input of
light mapped mesh -> real time OR preview
 API for light field photon cache – could be used for
biased rendering shaders and plug-ins.
OctaneEngine
Collaborative Scene Graph API
 Allows multiple clients to connect to a single
OctaneEngine node and receive a unique viewport for
the current render target
 Changes in the scene graph can be handled by any
connected application through new OE API (under
development)
 Powerful framework for merging app workflows– e.g.
Motion Builder + Max +Nuke + Unreal Engine all
controlling and editing the same scene across LAN
OctaneEngine
WebSocket API
 OctaneEngine exposed as web service via WS/TCP and
UDP. This is coming to ORC down the line…
 Web desktop recreating Octane Standalone UI in
HTML5 –combined with OE web service, means no
need for standalone app.
 Services like Vizor.io and clara.io can tap into Octane
as a web service for live viewports or offline jobs
powered by ORC credits.
OctaneImager
OctaneImager
Compositing and post processing framework -> OE
 Independent filter and imaging SDK
 2D and deep pixel/deep motion effects – input for info
channels, mesh data as well as multiple beauty passes
layers and rendertarget groups
 Can be used for 2D media passes (e.g. OXR/EXR deep
images) independently of OctaneEngine
 Filters and NPR effects via Octane Shader Compiler
OctaneImager
OctaneImager
OctaneImager
Brigade - Towards Real Time Path Tracing…
Dynamic noise free rendering in Brigade ( ~3200 OctaneBench )
…vs. single 980 (~1/32 the GPU power @ 100 OctaneBench )…
Brigade - Towards Real Time path tracing at 120+ fps
Octane – Towards Real Time path tracing at highest quality…
OCTANERENDER AND SPACE STATION 76
1, 2, 3 …
2012-2016…
OCTANERENDER AND SPACE STATION 76
4
2017
OCTANERENDER AND SPACE STATION 76
4
+ Brigade 
4
 OctaneRender’s cinematic final frame quality
 Brigade’s speed
 Interactivity >= OpenGL / DirectX legacy pipeline
4
 Octane 4 integrates all of Brigade’s features to date
 Supported in all OE plug-ins – including final releases
of Unity/UE4 and Motion builder plug-ins
 Focus on next gen HW for much better speed
 Deeper APIs for game engines – especially UE4!
4
 Filtering + smart sampling to get noise free PT in real
time
 Mobile + Console backbends e.g. Android/Vulkan,
PSVR and iOS (key to VR/AER)
 Speed ups will be as impactful for offline rendering
 Much faster IES lights, point lights. Etc.
HAIR / FUR
Thank you!

OTOY Presentation - 2016 NVIDIA GPU Technology Conference - April 5 2016

  • 1.
    The Future ofRendering #GTC16 #OTOY #OctaneRender OTOY Inc. April 2016
  • 2.
    Rendering in 2020:Looking ahead 5 years…  Unbiased spectral path tracing - 16K/eye (90 deg.) HDR 240+ fps  Live and cinematic IP, games, WYSIWYG social sandbox all converge  ‘Holographic’ – VR, AR, MR, light fields -> mobile / volumetric / FV displays  Cloud Rendering - hybrid adaptive live streams (web-like) vs. app/binary  ‘GPU FTW’* – better and better rays/Watt on client + server (*until RT ASIC?)
  • 3.
  • 4.
    OTOY’s Mission:  Practicaldigital holographic* content creation and publishing for everyone *(Digital Hologram: 8D light field volume + depth + reflectance)
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
    OCTANERENDER AND SPACESTATION 76 3.X
  • 16.
    OCTANERENDER AND SPACESTATION 76 3.0 May 15th
  • 17.
    3.0 OXR – OctaneFilm Buffer  OXR – a file which stores a snapshot of the Octane film buffer (it’s a subset of ORBX)  Links and/or embeds to assets required to resume rendering are included (not needed w/ ORC)  All imager/post processing nodes work on film buffer, not baked in OXR file  ORC – import or export OXR film buffers. Key requirement for commercial launch…
  • 18.
    3.0 Deep Motion buffers(OXR)  Deep Motion = multi-light for time/space  Render @ 24 fps but output 240 frames per sec.  Huge savings just in frame and scene load times...  Essential for VR renders where 90 – 120 fps is baseline – BTW Carmack says 300 fps!  Can also be used to speed up stereo rendering
  • 19.
    3.0 ORC – OctaneRenderCloud  ORC is deeply integrated in Octane 3.0 and all 3.0 plug-ins going forward  Cloud render is one a click away within Octane. Each ORC render can pop open a web page to view status/result.  Delta synching – only changed assets are sent to ORC. Huge savings in bandwidth vs. earlier workflows.  ORBX/OCS versioning – ORC can roll back to a previous snapshot sent to ORC.
  • 20.
    3.0 ORC– Octane LiveApp Stream (experimental)  Users can run Octane and ORC entirely from a browser on any device – even on a plane w/ LTE hotspot:
  • 21.
    3.0 ORC subscriptions  Monthlysubscription covers storage, I/O and other overhead - $9.99/month (ORC Test Drive)  Render credits based on GPU minutes (~40 OctaneBench).  ORC jobs mapped into 20 GPU workloads (~800 OctaneBench) for best price/perf ratio in $9.99 buckets  Load times+ export times minimized across nodes – ORC is best for multi-frame or tiled rendering
  • 22.
    3.0 ORC – 2016roadmap  Aiming for 50% more power per GPU minute once service scales close to last year RTM numbers  CPU jobs like OKX compression can run for free while GPU is rendering next frame  Adding more regions and many more providers over the coming months…  AWS, Azure, SoftLayer and OTOY LA (mini ORC region)
  • 23.
    3.0 May launch overview May 15th Release of Octane 3.0 and ORC  OR 2.x -> 3.0 = $49 upgrade ($399 for new licenses)  ORC Test Drive = $9.99 (1000+ GPU render minutes)  3.0 Plug-in updates in line with 2.x path
  • 24.
  • 25.
    OCTANERENDER AND SPACESTATION 76 3.1
  • 26.
    Alpha 3.1 buildas of today…
  • 27.
    3.1 CUDA cross compiler CUDA is an amazing GPGPU toolchain.  We’re sticking with CUDA across all OTOY projects for now  We plan to target new platforms such as Android, OSX and consoles through this unified codebase
  • 28.
    3.1 CUDA cross compilerfor non-GPUs  CPU will be first backend we ship in 3.1 alpha – won’t be fast (20 core Xeon < GK104 )  thinking about outlier hardware options beyond GPU and CPU…  Each new GPU family/device we support requires 2-8 weeks of optimization work – including Pascal (next)
  • 29.
    3.1 Octane Shader Compiler Part of larger compiler work being done at OTOY  OSL is subset of Octane’s shader VM  AOV shaders are in Octane but extensions to OSL are needed to expose them fully…  With 3.1 we are introducing API for any shader language - with OSL. as default
  • 30.
    3.1 Octane Shader Compiler We are working with NVIDIA on an MDL front end for the Octane Shader Compiler  Also exploring GLSL (would love to see shader toy textures)  On CPU we support both JIT and VM modes for shaders to cover all platforms
  • 31.
    3.1 ORBX native plug-ins Designed to keep Octane 3.1 features growing with new 1st and 3rd party extensions for long time to come  Limited only by what Octane C API exposes – but that is a lot!  ORBX plug-ins may be pulled in to Octane node system like LiveDB materials –must be whitelisted.
  • 32.
    3.1 ORBX native plug-ins ORBX plug-ins can be offered, sold or licensed through otoy.com alongside OR and DCC plug-ins  ORBX packager in 3.1 adds crypto, digital signing and various lossless compression options for all ORBX node types  ORBX plug-ins can also be used in ORBX Media Player
  • 33.
    3.1 ORBX plug-in ecosystem Scripting: looking at V8 plug-in for JS/LLVM script nodes  Textures: Substance Designer plug-in being developed  Physics plug-ins for rigid, soft and fluid dynamics (e.g. TFD)
  • 34.
    3.1 ORBX Denoiser casestudy  Atlus ORBX native WIP plug-in  Hooked into OR film buffer system  Needs it’s own GPU (3 GB+ VRAM)  But results are really nice – even at 16 spp!
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
    3.1 ORBX native plug-ins: Shader languages: OSL, MDL, GLSL et al  Media/3D file handlers: glTF ( in place of FBX), CT scans for medical data as volumes  Widgets and UX extensions  UDIM/PTEX plug-ins (implemented in some apps, should be supported widely)
  • 40.
    3.1 Native skinned meshesand bones  Optimized character animation inside Octane for dynamic characters  Basis for new animated mesh types (other than .abc)  Exploring glTF instead of FBX as it is more compact and can also be supported in ORBX media player
  • 41.
    3.1 Refinement of 3.0features:  New Displacement and Rounded Edges codebase  Adaptive Sampling  UX scene tools (proxies for audio, light field volumes, and scene editing)  Faster Mesh loading/compiling
  • 42.
  • 43.
    OCTANERENDER AND SPACESTATION 76 engine
  • 44.
    OctaneEngine Major expansion ofOctane ecosystem   OctaneEngine = Octane API refactored as ORBX module + running as web/socket server  Foundation for major features beyond 3.1  Legacy app/plug-in model is starting to hold us back..  OE will be subscription option in tandem w/ 3.1 box licenses
  • 45.
    OctaneEngine Zero GPU mode Octane plug-ins will no longer require a GPU on local machine – connect to OE server over LAN (or WAN on high speed connection).  Max, Maya and Blender 3.0 plug-ins pushed out until now so we could include OE API support  Speed is looking on par w/ local GPU over 1 Gbps  OSX - MacPro (aging D700s), MacBook (no AMD/NV GPU) et al.
  • 46.
    OctaneEngine New rental pricepoints for artists, studios and pros  $19.99/month – same features as Octane standalone/network slave  $9.99/month - Octane on up to 2x GPUs. Ideal for students, smaller studios, or remote second license…  OE Plug-ins (using new OE API) will be $9.99/month  OE bundles/suites (e.g. 2, 3 or more plug-ins) priced at $19.99/month
  • 47.
    OctaneEngine New Enterprise Plans(monthly pricing TBD)  Network rendering - up to 200 GPUs via certified GPU appliances w/ 10GE+ networking  ORC in a box – create a virtual private ORC region using your GPU appliances. All the features of the ORC public cloud, but provisioned in your own DC.  NVIDIA and other partners working on HW certification path.
  • 48.
    OctaneEngine Asynchronous Render GraphAPI  New API allows Octane to build node trees with asynchronous I/O and queues – similar to ORC but internalized in Octane node system in future OE release.  Simple use case: baking camera -> texture input of light mapped mesh -> real time OR preview  API for light field photon cache – could be used for biased rendering shaders and plug-ins.
  • 49.
    OctaneEngine Collaborative Scene GraphAPI  Allows multiple clients to connect to a single OctaneEngine node and receive a unique viewport for the current render target  Changes in the scene graph can be handled by any connected application through new OE API (under development)  Powerful framework for merging app workflows– e.g. Motion Builder + Max +Nuke + Unreal Engine all controlling and editing the same scene across LAN
  • 50.
    OctaneEngine WebSocket API  OctaneEngineexposed as web service via WS/TCP and UDP. This is coming to ORC down the line…  Web desktop recreating Octane Standalone UI in HTML5 –combined with OE web service, means no need for standalone app.  Services like Vizor.io and clara.io can tap into Octane as a web service for live viewports or offline jobs powered by ORC credits.
  • 51.
  • 52.
    OctaneImager Compositing and postprocessing framework -> OE  Independent filter and imaging SDK  2D and deep pixel/deep motion effects – input for info channels, mesh data as well as multiple beauty passes layers and rendertarget groups  Can be used for 2D media passes (e.g. OXR/EXR deep images) independently of OctaneEngine  Filters and NPR effects via Octane Shader Compiler
  • 53.
  • 54.
  • 55.
  • 56.
    Brigade - TowardsReal Time Path Tracing…
  • 57.
    Dynamic noise freerendering in Brigade ( ~3200 OctaneBench )
  • 58.
    …vs. single 980(~1/32 the GPU power @ 100 OctaneBench )…
  • 59.
    Brigade - TowardsReal Time path tracing at 120+ fps
  • 60.
    Octane – TowardsReal Time path tracing at highest quality…
  • 61.
    OCTANERENDER AND SPACESTATION 76 1, 2, 3 … 2012-2016…
  • 62.
    OCTANERENDER AND SPACESTATION 76 4 2017
  • 63.
    OCTANERENDER AND SPACESTATION 76 4 + Brigade 
  • 64.
    4  OctaneRender’s cinematicfinal frame quality  Brigade’s speed  Interactivity >= OpenGL / DirectX legacy pipeline
  • 65.
    4  Octane 4integrates all of Brigade’s features to date  Supported in all OE plug-ins – including final releases of Unity/UE4 and Motion builder plug-ins  Focus on next gen HW for much better speed  Deeper APIs for game engines – especially UE4!
  • 66.
    4  Filtering +smart sampling to get noise free PT in real time  Mobile + Console backbends e.g. Android/Vulkan, PSVR and iOS (key to VR/AER)  Speed ups will be as impactful for offline rendering  Much faster IES lights, point lights. Etc.
  • 67.