Aug 10–14 2014 / Vancouver http://s2014.siggraph.org/
Day 1: AUG 10 2014, SUNDAY
DAY 1 [1130..1230] nVidia see the big picture
- largest flat wall screen
- immersive displays
- MOSAIC with sync
- sync’s up to 4 gpus in workstations
- visbox, cave, quadro K5000 + 6000
- UHD USING CLUSTERS
- Quadro Sync
- 40 quadro sync cards in a cluster
- control via NVAPI
- control + monitor using NVWMI
- BARCO/Elimit
- not every surface is flat
- WARP + INTENSITY Adjustment API
- projection correction
- curved surfaces
- projection mapping
- projection mappping on to a one fifth scale physical car
- quadro features for high resolution display walls
- MOSAIC
- GPU direct 4
- 4K at 60Hz
- Warp + Intensity API
- NVAPI/NVWMI – promatically control driver, remotely control remote gpu
- From SD to 8K
- exponontial Pixel Growth
- from HD to 4K & Beyond
- 1080p
- UHD 4K – 3840×2160
- DCI 4K – 4096×2160
- DILA 4K – 4096×2400
- Driving ultra high res displays
- max single cable bandwithds
- DP
- version 1.2 upto 4k@60Hz
- version 1.1a upto 4K@30Hz
- HDMI
- 2.0
- DVI
- drive multi-displays
- independent desktops
- with MOSAIC
- one large desktop: 4K 16 monitors
- MOSAIC supported on NVS + quadro
- unified desktop up to 15 displayes
- “mosaic with sync” features
- seamless tear-free displays
- sli bridge K6000, K5000
- why is sync important?
- multi-gpu sync
- framelock
- stereo lock
- swap lock
- vertical sync
- framelock/genlock
- stereo lock
- swap buffers
- taking longer than 1/60 sec
- swap buffers in a cluster
- each nodes with different fps(60/30/15/10 fps)
- need a mechanism to ensure that each node will swap at the same time
- nvidia opengl extension (via nvapi)
- swap group and swap barrier
- swap group -> provides synchronizaiton multiple gpus in a sigle host
- swap barrier -> provides syncronization of gups accross multiple nodes
- use rj45
- what sync do
- sync multiple display
- coordinate buffer swaps
- align the scan out of multpile display, gpus systems
- maintain stereo alignment
- sync to an internal or external timing
- G-SYNC game monitors
- different approach -> tells display when to update
- instead of wait until vsync happens
- MOSAIC
- bezel and overlap correction
- NV-WARP – WARP + INTENSITY API
DAY 1 [0200,,..0300]
-
exchanging the material information
-
nvida mdl = material definition language
-
nvida ARC team
-
nvida iray
-
Iray Photoreal -> Iray interactive
-
nVidia UI composer
-
MDL usage example
- iray photoreal
-
nvidia iray
-
Iray 2014 Rendeing modes
- realtime – fast, 15pfs ~ 60 fps
- interactive – middle 20 fps ~ 2 fps
- photoreal – best, 10fps ~ min
-
traditional shading language part
- texturing => material definition => material implementation
-
new say
- MDL
- proedural programming language
- declarative material definition
- Renderer
- rasterizer
- raytracer
- pathtracer
- MDL
-
MDL is not a shading language
-
MDL
- materail
- surface: bsdf(scattering), emission(edf, emission) intensity
- volume: vdf scattering, scattering_coefficent, abosrption_coeffcient
- geometry: displacement, cutout_opacity, normal,
- backface
- ior, thin_walled
- materail
-
MDL: elemental distribution functions
- BSDF(bidirectional scattering distribution functions)
- EDF(emissive distribution functions)
- VDF(Volumen distribution functions)
-
distribution function combiner
- normalized mix, clamped mix, weighted layer
- fresnel layer, custom curve layer, measured curve layer
-
measured materials
- fast scan for believealbe material
- quantitative measurements for predictive rendering
- there is a device to measure the lights
-
AxF from X-Rite Spatially Varying (SV) BRDF
- Analytic material model
- measurement drives model parameters
- paper: Practical SVBRDF capture in the frequency domain, siggraph 2013
-
measured isotropic BRDF
- 3d data
- can be used as any other SBDF in MDL
- device to get light : radiant zemax imaging spheres device
-
Improving Dark Grazing Angles
-
procedural proramiming language
- pure, side-effect free functions with read-only render state
- texture lookup
- texture placement
- proedural textures
- Iray 2013: Built-in functions provide a flexible instruction set for runtime execution
- Iray 2014: fully programmable environment – clouded sky video
- Iray 2015: full programmability – without losing GPU acceleration
- pure, side-effect free functions with read-only render state
-
C-like language
-
additionals benefits of MDL
- physically-based materials are an easy-to-use paradigm
- supports modern rendering algorithms
- allows simple compilers and early optimizations
- enables fast rendrers, especially on parallel architectures
- GPU firendly
- supports material catalogs
-
Practical layered material example
- customer asked a “shader” to render realizstic cloth materials
- color changes and complex
- reference for requirement
- “a practical microcylinder appearance model for cloth rendering”, sig 2013, iman sadeghi
- usually this endes up complex, rendering engine dependent shader code
- core ideas from the paper
- if far, it’s not distinguishable
- cloth has complex anisotropic behavior
- threads are bent which creates secondary highlights
- warp and weft might be of different olors, -> complex color variation.. 90 vertical, 0 horizontal
- make it in MDL
- warp -> anisotropic glossy BSDF
- weft -> anisotropic
- warp + weft -> complex reflective behavior of cloth
- transluenccy
- the full material
- customer asked a “shader” to render realizstic cloth materials
-
just by using mdl, building blocks
- no more complex shader writing
- good building blocks
-
MDL in commercial products
- Iray for Maya
- mental ray
- Sketch up . bloom unit
- realistyServer BIM IQ
- UI composer
-
demo
- nvidia Iray viewer
- download
- nvidia Iray viewer
-
at the end of 2014
- mentalray will support iray
-
GREAT SESSION
- IT’S
-
supporting MDL
- MDL specification is publicically available
- MDL SDK => part of Iray SDK
- contailns compiler and optimizer
- Lightworks
- nvidia’s partenr in Iray and MDL on your application
- MDL specification is publicically available
-
www.nvidia-arc.com => Iray => MDL
- lightworks design booth #916
DAY 1 [0300..0430]
- BLENDER FOB, room 3 east hall
- 5 mil downloades, 1% active user => 50,000 active users?
- open source
- ILM – openexr, alembic
- pixar – opensubdiv
- sony – open shading/color/image
- disney – ptex
- blender foundation
- found in 2002 june
- hires 5 devs for support work
- handle donations and store incomes
Day 2: AUG 11 2014, MONDAY
DAY 2 [1000..1100]
- BOF First Steps in Large-Scale Rendering
- [susan(pixar, white blonde), xx(), xx, xx, xx, david(pixar 19 years)] panel
- pixar david, 19
- ruca, from cube
- ?? from singapore
- **, toonbox
- **, google, softare in pixar and animallogic
- susan: pixar global rendering
- Mark Hills
- David Laur
- [email protected]
- big farm problem
- selling softare for the small render farms
- growing your farm
- some caution
- hetro geneous workers
- HPC (high performance computing)
- very often it’s linux because of the
- multiple levels of caches in pixar render farm
- go for memory upgrade
- it’ll be better on IO node
- using farm for computing, processing, simiulation, general purposes
- 95% is rendering in pixar -> because of the GI
- 5% is simulation, using all IO
- segement the pool
- remote rendering
- route the low IO
- desktop is high end gpus
- linux =>
- who’s doing GPU based the farm stuff
- use GPU based farm
- one frame per core
- 4G per slot -> number of thread
- bottle neck -> droppping
- finding the sweat shop
- killing the machine
- keeping the tap on the production
- multiple layers of controls
- most of the queueing
- multipile jobs coming in a smaller scope
- 8 years ago, hope, multithreaded
- the realizity -> it’s not scale
- 24 core machines into 6-8 blocks
- different versions and renders
- 60% utilization=> cpu
- threading control
- 70-80%
- always battle with cpu utilization with the vray settings
- renderman, arnold
- licensing ->
- 1 license per machine -> tanking with jobs in one machine
- rendering in the cloud
- local farm busy
- during the spike -> send to the remote farm
- keep high io local
- pick the high io render
- how to pick high io???
- data transfer to the remote is an issue..
- make it fast to get it back and forth
- latency between the managed render service ??
- remote mounting from the
- traffic is
- syncing based file system
- asset management is structured.
- checking out in the cloud
- 10Mbit -> typical studio
- speed of the turn out
- 1Gbit -> at teast for studio
- i think we have 20G bit
- pixar -> centralized in house *
- small studio needs a turn key solution ???
- provision them remote
- sync or reupte
- upload mananged servcies -> recommended??
- upload the files through the web interface -> not good
- too slow
- managed service..don’t give you a lot of support, email that’s it
- cost of the administration
- configuration management software
- multithreading on the virtual machines
- provisioning the vm
- get the core.
- gareenteed the core, io -> provision
- nfs over the network -> latency and slowness, cache on vps
- get the core.
- is it a nfs, real solution??
- segarate the traffic -> read from textrue, write to other file
- traffic graph -> on the farm mount, know right away which file system is saturating the network
- nfs
- solution for the small company,
- caching and latency
- capital expance vs operation cost -> tax credit, decision where to go
- financial advantage,, not only technical values
- shortlist of priorities *
- software tagging on the worker
- scripts needed for rendring
- how to wrap around?
- send all render as an one big script?
- wrapper script, lock
- artists setup and the farm
- design and the pipeline
- opensource scheuler ??
- 2 yeras ago -> liek 10
- opendrag,,
- good reference
- best support of the vendors of the queuing software
- amazon mka
DAY 2 [0530..0700]
- threading
- threading => intel tbb: use it all of them
- openmp
- c++ thread
- boost threadin
- problems
- standarize tbb
- pixar’s system => presto
- the reality is
- use tbb
- multithread vfx
- multhreading and vfx .com
- get the contact information
- using tbb ->
- anyone using tbb
- in gaming company, are using tbb on multiple gaming project
- platform specific apis
- internal framework wrapper
- os differences
- how do you finetuning betwen the different flatforms
- follow the least constraints
- what’s your targets? -> 4 cores?
- job based, use core until the jobs done
- until the stop is locked
- game
- do you know anything that will scale to?
- 12 or 16 cores?
- why not tbb?
- openmp is easier
- tbb, not good for length
- microsft tpl -> we use opensource
- c++ standard will have something similar
- similar to c++ 0x
- jame from intel
- a few thoughts from intel’s perspective
- true industry implementations
- open cl, openmp port io,
- standard is slow
- tbb or current collections?
- 2007 -> tbb, filling the gaps
- lambda in c++11
- gpu computing
- cuda vs opencl
- sebastian from nvida
- 4 categories of reasons to use gpu computing
- hardware: unified virtual memory. get the variables, fully debuggerable hardware.
- tools do debug memory,
- profiling
- collection of libs
- threast?, has cpu fall back
- optics lib, raytracing on the gpu
- what’s holiding up?
- industry standards? -> monopoly
- how serious
- sweat spot?
- highly unpredictable
- why not use gpu?
- unified memory -> mem and gpu ram
- like to debug.
- gpu = 100x of cpu
- honest pair cpu vs gpu: 5 to 10x
- rasment in disney animation studio
- gpu 2x4x speed up
- real optimzation on cpu
- got 20 to 30x in the cpu
- real problem not doing much of gpu
- volitability of the environment, hardware and display driver
- was painful 2-3 years on linux
- design algorith that can scale
- 10 of 1000s of threads
- why not use cuda?
- code maint cost
- design first on cpu
- weta digital
- just optimizing and profiles
- gpu 2x4x speed up
- really goes down to standard platform
- standard c++, opencl, tbb
- cuda is getting mature
- larger data set -> 28G ram
- need a bigger memory
- trying
- 10G memory footprint on window.
- gpu with 24G ram
- why do we need gpu?
- care about the energy efficiency?
- data center cooling problmes
- battery hot, cooling
- performace and cooling?
- power distribution in the data center
- DOE, exso scale comuting
- 1000 cores -> parallel programming
- what goes inside of the cpu
- energy efficient -> time efficient
- avoid moving the data around
- optimizing the data movement
- main memory vs cpu or gpu
- data movment within the chip, l1, l2 and registers
- triple nested for loop to pass the asignment ->
- intel xxx using what/
- assignment from the code
- intel vtune amp -> cpu and memory bandwith per socket
- mpc : layer upon layer *
- autodesk maya animation
- 95%
- using tbb
- dreamworks session -> two way to improve
- graph level parallism =>
- node level parallism =>
- motion builder -> make it past?
- threading at the beginning
- internal scheduler
- thread classes
- split and runnign as they want
- story tool
- not happy with the speed
- optimize the speed
- autodesk to dreamworks
- dreamworks prima
- built from scratch
- 20 years old
- thread safe
- keeping it thread safe
- whole lot of unit test
- threading bug in the code
- you can fix it
- used tbb a lot -> hitting some limitations
- intel new thing -> sbb(vecotrization)
- check it out after siggraph
DAY 3: AUG 12 2014, TUESDAY
TUESDAY 0945..1045
- amd
- mantle
- new low level programming interface for windows pc
- designed in collaboration with top game developers
- lightweight driver that allows direct access to GPU
- good for big game: battlefield 4
- mantle benefits
- higher graphics performance
- empowering lower spec system
- predictable performance behaviour
- sharing optimizations between PCs and game consoles
- new rendering techniques
- more flexible, can be used on other gpu like intel and nvidia
- why a new api?
- success of the GCN architcture
- uniform d
- many collaboration with gaming industry and AMD
- not a replacement for industry-standard API like DirectX or OpenGL
- success of the GCN architcture
- the small batch problem
- draw calls are generated by the CPU to create work for the GPU
- too many draw calls can make a system CPU-limited, leaving GPU under-utilized
- batchig many objects into a single draw call adds code complexity and constrains artists
- 3-5K draw calls
- 10K draw calls
- draw calls possible with heavy optimizations
- 100K+ -> draw call target with mantle, 60fps
- multi-threading
- BEFORE
- multi-threading gmae engines using directx and opengl
- cpu0 -> game
- cpu1 -> render
- cpu2 -> dirver render
- doesn’t scale beyond 2-3 cores
- latency limits performance
- driver thread often boecomes a bottleneck
- AFTER
- with mantle
- cpu0 -> game
- cpu1 -> render
- cpu2 -> render
- .. cpu5 -> render
- scale linearly with number of cores
- minimal latency
- no driver thread overhead
- BEFORE
- MANTLE core features
- app-controlled execution model
- generalized resources
- monolithic pipelines
- fiexlible memory management
- page talbe remapping
- hybrid resource binding model
- bindless -> huge in next
- MANDTLE extended features
- advanced flow control
- advanced anti-aliasing functions
- multi-device support
- asynchronous compute
- prog graphics application potential to use mantle
- graphics api overhead
- large/complex cad & DCC models consist of many individual assemblies, not easy or in many cases
- AEC models of complex
- Mantle reduces API overhead, avoiding inefficient state changes between those
- multi-threading
- CAD
- memory management
- cloud/vdi solutions may require more efficient use of graphics memory, partitioning, allocation,etc
- mantle can provide
- fast syncronization between compute eigne and graphic engines
- drive optimizations
- avoid driver bottlenects
- dumb driver
- data transfer control over PCIE
- optimzations
- optimize shader code to gain performance
- use highly optimized code for specific
- vertical market segments where mantle can help
- cad, medical
- to get the evaulation copy of firepro mantle driver
- [email protected]
- firepro developer sdk
- http://developer.amd.com/tools-and-sdks/graphics-development/firepro-sdk
- intel is approaching to them
- graphics api overhead
- ACTION ITEM
- needs a slide
- it’s a replacement of opengl or directx
- will it be good? not sure
TUESDAY 1100..1200
-
maya
- what’s new in maya 2015 ext 1
- could import with dropbox a 123?
- openubdiv surface
- alembic
- biforost -> prt
- xgen
- rendering
- vp2.0
- color management
- maya hardware can be saved as exr
-
retopology options
- auto and guided retopology – mudbox
- cloud integration: reality capture data <- maya 2015 ext 1
- gpu caching
- data exchanging
- maya quad draw -> manual retopology
-
MAYA 2015 new modeling toolkit
- Mesh Editing Tools:
- Target Weld
- Mesh Editing Tools:
-
new boolean
- will give you cut and uv will be there too
- gemoetry + texture
-
new reduce tool
- looks good, poly reduction
- make nice clean geometry
- some triangles, ngons quad -> click quad draw tool in modeling tools
- hit magnet tool
- and use quad draw
-
how to clean the dense scan model data
-
file -> send to unity, send to unreal
-
file -> game exporter
-
fbx review tool: free download
-
file -> cloud import/export => a360, 123D, dropbox
-
pipleline cache -> gpu ahe export -> exported to alembic
-
grab mesh
-
use magnet tool
-
quad draw tool
-
dragging and draw the quads
-
remeshing the surface
-
relax tool
-
soft seletion
-
sticking to the original surface
-
transfer map option
-
look at uv first
-
-
new uv editor
- plannar mapping
- grab edge of the head
- cut and open up the head
- fenecing
- unfold3dunfold
- unfold3d optimize
-
supports ptex file
-
ACTION ITEM
- get the slide
- trynew modeling tool
- ptex
- try export to alembic
TUESDAY 1230..0130
- OSL open shading language from sony image works
- more renderers and apps
- released OSL 1.5
- reparameter (enables lookdev tools)
- shadergroup – specific attributes
- per-group renderer output
- re
- featured change: group pickling
- send the param as a string
- serilized a shader group
- archive a shaer group, inluding .oso file
- debugging
- benchmarking/ optimization target
- can be run with testshader or other tools – no renderer needed!
- on deck
- make it faster for SIMD-oriented renderers:
- output cuda kernels somehow
- optimized new usage cases
- ecosystem
pixar
- new version of renderman
- renderman RIS & OSL wayne wooten
- native ray trace renderer
- whats’ RIS?:
- integrators,
- VCM bi-directional path tracer
- BXDFs
- glass, skin, disney
- patterns
- osl, SeExpr, Texture, Voronoise
- SSS
- Why RIS?
- visual effects, 2014
- simplfy workflow
- fast feedback
- easy to use
- heavy gemoetry
- volumes & particles
- raytrace everything
- typical day at work
- check last night’s renders
- dailies
- breaks
- meetings/ coffee
- make it pretty(4h)
- launch nightly build
- 4-6 hours to get things done of your time
- OSL
- *** image from a wooden clock from carbon frame
- oak feeding Disney BXDF
- from Michel J. Anders
- carbon fiber feeding Blend BXDF
- from v0ray examples
- backdrop 1 line simpletex.osl
- OSL api is easy to use
- oak feeding Disney BXDF
- OSL UDIM Texture
- used in Mari
- stands for U-dimension
- UDIM(u,v) = 1000 + (10*u) + v + 1
- used in Mari
- OSL UDIM Texture
- written in c++
- OSL UDIM Texture
- original naive implementation was very slow
- vtune to the rescue
- threading took a hit( multi-thread usting)
- string manipulation was shlow
- what to do?
- bottleneck was OSL codebase
- discussed with Larry Gritz
- just under a week it ran fast
- original naive implementation was very slow
- OSL UDIM Texture
- open source really works
- Evaluation Results
- OSL pros
- feels ‘homey’ to RSL users
- targeted language and features
- avoids plugin versionitis
- OSL cons
- disngle point, lack of SIMD/coherence
- JIT time
- LLVM targets libm.so,
- OSL pros
OSL Gaffer
- John Haddon, imageengine
- What’s gaffer?
- applicationf framework for VFX
- node based
- open source (BSD)
- cortex,
- two birds
- gaffer -> lots of node, to manipulate scene hirerace
- none for deforming each objs
- need to allow
- play with OSL
- no renderer suppported it
- loading shaders
- search for shaders on env[“OSL_SHADER_PATHS”]
- build menu
- search for shaders on env[“OSL_SHADER_PATHS”]
- node graph
- executing shaders
- conver node network to OSL::shadingAttribState
- implement renderservices::get_attributes() to provide access to prim vars and image channels
- call shading system::execute() with fake shaderglobals
- convert colsurecolor result ack to prim vars and image channels
- abuse debug() closure
- noise
- show some demo
- further work
- UI implenetation
- optimisation
- using osl as a shading language
- image convolution/ edge access
- nei
- http://github.com/imageengine/gaffer
- general heckenberg? animal logic
- physically based renderman pipeline => with renderman
- very successful in 4-5 studios
- “lego movie”
- plastic -> lighting directions, specular lights
- retraining the renderer translator
- shader translation
TUESDAY 0200..0300
- BOF, alembic
- no major releases
- moved to github/alembic/alembic
- a little more collaboration
- focus on stability, optimization
- a few improvement, namespace support,
- slow dev now.
- will add hooks on importer and exporter
- doulbe precision issue
- game use abc becuase it contains more info than fbx
- ACTION ITEM
- check out github repo
TUESDAY 0300..0400
- vray: sig: vray day1: Digital Domain | Rendering Heavy Assets: X-Men’s RFK Stadium
- merged light cache
- only 1 gi compuattion for the whole sequence
- tree
- 400 individual trees
- billons of polygons
- 42 species,
- speed tree -> speedbridge => sent to DD pipeline
- lookdev done in maya and 7vray
- vray proxy -> full gemoetry -> vrayproxy
- super fast scene handling
- fast export and renders
Tehe RFK Stadium
- lidar scan to sue as modeling reference
- stadium size adjusted to fit over the whilehouse and match the live action
- 40k vs 60k seats
- main strcutre: concnreat
- small details: lights, air con boxes, pipies and seats
- split into 7 sections
- shading and textures applied to what’s in camera only
- keep the geo -> for gi calc
- blew shading and texture
- textures are from
- lookdev done in maya & vray
destroying everything, stadium
- stadium lifted by its metallic structure
- use of our deferred render pipieline to render the seat
- create a vrscene for a single seat -> one vrscene contains geo, mtl, tex
- massive open file format
- CDL rigging description
- APF aniamtion info
- render
- load vrscene ->
- landed stadium
- destoyed stadium modelling from FX drop simulation
-
- new faces created for the inside parts of the cube
- no uvs on the new faces
- first step ->
- rgb mask color set in the vrayproxy accessed via vrayvertexcolor node
- world space noise not “sticking” to the geometry
- adding ‘rest’ attribute as another color set
- noise mapped on the inside faces using rest color set as coordinate space
- deep images
- smoke coming out from houdini
- all renders done with vray
- breaking up was all done in houdini
- vgo
- tree -> proxy, geo proxy
- render at 2K or 3K
- using the external render time
- amazon ec2?
- rendering everything in house
- render with vrimage and convert to exr
- ACTION ITEM
- should apply on the farm
- one gi computation
- vrayproxy
- CDL, APF, vrscene
TUESDAY 0345..0445
- Gaffer: vfx
- kartick will go, i won’t
TUESDAY 0400..0500
- renderfarming
- file size -> use isilon
- cloud -> use managed service and set up the bandwidth
DAY 4: AUG 13 2014, WEDNESDAY
WEDNESDAY 0900..1000
- user case SVA AT NYC
- open pipeline
- priority
- render speed
- job frame count
- thesis prgoress
- submission time
- limit by the users
- improvement
- using shutgon
- monitoring student progress
- crunch time
- tracke
- pipelinefx -> cube
- they are using shotgun and cube
- future impromvemnt
- utilizae asset managmentment
- seamless progcessing
- better integration with shotgun
- work and render over chould services
- limit concurrent jobs per student
- assign individual render days for seniors
- show eta all the time
- how many threads per job
- hyperthreading
- utilizae asset managmentment
- render management software
- discussion points
- automation vs learning the manual way
- universal pipeline management system for education
- windows
- use AD to control user directory
- qube -> tag the job with your name
- qubeproxy user -> service
- how to define # of threads
- ACTION ITEM
- way to scale the job
- check out “open pipeline”
- check out the thread per job and hyperthreading
WEDNESDAY 1000..1100
- openscenegraph
- state of play : robert osfield
- all the stuff will be on the OSG website
- osg-3.2.1 stable release
- JMVP joint medical visualization project
- digital learning foundation -> go check the website
- volume rendering
- scripting
- osg ui
- using qt5
- improvements
- script support
- create custom widgets in lua
- create behaviours/callbacks in lua
- modifying scene graphi within lua
- complete user interface in lua
- osg-3.4 release plan
WEDNESDAY 1030..1130
- study on the cloud rendering
- guy from a montreal
- chris -> director of technology digital domain, 20 yeras,
- coal peterson -> business render
- -> studio cloud
- dave psoar -> softimage, autodesk, mentalray, ILM Rnd in light and rendering. in montreal
- daren gran -> consultant, CTO DD, CTO dreamworks animation
- dashboard and monitoring
- render farm -> squeze every dollar out
- becomes like a noise function
- visualization of the realtime data is really important
- IO, cpu, swap, thread
- loving islon
- next gen animaiton session ->
- creative iteration -> and fit them in budget
- human engineering
- cloud
- manager in the cloud
- all thing in the cloud?
- SAS ->
- overflow render workers
- amazon DWS
- performance issue?
- configuration nightmare
- studio cloud
- join AWS submit
- C-section
- new industry
- user interface of the future render farm
- web based is way to go
- open up
- concerned about the security
- they can’t see the name of the jobs from the other showss
- RESTapi
- control apis, browsers
- next gen ui customization -> web based
- commercial product
- are you happy customer?
- reporting, artists friendlyness,
- rendering 2D
- error reporting
- look up the log or python traceback
- different ui for different departments
- scheduling interesting in animal logic
- bulk of the jobs are rendering but processing
- singular of inhouse schedular
- optimization
- utilization? throwput?
- compute scheduling, render scheduling
- segarate all of your data
- connect the file
- gamifying the submission
- web view ->
- public shaming
- sprung and elastic search
- pixar -> john, susan fong,
- digital domain ->
- pipeline -> event driven
- rabbit mq
- using event backend and render management
- hooking up the scheduling based
- properl data coming in
- stats dat
- graphis
- gpu computing
- really great at gi computing -> beauty pass
- depends on the the projects
- evolve so fast
- problem with the driver
- nvidia open c??
- dedicate the
- very diverse
- dollar intensive
- low cost commotiy
- ACTION ITEM
- get the info about next gen animation sessionx
- join AWS submitt ->
- add security in the crazyq.. per projects, login based
WEDNESDAY 1130..0130
- exhibitions
WEDNESDAY 0130..0230
-
cg in usa + canada
- full sail university, winter park, florida
WEDNESDAY 0100..0200
- vray: method stuido
- transforer movie
- fx
- on volumentric elements simulated in houdini and rendered in vray
WEDNESDAY 0200..0300
- vray talk
- ILM, Jan, captain america
- using vray for katana
- vray – 3 years, gi-joe
- using render man for a while
- started doing alembic
- ACTION ITEM
- check out open image io
- https://sites.google.com/site/openimageio/home
WEDNESDAY 0300..0400
- vray talk
- scannline, 300
- 25 years in cg, 5 yrs in
- max and maya pipeline
- vray is a core, used since v1
- flowline => major scanline tool -> tightly integrated with vray
- scannline
- goes to custom vray shader
- 8K texrtures
- ??? exr
- change some of the animations
- vray shader out of box works well
- flowline -> watersolver, fluid solver,
- fire, smoke and water
- anything takes less than 12 hours in the farm
- questions
- reusing fx sim -> can’t do
- incamera depth of field ->
- vray-RT
- ACTION ITEM
- check out flowline
- ask hubbard about this?
- ask hubbard about the best texture format for vray
WEDNESDAY 0400..0500
- vray talk
- kevin marko, chaos group
- kevin, sup blur 12 years
- blur reel 2013 lorez
- league of legends
- bioshock infinity
- load of the rings
- batman and justice league
- starwars
- halo
- starwars
- batman archam night
- game trailer
- WB -> rocksteady was a client
- they have game models in progress
- hair -> vray hair system
- hair shader
- love architectures -> can save the geo
- looped the building 800,000 lights
- more shader test
- all animation done by the mocap
- thor 2 prologue
- thrusday morning
- concept design
- helmet, shield
- got digital doubles from vfx
- upraise them
- used vray skin texture to create skin variation and differnt morph targets
- making hugo
- creating a cloud
- card changing to the different camera view
- showing different angle of the image sequences based on the camera
- battlefield look dev
- nuke and mari pipeline
- construct
- nvidia
- entirly gpu rendering project
- vray -rt gpu
- 500 sec -> 45 sec renders
- GPU rendering
- small team
- massive computational power
- small footprint
- make it more responsive
- vray rt -> only on max?
- rendering final
- renderd in 5 days
- 3x 3dboxx 4920 ->
- 3x nvidia k6000’s
- 6x nvidia k40s
- 3dboxx 4920 gpu edition
- construct teaser at 4K, stereo, 60fps
- used nvidia vca cluster
- reduced a 10 year workstations cpu -> 5 days
- 14 min on single vca
- took 9.5 hours on vray cpu
- VCA ??
- vray for motion builder
- virtual camera capture
- ability to capture a virtual camera location
- compose in real time to photorealistic scenes
- realtime rendering is happening in motion builder
- http://www.boxxtech.com/products/workstations/single-socket/3dboxx-4920-gpu
- roughly around $20,000
- renderd in 5 days
- how did you get a fund?
- sponsers -> boxx, nvidia, chaos group, autodesk motion builder,
WEDNESDAY 0500..0700
- opengl es 3.1
- 11 years of opengles
- 2002 working group
- 2003 1.0
- 2004 1.1
- 2007 2.0
- 2012 3.0
- 2013 3.1
- what’s new since sig 2013
- release 3.1 at GDC
- es 3.1 goals
- bringing ogl 4.x to mobile
- game-changing functionality: compute shaders, indirect drawing
- other advanced featured
- enable very rapid adoptation
- expose hidden capabilities of current devicds
- backward compatibility with es 2.0/3.0
- run on any es 3.0 HW
- improve application portability
- tighter specs means less undefined behaviour
- ever stricter conformance testing
- bringing ogl 4.x to mobile
ogl es 3.1 overview
- bill qualcom
- what’s new
- compute shaders
- tighly coupled graphics and GPU computing
- draw-indirect
- draw command parameters from memory instead of from args
- SSO (separate)
- compute shaders
- compte shader basics
- opencl, opengl
- use gpu for general purpose computing
- new single-stage pipeline, separate from the graphics pipeline
- opg es
- create a thread per vertex and a thread per fragment
- glDispatch Compute()
- SSBOs shader storage buffer objects
- images
- like texture, but writable
- 4 image binidng points
- image atomics avail as ext
- serialziation and synchronization primitives
- atomic counters
- shader memory barriers
- api memory barriers
- draw-indirect
- new way to dispatch work on gpu
- draw call parameters stored in gpu memory
- glDrawArraysindirect()
- glDrawElementsindirect()
- glDispatchComputeIndirect()
- useful for draw parameters set by GPU
- for example, in a compute shader
- new way to dispatch work on gpu
- separate shader objects
- mix and match vertex shaders and fragment shaders
- Texture features
- multisampled textures
- stencil textures
- textrue gather
- shader language features
- array of arrys
- int a[2][3[4]
- explict uniform location
- layout(location=0) in vec4 position; // vertex shader
- layout(location=2) out vec4 diffuse; //
- shader bitfield ops
- extract, insert, reverse, pack/unpack, count, lsb, msb
- extended precision support
- frexp / ldexp
- shader helper invocation
- bool gl_helperinvocation
- array of arrys
ogles 3.0 ecosystem rollout
- implementaions from every major mobile GPU vendor
- tools, docs, sdks, etc
- platform:
- ios 7, iphone 5s >
- android 4.3
- unity mobile survey: 8% -> 21% adoptation
- rollout es 3.1
- doc, sdk, emulator, tools
- imageination, nvida, qualcomm
- platform support
- adroid L
- android extension pack, ASTC textures, etc
- conformance test improvements
- updated es 3.0 conformance relased in jan 2014
- es 3.1 con is live 6 june 2014
- 13 submissions from
- arm, imagination, intel, nvidia, qualcomm, vivante
- desktop: intel, nvidia
- reference compiler
- now supports virtually all of GLSL ES 3.1
- compute shader
- (minus arrays of arrays)
- images
- atomic counters
- SSBOs
- texture gather
- texture LOD
- SSO
- .. and mores
#version 310es
layout(localsize z= 1000) in;
void main()
{
barrier();
}
glslangValidator: test.comp
- see -> khronos.org/ refernce compiler
basemark os I opengl es 3.1
- rightware 2009 finland, www.rightware.com
- biz area
- ui creation tool, kanzi solutions
- systems and chip performance evaluation software
- ogles 3.1 test overview -> avil Q4 2014
- demo
- water using compute shader
- particles 10000
- post -processing
- bloom, dof, anitializsing,e vignette
- SSAD
- deferred lighting G-buffer
google android extension pack (AEP)
- google android extension pack (AEP)
- android L mandates ogl es 3.1
- aep es3.1 extensions
- aep
- tessellation
- geometry shaders
- ASTC texture compression + more
- AAA grpahics effects
- global illumination
- physically-based shading
- deferred rendering
- HDR tone mapping
- smoke and particle effects
GFXBench Car Chase Preview – OpenGL ES 3.1 + AEP
- hdr deferred rendering pipeline
- phycially-based shading
- DOF and motion blur
- 4k and astc support
GLES compute shader vs OpenCL
next gen opengl initiative
-
will talk a lot about why???
-
opengl is a huge success
-
problems with ogl today
- gl programming model deosn’t match with modern gpu architeture
- arcane and archanic syntax
- legacy
- needless complexity
- cpu intensive
- state validation, dependency tracking, error checking
- hard to predict where cpu load will occur – varies with implementation
- not multicore-cpu-friendly
- primitive threading model, inconsisitenlty implemented
- it’s broken right now
- implementation variability
- spec looseness
-
incremental change is not enough
-
goal on next gen
- clean, modern architecture
- multi-thread /multicore friendly
- reduce cpu overhaead
- architurecture-neutral
- predictable performance
- improved reliability and consistency
-
key design principle: explicit control
- apllicaiton is telling the driver what it wants
-
status
- Tom Olson -> Chair
- Bill Licea-Kane(Qualcomm) -> Language chair
- Graham Sellers(AMD) and Jeff Bolz(nvidia) -> API editor
-
who’s on board
- sony, pixar, oculs, blizzard, epic games, ea, apple, unity, google, EA, RTT, amd, qualcomm
- samsung, nvidia, imagination, , broadcom, arm, amd, hicorp, vivante, valve
OpenGL ecosystem support in Unity
-
democratizing games
-
demo game: ios “monument valley”
-
feature unity 5.0
- deploy to webgl
-
unity multiplatform deployment
[ios, android, windows, ps, web, xbox, wii, browsers, linux]
-
platform not using opengl backend
=> playstation, xbox,
-
driver support
-
drivers and supports
- nvidia 340.52
- amd 14.7 rc1
- intel 10.18.10.3652
- mesa 10.2.2
- macosx 10.9.4
-
opengl 4.2 is on most driver
-
reevaluation the opengl implementations
- now it’s good
-
opengl in unity
- extensions
- gl_arb_es2_compatibiliyt
- gl_arb_es3_compatibility
- gl_arb_es3_1_compatibility
- gles 4.1/ gl 4.3 or 4.2 + compute shader stuff
- player base level-> es2.0
- editor base level-> gl3.2
- extensions
-
next ecosystem
- 600K monthly ative users
- 750K registered
- 3 million registered developers
-
engine, support, learn, cloud, community, asset store
-
[glnext, ogl, dx, libgnm, mantle, metal]
3 speakers
- Johan Andersson, TD, Frostbite – EA
Valve
- John McDonald, Valve
- gl is important
- valve
- valve did
- steam for linux
- steam runtime
- steamos
- VOGL -> debugger
- valve contributed
- glslang
- LunarGLASS/ LunarGOO -> help opengl debugging
- valve did
- portal on android
- uses ogles 2.x
- grpahics today
- direct3d is the primary on desktop
- only on windows
- tied to os ded10/11 are vista_
- dx11 -> 87%
- dx10.1 -> 15%
- dx10 -> 13%
- dx9 -> 4%
- gl distribution
- ogl 4.4 -> 67%
- gl 3.3 -> 29%
- gl 3.1 -> 4%x
- glnext is shaping up
- new and modern api
WEDNESDAY 1030..1200
- global vr meetup
- SVVR: http://svvr.com/
WEDNESDAY 1200..1300
- Still Handling Very Large Data Sets – to Mars and Beyond, nasa, db&w finest plugins
- http://www.jpl.nasa.gov/
- Managing very large datasets, with an emphasis on planetary visualization, at the media lab at the Jet Propulsion Laboratory – a journey from the past to future.
- We’ll be talking about the use of very large datasets at the JPL as well as large datasets in general. We’d love to see you joining us there.
- bmw, JPL
XX
- topics
- history of tiled megatextures
- current state of tiled / megatextures
- tecnical challenges
- future challenges
- other datasets
- basic principle of tiled-megatextures
- mipmaps
- different requirements
- offline/ prouction rendering
- realtime
- offline / production rendering
- pixar (surprise) textrue on demand
- peachey 1990 PRMan 3.0 / tin toy et. al
- achivement unlocked: tour de france 2000
- starwars ep2
- pod racing sequence (1999)
- ideas spread a lot quicker
- realtime
- clipmapping -> ** term for mipmaps
- terravision
- keyhole(wow!) / google earth
- quick diversion: legal minefields
- games: IdTech 5 -> jon carmac used this
- Idtech5/rage
- one huge texture -> changed the way level artists are working
- state of the art
- common feature in production renderers
- offten due to using the open source opeinimage io lib
- some home-made solutions as well
- mainstream in games
- idtech5 and rage as a tech showcase
- directly supported in state of the art apis
- improved tools for texture artists
- common feature in production renderers
- technical challenges
- focus on production rendering
- multiple cores
- cache management
- io management
- io bandwidth
- use in rendering (ie displacement)
- suitability of image file formats -> exr, tif are fine..
- focus on production rendering
- future challenges
- io and cpu power grows and rhe requirements
- gpu rendering/computing
- other large datasets
- meshes
- huge single meshees
- repeated meshes
- procedureal meshes
- terrain, displacement
- particles
- KRAKATOA
- large scale rendering – Manuka/Arnold
- two renders has mesh compression of meshes
- meshes
- huge single meshes
- in memory compression
- load on demand, segment to mesh parts
- spatting (for viewing of point clouds, qsplat)
- volumetric solutions
- repeated meshes
- instancing
- procedural meshes
- “cheap” to recreate during the render or may be traced directly:
- terrain
- displacements
- meshes
- meshes: terrains
- tesslate, optimize
- meshes/point clouds: splatting
- volumetric rendering
- [email protected]
- ACTION ITEM
- research huge texture technology used in rage 5 from idtech