Visibility optimizations

Similar documents
Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

LOD and Occlusion Christian Miller CS Fall 2011

Universiteit Leiden Computer Science

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

Culling. Computer Graphics CSE 167 Lecture 12

Visibility and Occlusion Culling

Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Hardware-driven Visibility Culling Jeong Hyun Kim

Wed, October 12, 2011

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Speeding up your game

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Z-Buffer hold pixel's distance from camera. Z buffer

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Software Occlusion Culling

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Deferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Collision Detection. Pu Jiantao.

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

Spatial Data Structures

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Adaptive Point Cloud Rendering

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and

Table of Contents. Questions or problems?

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

NVIDIA DESIGNWORKS Ankit Patel - Prerna Dogra -

zspace Developer SDK Guide - Introduction Version 1.0 Rev 1.0

Projection Matrix Tricks. Eric Lengyel

CS535 Fall Department of Computer Science Purdue University

Ray Tracing: Intersection

Collision Detection based on Spatial Partitioning

VRizer Using Arbitrary OpenGL Software in the CAVE or other Virtual Environments

Computer Graphics. Bing-Yu Chen National Taiwan University

Comparison of hierarchies for occlusion culling based on occlusion queries

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

VISIBILITY & CULLING. Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH

Spatial Data Structures

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

CS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation

V-RAY 3.6 FOR RHINO KEY FEATURES. January 2018

Spatial Data Structures

Simulation in Computer Graphics Space Subdivision. Matthias Teschner

Computer Graphics Lecture 11

Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome!

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

MODELING AND HIERARCHY

Scalable multi-gpu cloud raytracing with OpenGL

PowerVR Hardware. Architecture Overview for Developers

Project Gotham Racing 2 (Xbox) Real-Time Rendering. Microsoft Flighsimulator. Halflife 2

Spatial Data Structures

RASTERISED RENDERING

Streaming Massive Environments From Zero to 200MPH

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Performance OpenGL Programming (for whatever reason)

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Impact of 3D bookmarks on Navigation and Streaming in a Networked Virtual Environment

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.

Interactive 3D Geometrical Modelers for Virtual Reality and Design. Mark Green*, Jiandong Liang**, and Chris Shaw*

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Deus Ex is in the Details

Scanline Rendering 1 1/42

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

VR Rendering Improvements Featuring Autodesk VRED

Visibility: Z Buffering

GigaVoxels Effects In Video Games

Temporal Resolution. Flicker fusion threshold The frequency at which an intermittent light stimulus appears to be completely steady to the observer

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model

Lecture 4. Viewing, Projection and Viewport Transformations

Problem Max. Points Total 80

V-RAY 3.6 FOR SKETCHUP KEY FEATURES

Occluder Simplification using Planar Sections

Conservative occlusion culling for urban visualization using a slice-wise data structure

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

PowerVR Performance Recommendations. The Golden Rules

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Impostors and pseudo-instancing for GPU crowd rendering

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

High Level Graphics Programming & VR System Architecture

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

Efficient Depth-Compensated Interpolation for Full Parallax Displays

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

A Qualitative Analysis of 3D Display Technology

CS535: Interactive Computer Graphics

Hidden Surface Elimination Raytracing. Pre-lecture business. Outline for today. Review Quiz. Image-Space vs. Object-Space

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Massive Dataset Visualization

Some Thoughts on Visibility

Multiresolution model generation of. texture-geometry for the real-time rendering 1

Rendering Grass with Instancing in DirectX* 10

Performance Analysis and Culling Algorithms

Transcription:

SEME OPTIS Semaine d'étude Maths-Entreprises avec OPTIS Visibility optimizations OPTIS Current context Optimizations needs SEME State of the art 2D experimentations / software resolutions 3D prototypes / mixed hardware solutions SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 1

Current context OPTIS activities and products Created in 1989 Aim to minimized the physical prototyping by providing virtual simulations for product validation, ergonomie, measures, experiences Products : from optical conception to realistic virtual reality experiments via material & light measures Applications : Auto, Areo, Lighting, Electronics, energie, research, architecture, luxury, medical, automation Optis in 2015 : 200 experts 2400 clients 14 partnerships 3 R&D center 8100 licences 50 countries SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 2

Current context Aim to mix technos : Our physically-based lighting engine (not real time) with our 3D Virtual Reality engine (real time) SceneGraph based OpenGL and DirectX supported Forward and Deffered rendering techniques supported Physic, Network, Haptic & Sound engines also supported for VR deployements Rendering performances is our current bottleneck SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 3

