{"id":168,"date":"2006-11-15T20:35:49","date_gmt":"2006-11-16T01:35:49","guid":{"rendered":"http:\/\/journal2.alanv.org\/?p=168"},"modified":"2006-11-15T20:39:09","modified_gmt":"2006-11-16T01:39:09","slug":"wheeee","status":"publish","type":"post","link":"https:\/\/journal2.alanv.org\/?p=168","title":{"rendered":"WHEEEE!"},"content":{"rendered":"<p>It&#8217;s amazing how things can turn around so quickly and leave you feeling immensely relieved.<\/p>\n<p>Last night, I got an email from Mark (my advisor) saying that he had added me to Web Apps. I was number 27 on a waitlist for the class, which has a class size of 30. Mark Stehlik is amazing and I want to have his babies.<br \/>\nI&#8217;m really glad I get to take this course before I graduate&#8230; this is my last spring semester, and the course is only offered in the spring, so it would have been really unfortunate if I hadn&#8217;t been able to get in. Meh.<br \/>\nSo then <a href=\"http:\/\/www.tcpulse.com\/psched\/short\/NjY0MDE0\">this is my schedule<\/a> as currently registered. I&#8217;ll need section B of networks instead of the currently registered section A, but there&#8217;s not much I can do about that right now (worst case, I&#8217;ll just go to the wrong section unofficially).<\/p>\n<p>Also, today, I &#8220;finished&#8221; my ray tracer. The last two things that were making me incredibly sad were phong shading and recursive reflections. The former was almost immediately fixed once I realized that a) the provided vector class didn&#8217;t scale as expected, and so once I wrote my own code to generate and scale the desired vectors, the phong shading was almost completely correct and b) I forgot that I&#8217;d created soft shadows by duplicating lights with slight offsets, so I had to scale my light intensities by 9. Once I had that working, I realized that, since I&#8217;d planned for recursive reflections from the start (added variables into my method headers to account for the required behavior), reflections were an extra one line of code. I added it in, and it worked beautifully.<br \/>\nThe only thing that&#8217;s still wrong is that the shading produces random artifacts in the scenes (the black lines you see in the scenes below). I don&#8217;t know why, and at this point I don&#8217;t care enough to go in, figure out why, and fix my code. I suspect it has to do with my reflection ray calculations and shading equation, but meh.<\/p>\n<p>Behold, my ray tracer&#8230;<br \/>\nThis demonstrates the sphere and triangle rendering, reflections, sphere texture mapping, triangle color interpolating, triangle texture mapping, triangle texture interpolation, and shadows.<br \/>\n<img decoding=\"async\" src=\"http:\/\/journal2.alanv.org\/images\/globes.png\" \/><br \/>\nThis demonstrates colored light sources, object rendering, object texture mapping, soft shadows, and reflections.<br \/>\n<img decoding=\"async\" src=\"http:\/\/journal2.alanv.org\/images\/bunny.png\" \/><br \/>\nMore of the same.<br \/>\n<img decoding=\"async\" src=\"http:\/\/journal2.alanv.org\/images\/bunny2.png\" \/><br \/>\nI used an image of Cornell just because I wanted to try texture mapping, and it happened to be the first one I clicked on when looking through my photos page for a random image.<\/p>\n<p>So yeah, I&#8217;m feeling quite a bit less stressed now. All I have left for this week is numerical methods homework (relatively easy) and studying for my analysis exam on Friday.<br \/>\n*breathes a huge sigh of relief*<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s amazing how things can turn around so quickly and leave you feeling immensely relieved. Last night, I got an email from Mark (my advisor) saying that he had added me to Web Apps. I was number 27 on a &hellip; <a href=\"https:\/\/journal2.alanv.org\/?p=168\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-168","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=\/wp\/v2\/posts\/168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=168"}],"version-history":[{"count":0,"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=\/wp\/v2\/posts\/168\/revisions"}],"wp:attachment":[{"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/journal2.alanv.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}