1 / 33

Christmas Break

Christmas Break. By Paul Zimmons. Anselmo’s Paper. Started from the Summer of 1999 Destined to become a Tech Report ~25 pages of just Sphere Maps Conclusion: “Sphere maps are cool but not that cool.”. OpenGL. Going through Advanced 97 codes, OpenGL extensions, and company demos

sinead
Download Presentation

Christmas Break

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Christmas Break By Paul Zimmons

  2. Anselmo’s Paper • Started from the Summer of 1999 • Destined to become a Tech Report • ~25 pages of just Sphere Maps • Conclusion: • “Sphere maps are cool but not that cool.”

  3. OpenGL • Going through Advanced 97 codes, OpenGL extensions, and company demos • What can we use from these? • Apply to OFF

  4. 1997 Course Notes Code • Many good things • Making sphere map out of 6 images (cube) • Although I later found another way • Short projective texture demo • Not sure how applicable (shadows?) • Sphere map light source • Want a sphere map highlight at a certain direction • But as soon as you move your head it goes all over

  5. Projective Texture Example Projtex.c: Projective textures are hard to control.

  6. Just draw a mesh sphere with an OpenGL light at the right place. This should work with dual paraboloid maps too for a paraboloid highlight.

  7. Extensions • Extensions are where its at • nVidia extensions are good • Extensions on SGI? Where? SGIS_?

  8. nVidia Extensions • EXT_blend_subtract • C’ = (Cs * S) - (Cd * D), clamped to 0 • Ben’s stuff? • EXT_light_max_exponent • Makes Phong exponent very high • Diefenbach’s thesis: Phong -> BRDF

  9. nVidia Extensions • EXT_paletted_textures • Color palette with texels containing indices • Quake, PSX uses these to reduce texture memory • Also why original Quake was so brown • Might be able to use in house (iffy)

  10. nVidia Extensions • EXT_texture_cube_map • Not just a view independent low distortion mapping • More like a vector to vector lookup table • Many good things flow from here • EXT_filter_anisotropic • This is a good part of why distant roads are blurry in computer graphics

  11. nVidia Extensions • EXT_vertex_weighting • Can associate two transform matrices to a single vertex • Could do something like Cohen’s 3D morph with EXT_vertex_weighting along a spline • NV_register_combiners • Can set options on texture (up to 4 texture inputs), color, and fog. Good but complicated.

  12. nVidia Extensions • NV_texgen_reflection • Use raw (rx, ry, rz) eye-space reflected vector to index a map

  13. Everybody Else • EXT_pixel_transform • PixelZoom-like but matrix applied to rasterizer • EXT_polygon_offset • Nudge depth buffer forward or back • Good for multipass without multitexture

  14. More Extensions • EXT_fragment_lighting • Adds lighting stage to OpenGL • *The* mechanism for per-pixel lighting • Renderman in OpenGL would use this • PixelFusion is going to use this • EXT_multitexture • Multitexture

  15. More Extensions • SGIX_depth_texture • For shadows • Adds RGBAZ • SGIX_pixel_texture • Color components -> texture components • RG(B) -> ST(U) • Wolfgang Heidrich wrote a whole paper on it! • Combing with env maps is key

  16. Even More Extensions • SGI_cushion • Adds ‘cushion buffers’ to help achieve constant frame rate • Seems like it will start drawing next one if the earlier one finishes before vertical retrace • SGIX_shadow • Allows <=, => on R part of interpolated (S,T,R) per vertex (??? Confusing ???)

  17. HP & WIN Extensions • HP_occlusion_test • Can find non-visibility of geometry based on whether boxing geometry is visible • Render and query if depth buffer changes • WIN_phong_shading • Phong shading per pixel

  18. Vendor Demos • nVidia trounces them all • Check out BlendView utility (needs DX7) • Very good way to gain intuition • ATI has a simpler one for the TNT • Runs on NT • Very good way to gain intuition as well • Highlights dire need for multitexture (Quake)

  19. Combiners • Combiners are even worse • EIGHT stages of blending • Can also do dot product (per pixel lighting anyone?)

  20. Gloss Mapping • Modulate sphere map reflection with alpha of another texture • Good for house group! • glBlendFunc is KEY for this and general modulation effects • Originally from ATI (as far as I know)

  21. Specular vs. Gloss Mapping

  22. Applied to House

  23. glBlendFunc + Offset • For scuffs and colored glasses

  24. What kind of FX? • Lights with shafts of light (through door) • Combing with animation for dust • Scuffs marks that affect a highlight • Grains in metals (brushed look) • Rough surfaces, grains • Wallpapers (different reflectances) • Marble (good when combined with reflect)

  25. More FX • Refraction mapping • Wolfgang Heidrich invented that one • Slow on SGIs for a single polygon • Maybe in future could be used for planar glass simulation • SGI actually has a REFRACT texture generation mode (in gl.h)

  26. Blend + Offset + Highlight • Plus reflection plus convolution plus view independent cube map plus bump map plus pixel textures plus scuffs… • The point is that the more realism you want, the more passes you need (at least for now)

  27. Problem • How many textures can the IR combine at once (2?) • Kenny/Rui stuff uses no multitexture • GeForce can do 4 plus has funky combinings and texture generation modes • Next GeForce --> 8 textures at once??? • PixelFusion --> Programmable pixel shading (by July I think)

  28. Idea • Create multipass versions for SGI • Try to see if single pass can be achieved on GeForce • Problem of texture memory • Need at *least* 64 megs • Highlight maps, bump maps all make it more • Palletized textures to the rescue?

  29. What next? • HYR is the key to the next set of visual effects for these environments • Unfortunately, so are new extensinons :( • Supporting many types of mappings and passes • Like the current .atr/.fff idea but bigger • Still only an idea of HYR but something is there • Quake 3 Shader Manual

  30. Bonus: Siggraph Paper • How to make images with alpha? • Start with an image that already has alpha • hurricane.tif • Import to Photoshop and alpha is another layer • From there it is EZ!

  31. Bonus: Siggraph Paper • Making a Dual Paraboloid Map • Use GL_EXT_NORMAL_MAP and draw a mesh in the shape of the parabola • Normals are from center to mesh point • Then cube map… again EZ!

  32. Converting • Cube map to Dual Paraboloid Map DP works on SGI too! Can do view independence on SGI!

More Related