1 / 27

CS361

Week 14 - Wednesday. CS361. Last time. What did we talk about last time? Collision handling Collision detection Collision determination Collision response BSPs and hierarchies Multiple object CD Broad phase then exact phase. Questions?. Assignment 5. Project 4.

vera
Download Presentation

CS361

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. Week 14 - Wednesday CS361

  2. Last time • What did we talk about last time? • Collision handling • Collision detection • Collision determination • Collision response • BSPs and hierarchies • Multiple object CD • Broad phase then exact phase

  3. Questions?

  4. Assignment 5

  5. Project 4

  6. Student Lecture:Non-Photorealistic Rendering

  7. Non-Photorealistic Rendering

  8. Non-photorealistic rendering • Most of the work we've focused on all semester is doing rendering that in some way mirrors the natural world • However, a wide area of rendering is non-photorealistic rendering (NPR) • Goals: • Simplified technical drawings • Simulating artistic styles

  9. Toon shading • The most common form of NPR in video games is toon shading • Also called cel shading • The goal is to render 3D models as if they were cartoons • Shading is often done with either a single color or a two tone (color and shading) approach • Then a thick black silhouette is added around edges

  10. Jet Grind Radio

  11. Okami

  12. Prince of Persia

  13. Coloring • The color is often determined by the dot product n ·l (surface normal dot light vector) • If negative, the surface should be darkened • Otherwise, it's some flat color • Or a threshold other than 0 can be used • A more complex system uses a one dimensional texture indexed into with the dot product Highlight Normal Shadow

  14. Silhouette edge rendering • The more complicated problem is properly rendering edges with a thick dark line • A number of different edges are of interest • Boundary or border edges are edges where one polygon is not adjacent to any other • Not found in 3D solid objects • A crease, hard, or feature edge is an edge between two polygons that is sharper than some threshold angle • A material edge is an edge between two polygons with different materials • A silhouette edge is when two neighboring polygons face different directions, relative to the eye

  15. Procedural geometry silhouetting • Cel shading focuses on rendering silhouette edges • Many of these techniques rely on manipulating back facing polygons • The crossover between front facing and back facing polygons is the silhouette • It's easy to determine which is which • After some manipulation of the backfaces, they are rendered in black

  16. z-biased backfaces • If the backfaces are rendered in black without any change, they will be hidden • Before rendering, all backfaces can be translated to be closer to the viewer • Translation can be by • A fixed amount • An amount that takes into account non-linear z-depths • An amount based on the angle of the polygon normal • None of these techniques give uniform thickness lines

  17. Triangle fattening • Another approach is to fatten each backface triangle • The slope of the triangle and the distance from the viewer determine the expansion of each edge • It doesn't work well for thin traingles

  18. Expanding shell technique • A similar approach is to expand backface vertices along their normals • The expansion amount is proportional to their z-distance • This technique fails for situations like a cube, in which faces with very different normals share vertices

  19. Silhouetting by image processing • Rather than using geometry, there is an image processing approach • Render all the normal values or depth values to a buffer and use edge detection algorithms to draw lines where the values change abruptly • Using normal values can find crease edges • This technique works for many cases that failed before • Even GPU generated surfaces are not a problem

  20. Other styles • NPR techniques are very broad • Many approaches try to recreate hand-drawn or hand-painted styles • Silhouette lines can be drawn as paintbrush strokes of varying thickness • Tonal art maps (TAMs) use palettes of hand-drawn textures to do black and white crosshatch-style shading

  21. Line rendering • For CAD programs and other 3D tools, we may want to highlight certain lines or all polygon edges • Rendering polygon edges on top of existing polygons can be a pain • Z-buffer algorithms might hide the lines • In practice, a small bias is usually added to the polygons

  22. Hidden lines • For drawing simplified models, we may want to include or exclude the hidden lines • Wireframe is the easiest, since it is just the lines • Hidden-line uses the z-buffer directly • Obscured-line renders twice, rendering z-fail lines in a lighter color • Haloed lines also use the z-buffer, drawing thick white lines first and then black lines on top • Problems happen when lines get too close

  23. Cel shading in XNA

  24. Quiz

  25. Upcoming

  26. Next time… • The future of graphics • Directions in games • Directions in hardware • Open research topics

  27. Reminders • Finish Assignment 5 • Due on Friday • Keep working on Project 4 • Due next Friday

More Related