CSS552 Final Project Demo Peter Lam Tim Chuang. Problem Statement Our goal is to experiment with different post rendering effects (Cel Shading, Bloom.

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

Saito, T. and Takahashi, T. Comprehensible Rendering of 3-D Shapes Proc. of SIGGRAPH '90 Genesis of Image Space NPR.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Graphics Pipeline.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
HCI 530 : Seminar (HCI) Damian Schofield.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Computer Graphics 14: Surface Detection Methods
Shadow Algorithms Gerald Matzka Computer Science Seminar.
Texture mapping. Adds realism to computer graphics Texture mapping applies a pattern of color Bump mapping alters the surface Mapping is cheaper than.
Paper by Alexander Keller
Post-rendering Cel Shading & Bloom Effect
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Hidden Surface Removal
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - GRAPHICS. In this chapter how the computer creates, stores, and displays graphic images how the computer creates,
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
COMP 175: Computer Graphics March 24, 2015
CS 450: COMPUTER GRAPHICS VISIBLE SURFACE DETECTION SPRING 2015 DR. MICHAEL J. REALE.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
Week 2 - Wednesday CS361.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Chapter 6 Special Effects 강 신 진강 신 진
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
Implementation II.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Computer Graphics I, Fall 2010 Implementation II.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
COMPUTER GRAPHICS CS 482 – FALL 2015 NOVEMBER 10, 2015 VISIBILITY CULLING HIDDEN SURFACES ANTIALIASING HALFTONING.
Applications and Rendering pipeline
Shaders, part 2 alexandri zavodny.
Computer Graphics Implementation II
Photorealistic Rendering vs. Interactive 3D Graphics
A Look Into Photorealistic and Non-Photorealistic Rendering
Chapter 10 Computer Graphics
POLYGON MESH Advance Computer Graphics
Modeliranje kompleksnih modelov
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
Jim X. Chen George Mason University
CSCE 441: Computer Graphics Hidden Surface Removal
Implementation II Ed Angel Professor Emeritus of Computer Science
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Introduction to Computer Graphics with WebGL
03 | Creating, Texturing and Moving Objects
Modeliranje kompleksnih modelov
Implementation II Ed Angel Professor Emeritus of Computer Science
Directional Occlusion with Neural Network
Presentation transcript:

CSS552 Final Project Demo Peter Lam Tim Chuang

Problem Statement Our goal is to experiment with different post rendering effects (Cel Shading, Bloom Effect, and Lens Flare) to provide the rendered images with more dramatic and interesting appearances and enhanced realism. In order to create exciting renders, we decided to add support for loading and rendering Mesh files to provide a high variety of shapes and objects. Rendering Mesh image can be extremely resource intensive with the current framework. We try to add in the bounding box algorithm in correspondence with the KD-Tree acceleration structure to improve mesh rendering performance. Finally, everything is implemented with multi-threaded support for extra performance enhancement.

Cel Shading Cel Shading color is being set to a simpler color range (both NdotL and VDotR), when computing the color of the rendered image with Phone’s illumination method. An object ID map is being created when rendering the original image. This object ID map will be used later in the post rendering stage to determine the outline. If there is a change of object ID around a particular pixel, that pixel will be set with the outline color.

Bloom Effect Run a bright-pass filter through the rendered image to create a black and white image highlighting where the bright areas are located. Apply Guassian blur with a 3x3 kernel to that black and white image. Down sample the result image of the Gaussian blur. Repeat the Guassian blur and down sampling process a few times. Finally, combine the output images of each iteration to the original rendered image.

Lens Flare Prompt user for the light location for creating lens flare. Use the graphic class to draw a star shape light area base on the position user provided, down sample the output a couple of times. Then, draw a number of circles and halos which line up along an imagine line that go from th light position to the center of the image. Finally, clamp the position of all lens flare elements to always show on the screen (even some appear to be outside the range of the image).

Mesh Loading/Rendering The XNA graphics engine was utilized to add mesh support. There is a new hidden UI with an XNA content project that is used to help load mesh files. The content pipeline allows us to extract mesh information such as Index Buffer and Vertex Buffer and create RTTriangle objects. However, VertexBuffer data extraction can be tricky. We have to know what kind of information is stored in Vertex buffer to successfully extract vertices and/or normal values.

Enhance Mesh Rendering Axis-Aligned Bounding Box (Voxel) Bounding Box class was created to support KD-tree construction. All bounding boxes are axis-aligned. Each geometry in the scene is associated with its bounding box. KD-Tree To support proper rendering of meshes, an acceleration structure is required. A non-uniform KD-Tree was chosen to speed up rendering. The build time of KD-tree is quite slow because I chose to use surface area heuristic algorithm to find the best splitting plane, which requires stepping through all geometries in the node to find the surface area of left/right voxels and compute cost. However, the ray-tracing performance gain is substantial enough to warrant the long build time. Creation of KD-tree: First the world boundary box is defined that encloses only objects within the world, and for each axis, the world box is divided based on a SAH cost calculation to find the best splitting position. The process is repeated until either the max number of depth is reached or the max number of primitives per node is assigned. Tree Traversal: An iterative version of a recursive tree traversal algorithm is implemented to improve ray-tracing performance.

Questions?

Sources Cel Shading Bloom Effect Gaussian Blur Lens Flare flares-r874 ftp://ftp.sgi.com/opengl/contrib/mjk/tips/lensflare/index.html Mesh loader Acceleration structure (Kd-tree)