{"id":4156,"date":"2022-08-12T16:12:18","date_gmt":"2022-08-12T21:12:18","guid":{"rendered":"https:\/\/spaceengine.org\/?p=4156"},"modified":"2022-08-18T03:34:19","modified_gmt":"2022-08-18T08:34:19","slug":"general-relativitiy-2-alcubierre-warp-field-and-wormholes","status":"publish","type":"post","link":"https:\/\/spaceengine.org\/news\/blog220812\/","title":{"rendered":"General relativity 2: Alcubierre warp field and wormholes"},"content":{"rendered":"<p>Today\u2019s blog post is the second in a series about our next big update, which we are calling \u201cGeneral Relativity\u201d. In this post we\u2019re talking about Alcubierre warp bubbles and wormholes. <\/p>\n<h4>Alcubierre warp bubble<\/h4>\n<p><a href=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/warp.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/warp-300x241.png\" alt=\"\" width=\"300\" height=\"241\" class=\"alignright size-medium wp-image-4158\" srcset=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/warp-300x241.png 300w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/warp-768x617.png 768w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/warp-700x562.png 700w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/warp.png 789w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>SpaceEngine <a href=\"\/news\/blog151121\/\" rel=\"noopener\" target=\"_blank\">already has<\/a> a \u201cwarp bubble\u201d effect for ships, but it was a fake \u201cartistic\u201d effect. Now, with the addition of Moroz\u2019s GR ray tracer, it\u2019s possible to render it faithfully, with a realistic, physically-based effect.<\/p>\n<p>The bubble shader works exactly like the Kerr black hole shader described in the previous blog post, with two stages used to help improve performance: low-resolution geodesic tracing, and full-resolution background distortion. The warp metric is also much simpler than the Kerr-Newman one, resulting in improved performance. Since it doesn\u2019t have a horizon and is very smooth, it retains good visual fidelity even when the low-res pass resolution is set to 0.1.<\/p>\n<p><iframe loading=\"lazy\" title=\"SpaceEngine Alcubierre warp bubble WIP\" width=\"1060\" height=\"596\" src=\"https:\/\/www.youtube.com\/embed\/y-OCBeCO87Y?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>The video above shows how the warp bubble looks from different points of view. Note that we have one serious physical limitation: this is a slower-than-light (STL) warp bubble. Rendering a faster-than-light (FTL) warp bubble is possible, but impractical in SpaceEngine. While you are piloting a ship, the camera is \u201cattached\u201d to it, i.e. it moves with the same speed as the ship at some fixed distance from it, and from the point of the camera it appears that we are looking at the warp bubble from the outside. This is okay if the bubble is slower than light, but loses physical sense in the case of FTL, since while the ship inside the bubble can move at FTL-apparent speed (this is why a warp bubble is needed in the first place), nothing outside the bubble can do so\u2013including the virtual camera. The equations simply \u201cblow up\u201d, and can\u2019t render anything meaningful; as a compromise, the program always renders the bubble as though it is STL.<\/p>\n<p><a href=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-1024x576.jpg\" alt=\"\" width=\"1024\" height=\"576\" class=\"aligncenter size-large wp-image-4159\" srcset=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-1024x576.jpg 1024w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-300x169.jpg 300w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-768x432.jpg 768w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-1536x864.jpg 1536w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-2048x1152.jpg 2048w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00000-700x394.jpg 700w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>However, there are two other solutions which are possible: proper FTL bubble rendering when the camera is located inside the bubble (cockpit view), and when a stationary observer is looking at a bubble flying past it. These features are something we will look at implementing in a future update.<\/p>\n<p><a href=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-1024x576.jpg\" alt=\"\" width=\"1024\" height=\"576\" class=\"aligncenter size-large wp-image-4160\" srcset=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-1024x576.jpg 1024w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-300x169.jpg 300w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-768x432.jpg 768w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-1536x864.jpg 1536w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-2048x1152.jpg 2048w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00001-700x394.jpg 700w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>The warp shader also distorts the image of the ship loaded inside the bubble. This is due to the implementation of the bubble, which is done through screen-space approximation: the engine first renders the ship to the screen as if there is no warp bubble, then passes this image and its depth buffer to the warp shader. This comes with some known limitations (e.g. if part of the ship is beyond the border of the screen, the shader has no pixels to sample and outputs a transparent color), but the effect still looks very cool!<\/p>\n<h4>Wormholes<\/h4>\n<p><a href=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/worm.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/worm-300x239.png\" alt=\"\" width=\"300\" height=\"239\" class=\"alignright size-medium wp-image-4157\" srcset=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/worm-300x239.png 300w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/worm.png 627w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Wormholes are another way to travel faster than light through space. The Morris-Thorne wormhole has a metric which is similar to a Schwarzschild (non-rotating) black hole, but instead of having an event horizon, it connects space to another wormhole with a \u201cthroat\u201d or \u201ctunnel\u201d (which may have zero length). This means that an observer outside of the wormhole can see another part of the Universe through the spherical surface, which replaces the event horizon. The video below shows an example of passing through a wormhole with zero throat length.<\/p>\n<p><iframe loading=\"lazy\" title=\"SpaceEngine wormhole WIP\" width=\"1060\" height=\"596\" src=\"https:\/\/www.youtube.com\/embed\/MUJe8_paqxo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>Although wormholes are not procedurally generated in the SpaceEngine Universe, they can be created as a mod. A famous example is \u201cSaturn wormhole\u201d in Doc\u2019s Interstellar mod on the Steam Workshop. Wormholes are traversable both by free camera and by space ships, although in the latter case it may be a bit wonky because, as mentioned above, the 3rd person camera is attached to the ship at a distance. As a result, it has to be \u201cteleported\u201d to the exit wormhole\u2019s throat at the same time as ship\u2019s center intersects the wormhole sphere.<\/p>\n<p><a href=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-1024x576.jpg\" alt=\"\" width=\"1024\" height=\"576\" class=\"aligncenter size-large wp-image-4161\" srcset=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-1024x576.jpg 1024w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-300x169.jpg 300w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-768x432.jpg 768w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-1536x864.jpg 1536w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-2048x1152.jpg 2048w, https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00005-700x394.jpg 700w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><br \/>\n<em>In the middle of an Earth-Pluto wormhole with zero throat length<\/em><\/p>\n<p>A small, human-size wormhole in VR literally looks like a hole in the Universe: while approaching it, the sky background appears like it is drawn on a wall, the wormhole throat looks like a hole in that wall, and the exit of the throat looks like a hollow hemisphere with a (second) sky background drawn on its inner surface. In the center of the zero-length tunnel, both sides of the Universe look like two inside-out spheres attached to each other. <\/p>\n<p>I highly recommend visiting a wormhole in VR and playing with its parameters in the editor (parameters Radius, TunnelLength and LensingWidth)!<\/p>\n<p>The picture below shows a wormhole with a tunnel length of five radii compared to a tunnel length of zero. Light rays can make multiple loops around the four-dimensional tunnel, which is why we see a ringed structure.<\/p>\n\n\t\t\t\n\t<style type=\"text\/css\">\n\t\t.slider-info-4173.bafg-slider-info .bafg-slider-title {\n\t\t\t\t\t\t\tfont-size:\n\t\t\t\t\t22px\t\t\t\t;\n\t\t\t\n\t\t\t\n\t\t\t\t\t}\n\n\t\t.slider-info-4173.bafg-slider-info .bafg-slider-description {\n\t\t\t\n\t\t\t\n\t\t\t\t\t}\n\t\t\n\t\t\n\t\t.slider-info-4173.bafg-slider-info .bafg_slider_readmore_button {\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\ttext-align: center;\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t}\n\n\t\t.slider-info-4173.bafg-slider-info .bafg_slider_readmore_button:hover {\n\n\t\t\t\n\t\t\t\n\t\t\t\t\t}\n\t<\/style>\n\t\n\t\t\t<div class=\"bafg-twentytwenty-container slider-4173  \"\n\t\t\t\tbafg-orientation=\"horizontal\" bafg-default-offset=\"0.5\"\n\t\t\t\tbafg-before-label=\"length = 5\"\n\t\t\t\tbafg-after-label=\"length = 0\" bafg-overlay=\"1\"\n\t\t\t\tbafg-move-slider-on-hover=\"\"\n\t\t\t\tbafg-click-to-move=\"\">\n\n\t\t\t\t\t\t\t\t<img class=\"skip-lazy\" data-skip-lazy\t\t\t\t\tsrc=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00007-scaled.jpg\" alt=\"\">\n\t\t\t\t<img class=\"skip-lazy\" data-skip-lazy\t\t\t\t\tsrc=\"https:\/\/spaceengine.org\/wp-content\/uploads\/2022\/08\/scr00006-scaled.jpg\" alt=\"\">\n\n\t\t\t<\/div>\n\n\t\t\t\t<div class=\"bafg-slider-info-wraper\">\n\t\t<div style=\"\" class=\"slider-info-4173 bafg-slider-info\">\n\t\t\t\t\t\t\t<h2 class=\"bafg-slider-title\">Wormhole Throat Length Comparison<\/h2>\n\t\t\t\t\t\t<\/div>\n\t<\/div>\n\t\n\t\t\t<style type=\"text\/css\">\n\t\t\t\t\t\t\t\t\t\t\t<\/style>\n\t\t\t\n<p>In our next blog post about the General Relativity update we will talk about volumetric accretion disks around black holes and neutron stars. Stay tuned!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today\u2019s blog post is the second in a series about our next big update, which we are calling \u201cGeneral Relativity\u201d. In this post we\u2019re talking about Alcubierre warp bubbles and wormholes. Alcubierre warp bubble SpaceEngine already has a \u201cwarp bubble\u201d effect for ships, but it...<\/p>\n","protected":false},"author":1,"featured_media":4168,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/posts\/4156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/comments?post=4156"}],"version-history":[{"count":9,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/posts\/4156\/revisions"}],"predecessor-version":[{"id":4409,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/posts\/4156\/revisions\/4409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/media\/4168"}],"wp:attachment":[{"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/media?parent=4156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/categories?post=4156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spaceengine.org\/wp-json\/wp\/v2\/tags?post=4156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}