1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 4, 2002 Day 8.

Slides:



Advertisements
Similar presentations
Normal Mapping for Precomputed Radiance Transfer
Advertisements

Real-time Shading with Filtered Importance Sampling
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
Solving Some Common Problems in a Modern Deferred Rendering Engine
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
Computer graphics & visualization Global Illumination Effects.
Week 9 - Monday.  What did we talk about last time?  BRDFs  Texture mapping and bump mapping in shaders.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Uncharted 2: HDR Lighting John Hable Naughty Dog.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
Rendering with Environment Maps Jaroslav Křivánek, KSVI, MFF UK
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
Paper by Alexander Keller
Vertex & Pixel Shaders CPS124 – Computer Graphics Ferdinand Schober.
Lighting & Shading.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
COOL Chips IV A High Performance 3D Graphics Rasterizer with Effective Memory Structure Woo-Chan Park, Kil-Whan Lee*, Seung-Gi Lee, Moon-Hee Choi, Won-Jong.
9/20/2001CS 638, Fall 2001 Today Finishing Up Reflections More Multi-Pass Algorithms Shadows.
1 KIPA Game Engine Seminars Jonathan Blow Seoul, Korea November 30, 2002 Day 5.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
1 KIPA Game Engine Seminars Jonathan Blow Seoul, Korea November 29, 2002 Day 4.
Antigone Engine Kevin Kassing – Period
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 13, 2002 Day 16.
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.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
1 Transparent Bridging Advanced Computer Networks.
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
An Efficient Representation for Irradiance Environment Maps Ravi Ramamoorthi Pat Hanrahan Stanford University SIGGRAPH 2001 Stanford University SIGGRAPH.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 12, 2002 Day 14.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
CSE 690: GPGPU Lecture 7: Matrix Multiplications Klaus Mueller Computer Science, Stony Brook University.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Finding Body Parts with Vector Processing Cynthia Bruyns Bryan Feldman CS 252.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 6, 2002 Day 10.
Game Programming 06 The Rendering Engine
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
1 Welcome Alireza Moghaddam Humber College Lecture 1 Game 540 Alireza Moghaddam
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
Local Illumination and Shading
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.
Mesh Skinning Sébastien Dominé. Agenda Introduction to Mesh Skinning 2 matrix skinning 4 matrix skinning with lighting Complex skinning for character.
A study of efficiency INDEX BUFFERS JEFF CHASTINE 1.
Texturing Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Ying Zhu Georgia State University
Jens Krüger Technische Universität München
Graphics Processing Unit
Deferred Lighting.
Chapter 6 GPU, Shaders, and Shading Languages
Memory Management 11/17/2018 A. Berrached:CS4315:UHD.
Image filtering Hybrid Images, Oliva et al.,
Real-time Rendering Shadow Maps
Graphics Processing Unit
UMBC Graphics for Games
Word Embedding Word2Vec.
KIPA Game Engine Seminars
PROCESSES & THREADS ADINA-CLAUDIA STOICA.
Image filtering
UE4 Vulkan Updates & Tips
RADEON™ 9700 Architecture and 3D Performance
03 | Creating, Texturing and Moving Objects
Frame Buffers Fall 2018 CS480/680.
Presentation transcript:

1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 4, 2002 Day 8

2 Small issues left over from yesterday Discuss cross-platformness of Keyboard::event Why I converted the 5km map example to centimeters Memory allocation and “block loading” –Why block loading is kind of funny

3 Filter bandwidth When talking about the frame-time independent filters, I have been speaking of decay rate and not filter bandwidth When a question was asked in terms of bandwidth, it made me wonder why I do this Answer: it has to do with uniform vs nonuniform sampling

4 Event Queues Show example of a big networking switch like we discussed yesterday –Interesting structure where things can be sent noncentralized, but must be received centralized An indicator that the structure should be questioned? Example of in-game object destroy/create, hide/unhide –Another reason to perhaps want that history query feature

5 Mesh Load/Save Looking through the code for the triangle strip mesh

6 Why the Tcp_Connection class Interface with Web services, etc

7 Looking at the network protocol code… We talked about UDP vs TCP kinds of things, but never looked at the various classes –Talk about the prevent-a-copy trick for wrapped_send() that I don’t actually do yet –Two-level structure of Net_Manager::* and Network::*

8 Rendering

9 BRDF Rendering (Show demo again) Discussion of the basic idea Two reasons to do this: –Better simulation of the real world –Data-driven shaders

10 BRDFs: Acquiring the data Gonioreflectometer measurements Virtual gonioreflectometer –Raytracer and some microgeometry Analytic function –Ward model

11 The Singular Value Decomposition (SVD) Factor A into VSW* –V and W are unitary –S is diagonal, positive entries on diagonal, highest magnitude first Same as weighted sum of vectors

12 Using the SVD on BRDF data Our starting matrix is 4D, not 2D Our V, W are 2D matrices These matrices can be stored as texture maps, and multiplied together –Just 2 texture units per piece of the approximation The parameterization of V and W are determined by the initial parameterization of A

13 SVD cost SVD is very expensive so we can use an approximation instead Kautz and McCool use the “Normalized Decomposition” (ND)

14 Dynamic Range on conventional hardware? Need to compute Vs k W* and store that in the frame buffer –Clamping in texture units causes problems! s too high? –So we need to scale the s values to the range [0, 1] Then we suffer a lot of banding in the texture units –This scaling needs to be the same for all objects in the scene One bright object makes the darker objects suffer

15 Solved on newer cards Radeon 9700, Geforce 5 FX Linear-light frame buffer (gamma = 1), floating point pixels, exponentiate pixels when it’s time to page flip –or let the CLUT / RAMDAC do the right thing Still not perfect –Limited handling of fp pixels is available (no antialiasing, alpha blending)

16 Why shaders are not cool A shader is treated as a monolithic program Can only call subroutines within that program (no subroutines until pixel shader 2.0) There can be a combinatoric explosion of shaders based on what you want to do –Example of different BRDF parameterizations