{"id":261,"date":"2015-09-17T09:33:52","date_gmt":"2015-09-17T09:33:52","guid":{"rendered":"http:\/\/www.quantumgamejam.com\/?page_id=261"},"modified":"2015-09-17T10:48:22","modified_gmt":"2015-09-17T10:48:22","slug":"dome","status":"publish","type":"page","link":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/participate\/finland\/dome\/","title":{"rendered":"Dome"},"content":{"rendered":"<p>In Heureka there&#8217;s possibility to make games with\u00a0planetarium dome projector.<\/p>\n<p>Main planetarium dome is projected with two projectors.\u00a0Resolution is 4096&#215;2160, but we can only use half of that, that is 2048&#215;1060. Projectors map north and south hemisphere parts separately and require non-trivial projection transformation. There&#8217;s Windows 8 workstation connected to projectors. Large planetarium dome is available to us only\u00a0at specific times during the weekend.<\/p>\n<p>There&#8217;s also small dome that is available to us during the whole weekend. Small dome has only one projector and utilizes simple fisheye projection. Resolution is 1600&#215;1200 and projected circular area is in middle of this with diameter of 1200 pixels. There&#8217;s no dedicated workstation for using this dome, so you can plug your laptop directly to this projector.<\/p>\n<figure style=\"width: 596px\" class=\"wp-caption alignnone\"><img decoding=\"async\" loading=\"lazy\" class=\"\" src=\"https:\/\/www.lochnessproductions.com\/art\/fulldome\/4096x2160x2.jpg\" alt=\"\" width=\"596\" height=\"596\" \/><figcaption class=\"wp-caption-text\">Dome projection. Small dome uses this projection directly, with\u00a0large dome north and south parts are projected separately and require distortion transformation.<\/figcaption><\/figure>\n<h3>Projection\u00a0Distortion<\/h3>\n<p>Easiest way to handle projection distortion is to use reverse UV-image maps to map projector display pixels to fisheye projection space. Projection image maps are generated by modelling projector and dome positions, and are not totally accurate. You can find current versions of maps from <a href=\"https:\/\/quantumjam.slack.com\/messages\/dome\/\">#dome<\/a>\u00a0channel in Slack.<\/p>\n<p>Mapping is encoded in 32bit RGBA png image. R and G channels contain 8 low and 8 high bits of U coordinate, respectively. Similarly, B\u00a0and A channels contain low and high bits of V coordinate.<\/p>\n<pre>\/\/ Example of GLSL fragment shader for using projection transform UV-maps\r\nuniform sampler2D u_texMapping;\r\nuniform sampler2D u_texMaster;\r\nvarying vec4 v_texCoord;\r\n\r\nvoid main()\r\n{\r\n  vec4 source = texture2D(u_texMapping, v_texCoord.xy);\r\n  source.ga += source.rb\/256; \/\/ add uv low bits\r\n  gl_FragColor = texture2D(u_texMaster, source.ga);\r\n}<\/pre>\n<p>Contributions (instructions, code samples, Unity projects,&#8230;)\u00a0for utilizing the dome are very welcome \ud83d\ude42 Discuss in <a href=\"https:\/\/quantumjam.slack.com\/messages\/dome\/\">#dome<\/a> Slack channel, or send contributions directly to kosti@quantumgamejam.com or <a href=\"https:\/\/quantumjam.slack.com\/team\/kosti\">@kosti<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Heureka there&#8217;s possibility to make games with\u00a0planetarium dome projector. Main planetarium dome is projected with two projectors.\u00a0Resolution is 4096&#215;2160, but we can only use half of that, that is 2048&#215;1060. Projectors map north and south hemisphere parts separately and require non-trivial projection transformation. There&#8217;s Windows 8 workstation connected to projectors. Large planetarium dome is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":155,"menu_order":12,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/pages\/261"}],"collection":[{"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/comments?post=261"}],"version-history":[{"count":6,"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/pages\/261\/revisions"}],"predecessor-version":[{"id":267,"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/pages\/261\/revisions\/267"}],"up":[{"embeddable":true,"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/pages\/155"}],"wp:attachment":[{"href":"http:\/\/www.finnishgamejam.com\/quantumjam2015\/wp-json\/wp\/v2\/media?parent=261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}