{"id":246,"date":"2013-07-01T13:02:32","date_gmt":"2013-07-01T20:02:32","guid":{"rendered":"http:\/\/martinecker.com\/martincodes\/?p=246"},"modified":"2013-11-17T19:13:52","modified_gmt":"2013-11-18T03:13:52","slug":"cool-link-stash-may-june-2013","status":"publish","type":"post","link":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/","title":{"rendered":"Cool Link Stash, May &#038; June 2013"},"content":{"rendered":"<h4>Graphics<\/h4>\n<p>Matt Swoboda (aka Smash of demoscene fame) posted two interesting posts on real-time GPU ray tracing. In <a href=\"http:\/\/directtovideo.wordpress.com\/2013\/05\/07\/real-time-ray-tracing\/\" target=\"_blank\">the first post<\/a> he mostly talks about the various techniques he tried, and in <a href=\"http:\/\/directtovideo.wordpress.com\/2013\/05\/08\/real-time-ray-tracing-part-2\/\" target=\"_blank\">the second post<\/a> he discusses some more implementation details of the final technique used in the \"5 faces\" demo.<\/p>\n<p><a href=\"http:\/\/acko.net\/files\/fullfrontal\/fullfrontal\/webglmath\/online.html\" target=\"_blank\">Making WebGL Dance<\/a> is a fantastic online presentation on the basics of rendering with WebGL. It uses WebGL itself for the slides and is really well done. Recommended.<\/p>\n<p>fxguide.com has a nice article on the <a href=\"http:\/\/www.fxguide.com\/featured\/game-environments-parta-remember-me-rendering\/\" target=\"_blank\">physically-based rendering in the recent game Remember Me<\/a>.<\/p>\n<p>Kind of an old post from 2011, but somebody recently reposted this on Twitter and it made me look at it again: Alexandre Mutel has an interesting post on his blog called <a href=\"http:\/\/code4k.blogspot.com\/2011\/11\/advanced-hlsl-using-closures-and.html\" target=\"_blank\">Advanced HLSL using closures and function pointers<\/a>. He shows some interesting hacks to do closures in HLSL, even with shader models 3 and 4. Pretty interesting.<\/p>\n<p><\/p>\n<h4>Other<\/h4>\n<p><a href=\"http:\/\/github.com\/orangeduck\/libCello\" target=\"_blank\">libCello<\/a>. is a somewhat crazy C99 library that adds higher-level language primitives to C, mostly via macros. Interesting, yet crazy.<\/p>\n<p><a href=\"http:\/\/terralang.org\/\" target=\"_blank\">Terra<\/a> is a low-level, statically-typed, compiled, LLVM-based language with a syntax very similar to Lua. It has excellent integration with C code. Seems very interesting.<\/p>\n<p><a href=\"http:\/\/visualstudiogallery.msdn.microsoft.com\/4a979842-b9aa-4adf-bfef-83bd428a0acb\" target=\"_blank\">Debugger Canvas<\/a> is a nifty Visual Studio plugin that aids in debugging C# apps. It displays the entire callstack in bubbles on a canvas and gives a nice \"big picture\" view when stepping through code. I haven't used it much but it seems like it could be useful after getting used to it. The most annoying thing about it is that it's only available for Visual Studio 2010 Ultimate. Any other version will not do.<\/p>\n<p><a href=\"http:\/\/pcottle.github.io\/learnGitBranching\/\" target=\"_blank\">Learn Git Branching<\/a> is a great interactive website that teaches you how to do branching in git. Recommended!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Graphics Matt Swoboda (aka Smash of demoscene fame) posted two interesting posts on real-time GPU ray tracing. In the first post he mostly talks about the various techniques he tried, and in the second post he discusses some more implementation &hellip; <a href=\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-246","post","type-post","status-publish","format-standard","hentry","category-cool-link-stash"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.12 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cool Link Stash, May &amp; June 2013 - Martin Codes<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cool Link Stash, May &amp; June 2013 - Martin Codes\" \/>\n<meta property=\"og:description\" content=\"Graphics Matt Swoboda (aka Smash of demoscene fame) posted two interesting posts on real-time GPU ray tracing. In the first post he mostly talks about the various techniques he tried, and in the second post he discusses some more implementation &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/\" \/>\n<meta property=\"og:site_name\" content=\"Martin Codes\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-01T20:02:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-11-18T03:13:52+00:00\" \/>\n<meta name=\"author\" content=\"Martin Ecker\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Ecker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/\",\"url\":\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/\",\"name\":\"Cool Link Stash, May & June 2013 - Martin Codes\",\"isPartOf\":{\"@id\":\"https:\/\/martinecker.com\/martincodes\/#website\"},\"datePublished\":\"2013-07-01T20:02:32+00:00\",\"dateModified\":\"2013-11-18T03:13:52+00:00\",\"author\":{\"@id\":\"https:\/\/martinecker.com\/martincodes\/#\/schema\/person\/2ad254c988c5aaef13e54a1cadde5816\"},\"breadcrumb\":{\"@id\":\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/martinecker.com\/martincodes\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cool Link Stash, May &#038; June 2013\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/martinecker.com\/martincodes\/#website\",\"url\":\"https:\/\/martinecker.com\/martincodes\/\",\"name\":\"Martin Codes\",\"description\":\"Ramblings from a video game\/graphics programmer on anything coding- or graphics-related\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/martinecker.com\/martincodes\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/martinecker.com\/martincodes\/#\/schema\/person\/2ad254c988c5aaef13e54a1cadde5816\",\"name\":\"Martin Ecker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/martinecker.com\/martincodes\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7dfd53e699c35d22210a3c63e4b3e2cfae66f49029b0cde5f3c9d86847471d7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7dfd53e699c35d22210a3c63e4b3e2cfae66f49029b0cde5f3c9d86847471d7a?s=96&d=mm&r=g\",\"caption\":\"Martin Ecker\"},\"url\":\"http:\/\/martinecker.com\/martincodes\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cool Link Stash, May & June 2013 - Martin Codes","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/","og_locale":"en_US","og_type":"article","og_title":"Cool Link Stash, May & June 2013 - Martin Codes","og_description":"Graphics Matt Swoboda (aka Smash of demoscene fame) posted two interesting posts on real-time GPU ray tracing. In the first post he mostly talks about the various techniques he tried, and in the second post he discusses some more implementation &hellip; Continue reading &rarr;","og_url":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/","og_site_name":"Martin Codes","article_published_time":"2013-07-01T20:02:32+00:00","article_modified_time":"2013-11-18T03:13:52+00:00","author":"Martin Ecker","twitter_misc":{"Written by":"Martin Ecker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/","url":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/","name":"Cool Link Stash, May & June 2013 - Martin Codes","isPartOf":{"@id":"https:\/\/martinecker.com\/martincodes\/#website"},"datePublished":"2013-07-01T20:02:32+00:00","dateModified":"2013-11-18T03:13:52+00:00","author":{"@id":"https:\/\/martinecker.com\/martincodes\/#\/schema\/person\/2ad254c988c5aaef13e54a1cadde5816"},"breadcrumb":{"@id":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/martinecker.com\/martincodes\/cool-link-stash-may-june-2013\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/martinecker.com\/martincodes\/"},{"@type":"ListItem","position":2,"name":"Cool Link Stash, May &#038; June 2013"}]},{"@type":"WebSite","@id":"https:\/\/martinecker.com\/martincodes\/#website","url":"https:\/\/martinecker.com\/martincodes\/","name":"Martin Codes","description":"Ramblings from a video game\/graphics programmer on anything coding- or graphics-related","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/martinecker.com\/martincodes\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/martinecker.com\/martincodes\/#\/schema\/person\/2ad254c988c5aaef13e54a1cadde5816","name":"Martin Ecker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/martinecker.com\/martincodes\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7dfd53e699c35d22210a3c63e4b3e2cfae66f49029b0cde5f3c9d86847471d7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7dfd53e699c35d22210a3c63e4b3e2cfae66f49029b0cde5f3c9d86847471d7a?s=96&d=mm&r=g","caption":"Martin Ecker"},"url":"http:\/\/martinecker.com\/martincodes\/author\/admin\/"}]}},"_links":{"self":[{"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/comments?post=246"}],"version-history":[{"count":15,"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":279,"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/posts\/246\/revisions\/279"}],"wp:attachment":[{"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/media?parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/categories?post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/martinecker.com\/martincodes\/wp-json\/wp\/v2\/tags?post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}