\n
The effect is composed of two shaders, one for the event horizon and one for the accretion disk. The disk is simple and converts the distance from the centre to a gradient that runs from white to black through red, a poor approximation of the black-body colour curve. There\u2019s then some noise applied and the whole thing gets spun to produce the trail effect. This gets applied to a thin donut shaped mesh and it\u2019s done.<\/p>\n
The event horizon is more complicated by far. At it\u2019s core, it\u2019s measuring the distance from the centre, and then replacing that pixel with a pixel further along the line towards the centre to simulate the effect of light bending around the singularity. When used as a wormhole, it takes a texture for the other side and does the opposite, selecting a pixel further away from the centre.<\/p>\n
On both sides, it is possible for this to select a pixel that is off-screen. In this case it wraps around to a reflected version of the screen which gives a convincing illusion that it can actually refract behind the camera. The side of the event horizon and the severity of the lensing are both configurable, and in theory it is possible to show items moving through the wormhole although there\u2019s still some bugs to work out with that.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"
This webpage can only be observed indirectly, based on its surroundings.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/posts\/13"}],"collection":[{"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":0,"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"wp:attachment":[{"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/improbable.solutions\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}