Art Tevs, Saarbrcken, Germany - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Art Tevs, Saarbrcken, Germany

Description:

Art Tevs, born in Russia, living in Germany ... resolve cycles in the Unit graph by placing a BarrierNode which blocks the traversion ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 22
Provided by: martinf151
Category:
Tags: art | cycles | germany | jp | saarbrcken | tevs

less

Transcript and Presenter's Notes

Title: Art Tevs, Saarbrcken, Germany


1
  • Art Tevs, Saarbrücken, Germany

osg-user-meeting, Paris, april 2008
2
Overview
  • About Me
  • publications
  • projects
  • osgPPU
  • overview
  • classes
  • examples

3
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)?

4
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

5
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

6
About Me (projects)?
  • osgPPU ( http//projects.tevs.eu/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

7
osgPPU
  • Screenshot from Eikonal Rendering (Siggraph07)?

8
osgPPU
  • Screenshots from Maximum Mipmaps (I3D08)?

9
osgPPU
  • Processor
  • derived from osgGroup
  • 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

10
osgPPU
  • Unit (base class)?
  • derived from osgGroup
  • 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

11
osgPPU
  • UnitBypass
  • derived from osgPPUUnit
  • 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 osgPPUUnitBypass
  • perform no rendering
  • bypass the processor's camera depthbuffer
    attachment
  • usefull to bring the depthbuffer texture into the
    PPU graph

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

13
osgPPU
  • UnitInOut
  • derived from osgPPUUnit
  • 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 osgPPUUnitInOut
  • same as UnitInOut however resample the output
    texture by specified factor

14
osgPPU
  • UnitInMipmapOut
  • derived from osgPPUUnitInOut
  • 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 osgPPUUnitInOut
  • don't render the 2D quad, bypass the input to the
    output
  • render an osgTextText on the output texture
  • very usefull to render text into a texture

15
osgPPU
  • UnitOut
  • derived from osgPPUUnit
  • 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 osgPPUUnitOut
  • 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)?

16
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

17
osgPPU (examples - DoF)?
DoF resample 0.5
DoF resample 0.5
DoF blur horizontal
DoF blur vertical
DoF blur horizontal
DoF blur vertical
Color bypass
DoF Result
Depthmap bypass
  • http//www.daionet.gr.jp/masa/archives/GDC2003_DS
    TEAL.ppt

18
osgPPU (examples - DoF)?
  • http//www.daionet.gr.jp/masa/archives/GDC2003_DS
    TEAL.ppt

19
osgPPU (examples - HDR)?
  • http//msdn2.microsoft.com/en-us/library/bb173484.
    aspx

20
osgPPU (examples - HDR)?
  • http//www.daionet.gr.jp/masa/archives/GDC2003_DS
    TEAL.ppt

21
  • Thank You!
  • Questions, Discussion, French-Beer...
Write a Comment
User Comments (0)
About PowerShow.com