non-photorealistic rendering techniques for a game engine

12
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie Non-Photorealistic Rendering Techniques for a Game Engine COMP 238 Final Project

Upload: parley

Post on 16-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

COMP 238 Final Project. Non-Photorealistic Rendering Techniques for a Game Engine. Remember NPR Quake?. How did they do it?. “grep”-ed the Quake source code for OpenGL calls Pulled them out into one source file Added dynamic loading support Started coding different visual styles. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Non-Photorealistic Rendering Techniques for a Game Engine

COMP 238 Final Project

Page 2: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Remember NPR Quake?

Page 3: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

How did they do it?

• “grep”-ed the Quake source code for OpenGL calls

• Pulled them out into one source file

• Added dynamic loading support

• Started coding different visual styles

Page 4: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

How about a “cartoon” look?• Silhouettes• Creases• Shading• Shadows• Walls

Page 5: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Silhouettes

Flip the normals and extend the edges of backfacing polygons.

Page 6: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Creases (1)

Add thin quadrilaterals at each edge, forming an angle with the polygon.

Page 7: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Creases (2)

• It actually works!

Page 8: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Shadows

• The function is there, but it’s never called :(.

• Just draw a projection of each model on a horizontal plane (not always correct, but works out pretty well).

Page 9: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Cartoon-style shading

• 1D texture• coordinate at

vertex = amount of light received

Page 10: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Walls

• No lighting information available, so…

• Replace with “hand-drawn” texture.

• Add charcoal style for lines (one thick line and several jittered thin lines).

Page 11: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Result

Page 12: Non-Photorealistic Rendering Techniques for a Game Engine

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Adrian Ilie

Bibliography

• [1] Alex Mohr, Michael Gleicher: "Non-Invasive, Interactive, Stylized Rendering". The 2001 ACM Symposium on Interactive 3D Graphics.

• [2] Ramesh Raskar: "Hardware Support for Non-photorealistic Rendering", Eurographics 2001.

• [3] Bert Freudenberg, Maic Masuch, Thomas Strothotte: "Walk-Through Illustrations: Frame-Coherent Pen-and-Ink Style in a Game Engine", Siggraph/Eurographics Graphics Hardware, LA, 2001.

• [4] Adam Lake, Carl Marshall, Mark Harris, Marc Blackstein: "Hardware Support for Non-photorealistic Rendering", Siggraph/Eurographics Graphics Hardware, LA, 2001.

• [5] Jeff Lander: "Shades of Disney: Opaquing a 3D World", Game Developer Magazine, March 2000.