talk gatech imposter 2001

Upload: larryshi

Post on 07-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Talk Gatech Imposter 2001

    1/17

    Dynamically Generated Imposter

    Weidong Shi

    Georgia Institute of Technology, 2001

  • 8/6/2019 Talk Gatech Imposter 2001

    2/17

    Dynamically Generated Imposter

    Exploit coherence in consecutive frames to speed uprendering

    Reduce scene complexity by converting polygonmodels into imposters

    Generate imposters on the fly to achieve flexibility

  • 8/6/2019 Talk Gatech Imposter 2001

    3/17

    Frame to Frame Coherence

    Frame sequence generated by interactive graphicssystem contains significant amount of coherence.

    Relative motion of distant objects on screen is

    small.

    Close objects often expose the same side to the

    viewer when they are moving.

    Re-use of rasterized object image to speed uprendering

  • 8/6/2019 Talk Gatech Imposter 2001

    4/17

    Real Time Rendering Techniques

    LOD & Progressive Mesh

    Static Imposter

    object pre-generated and stored as texture, then

    mapped to a transparent polygon in real time

    huge texture storage space required

    limited view direction and navigation space

    Hierarchical Z- buffer

    works best for highly occluded scene

    Dynamic Imposter (Gernot Schaufler)

  • 8/6/2019 Talk Gatech Imposter 2001

    5/17

    Dynamic Imposter

    Generate an object image for a certain view

    Convert the image into texture

    Map the texture to a transparent polygon.

    Advantages

    fast

    more flexible than static imposter

  • 8/6/2019 Talk Gatech Imposter 2001

    6/17

    Dynamic Imposter -cont

    Adjust imposter when viewer moves. Rotate aimposter so that its normal always points to theviewer.

  • 8/6/2019 Talk Gatech Imposter 2001

    7/17

    Validity of Old Imposter

    Error Angle due to translation

    In view V1, B1 = B2

    In view V2, B1 and B2 has an angletrans.

  • 8/6/2019 Talk Gatech Imposter 2001

    8/17

    Validity of Old Imposter

    Error Angle due to move-in

    In view V1, B = B.

    In view V2, B and B has an anglesize.

  • 8/6/2019 Talk Gatech Imposter 2001

    9/17

    Algorithm

    For each object i

    check validity of its old imposterif valid

    render object i with imposter

    else

    if successfully generate a new imposter for object i

    render object i with new imposter

    else

    render object i with its original mesh

    endif

    endif

    endfor

  • 8/6/2019 Talk Gatech Imposter 2001

    10/17

    Real Time Performance of Dynamic

    Imposter

    View real time rendering not only as graphicsproblem but also a resource management problem.

    Real time performance depends on both thecomputational requirement and the availableresources.

    Dynamic imposter is beneficial only if leads to betteruse of rendering resources.

  • 8/6/2019 Talk Gatech Imposter 2001

    11/17

    Implementation

    Hardware

    Dell Inspiron 8000. ATI mobile graphics card withhardware 3D rendering support.

    API

    Direct X 8.

    Imposter Validity Checking

    Bounding sphere instead of bounding box used for

    computingsize andtrans

    CPU converts rendered image into texture with alphachannel.

  • 8/6/2019 Talk Gatech Imposter 2001

    12/17

    Result - cont

    Opaque imposters

  • 8/6/2019 Talk Gatech Imposter 2001

    13/17

    Result - cont

    Imposters with transparent texture

  • 8/6/2019 Talk Gatech Imposter 2001

    14/17

    Result - cont

    Performance becomes worse with dynamic imposter

    because of the slow video-system memory bus.

    Video-System speed is about 50 times slower thanSystem-Video based on DirectDraw surface copytest.

    Possible Solution (RGBA+Stencil buffer)

    Render in RGBA format instead of RGB format (16bits). This only worksin full screen mode.

    1. Clear rendering target (in Video Memory) with transparent alpha.2. Render and use stencil buffer to record all drawn pixels.3. Write opaque alpha value to all drawn pixels.4. Copy result into a texture buffer (in Video Memory).

  • 8/6/2019 Talk Gatech Imposter 2001

    15/17

    Result

    0

    50

    100

    150

    200

    250

    300

    1 3 5 7 9 11 13

    ReusedImposter

    NewImposter& Mesh

    13 tigers, viewer uses one as center and

    moves along a circle.

  • 8/6/2019 Talk Gatech Imposter 2001

    16/17

    Future Work

    Develop adaptive algorithm that chooses how objectsare rendered based on real time performance andavailable resources.

    Divide distant objects into groups and generate onlyone imposter for each group.

    Combine with LOD. Map imposter texture tosimplified mesh.

  • 8/6/2019 Talk Gatech Imposter 2001

    17/17

    Thanks

    ?