Cinematic Scientific Visualization in Houdini Kalina Borkiewicz + - - PowerPoint PPT Presentation

cinematic scientific visualization in houdini
SMART_READER_LITE
LIVE PREVIEW

Cinematic Scientific Visualization in Houdini Kalina Borkiewicz + - - PowerPoint PPT Presentation

Cinematic Scientific Visualization in Houdini Kalina Borkiewicz + AJ Christensen Advanced Visualization Lab National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Vocabulary Renaissance Team n. 1. A


slide-1
SLIDE 1

Cinematic Scientific Visualization in Houdini

Kalina Borkiewicz + AJ Christensen

Advanced Visualization Lab National Center for Supercomputing Applications University of Illinois at Urbana-Champaign

slide-2
SLIDE 2

Vocabulary

Renaissance Team n. 1. A cross-disciplinary group of experts in science, technology, and art, who work together to build extremely effective science outreach projects.

slide-3
SLIDE 3

Vocabulary

Cinematic Scientific Visualization n. 1. Production-quality, data-driven imagery created with movie-making tools with good composition, camera direction, and artistic aesthetics suitable for distribution in immersive giant screen theaters.

Scientific Visualization n. 1. Imagery created using data with spatial 3D coordinates,

  • ften calculated on large

computing clusters. Information Visualization n. 1. Imagery created using relational data which often has no direct mapping to spatial coordinates. Scientific Illustration n. 1. Imagery created based on expert input but using predominantly artistic tools.

slide-4
SLIDE 4

Cinematic Sci Vis

slide-5
SLIDE 5
slide-6
SLIDE 6

Demo Reel Video

https://youtu.be/T_0ICxROM0Q

slide-7
SLIDE 7

Recent Examples

slide-8
SLIDE 8

2.8 TB 1794 577R x 384θ x 432φ 1x - 6.25x solar radius 100 minutes Yuhong Fan

  • Nat. Center for Atmos. Research

Yellowstone, NWSC/NCAR and Discover, NASA Center for Climate Simulation

SIMULATION

STATS

DATA SIZE TIME STEPS RESOLUTION SPATIAL SCALE TIME SCALE SCIENTIST INSTITUTION SUPERCOMPUTER

BIG DATA

Double Coronal Mass Ejection

slide-9
SLIDE 9

BIG DATA

El Reno Tornado - May 24, 2011

160 TB 4895 1500 x 1500 x 380 stretch grid 120km x 120km x 120km 2 hours Leigh Orf University of Wisconsin-Madison Blue Waters, University of Illinois

SIMULATION

STATS

DATA SIZE TIME STEPS RESOLUTION SPATIAL SCALE TIME SCALE SCIENTIST INSTITUTION SUPERCOMPUTER

slide-10
SLIDE 10

BIG DATA

Photosynthetic Organelle

60 TB ~100,000 ~100,000,000 atoms 1 Angstrom (1e-10 m) 1 femtosecond (1e-15 s) Klaus Schulten University of Illinois at U-C Blue Waters and Titan

SIMULATION

STATS

DATA SIZE TIME STEPS RESOLUTION SPATIAL SCALE TIME SCALE SCIENTIST INSTITUTION SUPERCOMPUTER

slide-11
SLIDE 11

Scientific Visualization Tools

slide-12
SLIDE 12

VMD VAPOR

slide-13
SLIDE 13

Houdini Nuke After Effects

slide-14
SLIDE 14
slide-15
SLIDE 15

scene file SOPs ROPs SHOPs CHOPs

SOP nodes Sub- networks parameters SOP nodes Sub- networks parameters SOP nodes Sub- networks parameters SOP nodes Sub- networks parameters

slide-16
SLIDE 16

The Houdini Paradigm

slide-17
SLIDE 17

Houdini Demos

slide-18
SLIDE 18

Demo: Deriving Geometry from Data

slide-19
SLIDE 19

Demo: Working with External Assets

slide-20
SLIDE 20

Demo: Volume and Geometry Manipulation

slide-21
SLIDE 21

Programming in Houdini

slide-22
SLIDE 22

