Presentation is loading. Please wait.

Presentation is loading. Please wait.

What Well Be Covering Today: Modified Butterfly Subdivision Texturing and Antialiasing Global Illumination via Radiosity.

Similar presentations


Presentation on theme: "What Well Be Covering Today: Modified Butterfly Subdivision Texturing and Antialiasing Global Illumination via Radiosity."— Presentation transcript:

1

2 What Well Be Covering Today: Modified Butterfly Subdivision Texturing and Antialiasing Global Illumination via Radiosity

3 Modified Butterfly Subdivision Based on Dyn/Levin/Gregory Butterfly Subdivision Adds rules for non-regular vertices –Standard Butterfly is not C 1 at k=3 or k>7

4 Mesh Data Structure List of vertices Each vertex has a set edges (vertices it is connected to) –sorted in order around vertex –Not guaranteed CCW (normal problems)

5 Vertex Normals Formulas from SIG2000 course notes Problems with boundary edge rules –Possibly due to bad vertex orientation

6 Starfish-like Thing

7 Frog-ish Head

8 Anti-Aliasing Standard OpenGL Accumulation Buffer techniques Helpful Tip: Dont save your antialiasing example pictures as JPEGs

9 Texture Mapping Calculate vertex texture coordinates using spherical projection Issues to Deal with: –Texture coordinate problems –Polar Distortion

10 Wrapped Texture Coordinates Vertices can only have one texture coordinate –Some need two Two Solutions: –Duplicate vertices (bad, fast) –Detect & Fix at render time (good, slow)

11 At-Pole Texture Coordinates Singularity at poles –entire line of texture on one point –OpenGL cannot handle this gracefully Again, can be detected and corrected at render-time

12 Polar Distortion Problem Texture mapped like lines of lattitude / longitude Lines get closer at poles Distort texture to counter this effect WARNING: distorted texture will not tile!

13 Polar Distortion Solution

14 Son Of Frog-ish Head

15 Radiosity Progressive Refinement (Shooting) –My machine only has 256 MB of RAM –Large Scenes == Thrashing –Throw away form factors after each shot Use hemicube to calculate form factors –Projecting faces – easy way and hard way

16 Form Factors the Hard Way Clip and project each poly onto faces of hemicube (geometrically) Find pixels that intersect projected poly A HUGE WASTE OF PROGRAMMING EFFORT (and its really slow, too)

17 Form Factors the Easy Way Use OpenGLs Z-buffer –Encode each face with a color –Graphics Hardware speeds this up Can be less accurate than geometric method –Standard Z-Buffer accuracy problem

18 Other Implementation Issues Use double precision! –Dealing with summation of lots of tiny values –Single precision loses light –Particularly for Fqs in HemiCube OpenGL and multi-threading do not really mix together so nicely…

19 Progressive Refinement

20 Low Hemicube Resolution

21 Radiosity On Butterfly Surfaces

22


Download ppt "What Well Be Covering Today: Modified Butterfly Subdivision Texturing and Antialiasing Global Illumination via Radiosity."

Similar presentations


Ads by Google