Art Tevs, Saarbrücken, Germany max planck institut informatik osg-user-meeting, Paris, april 2008.

Slides:



Advertisements
Similar presentations
Eikonal Rendering: View Renderer
Advertisements

Exploration of advanced lighting and shading techniques
POST-PROCESSING SET09115 Intro Graphics Programming.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Sven Woop Computer Graphics Lab Saarland University
GlTF and rest3d Patrick Cozzi University of Pennsylvania CIS Fall 2013.
Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Fast GPU Histogram Analysis for Scene Post- Processing Andy Luedke Halo Development Team Microsoft Game Studios.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
A Personal Surround Environment: Projective Display with Correction for Display Surface Geometry and Extreme Lens Distortion Tyler Johnson, Florian Gyarfas,
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
CHAPTER 9 Lighting © 2008 Cengage Learning EMEA. LEARNING OBJECTIVES In this chapter you will learn about: – –Light sources – –Point lights – –Spotlights.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Post-rendering Cel Shading & Bloom Effect
Getting started © juhanita2015.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
INTRO TO COMPUTER GRAPHICS TEXT EDWARD ANGEL: EDITION 5 CS770/870
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 12 Additional 3D Topics.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
A Crash Course in HLSL Matt Christian.
COMPUTER GRAPHICS Hochiminh city University of Technology Faculty of Computer Science and Engineering CHAPTER 01: Graphics System.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Shader Program in Gamebryo. Introduction Shader?  A complete Rendering Effect to apply to an object  Shader Program – Vertex/Pixel Shader Shader Programs.
Accelerated Stereoscopic Rendering using GPU François de Sorbier - Université Paris-Est France February 2008 WSCG'2008.
Binary Space Partitioning Trees Ray Casting Depth Buffering
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Maths & Technologies for Games Advanced Graphics: Scene Post-Processing CO3303 Week
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
X-Toon: An Extended Toon Shader Pascal Barla, Joelle Thollot ARTIS GRAVIR/IMAGE INRIA Lee Markosian University of Michigan.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University.
Build your own 2D Game Engine and Create Great Web Games using HTML5, JavaScript, and WebGL. Sung, Pavleas, Arnez, and Pace, Chapter 5 Examples 1.
Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.
Photorealistic Rendering vs. Interactive 3D Graphics
Week 11 - Wednesday CS361.
Graphics Processing Unit
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Coding Approaches for End-to-End 3D TV Systems
Introduction to Computer Graphics with WebGL
Graphics Processing Unit
Models and Architectures
Models and Architectures
03 | Creating, Texturing and Moving Objects
Frame Buffer Applications
Frame Buffers Fall 2018 CS480/680.
Real-time Global Illumination with precomputed probe
Presentation transcript:

Art Tevs, Saarbrücken, Germany max planck institut informatik osg-user-meeting, Paris, april 2008

Overview About Me –publications –projects osgPPU –overview –classes –examples

About Me Art Tevs, born in Russia, living in Germany Master Degree in Computer Science in University of Saarland, Saarbrücken, Germany PhD student in Max-Planck-Institut Informatik, Saarbrücken, Germany –research topics: rendering, natural phenomena, GPUs, geometry processing (just started)

About Me (publications) Siggraph07, I. Ihrke, G. Ziegler, A. Tevs, C. Theobalt, M. Magnor, H.-P. Seidel, "Eikonal Rendering: Efficient Light Transport in Refractive Objects" –realistic rendering of refractive objects with spatially varying properties (refractive index, attenuation, scattering,...), first time using OSG and osgPPU

About Me (publications) I3D08, A. Tevs, I. Ihrke, H.-P. Seidel, "Maximum Mipmaps for Fast, Accurate, and Scalable Dynamic Height Field Rendering" – quadtree-like datastructure for efficient ray-heightmap intersection on the GPU (usuable displacement mapping), using osgPPU for computations

About Me (projects) osgPPU ( ) –developed during the Siggraph07 project –offscreen renderer using GLSL shaders for computations –used for post-processing effects –used to compute maximum-mipmap in the I3D08 project –working hard on v0.2 release –osgPlugins/osgdb_ppu to read/write osgPPU graphs from/to.ppu files

osgPPU Screenshot from Eikonal Rendering (Siggraph07)

osgPPU Screenshots from Maximum Mipmaps (I3D08)

osgPPU Processor –derived from osg::Group –can be placed anywhere in the scene graph –contains camera pointer to retrieve texture attachments and viewport data –do initialize, optimize, update and draw PPU graph –resolve cycles in the Unit graph by placing a BarrierNode which blocks the traversion

osgPPU Unit (base class) –derived from osg::Group –should be placed in the processor's subgraph –collect Input data (textures) from the parent Units (output textures) or from processor (camera attachments) –connect input Unit to specified uniform (usefull for shader parameters) –a lot of virtual functions to override in derived classes

osgPPU UnitBypass –derived from osgPPU::Unit –perform no rendering –do just set OutputTexture = InputTexture –very usefull to just bypass the data for example from the processor's camera UnitDepthbufferBypass –derived from osgPPU::UnitBypass –perform no rendering –bypass the processor's camera depthbuffer attachment –usefull to bring the depthbuffer texture into the PPU graph

osgPPU UnitTexture –derived from osgPPU::Unit –perform no rendering –bypass a user specified input texture (external texture) to the output –very usefull to bring external data into the PPU graph

osgPPU UnitInOut –derived from osgPPU::Unit –render a 2D screenquad to perform computation on the input data –use FrameBufferObject (FBO) to setup the output texture –supports MRT by moving the MRT setup code into the FBO patch for the new osg v2.4 UnitInResampleOut –derived from osgPPU::UnitInOut –same as UnitInOut however resample the output texture by specified factor

osgPPU UnitInMipmapOut –derived from osgPPU::UnitInOut –same as UnitInOut however the output texture is mipmapped –compute the mipmap data by either applying the glGenerateMipmapsEXT or the attached Shader program UnitText –derived from osgPPU::UnitInOut –don't render the 2D quad, bypass the input to the output –render an osgText::Text on the output texture –very usefull to render text into a texture

osgPPU UnitOut –derived from osgPPU::Unit –perform as UnitInOut but don't use FBO –used to render the input to the frame buffer –usualy the last unit in the osgPPU graph to bring the computed result to the screen UnitOutCapture –derived from osgPPU::UnitOut –same as UnitOut but after the rendering write the input texture to a file –very usefull to capture screen contents in upto 4K resolution (8K on G80 chips)

osgPPU (examples) viewer –a simple viewer for the.ppu files –./viewer file.ppu [scene.osg = default teapot] dof –a simple faked depth of field effect with osgPPU –./dof [scene.osg = default cow.osg] hdr –shows implementation of HDR rendering –./hdr [scene.osg = default teapot]

osgPPU (examples - DoF) Color bypass Depthmap bypass DoF resample 0.5 DoF resample 0.5 DoF blur vertical DoF blur horizontal DoF blur vertical DoF blur horizontal DoF Result

osgPPU (examples - DoF)

osgPPU (examples - HDR) Camera Bypass Downsample Compute avg. luminance Compute scaled luminance Brightpass Downsample Blur vertical Blur horizontal Tone mapping

osgPPU (examples - HDR)

Thank You! Questions, Discussion, French-Beer...