How would you approach creating this texture?
category: gfx [glöplog]
I stumbled upon this image from Media Molecule's Dreams and I haven't stopped wondering how to procedurally create the skybox.
On the first sight it looks like a fractal vector noise with distorted domain, but I'm not sure how would I go about the directional brushy details. It also looks like a multifractal version of Rauzy fractal, but I guess it's not used to create that pattern.
Does anyone have an idea what techniques would be the most convenient to use?
On the first sight it looks like a fractal vector noise with distorted domain, but I'm not sure how would I go about the directional brushy details. It also looks like a multifractal version of Rauzy fractal, but I guess it's not used to create that pattern.
Does anyone have an idea what techniques would be the most convenient to use?
I'd take a look at some of Psycho's 4k graphics entries. Have no clue what voodoo magic he uses, but ie Burj Babil has the same paint brush kinda look to it.
I would splash a lot of noisy particles on top of each other. Each having constant color taken from the base effect plus some random variation. You would want this layered look with some parts in front of others and that will be hard to archive with a single pass fractal.
Yep, they're drawing point clouds in Dreams, so what psycho said. But at the same time it's signed distance fields. Dreams is basically a demotool and it's ridiculously advanced.
Here's a very entertaining talk by alex (aka statix) about how they arrived at what they are doing: youtube
This recording is a slightly condensed version of his siggraph talk, the course notes of which are here: http://media.lolrus.mediamolecule.com/AlexEvans_SIGGRAPH-2015.pdf (200MB pdf) and highly recommended since it's the future[tm]. Contains some more pictures as well.
Here's a very entertaining talk by alex (aka statix) about how they arrived at what they are doing: youtube
This recording is a slightly condensed version of his siggraph talk, the course notes of which are here: http://media.lolrus.mediamolecule.com/AlexEvans_SIGGRAPH-2015.pdf (200MB pdf) and highly recommended since it's the future[tm]. Contains some more pictures as well.
How is there no thread about the technical aspect of Dreams here anyway? If someone wants to discuss this and has more to say than I have, which is "this is nuts, how can we do this without 2 years fulltime compute shader hell?", go make one please.
Thank you so much guys for your responses and for the direction!
Is there any recommended material (papers, code) to study the point cloud rendering technique? I'm a mere beginner and so far I'm in the phase of searching tutorials.
I'm not quite sure what "splashing particles" exactly mean. Currently I understand the technique that @Psycho described like this:
Could it be said that point cloud rendering is a projection of a 3D texture onto viewport?
Is there any recommended material (papers, code) to study the point cloud rendering technique? I'm a mere beginner and so far I'm in the phase of searching tutorials.
I'm not quite sure what "splashing particles" exactly mean. Currently I understand the technique that @Psycho described like this:
- generate several layers (e.g. XY planes) of particles with varying color (based of fBm?) that are stacked on themselves
- cast rays and for each casted ray compute intersections with each layer, by which I obtain colors
- average the colors somehow?
Could it be said that point cloud rendering is a projection of a 3D texture onto viewport?
if i had to mimic it with a texgen: envmap, ramp the contrast, add map distortion using perlin noise, alpha from RGB, colorize with pinky hues. make several of those with different brightnesses and render these from back+center+light to front+more outside center+darker ;)
talk that cupe links is pretty dope
that talk makes me happy about a bunch of things
hello all! gah its been years since I posted here, so much so that I lost control of the email account with my old sceneid, so, uh, this is statix/bluespoon/mmalex who helped make the engine for dreams and did the talk that cupe kindly linked (thanks dude)
amusingly the sky in particular is done in a 1-day-hack way unrelated to the rest of the engine. I have a lores colour lat-long map (picked from a stack we just made at random in various ways) just to get cool spatial variaton. it's un-animated. then we have a 2k x 6 cubemap which is actually what you're seeing, which is just splatted to - I think 4096 splats per face per frame, with very low alpha and a painterly alpha channel. ie each splat is just a textured quad with the texture only affecting the alpha; the color is just drawn from the latlong map I mentioned, sampled in teh vertex shader at the center of the splat. super dumb! but with low enough alpha, the resulting image takes a while to converge and then slowly pulsates, with a rich hires texture. it's LDR so we comp a big fat bright gaussian on top, then the usual post (vignette, grade, etc).
one thing that is somewhat finessed is that the splats orientation is somewhat related to the luma gradient of the underlying latlong image, so that the splats are somewhat oriented in spirals/rings/rays around bright parts of the image. (basically, align splats with grad(luma) of latlong image, rotated by a fixed angle + a bit of jitter).
its a total hack to get our skies looking painterly, and actually unrelated to the main engine, which is why I never talked about it before. it's a classic demo-effect really - pure 'ASD' style jamming with simple elements, very little 'science'.
glad you liked it! viva la scene. now get off my lawn, you young bastards... (ps thanks to ps for sending me here... I hang out on twitter @mmalex mostly)
amusingly the sky in particular is done in a 1-day-hack way unrelated to the rest of the engine. I have a lores colour lat-long map (picked from a stack we just made at random in various ways) just to get cool spatial variaton. it's un-animated. then we have a 2k x 6 cubemap which is actually what you're seeing, which is just splatted to - I think 4096 splats per face per frame, with very low alpha and a painterly alpha channel. ie each splat is just a textured quad with the texture only affecting the alpha; the color is just drawn from the latlong map I mentioned, sampled in teh vertex shader at the center of the splat. super dumb! but with low enough alpha, the resulting image takes a while to converge and then slowly pulsates, with a rich hires texture. it's LDR so we comp a big fat bright gaussian on top, then the usual post (vignette, grade, etc).
one thing that is somewhat finessed is that the splats orientation is somewhat related to the luma gradient of the underlying latlong image, so that the splats are somewhat oriented in spirals/rings/rays around bright parts of the image. (basically, align splats with grad(luma) of latlong image, rotated by a fixed angle + a bit of jitter).
its a total hack to get our skies looking painterly, and actually unrelated to the main engine, which is why I never talked about it before. it's a classic demo-effect really - pure 'ASD' style jamming with simple elements, very little 'science'.
glad you liked it! viva la scene. now get off my lawn, you young bastards... (ps thanks to ps for sending me here... I hang out on twitter @mmalex mostly)
sorry in case it wasnt clear - the cubemap is *not* cleared each frame, and the 4096 splats in no way cover the entire surface (and have v lo alpha anyway); they're just drawn from a stratified jittered grid, IIRC.
@mmalex: WOW! I would never imagine you would be the one to reply :D!!
Immense Thank You for the clarification!
Immense Thank You for the clarification!
Quote:
so much so that I lost control of the email account with my old sceneid
We could've fixed that, ya know!
@gargaj - heh, I didnt want to bother you considering my other account has all of like 10 glops on it (http://www.pouet.net/user.php?who=1465) - I hadnt even noticed that the mail address it's associated with seems to go to dev/null somehow. need to sort that some time...