Culling optimizations needs Typical use cases : Single product review under different physical conditions (ligthing simulations) Interactive simulation into Virtual Room (3D physical interactions with tracking actors and multimodal feedbacks), mainly for maintenance and/or design ergonomie Hybrid semi-real time distributed interactive and collaborative distant review from different platforms (desktop, CAVE ) SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 4

Culling optimizations needs Typical scenes : Big 3D CAD objects well detailed from outside but also inside, with many small subparts (cars, planes, complex factories ) Environements could be light (only skybox with the CAD model) up to very detailed landscape (atmospheric sky with long racetrack including animated manikins) Need CULLING optimizations SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 5

Culling optimizations needs Culling : describes the early rejection of objects of any kind that don't contribute to the final image Benefit : Freeing our artists from the burden of manual markups and additional work Improving realtime rendering performances (& runtime memory ) Keeping scale flexibility in any complexe scenarios (indoor/outdoor ) Keeping Virtual Reality platform deployement flexibility (CAVE, Stereo ) Plan : Optimal visibility culling (frustum & occlusion culling ) Discrete / Continuous / Hierarchical LOD (Refinement on the fly) Dynamic SceneGraph draw-call optimizations (cached Splitted/Merged meshpart states) Parallelization Data memory (CPU/GPU) Compression / streaming SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 6

Culling optimizations needs INPUTS Far cutting plane N0 Update scene logic Faces culling N1 N2 Near cutting plane S1 S0 N3 N4 S3 N5 N6 N7 N8 S1 S2 S3 S4 Bounding Sphere intersection tests View frustum culling What about occlusions?! Register all shapes Render all shapes Rendering screen Image S0 S1 S2 S3 S4 Culling S1 S3 S4 Rendering N = Node = rotation/scale/translation S = Shape = vertices/textures SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 7

Culling optimizations needs Near cutting plane Occludees Far cutting plane In many cases, we want the far cutting plane to be as far as real visibility for our simulations accuracy! S4 S1 S3 S0 S2 4/5 shapes will be processed to be drawn unnecessarily Imagine extra the work/memory to render a densely populated model (city ) Occluder depth How to prevent those shapes to be process by GPU? Warning: We want to keep asymmetric frustum compatibilities! SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 8

Freedom to proceed With your knowledges With your experiences With your methods With your technologies Any support available : jesnault@optis-world.com SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 9

Some guidelines if needed 1/2 Literature survey about existing algorithmes Avantages / Drawbacks Limits Starting references http://orion.lcg.ufrj.br/cg2/downloads/sombras/visibility%20survey.pdf http://de.slideshare.net/umbra3/ The Visibility Problem From-point vs. from-region Precomputed vs. runtime Object space vs. image space Conservative vs. Approximate Software vs. Hardware queries Going further, try to also adress : Static vs. dynamic objects Transparent vs. mirror objectcs Deformable (cloth, fluids) vs. Objects with holes SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 10

Some guidelines if needed 2/2 Going from 2D software (CPU) experimentations until 3D mixed hardware (CPU/GPU) solutions Test a few solutions in 2D, keeping in mind that it should generalize to 3D Examples (not yet explored) : http://www.dca.fee.unicamp.br/projects/mtk/batagelom/ Explore any possibilities of culling optimizations Other bounding shapes test intersection? Dynamically shifting the far plane Depth? Potentially Visible Set lookup, Contribution culling, Hierarchical (surface/volume) culling, Spacial Partitioning (Quadtree / Octree)? Using all possible technics and technologies : Precomputed data structure (for CPU/GPU) to be loaded before runtime? Prediction from previous frames and/or multi-threading runtime queries? GL/DX (even from Vulkan, Dx12 ), Unity3D, UnrealEngine, Ogre3D, OpenSceneGraph But precise the version used SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 11

Glossary Rendering engine : Program which process some data (from CPU) to output a final image (from GPU) View frustum : Region of space in the modeled world that may appear on the screen. It s a truncation with parallel near & far planes which defined a Field Of View (also called pyramid of vision). Asymmetric frustum : By default, the view frustum is arranged symmetrically around the camera s centre line but it doesn t necessarily need to be, one side could be smaller angle to the centre line than the opposite side. VS Single sided & BackFace culling : Optimizations processes to determines whether a polygon face (defined by the normal computed from vertices indices) is visible from camera direction or not in order to discard them from the rendering process. SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 12

Thanks Questions? SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 13

More investigation suggestions https://www.cg.tuwien.ac.at/~msh/viscull.pdf http://fr.slideshare.net/jasinb/embarrassingly-parallel-computation-for-occlusion-culling http://www.cse.chalmers.se/~uffe/vfc.pdf http://www.bogotobogo.com/games/spatialdatastructure.php SEME - OPTIS - Sophia Antipolis [25-29] Jan 2016 14