35
A User Interface for Interactive Cinematic Shadow Design Fabio Pellacini Parag Tole Donald P. Greenberg Program of Computer Graphics Cornell University

Perceptual oracles for interactive computer graphics - Fabio Pellacini

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Perceptual oracles for interactive computer graphics - Fabio Pellacini

A User Interface for Interactive

Cinematic Shadow Design

Fabio Pellacini

Parag Tole

Donald P. Greenberg

Program of Computer Graphics

Cornell University

Page 2: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Importance of Shadows

Page 3: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow placement

• Shadow placement by directly transforming

lights/objects is hard

– Shadows depend

• on lights positions

• on objects positions

• in a very unintuitive manner

– Need to determine which light/object pair cast

the shadow

Page 4: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Previous work

• Interactive systems

– Shadow volume manipulation [Poul92]

• Not as intuitive as manipulating shadows

• Optimization-based systems

– What you paint is only approximately what you

get

Page 5: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Our approach

• Shadows are treated as first class entities

• Shadows transformations

– displayed in realtime

• quick user feedback

– performed by a “click-and-drag” interface

• mouse click: select shadow

• mouse drag: move/scale/rotate shadow

–on the surfaces of the scene

• All shadows are real!

Page 6: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Our approach - VIDEO

Page 7: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow movement example

• Click on a shadow to select it

– Light-object pair is selected

Page 8: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow movement example

• Drag the shadow to a new position

– Constrained on the surfaces of the scenes

Page 9: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow movement example

• System rotates the light around the object

Page 10: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Light vs. Object transform

Move Light Move Object

Page 11: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow scaling example

• System moves the light on the axis passing

through the object center and the light

Page 12: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Light vs. Object transform

Move Light Move Object

Page 13: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow rotation example

• System rotates the object around the axis passing

through the object’s center and the light

Page 14: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Handling multiple lights/objects

• Automatically select light/object pair

Page 15: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Handling multiple lights/objects

• Automatically select light/object pair

Page 16: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Constraints

• Complex environments remain hard

– Transforming a shadow affects other shadows

• Solution: apply constraints to mouse motion

– Intuitive specification of constraints

Page 17: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Constraints

• Painting metaphor for constraint specification

Page 18: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Constraints

• Shadows are updated when constraints are valid

Page 19: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Constraints

• User is informed when constraints are invalid

Page 20: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Constraints

• Constraints for shadow regions

Page 21: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow/Light Cookies

• Invisible “objects” used in cinematic lighting

to add/remove shadows

– Painting interface

– First class objects

Page 22: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow Cookies

Page 23: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow Cookies

• Same painting interface used for constraints

Page 24: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow Cookies

Attach to the light

Attach to the world

Page 25: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Light Cookies

Page 26: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Light Cookies

• Same painting interface used for constraints

Page 27: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Light Cookies

Attach to the light

Attach to the world

Page 28: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Implementation details

• Requirements

– Interactive update of shadows

– Interactive validation of constraints

• Rendering

– Hardware-assisted shadow maps

– Multi-pass algorithm for multiple lights

• Constraints validation

– Constraints represented as array of 3d points

– Read back data from hardware for validation

Page 29: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Conclusion - VIDEO

Page 30: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Conclusion

• Shadows as first class entities

– Interactive feedback to the user

– Shadow transformations same as object ones

• Intuitive constraints specification

– Interactive constraint validation

– Limit mouse interaction when necessary

• Shadow cookies as first class objects

Page 31: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Future work

• Different input devices and UI metaphors

• Test scalability for complex environments

• More complex constraints

– Already supported by the validation system

• Extensions to animated sequences

– Supports only keyframing now

Page 32: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Acknowledgements

• Thanks to Randy Fernando, James Ferwerda, Moreno Piccolotto and Bruce Walter for useful comments.

• This work was supported by the NSF Science and Technology Center for Computer Graphics and Scientific Visualization (ASC-8920219) and performed using equipment generously donated by Intel Corporation and NVidia Corporation.

• Modeling performed in 3DSMax. Models based on models from 3DSMax and 3DCafe.

Page 33: Perceptual oracles for interactive computer graphics - Fabio Pellacini

References

• [Cala00] S. Calahan. Storytelling through Lighting, a Computer Graphics Perspective. In Advanced RenderMan, 2000.

• [Scho93] C. Schoeneman, J. Dorsey, B. Smits, J. Arvo, D.P. Greenberg. Painting with Light. In Proc. of SIGGRAPH 1993.

• [Kawa93] J.K. Kawai, J.S. Painter, M.F. Cohen. Radiooptimization – Goal Based Rendering. In Proc. of SIGGRAPH 1993.

• [Poul92] P. Poulin, A. Fournier. Lights from Highlights and Shadows. In Proc. of Symposium of 3D Interactive Graphics 1992.

• [Poul97] P. Poulin, K. Ratib, M. Jacques. Sketching Shadows and Highlights to Position Lights. In Proc. of Computer Graphics International 1997.

Page 34: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Shadow precise scaling example

• Drag edge of the shadow to precisely rescale

– Only for small mouse movements

Page 35: Perceptual oracles for interactive computer graphics - Fabio Pellacini

Light vs. Object transform

Move Light Move Object