Rendering
Most rendering in Dreams uses flecks and surface hulls to draw 3D shapes to the screen. There are settings and principles common to how most objects are rendered.
# Scene Blur: Focal blurriness, as from the aperture setting of a camera or controller sensor setting uses more processing to render, and so can affect framerate.
Screen blur, as from a Grade gadget gadget is not so heavy on processing.
# Flecks
Sculpts and paintings are rendered using flecks. Flecks are images. But thousands and thousands of them are rendered across the scene to give the impression that things are solid.
A fleck is rendered as a simplified shape when it is visually smaller on the screen, or when blurred with aperture settings. When a fleck is too visually small to be noticeable (for example it is far away), it is not rendered at all. (Tg)
“Looseness” is the size of each individual fleck. And, for sculpts this means fewer of them are rendered to cover their surface. So high looseness means large flecks which means fewer of them being rendered. The opposite of “loose” is “tight.” (Tg)
Note that flecks by themselves are transparent. As such, anything behind a fleck such as in a painting must still be rendered to the screen. On the other hand, sculpts are always opaque which means things behind a sculpt can be skipped, saving on rendering time.
Flecks are not fully opaque, and all have areas of translucence, which can impact rendering performance.
# Fleck Types: The flecks are as follows:
- Square
- Circle
- Triangle
- Hexagon
- Dots
- Scribble
- Veins
- Splat
- Straight
- Heavy (default)
- Hatching
- Cubist
- Impressionist
- Expressive
- Baroque
- Streaky (good for grass)
- Opaque Square (no texture, good for windows and “flat” art, has no impasto, only available when editing a painting)
# Ruffle
Each fleck has a randomly-seeded 3D ruffle rotation, based on its position. As the ruffle is set higher, a fleck will be rendered closer to that ruffle rotation. (Tg)
If the fleck was made with Surface Snap on, or is part of a sculpt, it will only rotate around its Z axis—as if stuck onto the surface at a different rotation. Similar to how flecks ruffle on a sculpt. (Tg)
Negative ruffle for sculpts will affect up to half of the flecks, snapping them 90 degrees sideways, against the grain.
This creates a criss-cross pattern and is great for woven fabrics.
# Fleck Effects
# Boil
Starts at 0 opacity, goes to full, and goes back to 0 at the end of the animation.
# Flow
Boils, moves right, and quickly fades out.
# Wave
Tilts left at the start, then to the right, then back to the left.
Higher Wave will rotate the fleck closer to 90 degrees in each direction.
# Evaporate
Boils, and moves “up” in the direction it faces.
Higher Evaporate will move it farther “up” while animating, relative to the fleck’s size.
# Throb
Moves “up” in the direction it faces, then back to its original position at the end.
# Hue Cycle
Cycles all colours through the “colour wheel.” For example, increasing this slider pushes reds to yellow, then green, then blue, then purple, and back to red.
Hues can be thought of as on a wheel—hence the “degrees” unit for this setting. Around the circle we move from red to blue to green to yellow and back to red. (Tg)
# Finish
The finish affects the colour of the sculpt’s surface. By default the surface will be the spraypainted colour, tinted, and then coloured by light that hits the surface. When the diffuse light from the sky changes colour quickly, it can take some time for the sculpt to adjust colour, depending on the settings.
# Shinyness/Roughness
Shiny shows a circular specular highlight of spotlights, the sun according to its size, and glowing objects and diffuse lights have a more hazy highlight. The more shinyness, the tighter the highlight is. The less shinyness the wider and less defined the highlight is.
Rough hides the specular highlight. The more roughness, the less opacity the specular highlight has. The less roughness, the more opacity the specular has.
So the shinyness/roughness slider can be thought of as: 0% defined specular, 50% diffuse specular, 100% no-opacity specular.
# Waxyness/Metalness
Waxy allows light to be absorbed through the sculpt and seen on other surfaces of the same sculpt. So using this you can make an effect like a sheet with an image projected on it. Though if the sculpt casts a shadow, it will still cast a fully opaque shadow. The more waxyness, the further a given light can travel through the sculpt. The less waxyness, the shorter a given light can travel through the sculpt.
Note this does not affect the casting of shadows.
Metal causes the colours to reflect less of the sculpt’s colour and the colour of the light that hits its surfaces, and instead reflects the sky image. When at full shinyness, the sky image can be clearly reflected. When the finish is more rough, the colours of the sky affect the sculpt’s appearance. From around 15% shinyness up, it instead uses the diffuse light as normal.
# Light
Light is rendered in one of three ways: glow, spotlights, and sunlight.
Glow
# Glow
How intensely the colours on the sculpt’s surface (after tinting) glow. (Tg)This affects lens flare and bloom.
# Emit Light from Glow
Dictates when the glow will emit light to the surroundings. (Pk)
When looking at a glowing sculpt that can emit light, this “light” will soak into the surrounding area over time from the centre-of-mass of the sculpt. (Tg)The light from an object that has a higher glow setting will soak further away from the object. It is this light that is picked up by the distance fog in the scene.
When a glowing object is obscured by a sculpt or is not on-screen, the amount of light it emits is dependent on how close the view is to the object.
For example, if you look away from a light-emitting sculpt you may be able to see the edge of a platform. But as you move away from the light source towards the edge it becomes darker and darker until you’re far enough away from the source and it is emitting no light—making it impossible to see the edge of the platform.
Rendering Spotlights
Highlights surfaces lit by spotlights. An object is more rendering-intensive to draw for each spotlight it is affected by.
# Translucence
Objects farther back are rendered, drawing pixels. Then translucent objects are drawn over those pixels. Use the Overdraw heatmap to visualise how many times each pixel on the screen has been drawn.
The ideal is to “draw” each pixel to the screen once. When a pixel has been drawn more than once, it has been “overdrawn.”
All flecks are translucent, and so all flecks cause some amount of overdraw. The more flecks seen on the same spot on the screen, the more overdraw and processing there is to draw that spot on the screen.
This is inefficient, as the same pixels have to be drawn over again and again. So if a certain view makes a lot of flecks drawn for the same spot on the screen, that can take more time to render and so cause performance and frame rate to suffer.
One way of resolving a problem like this is to create sculpts that obscure some of these flecks. As sculpts can only be opaque, the engine will ignore objects and flecks that are entirely obscured by a sculpt. So those ignored objects won’t cost any rendering time at all.