Ways to Get Your Data into Houdini A) Custom C++ Plugins B) Scripting C) Ytini

slide-23
SLIDE 23

Ways to Get Your Data into Houdini A) Custom C++ Plugins B) Scripting C) Ytini

slide-24
SLIDE 24

Custom C++ Plugins

Houdini Development Kit (HDK)

slide-25
SLIDE 25

Custom C++ Plugins

Houdini Development Kit (HDK)

  • Built directly into Houdini, and works seamlessly just like any other feature,

without extra or external steps

  • Great if you also need custom artistic controls, beyond just reading the data

○ Resolution ○ Interpolation ○ Edge falloff ○ Isovolumes ○ ...

slide-26
SLIDE 26

Custom C++ Plugins

Houdini Development Kit (HDK)

  • Built directly into Houdini, and works seamlessly just like any other feature,

without extra or external steps

  • Great if you also need custom artistic controls, beyond just reading the data

○ Resolution ○ Interpolation ○ Edge falloff ○ Isovolumes ○ ...

  • Downsides:

○ More programming-intensive than some other solutions ○ Needs to be updated with every Houdini version

slide-27
SLIDE 27

Ways to Get Your Data into Houdini A) Custom C++ Plugins B) Scripting C) Ytini

slide-28
SLIDE 28

Scripting

  • One-time conversion of data into a Houdini-compatible format

○ Have to re-run if you want to make changes

  • You can write an external script, or code in Python directly in Houdini
slide-29
SLIDE 29

Scripting

  • Write script snippets directly in the parameters
slide-30
SLIDE 30

Scripting

  • Write script snippets directly in the parameters
  • Create your own SOP
slide-31
SLIDE 31

Scripting

  • Write script snippets directly in the parameters
  • Create your own SOP
  • Code directly inside Houdini
slide-32
SLIDE 32

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra

slide-33
SLIDE 33

Example .geo volume file

PGEOMETRY V2 ← Header NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra

slide-34
SLIDE 34

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 ← 1 point that defines the center, 1 primitive that is our data volume NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra

slide-35
SLIDE 35

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 ← 0 groups NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 ← 0 extra attributes 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra

slide-36
SLIDE 36

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 ← Center point at (0,0,0) * 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra

slide-37
SLIDE 37

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 ← Volume definition 0 1 0 1 0 1 0 1 beginExtra endExtra

slide-38
SLIDE 38

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra XYZ Resolution: 2x2x2

slide-39
SLIDE 39

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra Transformation matrix = = identity matrix, which does nothing (no scaling, translating, rotating)

[ ]

Example .geo volume file

1 0 0 0 1 0 0 0 1

slide-40
SLIDE 40

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra endExtra Other fancy settings include:

  • Whether to taper the volume and how much
  • What values to set past the border of the volume
  • How much lossy compression is allowed
  • And more… Described in “GPD.txt” file that comes with Houdini
slide-41
SLIDE 41

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 ← The data beginExtra endExtra

slide-42
SLIDE 42

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 ← The data. 8 numbers, as defined by the 2*2*2 resolution beginExtra endExtra

slide-43
SLIDE 43

Example .geo volume file

PGEOMETRY V2 NPoints 1 NPrims 1 NPointGroups 0 NPrimGroups 0 NPointAttrib 0 NVertexAttrib 0 NPrimAttrib 0 NAttrib 0 0 0 0 1 Volume 0 1 0 0 0 1 0 0 0 1 -2 2 2 2 constant 0 0 smoke 0 1 0 1 0 1 0 1 0 1 beginExtra ← End / extras endExtra

slide-44
SLIDE 44
slide-45
SLIDE 45

Let’s Play with Real Data: Hands-on Demo

slide-46
SLIDE 46
slide-47
SLIDE 47

Ways to Get Your Data in Houdini A) Custom C++ Plugins B) Scripting C) Ytini

slide-48
SLIDE 48
slide-49
SLIDE 49

+ ( )

slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53

Ytini.com

slide-54
SLIDE 54

Rendering in Houdini

slide-55
SLIDE 55

Demo: Camera, Lighting, and Render Setup