Preparing Sushi. Alex Vlachos. How Hardware Guys Write a 3D Graphics Engine. ati.com. EGDC 2001
|
|
- Marjory Sullivan
- 5 years ago
- Views:
Transcription
1 Preparing Sushi How Hardware Guys Write a 3D Graphics Engine Alex Vlachos AVlachos@ati ati.com EGDC 2001 Preparing Sushi - ATI Research, Inc. EGDC
2 What is Sushi? Island Demo Scene Graph Vertex Storage Rendering Pipeline Shader Library Shadow Volumes Object Engine LifeFX Rachel Demo Extras Waterfall Demo Water Effects Outline Future Enhancements Preparing Sushi - ATI Research, Inc. EGDC
3 What is Sushi? It s not just a tasty treat Project name for ATI s demo engine used for the Radeon 8500 demo suite. The engine was designed with future rendering technologies in mind. Will be used for future ATI product demos. Preparing Sushi - ATI Research, Inc. EGDC
4 RADEON 8500 Island Demo Preparing Sushi - ATI Research, Inc. EGDC
5 RADEON 8500 Island Demo Preparing Sushi - ATI Research, Inc. EGDC
6 RADEON 8500 Island Demo Preparing Sushi - ATI Research, Inc. EGDC
7 RADEON 8500 Island Demo Preparing Sushi - ATI Research, Inc. EGDC
8 Sushi Engine Goals Shader Driven Cross API (DirectX & OpenGL) Cross Platform (Windows & Mac) Future-looking For Several Product Cycles Preparing Sushi - ATI Research, Inc. EGDC
9 Engine Hierarchy Engine Object Asset Management Shader Lib WinD3D WinOGL MacOGL D3D OGL Preparing Sushi - ATI Research, Inc. EGDC
10 Scene Graph Octree Serves our goals Our previous engine (Radeon s Ark) used a portal-based visibility algorithm, but that s over engineered for graphics demos. Octree provides enough culling opportunities for our purposes. Preparing Sushi - ATI Research, Inc. EGDC
11 Octree Divisions Octree Divisions Preparing Sushi - ATI Research, Inc. EGDC
12 Vertex Buffer Size Don t use a single 150MB VB!!! These days, we assume 64MB AGP aperture for end-users so 150MB isn t going to fit anywhere but system memory! Sushi VB s are kept to a reasonable size (2MB). Since our shaders are so varied, so are our stream mappings, making it difficult to break the 2MB barrier. Preparing Sushi - ATI Research, Inc. EGDC
13 Optimize For State Change Shared VB s independent of which octree leaves the polygon lives in. Sort by shader change first, then texture change For most cases, this sorting works fine, but there are extreme cases where you may want the opposite. Schedule time for experimentation. Preparing Sushi - ATI Research, Inc. EGDC
14 Vertex Storage MetaBins Bins Octree Leaves VB IB Stream Mapping VB IB Stream Mapping VB IB Stream Mapping MetaBin ID Shader ID Texture IDs MetaBin ID Shader ID Texture IDs MetaBin ID Shader ID Texture IDs MetaBin ID Shader ID Texture IDs MetaBin ID Shader ID Texture IDs MetaBin ID Shader ID Texture IDs Bin ID IB Start IB End Bin ID IB Start IB End Bin ID IB Start IB End Bin ID IB Start IB End Bin ID IB Start IB End Bin ID IB Start IB End Bin ID IB Start IB End Within each leaf, render calls are sorted by shader state and then by texture handles VB IB Stream Mapping MetaBin ID Shader ID Texture IDs Bin ID IB Start IB End Bin ID IB Start IB End Bin ID IB Start IB End Preparing Sushi - ATI Research, Inc. EGDC
15 Run-Time Lights Run-time lights are additional passes at run-time over geometry in the light s frustum Cast correct shadows using shadow volumes (later slides) Pulse or blink independently and adds/subtracts the correct light contribution Preparing Sushi - ATI Research, Inc. EGDC
16 Rendering Pipeline Rendering Pipeline Clear Z Buffer & Stencil Buffer Draw ambient geometry (+ZWrites, +ZTest, -StencilWrites, -StencilTest) For Each Run-Time Light Clear relevant area of stencil buffer, if needed! Draw shadow volumes into stencil buffer (-ZWrites, +ZTest, +StencilWrites, -StencilTest) Draw geometry in light frustum and receive shadows (-ZWrites, +ZTest, -StencilWrites, +StencilTest) Swap Buffers Preparing Sushi - ATI Research, Inc. EGDC
17 Non-Opaque Polygons Becomes very difficult with run-time lights Tradeoffs lend to giving up some correctness in rare cases. Order of drawing lights is very important! Simple far to near needs to be defined in more detail Preparing Sushi - ATI Research, Inc. EGDC
18 Non-Opaque Draw Order Based on Lights Preparing Sushi - ATI Research, Inc. EGDC
19 Shader Library Abstracts ALL fixed function and programmable vertex and pixel processing to editable text files! Multi-pass shaders Shader fallbacks for different levels of hardware support Provides a shader LOD mechanism Preparing Sushi - ATI Research, Inc. EGDC
20 Fixed Function Shader DefineParam texture tex0 NULL DefineParam vector4 red ( 0.7, 0.0, 0.0, 0.0 ) StartShader StartPass SetRenderState TEXTUREFACTOR red SetTexture 0 tex0 SetColorOp 0 SELECTARG1 TFACTOR SetAlphaOp 0 SELECTARG1 TFACTOR EndPass EndShader Preparing Sushi - ATI Research, Inc. EGDC
21 Programmable Shader StartShader Requirement VERTEXSHADERVERSION 1.1 Requirement PIXELSHADERVERSION 1.4 LightType LIGHTTYPE_POINT StartPass SetRenderState ZWRITEENABLE FALSE SetRenderState ALPHABLENDENABLE TRUE SetRenderState SRCBLEND ONE SetRenderState DESTBLEND ONE SetTexture 0 tex0 SetTextureStageState 0 MIPFILTER FILTER_LINEAR SetTexture 1 lightmap SetTextureStageState 1 MIPFILTER FILTER_NONE SetTextureWrap 1 CLAMP CLAMP CLAMP StartVertexShader vs.1.1 m4x4 opos, v0, c4 mov ot0, v7 //Vertex in normalized light space sub r0, v0, c3 //V-L mul ot1, r0, c1.y //V-L/falloff //Normalized light vector sub r0, c3, v0 dp3 r0.w, r0, r0 rsq r0.w, r0.w mul r0, r0, r0.w dp3 od0, r0, v3 //Goraud N.L EndVertexShader //SetVertexShaderConstant 0 commonconst SetVertexShaderConstant 1 appconst //SetVertexShaderConstant 2 worldspacecampos SetVertexShaderConstant 3 worldspacelightpos SetVertexShaderConstant 4 wvp SetPixelShaderConstant 0 appconst StartPixelShader ps.1.4 texcrd r1.rgb, t1 //Vertex in norm light space dp3 r1, r1, r1 //distance squared from light phase texld r0, t0 //Base texld r1, r1 //Light attenuation mul r0, r0, r1_x2 //Base*light mul r0, r0, v0 // " * N.L mul r0, r0, c0.b // " * pulsescalar EndPixelShader EndPass EndShader Preparing Sushi - ATI Research, Inc. EGDC
22 Shadow Volumes Dynamic vs. Static Static volumes are used when you have non-moving lights and non-moving geometry. Dynamic volumes are used if you have either a moving light or animated geometry. Preparing Sushi - ATI Research, Inc. EGDC
23 Dynamic Shadow Volumes Shadow Volume Visualization Preparing Sushi - ATI Research, Inc. EGDC
24 Dynamic Shadow Volumes In Sushi, only animated objects & characters have dynamic volumes. Are computed entirely in a vertex shader, so the CPU never touches these vertices! Removes any AGP performance issues. Preparing Sushi - ATI Research, Inc. EGDC
25 Shadow Volume Sphere Sphere s Shadow Volume Preparing Sushi - ATI Research, Inc. EGDC
26 Shadow Volume Extrusion Setup A B Face Normals For Polygon A A B Face Normals For Polygon B Infinitely Thin Fill Polygons Original bordering polygons. We insert 2 degenerate polygons between the original polygons which share the appropriate face normal encoded in the vertex. Preparing Sushi - ATI Research, Inc. EGDC
27 Static Shadow Volumes Preparing Sushi - ATI Research, Inc. EGDC
28 Static Shadow Volumes Shadows cast by non-moving light sources Scene geometry that doesn t move Terrain, rocks, buildings, etc. Great opportunity to optimize out the brute-force nature of dynamic shadow volumes! Preparing Sushi - ATI Research, Inc. EGDC
29 Shadow Beam Algorithm Below is an example of applying this beam algorithm to the first 3 polygons of a given volume. Beam Polygon 1 Beam Polygon 2 Beam Polygon 3 Preparing Sushi - ATI Research, Inc. EGDC
30 Shadow Beam Algorithm 1. Begin with an empty final table. 2. Roughly sort all polygons back to front based on some simple test (QSort will suffice) 3. For each polygon in the rough back to front order: A. Create a beam from each polygon (4 clip planes), clipping away all polygons inside beam that have already been added to final table. A beam consists of 3 copy planes generated from the light source and each edge of the polygon, and the 4 th clip plane is the polygon s plane equation. B. If polygons are left in front of beam polygon, recurse only 1 deep for each polygon left in front of the original beam polygon adding polygons to final table. Else, add beam polygon to the final table. C. Optimize mesh in final table to remove redundant tessellation caused by beam planes. 4. Solve for T-Junctions (from the light s point of view) in final table. This algorithm does not lend itself to infinite recursion like the Weiler-Atherton algorithm! Preparing Sushi - ATI Research, Inc. EGDC
31 Shadow Beam Algorithm Recursion Step Original Beam Recursive Beam Remaining Polygons Existing Polygon Beam Polygon Beam Frustum Recursive Beam Frustum Preparing Sushi - ATI Research, Inc. EGDC
32 Shadow Beam Algorithm This solves for cyclically overlapping polygons! (Now solve for T-Junctions!) Preparing Sushi - ATI Research, Inc. EGDC
33 Object Engine Remember, we re not designing a game engine! Play back animation that consist of: Skinning Tweening (morphing, key-frame) Skinning & Tweening simultaneously! Types of objects: Globally animated (walking creature) Locally animated (swaying plant) Static non-animated (rocks) Preparing Sushi - ATI Research, Inc. EGDC
34 RADEON 8500 Rachel Demo Preparing Sushi - ATI Research, Inc. EGDC
35 RADEON 8500 Rachel Demo Preparing Sushi - ATI Research, Inc. EGDC
36 Extras Anamorphic Spherical screen projection High resolution screen shots Fly through paths Preparing Sushi - ATI Research, Inc. EGDC
37 Anamorphic Sushi has an anamorphic mode for plasma and HDTV displays 16:9 aspect ratio isn t necessarily the pixel aspect ratio for plasma screens! As is done in celluloid, draw into a 3:4 render target with the aspect of your projection matrix set to 16:9 (Kung Fu movies in the 80 s). The display stretches the image out to 16:9 with no black letterbox bars on the screen. Also be aware of odd aspect ratio display modes. Some notebooks and LCDs are shipping with 1280x768 display modes, for example. Preparing Sushi - ATI Research, Inc. EGDC
38 Anamorphic 3:4 Render Target 16:9 Plasma Display Preparing Sushi - ATI Research, Inc. EGDC
39 Spherical Projection Screens 150 Viewer Top View Preparing Sushi - ATI Research, Inc. EGDC
40 Spherical Projection Screens The visual simulation community has made immersive displays which are like small-scale Omnimax screens Relatively simple to add to an existing engine which already has renderable texture support Great demo opportunities! Preparing Sushi - ATI Research, Inc. EGDC
41 High Resolution Screen Shots Hit one button in-engine and dump a screenshot at higher resolution than the GPU can actually render Very useful for printed media which use at least 300 dots per inch (dpi) Magazines and printed media usually looks lower resolution than a monitor Recently published in Game Programming Gems 2 Preparing Sushi - ATI Research, Inc. EGDC
42 High Resolution Screen Shots Preparing Sushi - ATI Research, Inc. EGDC
43 Fly Through Paths Smooth quaternion-based fly through paths provide a very nice demo mode for flying through our scenes. Recently published in Game Programming Gems 2 Preparing Sushi - ATI Research, Inc. EGDC
44 RADEON 8500 Waterfall Demo Preparing Sushi - ATI Research, Inc. EGDC
45 RADEON 8500 Waterfall Demo Reflections Refractions Preparing Sushi - ATI Research, Inc. EGDC
46 Water Effect Uses 2 renderable textures: reflections & refractions Geometry is drawn in screen space into the textures. The water surface itself is rendered using 4 crossing sin waves (for per-vertex waves) and 2 addative bump maps (for per-pixel perturbations). Both renderable textures are utilized by fetching with perturbed texture coordinates based on the bump maps. A Fresnel term is used to add realism. Additional specular highlight are added for the sun. The water is rendered in a single pass utilizing 1.1 vertex shaders and 1.4 pixel shaders. This allows for objects to be partially in water. Preparing Sushi - ATI Research, Inc. EGDC
47 Future Enhancements Shader library Make this even more general Embed stream mapping and data mapping into shader file so a recompile is never needed when adding new shaders Collision Detection DX9 Features Preparing Sushi - ATI Research, Inc. EGDC
48 Questions Oops. This hysterical outtake was captured from the Rachel demo when we first rendered this model in real-time. Half her polygons remained in object space accidentally We soon corrected the problem and she now looks better: Preparing Sushi - ATI Research, Inc. EGDC
Designing a Game s Shader Library for Current and Next Generation Hardware
ATI TECHNOLOGIES INC. Designing a Game s Shader Library for Current and Next Generation Hardware Alex Vlachos AVlachos@ati.com 1 Outline Intro & Motivation Demos Why a Shader Library is Needed ATI Demo
More informationRippling Reflective and Refractive Water
Rippling Reflective and Refractive Water Alex Vlachos John Isidoro Chris Oat ATI Research ATI Research ATI Research One of the classic challenges of real-time computer graphics is to generate realistic
More informationA Conceptual and Practical Look into Spherical Curvilinear Projection By Danny Oros
A Conceptual and Practical Look into Spherical Curvilinear Projection By Danny Oros IMPORTANT NOTE : This document and technology is the legal property of Matrox Graphics, Inc. However, this technique
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationHidden Surface Elimination Raytracing. Pre-lecture business. Outline for today. Review Quiz. Image-Space vs. Object-Space
Hidden Surface Elimination Raytracing Pre-lecture business Get going on pp4 Submit exam questions by Sunday CS148: Intro to CG Instructor: Dan Morris TA: Sean Walker August 2, 2005 Remote folks: let us
More informationBuilding scalable 3D applications. Ville Miettinen Hybrid Graphics
Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game
More informationIn-Game Special Effects and Lighting
In-Game Special Effects and Lighting Introduction! Tomas Arce! Special Thanks! Matthias Wloka! Craig Galley! Stephen Broumley! Cryrus Lum! Sumie Arce! Inevitable! nvidia! Bungy What Is Per-Pixel Pixel
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More informationInteractive Cloth Simulation. Matthias Wloka NVIDIA Corporation
Interactive Cloth Simulation Matthias Wloka NVIDIA Corporation MWloka@nvidia.com Overview Higher-order surfaces Vertex-shader deformations Lighting modes Per-vertex diffuse Per-pixel diffuse with bump-map
More informationMotivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling
Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of real-time
More informationHow to Work on Next Gen Effects Now: Bridging DX10 and DX9. Guennadi Riguer ATI Technologies
How to Work on Next Gen Effects Now: Bridging DX10 and DX9 Guennadi Riguer ATI Technologies Overview New pipeline and new cool things Simulating some DX10 features in DX9 Experimental techniques Why This
More informationShadow Techniques. Sim Dietrich NVIDIA Corporation
Shadow Techniques Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Lighting & Shadows The shadowing solution you choose can greatly influence the engine decisions you make This talk will outline
More informationCSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling
CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project
More informationCopyright Khronos Group, Page Graphic Remedy. All Rights Reserved
Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies
More informationSpecial Effects with DirectX 9
Special Effects with DirectX 9 Alex Vlachos AVlachos@ati.com Greg James GJames@nvidia.com Outline Glow effect Developed for Disney/Monolith s Tron 2.0 Volume fog from polygon objects Used in Bandai/Dimps
More informationRender-To-Texture Caching. D. Sim Dietrich Jr.
Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation
More informationCulling. Computer Graphics CSE 167 Lecture 12
Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationCSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling
CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 3 due Monday Nov 13 th at
More informationCould you make the XNA functions yourself?
1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which
More informationOptimizing DirectX Graphics. Richard Huddy European Developer Relations Manager
Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most
More informationShadows in the graphics pipeline
Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects
More informationRendering Objects. Need to transform all geometry then
Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationScene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development
Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationMany rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.
1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,
More informationNext-Generation Graphics on Larrabee. Tim Foley Intel Corp
Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee
More informationStreaming Massive Environments From Zero to 200MPH
FORZA MOTORSPORT From Zero to 200MPH Chris Tector (Software Architect Turn 10 Studios) Turn 10 Internal studio at Microsoft Game Studios - we make Forza Motorsport Around 70 full time staff 2 Why am I
More informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
More informationReal Time Rendering of Expensive Small Environments Colin Branch Stetson University
Real Time Rendering of Expensive Small Environments Colin Branch Stetson University Abstract One of the major goals of computer graphics is the rendering of realistic environments in real-time. One approach
More informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationTDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)
TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except
More informationPoint based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural
1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that
More informationApplications of Explicit Early-Z Culling
Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of
More informationCS 130 Exam I. Fall 2015
S 3 Exam I Fall 25 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Geometry Outline Vertex and primitive operations System examples emphasis on clipping Primitive
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationSpeeding up your game
Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers (adapted by Marc Levoy from a lecture by Tomas Möller, using material
More informationOptimisation. CS7GV3 Real-time Rendering
Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that
More informationCS GAME PROGRAMMING Question bank
CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved
More informationChapter 3 ATI. Jason L. Mitchell
Chapter 3 ATI Jason L. Mitchell SIGGRAPH 2002 - State of the Art in Hardware Shading Course Pixel Shading with DirectX 8.1 and the ATI RADEON 8500 Jason L. Mitchell JasonM@ati.com 3D Application Research
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationReal Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03
1 Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 Table of Contents 1 I. Overview 2 II. Creation of the landscape using fractals 3 A.
More informationUser Guide. Vertex Texture Fetch Water
User Guide Vertex Texture Fetch Water Introduction What Is the Vertex Texture Fetch Water Sample? The sample demonstrates a technique to render small to medium bodies of water using Vertex Texture Fetch
More informationRSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog
RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004
More informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
More informationTutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI
Tutorial on GPU Programming #2 Joong-Youn Lee Supercomputing Center, KISTI Contents Graphics Pipeline Vertex Programming Fragment Programming Introduction to Cg Language Graphics Pipeline The process to
More informationLOD and Occlusion Christian Miller CS Fall 2011
LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationReal-Time Rendering (Echtzeitgraphik) Michael Wimmer
Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
More informationDirect3D API Issues: Instancing and Floating-point Specials. Cem Cebenoyan NVIDIA Corporation
Direct3D API Issues: Instancing and Floating-point Specials Cem Cebenoyan NVIDIA Corporation Agenda Really two mini-talks today Instancing API Usage Performance / pitfalls Floating-point specials DirectX
More informationCOMP environment mapping Mar. 12, r = 2n(n v) v
Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,
More informationCanonical Shaders for Optimal Performance. Sébastien Dominé Manager of Developer Technology Tools
Canonical Shaders for Optimal Performance Sébastien Dominé Manager of Developer Technology Tools Agenda Introduction FX Composer 1.0 High Performance Shaders Basics Vertex versus Pixel Talk to your compiler
More informationReal-Time Non- Photorealistic Rendering
Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal
More informationSign up for crits! Announcments
Sign up for crits! Announcments Reading for Next Week FvD 16.1-16.3 local lighting models GL 5 lighting GL 9 (skim) texture mapping Modern Game Techniques CS248 Lecture Nov 13 Andrew Adams Overview The
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationPowerVR Hardware. Architecture Overview for Developers
Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.
More informationCSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11
More informationAbstract. 2 Description of the Effects Used. 1 Introduction Phong Illumination Bump Mapping
Developing a Real-Time Renderer With Optimized Shadow Volumes Mátyás Premecz (email: pmat@freemail.hu) Department of Control Engineering and Information Technology, Budapest University of Technolgy Hungary
More informationHardware-driven visibility culling
Hardware-driven visibility culling I. Introduction 20073114 김정현 The goal of the 3D graphics is to generate a realistic and accurate 3D image. To achieve this, it needs to process not only large amount
More informationDX10, Batching, and Performance Considerations. Bryan Dudash NVIDIA Developer Technology
DX10, Batching, and Performance Considerations Bryan Dudash NVIDIA Developer Technology The Point of this talk The attempt to combine wisdom and power has only rarely been successful and then only for
More informationAnimation Essentially a question of flipping between many still images, fast enough
33(70) Information Coding / Computer Graphics, ISY, LiTH Animation Essentially a question of flipping between many still images, fast enough 33(70) Animation as a topic Page flipping, double-buffering
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationRobust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan
Robust Stencil Shadow Volumes CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 Games Begin to Embrace Robust Shadows 3 John Carmack s new Doom engine leads the way
More informationCS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz
CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationlecture 18 - ray tracing - environment mapping - refraction
lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the
More informationChapter 1 Introduction
Graphics & Visualization Chapter 1 Introduction Graphics & Visualization: Principles & Algorithms Brief History Milestones in the history of computer graphics: 2 Brief History (2) CPU Vs GPU 3 Applications
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationDOOM 3 : The guts of a rendering engine
DOOM 3 : The guts of a rendering engine Introduction Background Game Design Techniques Tradeoffs Problems and Solutions Background Doom One of the most successful PC games of all time Kicked off First
More informationPOWERVR MBX. Technology Overview
POWERVR MBX Technology Overview Copyright 2009, Imagination Technologies Ltd. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied
More informationApplications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research
Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past
More informationProjection Matrix Tricks. Eric Lengyel
Projection Matrix Tricks Eric Lengyel Outline Projection Matrix Internals Infinite Projection Matrix Depth Modification Oblique Near Clipping Plane Slides available at http://www.terathon.com www.terathon.com/
More informationSpatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology
Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes
More informationGraphics Hardware and Display Devices
Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive
More informationRenderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1
More informationHardware Displacement Mapping
Matrox's revolutionary new surface generation technology, (HDM), equates a giant leap in the pursuit of 3D realism. Matrox is the first to develop a hardware implementation of displacement mapping and
More informationCOMP 175: Computer Graphics April 11, 2018
Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive
More informationReal-Time Hair Simulation and Rendering on the GPU. Louis Bavoil
Real-Time Hair Simulation and Rendering on the GPU Sarah Tariq Louis Bavoil Results 166 simulated strands 0.99 Million triangles Stationary: 64 fps Moving: 41 fps 8800GTX, 1920x1200, 8XMSAA Results 166
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationCSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October
More informationOptimal Shaders Using High-Level Languages
Optimal Shaders Using High-Level Languages The Good, The Bad, The Ugly All high level languages provide significant power and flexibility that: Make writing shaders easy Make writing slow shaders easy
More informationOverview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality.
Overview A real-time shadow approach for an Augmented Reality application using shadow volumes Introduction of Concepts Standard Stenciled Shadow Volumes Method Proposed Approach in AR Application Experimental
More informationAcknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.
Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages
More informationProject6 Lighting per-pixel shading and optimizations for Direct3D 8
Project6 Lighting per-pixel shading and optimizations for Direct3D 8 Author: Michal Valient (valient@dimension3.sk) Conversion (with some corrections) from the HTML article written in November 2002 6.0
More informationPerformance OpenGL Programming (for whatever reason)
Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer
More informationGraphics Hardware. Instructor Stephen J. Guy
Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!
More informationComputer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017
Computer Graphics Si Lu Fall 2017 http://web.cecs.pdx.edu/~lusi/cs447/cs447_547_comp uter_graphics.htm 11/22/2017 Last time o Splines 2 Today o Raytracing o Final Exam: 14:00-15:30, Novermber 29, 2017
More informationDominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment
Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field
More informationProgrammable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes
Last Time? Programmable GPUS Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes frame buffer depth buffer stencil buffer Stencil Buffer Homework 4 Reading for Create some geometry "Rendering
More informationhttps://ilearn.marist.edu/xsl-portal/tool/d4e4fd3a-a3...
Assessment Preview - This is an example student view of this assessment done Exam 2 Part 1 of 5 - Modern Graphics Pipeline Question 1 of 27 Match each stage in the graphics pipeline with a description
More informationInteractive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL
International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based
More informationCOMP30019 Graphics and Interaction Rendering pipeline & object modelling
COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More informationLecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling
Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering
More informationLast Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?
Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization
More information