{"id":983,"date":"2015-05-12T05:43:39","date_gmt":"2015-05-12T05:43:39","guid":{"rendered":"http:\/\/lousodrome.net\/blog\/light\/?p=983"},"modified":"2018-05-30T12:15:54","modified_gmt":"2018-05-30T12:15:54","slug":"a-real-time-post-processing-crash-course","status":"publish","type":"post","link":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/","title":{"rendered":"A real-time post-processing crash course"},"content":{"rendered":"<p><a href=\"http:\/\/2015.revision-party.net\/\">Revision 2015<\/a> took place last month, on the Easter weekend as usual. I was lucky enough to attend and experience the great competitions that took place this year; I can&#8217;t recommend you enough to <a href=\"http:\/\/www.geeks3d.com\/20150411\/demoscene-revision-2015\/\">check all the good stuff that came out of it<\/a>.<\/p>\n<p>Like the previous times I shared some insights in a <a href=\"http:\/\/2015.revision-party.net\/events\/seminars\">seminar<\/a>, as an opportunity to practice public talking. Since our post-processing have quite improved with our last demo (<a href=\"http:\/\/www.ctrl-alt-test.fr\/?page_id=419\">Ctrl-Alt-Test : G \u2013 Level One<\/a>), the topic was the implementation of a few post-processing effects in a real-time renderer: glow, lens flare, light streak, motion blur&#8230;<\/p>\n<p>Having been fairly busy over the last months though, with work and the organising of <a href=\"http:\/\/tokyodemofest.jp\/2015\/\">Tokyo Demo Fest<\/a> among others, I couldn&#8217;t afford as much time as I wanted to spend on the presentation unfortunately. An hour before the presentation I was still working on the slides, but all in all it went better than expected. I also experimented with doing a live demonstration, hopefully more engaging than some screenshots or even a video capture can be.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/nt-BpAYMeJs\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Here is the video recording made by the team at Revision (kudos to you guys for the fantastic work this year). I will provide the slides later on, after I properly finish the credits and references part.<\/p>\n<blockquote><p><strong>Abstract<\/strong>:<br \/>\nOver decades photographers, then filmmakers, have learned to take advantage of optical phenomenons, and perfected the recipe of chemicals used in films, to affect the visual appeal of their images. Transposed to rendering, those lessons can make your image more pleasant to the eye, change its realism, affect its mood, or make it easier to read. In this <span class=\"il\">course<\/span> we will present different effects that can be implemented in a real-time rendering pipeline, the theory behind them, the implementation details in practice, and how they could fit in your workflow.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Revision 2015 took place last month, on the Easter weekend as usual. I was lucky enough to attend and experience the great competitions that took place this year; I can&#8217;t recommend you enough to check all the good stuff that &hellip; <a href=\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\">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":[],"categories":[3,17],"tags":[348,352,238,194,397,115,387,33,72,73,34,79,114,111,149,370,46],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A real-time post-processing crash course &ndash; Light is beautiful<\/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:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A real-time post-processing crash course &ndash; Light is beautiful\" \/>\n<meta property=\"og:description\" content=\"Revision 2015 took place last month, on the Easter weekend as usual. I was lucky enough to attend and experience the great competitions that took place this year; I can&#8217;t recommend you enough to check all the good stuff that &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\" \/>\n<meta property=\"og:site_name\" content=\"Light is beautiful\" \/>\n<meta property=\"article:published_time\" content=\"2015-05-12T05:43:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-05-30T12:15:54+00:00\" \/>\n<meta name=\"author\" content=\"Julien Guertault\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Zavie\" \/>\n<meta name=\"twitter:site\" content=\"@Zavie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julien Guertault\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\"},\"author\":{\"name\":\"Julien Guertault\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\"},\"headline\":\"A real-time post-processing crash course\",\"datePublished\":\"2015-05-12T05:43:39+00:00\",\"dateModified\":\"2018-05-30T12:15:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\"},\"wordCount\":306,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\"},\"keywords\":[\"demo\",\"demomaking\",\"demoparty\",\"gamma correction\",\"gamma space\",\"Germany\",\"HDR\",\"lens flare\",\"motion blur\",\"post processing\",\"real-time rendering\",\"Revision\",\"Saarbr\u00fccken\",\"seminar\",\"talk\",\"talk I gave\",\"video\"],\"articleSection\":[\"Demoscene\",\"Rendering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\",\"url\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\",\"name\":\"A real-time post-processing crash course &ndash; Light is beautiful\",\"isPartOf\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#website\"},\"datePublished\":\"2015-05-12T05:43:39+00:00\",\"dateModified\":\"2018-05-30T12:15:54+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lousodrome.net\/blog\/light\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A real-time post-processing crash course\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#website\",\"url\":\"https:\/\/lousodrome.net\/blog\/light\/\",\"name\":\"Light is beautiful\",\"description\":\"Thoughts of a graphics programmer, demoscener and spare time photographer\",\"publisher\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lousodrome.net\/blog\/light\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f\",\"name\":\"Julien Guertault\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/2.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g\",\"contentUrl\":\"http:\/\/2.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g\",\"caption\":\"Julien Guertault\"},\"logo\":{\"@id\":\"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/\"},\"url\":\"http:\/\/lousodrome.net\/blog\/light\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A real-time post-processing crash course &ndash; Light is beautiful","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:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/","og_locale":"en_US","og_type":"article","og_title":"A real-time post-processing crash course &ndash; Light is beautiful","og_description":"Revision 2015 took place last month, on the Easter weekend as usual. I was lucky enough to attend and experience the great competitions that took place this year; I can&#8217;t recommend you enough to check all the good stuff that &hellip; Continue reading &rarr;","og_url":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/","og_site_name":"Light is beautiful","article_published_time":"2015-05-12T05:43:39+00:00","article_modified_time":"2018-05-30T12:15:54+00:00","author":"Julien Guertault","twitter_card":"summary_large_image","twitter_creator":"@Zavie","twitter_site":"@Zavie","twitter_misc":{"Written by":"Julien Guertault","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#article","isPartOf":{"@id":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/"},"author":{"name":"Julien Guertault","@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f"},"headline":"A real-time post-processing crash course","datePublished":"2015-05-12T05:43:39+00:00","dateModified":"2018-05-30T12:15:54+00:00","mainEntityOfPage":{"@id":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/"},"wordCount":306,"commentCount":0,"publisher":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f"},"keywords":["demo","demomaking","demoparty","gamma correction","gamma space","Germany","HDR","lens flare","motion blur","post processing","real-time rendering","Revision","Saarbr\u00fccken","seminar","talk","talk I gave","video"],"articleSection":["Demoscene","Rendering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/","url":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/","name":"A real-time post-processing crash course &ndash; Light is beautiful","isPartOf":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#website"},"datePublished":"2015-05-12T05:43:39+00:00","dateModified":"2018-05-30T12:15:54+00:00","breadcrumb":{"@id":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/lousodrome.net\/blog\/light\/2015\/05\/12\/a-real-time-post-processing-crash-course\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lousodrome.net\/blog\/light\/"},{"@type":"ListItem","position":2,"name":"A real-time post-processing crash course"}]},{"@type":"WebSite","@id":"https:\/\/lousodrome.net\/blog\/light\/#website","url":"https:\/\/lousodrome.net\/blog\/light\/","name":"Light is beautiful","description":"Thoughts of a graphics programmer, demoscener and spare time photographer","publisher":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lousodrome.net\/blog\/light\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/a16a2a69d73eca763ffdf125c49eaa2f","name":"Julien Guertault","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/","url":"http:\/\/2.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/2e5fc7a18e1701e1bb61a5da0ef35cf7?s=96&d=identicon&r=g","caption":"Julien Guertault"},"logo":{"@id":"https:\/\/lousodrome.net\/blog\/light\/#\/schema\/person\/image\/"},"url":"http:\/\/lousodrome.net\/blog\/light\/author\/admin\/"}]}},"_links":{"self":[{"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts\/983"}],"collection":[{"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/comments?post=983"}],"version-history":[{"count":2,"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts\/983\/revisions"}],"predecessor-version":[{"id":1390,"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/posts\/983\/revisions\/1390"}],"wp:attachment":[{"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/media?parent=983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/categories?post=983"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/lousodrome.net\/blog\/light\/wp-json\/wp\/v2\/tags?post=983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}