CSC418: Computer Graphics DAVID LEVIN
Today’s Topics 1. Texture mapping 2. More Ray Tracing Some slides and figures courtesy of Wolfgang Hürst, Patricio Simari Some figures courtesy of Peter Shirley, “Fundamentals of Computer Graphics”, 3rd Ed.
Showtime https://www.youtube.com/watch?v=frLwRLS_ZR0
But First … Logistical Things • Assignment 3 available on BBS (coming soon to website)
Topic 1: Texture Mapping • Motivation • Sources of texture • Texture coordinates • {Bump, MIP, displacement, environmental} mapping
Motivation • Adding lots of detail to our models to realistically depict skin, grass, bark, stone, etc., would increase rendering times dramatically, even for hardware-supported projective methods.
Motivation • Adding lots of detail to our models to realistically depict skin, grass, bark, stone, etc., would increase rendering times dramatically, even for hardware-supported projective methods.
Motivation
Motivation
Topic 1: Texture Mapping • Motivation • Sources of texture • Texture coordinates • {Bump, MIP, displacement, environmental} mapping
Texture sources: Photographs
Texture sources: Solid textures
Texture sources: Procedural
Texture sources: Synthesized
Original Synthesized Original Synthesized
Topic 1: Texture Mapping • Motivation • Sources of texture • Texture coordinates • {Bump, MIP, displacement, environmental} mapping
Texture coordinates How does one establish correspondence? (UV mapping)
Texture coordinates
Texture coordinates
Texture coordinates
Texture coordinates
Texture coordinates
Texture coordinates
Texture coordinates
Texture coordinates
Texture coordinates
Topic 1: Texture Mapping • Motivation • Sources of texture • Texture coordinates • {Bump, MIP, displacement, environmental} mapping
Mipmapping
MIP-Mapping: Basic Idea Given a polygon, use the texture image, where the projected polygon best matches the size of the polygon on screen.
Mipmapping
Mipmapping
Environment mapping
Environment mapping
Environment mapping
Environment mapping
Bump mapping
Bump mapping
Bump mapping
Displacement mapping
Displacement mapping
Bounce Maps
Topic 2: Basic Ray Tracing • Introduction to ray tracing • Computing normals • Evaluating shading model • Computing rays • Spawning rays • Computing intersections • Incorporating transmission • refraction • ray-triangle • ray-spawning & refraction • ray-polygon • ray-quadric • the scene signature
A basic ray tracing algorithm
Shading model
Topic 3: Less Basic Ray Tracing • Introduction to ray tracing • Computing normals • Evaluating shading model • Computing rays • Spawning rays • Computing intersections • Incorporating transmission • refraction • ray-triangle • ray-spawning & refraction • ray-polygon • ray-quadric • the scene signature
local illumination reflection refraction
Modeling Reflection: Transmission
Physics of Refraction
Physics of Refraction
Geometry of Refraction
Geometry of Refraction: Transmission Vector
<latexit sha1_base64="yN1/wfnCxtZ7NBZ8hx1BKcNB0rg=">ACQnicbVDLSgMxFM34tr6qLt0EiyCIZUYEdSEU3bhUcFTolJbzWYmQzJnUIZ5iv8GreKH+E3uBK3gmbaAW31QuDk3HNuck+YSGHQdV+dicmp6ZnZufnKwuLS8kp1de3KqFRz8LmSt+EzIAUMfgoUMJNoFoYTr8P606F/3QBuh4kvsJ9CK2G0suoIztFS7uhv0gGcmp8e0RO0sCBXmdOfnjDNpASZt6s1t+4Oiv4FXglqpKzdvUr6CieRhAjl8yYpucm2MqYRsEl5JUgNZAwfs9uoWlhzCIwrWywVk63LNOhXaXtiZEO2N+OjEXG9KPQKiOGd2a8V7jMyBtZoUOl5BhtxUXnv0HNFLuHrUzESYoQ8+GvuqmkqGgRKO0IDRxl3wLGtbCLUX5nA+NoY6/YxLzxfP4Cf69+VPcu9muNkzK6ObJBNsk28cgBaZAzck58wskDeSRP5Nl5cd6cd+djKJ1wSs86GSn8xsTRLNS</latexit> <latexit sha1_base64="yN1/wfnCxtZ7NBZ8hx1BKcNB0rg=">ACQnicbVDLSgMxFM34tr6qLt0EiyCIZUYEdSEU3bhUcFTolJbzWYmQzJnUIZ5iv8GreKH+E3uBK3gmbaAW31QuDk3HNuck+YSGHQdV+dicmp6ZnZufnKwuLS8kp1de3KqFRz8LmSt+EzIAUMfgoUMJNoFoYTr8P606F/3QBuh4kvsJ9CK2G0suoIztFS7uhv0gGcmp8e0RO0sCBXmdOfnjDNpASZt6s1t+4Oiv4FXglqpKzdvUr6CieRhAjl8yYpucm2MqYRsEl5JUgNZAwfs9uoWlhzCIwrWywVk63LNOhXaXtiZEO2N+OjEXG9KPQKiOGd2a8V7jMyBtZoUOl5BhtxUXnv0HNFLuHrUzESYoQ8+GvuqmkqGgRKO0IDRxl3wLGtbCLUX5nA+NoY6/YxLzxfP4Cf69+VPcu9muNkzK6ObJBNsk28cgBaZAzck58wskDeSRP5Nl5cd6cd+djKJ1wSs86GSn8xsTRLNS</latexit> <latexit sha1_base64="yN1/wfnCxtZ7NBZ8hx1BKcNB0rg=">ACQnicbVDLSgMxFM34tr6qLt0EiyCIZUYEdSEU3bhUcFTolJbzWYmQzJnUIZ5iv8GreKH+E3uBK3gmbaAW31QuDk3HNuck+YSGHQdV+dicmp6ZnZufnKwuLS8kp1de3KqFRz8LmSt+EzIAUMfgoUMJNoFoYTr8P606F/3QBuh4kvsJ9CK2G0suoIztFS7uhv0gGcmp8e0RO0sCBXmdOfnjDNpASZt6s1t+4Oiv4FXglqpKzdvUr6CieRhAjl8yYpucm2MqYRsEl5JUgNZAwfs9uoWlhzCIwrWywVk63LNOhXaXtiZEO2N+OjEXG9KPQKiOGd2a8V7jMyBtZoUOl5BhtxUXnv0HNFLuHrUzESYoQ8+GvuqmkqGgRKO0IDRxl3wLGtbCLUX5nA+NoY6/YxLzxfP4Cf69+VPcu9muNkzK6ObJBNsk28cgBaZAzck58wskDeSRP5Nl5cd6cd+djKJ1wSs86GSn8xsTRLNS</latexit> Assumption: Refracted ray lies in the same plane as the incident ray Perpendicular component Parallel component
<latexit sha1_base64="nMt/R3K9b/Bct0qJriCTxwoSv2k=">ACQnicbVDLSgMxFM34rPVdekmWIS6sMyIoC6EohuXFawtdErJpGkNZpIhuVMow3yFX+NW8SP8BlfiVtBMOwvbeiHkcO45N7kniAQ34LrvzsLi0vLKamGtuL6xubVd2tm9NyrWlDWoEkq3AmKY4JI1gINgrUgzEgaCNYPH6zfHDJtuJ3MIpYJyQDyfucErBUt3TsDxlNTNpN/EBi9xJWd82lMwxjI9yu9uqexW3XHheDloIzyqndLP35P0ThkEqgxrQ9N4JOQjRwKlha9GPDIkIfyYC1LZQkZKaTjNdK8aFlerivtD0S8Jj960hIaMwoDKwyJPBgZnuZy0y9kWQ6UErM0Facdf4b1I6hf95JuIxiYJOftWPBQaFs0Bxj2tGQYwsIFRzuximD0QTCjb2ok3Mm81nHjROqhdV7/a0XLvKoyugfXSAKshDZ6iGblAdNRBFT+gZvaBX5835cD6dr4l0wck9e2iqnO9fJFazWQ=</latexit> <latexit sha1_base64="uLwlaXcnmMYvWMdEKnmfTNXxndw=">ACUXicbVFNaxsxEB1v1ynbNMRdRU3APNbulkAZSMklRxfqOuA1RiuPbWGtEizBrPsn+mv6bUl/6VXlqts4fG7oDQ4817kuYpzZV0FEW/WsGDh48eP2k/7Rw9e/7iOHz56qszhRU4EkYZe5Nyh0pqHJEkhTe5RZ6lCsfp+qrujzdonT6C21znGZ8qeVCk6emoUXyQZF6apZmeTcqVQVewTa1j2jvUamIi5oR3W1dtmn4XdqB/tih2CuAFdaGo4C/8kcyOKDUJxZ2bxFO05JbkJh1UkKhzkXa7EiYeaZ+im5W7Kir3xzJwtjPVLE9ux/zpKnjm3zVKvzDit3H6vdrl7d5S1joxRe7QX153/HTQpaPFxWkqdF4Ra3L1qUShGhtX5srm0KEhtPeDCSj8YEyufrCD/Cx2fWLyfzyEYve+f9+PH7qDya6NpzCa+hBDGcwgGsYwgEfIPv8AN+tm5bvwMIgjtp0Go8J3CvgqO/ehq2bA=</latexit> <latexit sha1_base64="SzUfXj2ESkyTD40VxwM0famlHRQ=">ACUnicbVJNSysxFE2rvqdVn326dBMsgqsy83igLgR5blwqWBWaMmTSOzaYSYbkjlDi/Jr3a9wqLvwtLjRTC2r1QuDknHPzcZK0UNJhFD01mnPzCz9+Li61ldWf621f6+fO1NaAT1hlLGXKXegpIYeSlRwWVjgeargIr0+qvWLG7BOGn2G4wIGOb/SMpOCY6CS9gFzUnuGI0CexBU9oCyzXHh2y25AeFclnhXcqVAVey2ehfCpJW0O1E3mhT9CuIp6JBpnSTtFzY0osxBo1DcuX4cFTjw3KIUCqoWKx0UXFzK+gHqHkObuAn16zodmCGNDM2DI10wn7s8Dx3bpynwZlzHLlZre5yn/bwtQ+NUTN0MNfKdwv1S8z2Bl7qokTQ4u1UWakoGloHTIfSgkA1DoALK8PFqBiFBAWGZ6gTi2fz+Qp6f7r73fj0b+fw3zS6RbJtsgOickuOSTH5IT0iCD/yR25Jw+Nx8ZzM/ySN2uzMe3ZIJ+qufIKudC3nw=</latexit> <latexit sha1_base64="YtnRCFns4lNq9s6YPv9gvE8GXg=">ACUnicbVJNTxsxFHRS2kKAksKRi0WE1FO0i5CgB6SIXjiCRApSHK28zlti4bVX9lukyNlfw6/ptVUP/S0cwBsilSQ8ydJ4Zp4/xk4LJR1G0b9G8Pax0+f1zdam1vbX3baX3d/OlNaAX1hlLG3KXegpIY+SlRwW1jgeargJr3/Ues3D2CdNPoaJwUMc36nZSYFx0Al7TPmpPYMx4A8OaroGWZ5cKzKXsA4bFKPCu45UqBqti0+i+EStpd6JuNCu6CuI56JB5XSbtZzYyosxBo1DcuUEcFTj03KIUCqoWKx0UXNzOxgEqHkObuhn16zoYWBGNDM2DI10xr7t8Dx3bpKnwZlzHLtlre5yC3v42ofGqCU6mGvlvYUGJWanQy91USJo8XqrFQUDa0DpiNpQaCaBMCFleFiVIxDgLDM9SJxcv5rIL+Ufd7N7467vTO59Gtk31yQL6RmJyQHrkgl6RPBHkv8hv8qfxt/HUDL/k1dpszHv2yEI1t14AvzO3og=</latexit> <latexit sha1_base64="tdRZ48gb9oTLzS6CcHRJiUNjQNk=">ACVnicbVFdS8MwFM3qx3R+VX30JTgEn0YrgvogTH3xUcE5YR0lzW41mDYluR2M2t/jr/FV8doOvugmxcSDuek+SeRJkUBj3vs+EsLC4tN1dW2vrG5tb7vbOvVG5tDjSir9EDEDUqTQ4ESHjINLIk9KPnq6rfH4M2QqV3OMlgmLDHVMSCM7RU6F4EL8EYeGHKsAgypmUIMvghZ7TINaMFz0S7sdlbUQZ4St0G17HW9adB74NWiTum5C9ysYKZ4nkCKXzJiB72U4LJhGwSWUrSA3kDH+zB5hYGHKEjDYjpqSQ8sM6Kx0nalSKfsb0fBEmMmSWSVCcMnM9urXObPHUWlQ6XkDG3FVe/gwY5xqfDQqRZjpDyn1fFuaSoaBUyHQkNHOXEAsa1sINR/mQz42i/okrMn81nHvSOmcd/a43b2so1she2SfHBKfnJAuSY3pEc4eSVv5J18ND4bX86S0/yROo3as0v+lON+A+e2uQ8=</latexit>
Recommend
More recommend