{"id":634,"date":"2018-05-26T23:35:59","date_gmt":"2018-05-26T23:35:59","guid":{"rendered":"http:\/\/www.world-machine.com\/blog\/?p=634"},"modified":"2018-05-26T23:48:19","modified_gmt":"2018-05-26T23:48:19","slug":"the-new-snow-device","status":"publish","type":"post","link":"https:\/\/www.world-machine.com\/blog\/2018\/05\/the-new-snow-device\/","title":{"rendered":"The New Snow Device"},"content":{"rendered":"<p>Living in the Pacific Northwest of the US is one of the biggest reasons World Machine exists. From deserts to high alpine to rain forests, we have it all &#8211; and hiking and traveling those areas provides a lot of inspiration for new devices and functionality within World Machine.<\/p>\n<p>A few weeks ago I took a quick weekend backpack to Colchuck Lake, a beautiful alpine lake nestled in the central cascades. At around 6000ft of elevation, Colchuck gets buried each year under many dozens of feet of snow, and then slowly melts out well into summer.<\/p>\n<figure id=\"attachment_635\" aria-describedby=\"caption-attachment-635\" style=\"width: 1280px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.world-machine.com\/blog\/?attachment_id=635\" rel=\"attachment wp-att-635\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-635\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck.jpg\" alt=\"\" width=\"1280\" height=\"853\" srcset=\"https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck.jpg 1280w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck-300x200.jpg 300w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck-768x512.jpg 768w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck-1024x682.jpg 1024w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><figcaption id=\"caption-attachment-635\" class=\"wp-caption-text\">This is what it looks like at Colchuck Lake in Real Life<\/figcaption><\/figure>\n<p>Spending time camping on the snowy shore and soaking in the stunning surroundings gave me a lot of interesting ideas, but most importantly made me determined to improve the Snow device in WM.<\/p>\n<p>The snow device has always been tricky to use right. Not only are the exposed parameters fiddly, but the results were often inconsistent between low and high res builds, necessitating even more tweaking and frustration. Most damning, the solution method scaled poorly, making the snow device impossibly slow in high res builds. All of these factors conspired to make it less useful than I had always hoped.<\/p>\n<h2>Meet the New Snow Device<\/h2>\n<p>The trip to Colchuck was the inspiration needed to overhaul the Snow Device.<\/p>\n<p>Let&#8217;s start from the top. It&#8217;s simpler to use:<\/p>\n<figure id=\"attachment_641\" aria-describedby=\"caption-attachment-641\" style=\"width: 608px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.world-machine.com\/blog\/?attachment_id=641\" rel=\"attachment wp-att-641\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-641\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-5.jpg\" alt=\"\" width=\"608\" height=\"226\" srcset=\"https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-5.jpg 608w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-5-300x112.jpg 300w\" sizes=\"auto, (max-width: 608px) 100vw, 608px\" \/><\/a><figcaption id=\"caption-attachment-641\" class=\"wp-caption-text\">Only a few non-tweaky parameters are needed<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>But can simulate snow accumulation pretty stunningly:<\/p>\n<figure id=\"attachment_640\" aria-describedby=\"caption-attachment-640\" style=\"width: 1280px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.world-machine.com\/blog\/?attachment_id=640\" rel=\"attachment wp-att-640\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-640\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-4.jpg\" alt=\"\" width=\"1280\" height=\"625\" srcset=\"https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-4.jpg 1280w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-4-300x146.jpg 300w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-4-768x375.jpg 768w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-4-1024x500.jpg 1024w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><figcaption id=\"caption-attachment-640\" class=\"wp-caption-text\">Heavy snowfall in the alpine<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>Unlike the old snow device, it&#8217;s also very consistent across resolution of build:<\/p>\n<p><a href=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-1-1.jpg\" rel=\"attachment wp-att-636\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-648 size-full\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-1-1.jpg\" alt=\"\" width=\"1280\" height=\"766\" srcset=\"https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-1-1.jpg 1280w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-1-1-300x180.jpg 300w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-1-1-768x460.jpg 768w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-1-1-1024x613.jpg 1024w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Finally, and very importantly, it uses a more efficient solution to the PDEs governing the snow behavior to get some massive performance improvements:<\/p>\n<figure id=\"attachment_638\" aria-describedby=\"caption-attachment-638\" style=\"width: 293px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.world-machine.com\/blog\/?attachment_id=638\" rel=\"attachment wp-att-638\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-638\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-3.jpg\" alt=\"\" width=\"293\" height=\"366\" srcset=\"https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-3.jpg 293w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-3-240x300.jpg 240w\" sizes=\"auto, (max-width: 293px) 100vw, 293px\" \/><\/a><figcaption id=\"caption-attachment-638\" class=\"wp-caption-text\">Timing Comparison for a 2k terrain.\u00a0 33x Faster!<\/figcaption><\/figure>\n<p>The new Snow device is faster on small worlds and massively (hundreds-to-thousands) faster for very large worlds, where the old Snow device would simply blow up in terms of processing time required.<\/p>\n<p>&nbsp;<\/p>\n<h2>Melt your Heart Out<\/h2>\n<p>&nbsp;<\/p>\n<p>One of the major bits of inspiration I drew from the Colchuck trip was realizing that the melt-out process produces a fundamentally different looking landscape than the same amount of snow freshly fallen. Let&#8217;s look at that photo again:<\/p>\n<figure id=\"attachment_635\" aria-describedby=\"caption-attachment-635\" style=\"width: 1280px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.world-machine.com\/blog\/?attachment_id=635\" rel=\"attachment wp-att-635\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-635\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck.jpg\" alt=\"\" width=\"1280\" height=\"853\" srcset=\"https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck.jpg 1280w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck-300x200.jpg 300w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck-768x512.jpg 768w, https:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/Colchuck-1024x682.jpg 1024w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><figcaption id=\"caption-attachment-635\" class=\"wp-caption-text\">Colchuck Melting (Real Life)<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>During the accumulation process, snow accumulates and softens the terrain, creating a relatively uniform and even snow surface.<\/p>\n<p>During snow melt, the snow surface melts out quasi-evenly (given factors of sun exposure, temperature, etc). But since snow has accumulated to different depths on the terrain, the result is the photo above: The deep gullies and accumulation zones retain snow, while the steep, exposed, or highest areas of the terrain clear of snow early.<\/p>\n<h3>How WM does it<\/h3>\n<p>You can still specify masks governing accumulation and melt areas during the accumulation simulation &#8211; these allow you to have things like snowy peaks with temperate lowlands.<\/p>\n<p>But to\u00a0account for this &#8220;Winter&#8221; vs &#8220;Melt-Out&#8221; dichotomy, the melt process has been split out of the snow device itself. This is also handy because it allows you to tweak the melt levels without having to re-run the accumulation simulation.<\/p>\n<p>Here&#8217;s a handy animated GIF of the melt out process, simply moving the &#8220;Melt&#8221; slider to the right:<\/p>\n<figure id=\"attachment_639\" aria-describedby=\"caption-attachment-639\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-2.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-639 size-full\" src=\"http:\/\/www.world-machine.com\/blog\/wp-content\/uploads\/2018\/05\/New-Snow-Device-2.gif\" alt=\"\" width=\"480\" height=\"337\" \/><\/a><figcaption id=\"caption-attachment-639\" class=\"wp-caption-text\">Animation of the Melt Process<\/figcaption><\/figure>\n<p>You can see how, much like the photo from Colchuck above, during meltout snow is retained in the gullies and deep snowfields while melting away from the ridges and exposed surfaces. This fast and convenient method of melting the snow lets you dial in exactly the kind of snowpack you want for your scene.<\/p>\n<p>&nbsp;<\/p>\n<p>I&#8217;m pretty excited by the new Snow device, and the possibilities it opens up. It is not available <strong><em>yet<\/em><\/strong> on the Dev Channel, but it will certainly be in the next Dev release. That should happen in June.<\/p>\n<p>Until then, enjoy this sneak peek at a revamped part of WM!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Living in the Pacific Northwest of the US is one of the biggest reasons World Machine exists. From deserts to high alpine to rain forests, we have it all &#8211; and hiking and traveling those areas provides a lot of inspiration for new devices and functionality within World Machine. A few weeks ago I took [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-634","post","type-post","status-publish","format-standard","hentry","category-world-machine-development-news"],"_links":{"self":[{"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/posts\/634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":9,"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/posts\/634\/revisions"}],"predecessor-version":[{"id":651,"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/posts\/634\/revisions\/651"}],"wp:attachment":[{"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/media?parent=634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/categories?post=634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.world-machine.com\/blog\/wp-json\/wp\/v2\/tags?post=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}