KIPA Game Engine Seminars - PowerPoint PPT Presentation

About This Presentation
Title:

KIPA Game Engine Seminars

Description:

Limited handling of fp pixels is available (no antialiasing, alpha blending) 16. Why shaders ... within that program (no subroutines until pixel shader 2.0) ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 17
Provided by: some8
Category:
Tags: kipa | engine | game | pixels | seminars

less

Transcript and Presenter's Notes

Title: KIPA Game Engine Seminars


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

2
Small issues left over from yesterday
  • Discuss cross-platformness of Keyboardevent
  • 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 networkprotocol 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 dont 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
BRDFsAcquiring 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 SVDon 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 Rangeon conventional hardware?
  • Need to compute VskW 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 therange 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 its 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
Write a Comment
User Comments (0)
About PowerShow.com