Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Vibrant Visuals/Upstream

From SAS Gaming Wiki

Template:Exclusive Template:Planned

File:Vibrant Visuals.png
A screenshot showing many of the features in Vibrant Visuals

Vibrant Visuals is a graphics mode that aims to improve the visual looks of Minecraft<ref>Template:YouTube link</ref> by adding directional lighting, physically based textures, pixel-aligned shadows, atmospheric sky, environmental effects, and various other visual features based on Template:W. It is built around a Template:W pipeline used for deferred lighting and Template:W.<ref name="vibrant-visuals">Template:Cite</ref><ref>Template:Cite Discord</ref> It runs locally on the player's device, and can be enabled in the player's settings rather than world specific settings.<ref>Template:Ytl</ref>

Most configurations and textures can be customized using resource packs, and various tagged Minecraft:Marketplace add-ons make use of custom Vibrant Visuals packs.<ref name="marketplace" />

Vibrant Visuals affects only the graphical appearance of Minecraft; it does not affect gameplay. However, enabling Vibrant Visuals on lower-end devices (especially with high render distance and higher graphics settings) can decrease game performance significantly, which can affect the game experience.

Features

Physically based rendering

File:Dark vibrant comparison.jpg
A comparison of the default and Vibrant Visuals textures, outside a woodland mansion

Vibrant Visuals uses Template:W (PBR), which simulates realistic lighting behaviors between different surface materials. This is achieved by creating different texture maps for every Minecraft:block, entity, Minecraft:item, and particle, which define specific characteristics of the surface material.<ref name="texture-map">Template:Cite</ref> A texture set is used to specify these texture maps in a resource pack.<ref name="texture-set">Template:Cite</ref> Four maps — metalness, emissive, roughness, and subsurface scattering (collectively known as MERS) — define the material's properties. Each property in MERS is assigned to RGBA image (four channel), such as red to metalness, green to emissive, blue to roughness, and alpha to subsurface.

Reflections

File:Vibrant Visuals PBR reflections.png
Metallic surfaces like copper fully reflect sunlight and emissive light, smooth surfaces like smooth quartz and Minecraft:bricks only reflect sunlight, and rough surfaces like Minecraft:wood reflect nothing.

Object reflections are heavily affected by their metalness and roughness properties. Metallic surfaces reflect light directly and tint that reflection with their own color (like gold and copper). Non-metallic surfaces like grass, Minecraft:dirt, and tree barks show more solid color and less reflection. A surface with low roughness is very smooth, resulting in sharp, mirror-like reflections, compared with high roughness that results in blurry, diffused reflections.

File:Zuri's vibrant boat ride.jpg
Reflections on the surface of water
File:Vibrant Visuals reflection quality comparison.gif
The amount of blocks reflected depends on the "Reflections" setting.

The game uses Template:W (SSR) and Template:W (IBL) to create dynamic reflections which appear on these surfaces.<ref name="lighting">Template:Cite</ref> SSR generates reflections by reusing what's already visible on the screen. They are limited by the objects and parts of the world that are currently visible in the camera's view, which can cause reflections to fade or disappear near the edges of the screen. In contrast, IBL reflections, used to reflect clouds, aren't limited by what is already displayed on the screen but often appear low resolution and distorted. They use Template:W, which are affected by environmental lighting and atmospheric scattering.<ref name="cubemap" />

Most blocks and entities in Vibrant Visuals with high metalness only reflect light sources and do not completely mirror areas. Minecraft:Water surfaces are fully reflective and properly mirror the area surrounding them. The reflection quality can be configured under the video settings, which affects their resolution and distance at which they appear.

Surface glows

File:Vibrant Visuals emissive textures.png
Various emissive textures in a cave

Pixels can appear to glow in the dark environment through the emissive texture map. This map defines which parts of a texture should be self-illuminated. It uses the green color channel in the MERS texture; areas of the map that are solid green will glow at full intensity, with different shades of the color affecting their intensity, while black areas will be unaffected by the emissive property. Emissive surfaces do not cast light onto surrounding blocks or entities, and therefore do not cast proper shadows. However, their glow remains visible even in complete darkness, making them appear bright and distinct. They also produce a light bloom effect, which makes their color bleed into the surrounding areas.

Some entities and blocks — like drowned, spiders, Minecraft:sculk, certain dropped items, and firefly particles — use emissive texture maps and produce glowing effect. This effect is often contributed by their natural block lighting (like Minecraft:torches and Minecraft:glowstone), which makes the glow appear more intense and realistic.

Subsurface scattering

The fourth map, subsurface scattering, simulates an effect of light shining on translucent surfaces, like Minecraft:leaves.<ref name="subsurface" /> This effect is applied to blocks exposed to sky lighting, and blends to roughly one block deep on vertical surfaces. Subsurface scattering cannot be used in conjunction with metalness on the same pixel on an object; instead, only one effect will be applied.

Directional lighting and shadows

File:Sunlight Vibrant Visuals.png
Pixelated shadows created by the sun on all objects

The primary light sources in Vibrant Visuals are global directional lights, including the sun and the Minecraft:moon in the Minecraft:Overworld, and End flashes in the End.<ref name="lighting" /> Depending on the location of the light source in the sky, they illuminate all objects directly exposed to them. The texture maps define how this affects objects, such as how the light is reflected and recolored. Light also shines through glass panes and other supported transparent blocks, where it has the same effects on objects behind it.

When the camera is looking at a bright object, either directional lighting, emissive textures, or bright colors,<ref>Template:Bug</ref> the whole view gets darkened by auto-exposure, which gradually fades away when looking at a dark object.

Directional light sources cast shadows on all objects, including held items on the HUD. The object that creates the shadow and the location of the light source affect the shape, size, and direction of the shadow. Unlike shadows in most games, shadows are pixelated to match the resolution of other textures and align with the pixel grid. Shadows can be created by any block that can obstruct lighting, most particles, and entities, including players. Animated objects, like animated player skins or the tentacles of a ghast, create animated shadows as well. Shadows are rendered at a lower quality at higher distances, which can be configured in the settings.

End flash

File:Vibrant Visuals End flash.gif
A flash in the End. Notice the shadows created by chorus plants.

The End flash is an effect in the End sky that is exclusive to Vibrant Visuals until 26.20.Template:Upcoming End flashes occur once every 30 seconds at random spots above the horizon. As a directional light source, End flashes illuminate the environment with a purple color and create shadow and reflection effects. Each flash lasts between 5 and 19 seconds, with fading at the beginning and the end, while also producing a sound. Flashes can be disabled in the accessibility settings.

Colored lighting

Template:Experimental

File:Vibrant Visuals point lights comparison.png
Point lights off (top) and on (bottom)

If the "Render Dragon Features for Creators" experiment is enabled in Minecraft:Minecraft Preview, and "point lights" are turned on in the settings, light-emitting blocks like torches emit directional light and cast dynamic shadows as well. The light is emitted from a single point at the center of a block, hence the name, and the strength is affected by the block's lighting. This light is colored, and blends additively. The following blocks are affected by point lighting:

Block Color Light level
Template:BlockLink Template:Color 14
Template:BlockLink 15
Template:BlockLink (all oxidized and waxed variants) Template:Color
Template:BlockLink Template:Color 10
Template:BlockLink
Template:BlockLink Template:Color 7
Template:BlockLink Template:Color 14
Template:BlockLink (unwaxed, unaffected) 15
Template:BlockLink (all variants) Template:Color 3, 6, 9, or 12
Template:BlockLink (all variants) 3
Template:BlockLink Template:Color 14
Template:BlockLink Template:Color
Template:BlockLink Template:Color
Template:BlockLink Template:Color
Template:BlockLink Template:Color
Template:BlockLink (all waterlogged variants) Template:Color 6, 9, 12, or 15

The quality of point lighting and the shadows created by point lights can be adjusted in the settings, or turned off.

File:Vibrant Visuals light colors.png
All different light colors, from both point lighting and static lighting

In addition to point lighting, all other blocks with block lighting create static colored light. For a full list of colors, see Template:Slink.

Other light sources

Without directional light sources, objects are lit by ambient lighting, to prevent them from rendering pitch black. Ambient lighting has a Minecraft:dimension-dependent strength (0.02 in the Minecraft:Overworld, 0.5 in the Nether, and 0.125 in the End), which affects objects based on the texture sets. For example, blocks have a red tint in the Nether, where no directional lighting is available.

The sky also contributes as a light source, which can also be reflected by objects. Depending on the exposure to sky light, shadows created by directional lighting can appear darker and more visible or blend in more with bright areas.

Night Vision heavily increases ambient light and sky light during nighttime, making caves appear fully bright and shadows no darker than the environment at night. It does not change fog or brightness on the surface of the Overworld like in other graphics modes.

When the player has Blindness or Darkness, global and sky lighting is deactivated and the scene appears as in a cave.

Environmental effects

Each Minecraft:biome and Minecraft:dimension has unique effects for lighting and color that greatly affect the scene. Biome-dependent effects include atmospherics, color grading, fog, and lighting (excluding point lights). In transitions between biomes, the game automatically blends the effects.<ref name="biome" />

Atmospherics

The sky color of a biome in Vibrant Visuals is defined at the horizon and the zenith, which are variable.<ref name="atmospherics" /> When these colors are different, the sky will blend these colors between the horizon and the zenith. For example, deserts and badlands have a light orange/green sky color, snowy biomes have a light blue or white sky color, and pale gardens have a gray sky color. The color and intensity of sunlight and moonlight are affected by the biome as well.

Different color grading settings distinguish biomes with different temperatures, making especially cold biomes appear gray/blue, and warm biomes colored orange.<ref name="color-grading-tone-mapping" /> Color grading is applied as a post-processing effect to the whole image, including blocks, light, and the sky.

File:Vibrant Visuals volumetric fog comparison.png
width=314x314

Vibrant Visuals enhances all fog effects that change depending on the environment.<ref name="fog" /> Certain biomes, like swamps and pale gardens, have denser volumetric fog effects with unique colors and strength depending on the height, and directional lighting. Directional lighting can be scattered by strong fog, and the heaviest fog can greatly lower the view distance to only a few chunks, or even block the sun entirely. With decreased effects from directional lighting, shadows and reflections are less visible, and blocks in the distance appear half-transparent and faded. Volumetric fog can be disabled in the settings, and the quality of light shafts and distance fading can be adjusted. With the Henyey-Greenstein G phase function, Vibrant Visuals fog can create light shafts for scattering in air and water.

Most biomes, including unused biomes, use default settings for fog, atmospherics, lighting, and color grading, or share a common setting with a specific climate, while some biomes have unique settings.

  • Fog types are split into default, semi-humid, and humid. For a full list of biomes using semi-humid and humid fog, see Template:Slink.
  • Color grading is split into default, warmish, coolish, and cold.
  • Atmospherics and lighting are split into default and warmish. Biomes with cold or coolish color grading use default atmospherics and lighting.
  • The End sky uses unique black/purple atmospherics, but this is rendered on top of the End sky texture, and a dense purple volumetric fog effect is visible during an End flash. The End has unique lighting, but default color grading.
  • The sky in all Nether biomes uses the same colors as without Vibrant Visuals, with the exception that the zenith is slightly brighter than the horizon, different for each biome. All Nether biomes use the same lighting and default color grading.
  • Swamps, mushroom fields, ice spikes, pale gardens, and dark forests all have unique fog, lighting, atmospherics, and color grading settings.
  • Deserts and all badlands have two unique lighting, atmospherics, and color grading settings, but use default volumetric fog.
  • Mangrove swamps have unique lighting, atmospherics, and color grading but use humid fog.
  • Lush caves use warmish color grading and humid fog, but default atmospherics and lighting.
  • Sulfur cavesTemplate:Upcoming use warmish color grading, but default fog, atmospherics, and lighting.
File:Vibrant Visuals sun beams.png
Sunbeams and different sky colors during sunrise

Global directional light sources are affected by rayleigh scattering and mie scattering, which change depending on the object's position in the sky.<ref name="atmospherics" /> The sun and moon themselves create a glow in the sky around them, and create light beams depending on fog effects. These light beams can fall through transparent blocks, and scatter into smaller light beams with shadows by blocks and entities.

All atmospheric effects gradually change during the time of day,<ref name="keyframe" /> for example certain scattering effects only apply during sunrise or sunset, and the sky and sun colors are constantly changing. During sunrise, sky colors gradually change from black with weak light from the moon and stars, to a more vibrant light created by the sun and changed by the atmosphere. The sunrise and sunset also change the color of sunlight to a more orange/red color, which gradually fades away during the day.

Clouds

File:Vibrant Visuals clouds.png
Clouds with Vibrant Visuals. Note the shadows.

Clouds have more detail and additional light on the edges, making large clouds appear much darker than smaller clouds. Furthermore, clouds can block sunlight or moonlight and cast shadows on the ground. When a cloud covers the sun or moon, the sky and the environment darken and change colors. The color of clouds also changes with sky colors, for example, in different biomes, and during weather events.

Unlike other graphics modes, clouds are rendered past the horizon up to 128 chunks. The cloud distance can be adjusted in the Vibrant Visuals options.

Weather effects

File:Rain Vibrant Visuals.png
Rainfall in a forest, where the sky is tinted slightly more yellow than without Vibrant Visuals
File:Snowfall Vibrant Visuals.png
Snowfall with Vibrant Visuals, with a bright glow in the sky

The weather influences environmental light effects to make them match more with the set colors of classic graphics modes. During rainfall, the sky appears dark grey, but the biome effects still partially apply, making rain look unique for every biome. Thunderstorms increase this effect and make the sky even darker. During snowfall, the sky turns into a unique shade of light gray with biome effects much less visible. During a combination of snowfall and thunder, the sky is much darker at the horizon, but the light blue/light gray colors are still visible higher in the sky. The sun and moon are not visible during weather events, and don't cast shadows on blocks or entities. However, at the location of the sun and moon, a brighter glow is visible in the sky.

In dry biomes, rainfall does not affect sky or clouds at all and is indistinguishable from clear weather, unlike without Vibrant Visuals. Thunderstorms and the proximity of a Minecraft:wither darken the environment, while the sun and lighting appears darker and tinted yellow-brown.

Volumetric fog effects are heavily increased during rain, snowfall, or thunderstorms, and change their colors according to the sky color. The regular biome fog is unaffected.

Water effects

The Minecraft:water color texture is not rendered, making it completely transparent. Instead, water volumes scatter light and accumulate fog, creating a deep blue hue in oceans and tinting underwater objects.<ref name="water" />Template:Note The surface uses MERS textures, making light reflect on smooth pixels in the invisible color texture. Despite this, small bodies of water appear almost invisible, and large bodies are more transparent in general, with a less saturated blue color compared to classic graphics modes. Biome-specific water colors are not applied to the surface or light scattering, but some "tweaks in different biomes" have been announced for future updates.<ref name="evolving">Template:Mcnet</ref>

When the player's eye level is inside water, volumetric fog effects are created, which change along regular water fog with the depth, initiation, and the biome. Without sky light underwater, the fog color is pitch black, and the only light created by the blocks is much less effective. When the player is in an underwater area without a skylight, looking at an area exposed to a skylight, the textures of blocks are not visible, and everything is colored cyan. The effect of Snell's window appears when looking at any water surface from underwater.

Volumetric fog hides the sun and moon underwater, a blurred and colored light source can be seen in the direction of the sun and moon, creating light beams falling through the water. These light beams can be obstructed and scattered by objects and fog effects. When directional lighting hits a surface underwater, water caustics are projected on that surface.Template:Note Water caustics are randomly animated, and certain parts appear brighter than others, depending on the light projecting the water caustics.

Water effects do not apply to water in Minecraft:cauldrons, which is rendered like in Fancy graphics.

Post processing effects

Post-processing effects are visual elements that are not directly produced by either PBR or direct lighting sources, but are instead applied after the scene is fully rendered. There are multiple post-processing effects applied by Vibrant Visuals, such as:

  • Bloom which appears on emissive textures and light sources. It creates a soft and hazy aura of light around the glowing object, with the colors bleeding out around the object. The effect's intensity can be configured on the video settings.
  • Upscaling which is done from low-resolution scene renders. The game usually renders the scene at a lower resolution and upscales it to the native resolution to improve video performance. This effect can be configured on the video settings, where the player can set between TAAU (Temporal Anti-Aliasing Upsampling) and Bilinear mode, and the final resolution quality. Generally, TAAU makes the game use multiple frames to create a crisper upscaled frame, while Bilinear stretches the frame to fit the screen, more suitable for low-end devices.
  • Color grading which controls the saturation, contrast, gain, gamma, and offset of the final scene.<ref name="color-grading-tone-mapping">Template:Cite</ref>
    • There are three parameters that apply the effects based on the pixels' brightness condition: shadows (darkest pixels); highlights (brightest pixels); and midtones (pixels close to the average luminescence of the scene), each increasing or decreasing the five effects for red, green, and blue.
    • There is an additional temperature-based color grading which makes the scene look "warmer" with more yellow and orange colors, and "cooler" with more blue color.
    • 14 different color grading effects are applied based on the Minecraft:biome.
  • Tone mapping is also used to remap the colors from HDR to SDR, as Minecraft is not supported in HDR.<ref name="color-grading-tone-mapping"/>

Panorama

An exclusive panorama is shown when using Vibrant Visuals. The cubemap consists of HDR image files, which are rendered using the post-processing effects from Vibrant Visuals. Specifically, the image uses the default data-driven color grading settings, and the gamma, upscaling mode, and resolution settings affect it.

Applying

Vibrant Visuals can be toggled on in the video settings in the graphics mode dropdown menu.<ref>Template:Cite</ref> The graphics mode can only be changed in-game when "Allow In-Game Graphics Mode Switching" is turned on, but this can have negative impact on performance and not all devices support this.

If playing Minecraft:multiplayer, not everyone needs to have it activated to play in the world; one player could have it activated, whilst other players could have it inactive since it's a local setting.

Vibrant Visuals options

Template:Main The quality of specific features from Vibrant Visuals as well as some technical options can be adjusted in the Vibrant Visuals options, below the graphics mode setting. These options can be preset to the "Favor Performance" for a better experience on lower-end devices, or "Favor Visuals" for a higher quality of Vibrant Visuals on high-end devices. The options can also be adjusted individually.

The render distance for Vibrant Visuals is controlled by the "Deferred Render Distance" slider instead of the regular render distance slider. This slider can be set between 8-28 chunks (may be lower on some devices), but can be changed to any value chunks in Minecraft:options.txt. Higher render distances than 128 chunks will result in the game not loading any chunks further than 128 chunks away from the player, and even higher render distances can lead to glitched visual effects or crashes. Lower render distances than 8 chunks will result in the game not loading any chunks further away than the set render distance, but chunks won't be unloaded until they are further away than 8 chunks. A render distance of 0 chunks results in no chunks being loaded, but entities and particles are still visible.

The regular brightness setting is not available when using Vibrant Visuals, but the brightness can be calibrated in a separate menu in the Vibrant Visuals options. This also affects the brightness of the panorama.

Configurations

All options related to Vibrant Visuals have configurations for specific devices. The default settings for each preset, and the renderer configurations per setting differs between devices. The setting configurations can be found in Template:File as JSON files, with all renderer configurations located in a "lods" sub-directory. These files contain all available options per device, and a platform_configuration.json file contains all defaults for each generic graphics setting. There are separate configurations for three Android memory tiers, Xbox One (X) and Xbox Series X|S, all PS4 and PS5 consoles, three iOS devices memory tiers, and four Windows memory tiers.

There are also configurations for ChromeOS and Nintendo Switch, indicating that Vibrant Visuals may become available on those devices in the future.

This directory also contains configurations for features that are not customizable in resource packs, including tone mapping curves, deferred shading parameters, light clustering, luminance configurations, weather effects, .bin material files, and an unknown brdf_lut.png image, seemingly a colormap.

Availability

Vibrant Visuals is available to use on the following platforms:<ref>Template:Citation</ref>

Platform Supported devices
Windows
Graphics card and graphics driver with support for DirectX 12 with feature level 12.1.
  • For Intel GPUs, Intel graphics driver 31.0.101.3430 or later is required for Minecraft to run on DirectX 12.<ref>Template:Bug</ref>
Android
Devices running on Adreno 640, Mali-G68, Mali-G77, Xclipse 530 or higher. Enabled by default on Adreno 740, Mali-G615, Mali-G720, Xclipse 920 or higher.
iOS
A12 Bionic or higher:
  • iPhone XR or later
  • iPhone SE (2020) or later
  • iPhone Air (2025)
iPadOS
A12 Bionic, A12X Bionic, M1 or higher:
  • iPad (2020) or later
  • iPad mini (2019) or later
  • iPad Air (2019) or later
  • iPad Pro (2018) or later
Xbox
  • Xbox One (disabled by default)
  • Xbox One S (disabled by default)
  • Xbox One X
  • Xbox Series X
  • Xbox Series S
PlayStation
  • PlayStation 4 (disabled by default)
  • PlayStation 4 Slim (disabled by default)
  • PlayStation 4 Pro
  • PlayStation 5
  • PlayStation 5 Slim
  • PlayStation 5 Pro

Vibrant Visuals is currently not supported on Template:W devices, Template:W tablets, or Template:W consoles. Mojang Studios intends to bring Vibrant Visuals, either fully or partially, to as many devices as possible.<ref name="article">Template:Mcnet</ref> Though not strictly official, Vibrant Visuals may also be supported on Template:W systems by playing Bedrock Edition through a custom Wine compatibility layer (see related tutorial).

Some Minecraft:servers may disable Vibrant Visuals during the game using disable-client-vibrant-visuals in Minecraft:server.properties, even when available on singleplayer. All featured servers besides Minecraft:Mob Maze and The Hive<ref group="note">Requires to enable an additional toggle in Template:UI and rejoin the server.</ref> have disabled Vibrant Visuals, although this restriction can be circumvented by using third-party modification software.<ref>Template:Citation</ref> Minecraft Minecraft:Realms has Vibrant Visuals enabled.

During local Minecraft:splitscreen multiplayer on consoles, the graphics mode is restricted to Fancy or lower.

Vibrant Visuals has limited compatibility with resource packs, which may be part of an Minecraft:add-on. Resource packs without the pbr capability restrict the graphics mode to Fancy or lower.<ref name="resources" /> When a pack has metadata.product_type set to addon Vibrant Visuals can be enabled, regardless of the pbr capability. Custom textures from the add-on's resource pack default to 0% metalness, 0% emissiveness, 100% roughness, and 0% subsurface scattering.

Java Edition

Vibrant Visuals is currently planned to be added to Template:JE at some point in the future. In preparation, developers are rebuilding the game's rendering code into a dedicated thread, and updating them with "modern approaches to rendering".<ref name="java"/><ref name="rendering-thread"/> To allow newer graphical features and sustain compatibility with all platforms supporting Java Edition, the game will switch to Template:W, a modern graphics technology, replacing the deprecated Template:W API.<ref name="vulkan"/> During development, this can be toggled in-game.Template:Upcoming

Customization

Template:Hatnote

File:Ore UI - Project Vibrant Visuals Settings Menu (Bedrock Editor).png
The Vibrant Visuals Settings window in Bedrock Editor

Vibrant Visuals can be customized with a resource pack. A pack with pbr capability in its Minecraft:manifest.json can define PBR for each individual texture with a texture set.<ref name="resources">Template:Cite</ref> They can also configure light sources, atmospheric effects, volumetric fog and light shafts, color grading and tone mapping, and many more.<ref name="vibrant-visuals" />

Vibrant Visuals is also compatible with resource packs that are designed for ray tracing (with raytraced capability). All ray tracing resource packs only support MER (metalness, emissive, and roughness) for its textures, and these can only be applied for blocks only.<ref name="texture-set" /> Vibrant Visuals resource packs however, support MER and subsurface scattering (MERS), and its textures can be applied for entities, mobs, particles, and items.

Global lighting, atmospherics, color grading, cubemaps, and water effects can be customized for each Minecraft:biome.<ref name="biome">Template:Cite</ref> Multiple JSON configuration files can be stored in each directory as long as they have different names and identifiers, which are not the same as the global configurations. To apply settings to a biome, the identifier of the JSON file must be included in the client biome JSON file in Template:File, in the minecraft:setting_identifier components. The configurations will be blended automatically on biome borders, except for tone mapping, orbital offset, caustics, and waves enabled/disabled, which should use the same settings globally.

Resource packs that customize Vibrant Visuals can quickly be created with Minecraft:Bedrock Editor.<ref>Template:Cite</ref> The Vibrant Visuals Settings window allows most JSON configurations to be changed in a graphical environment, and the effects are directly visible in-game. All settings are not saved, but each JSON file can be copied to the clipboard, or a resource pack with all settings can be auto-generated. Once generated, Download Resource Pack will import the pack in mctools.dev, where the pack can be directly exported or further customized.

In the Editor, settings for existing biomes or configurations can be changed, and even new configurations may be added. A biome can be selected with Target Biome (Target Biomes By Location selects the player's current biome), if custom biomes are used the namespace can be changed to disambiguate. Next, the Config Set for Biome selects which settings file is used for the selected configurations. This allows to reorganize vanilla settings in a biome, and the raw JSON text of the client biome file can be copied. A new configuration file can also be created, with a custom namespace and identifier (both cannot have spaces), and it can be auto-filled by inserting the raw JSON content in the Inport button.

Texture sets

File:Vibrant Visuals subsurface scattering comparison.png
A comparison of leaves with (bottom) and without (top) subsurface scattering

Textures from blocks, entities, items (held, displayed, and dropped), and particles use texture sets to calculate how light behaves on the texture, regarding reflections and emissiveness.<ref name="texture-map" /> Texture sets cannot be customized with Bedrock Editor. On top of the regular RGBA texture maps, which control the colors and transparency, Vibrant Visuals uses six new maps for other properties of each pixel, including metalness, emissive, roughness, subsurface scattering, normal, and height maps. The first four are all created in one file, collectively known as MERS values (or MER without subsurface scattering).

  • Metalness is a grayscale texture map that affect how metallic pixels look, which makes them more reflective. Pixels can use metalness values between black (non-metallic) and white (completely metalic), where metalness for values in between is affected by the brightness.
  • The grayscale emissive map is used for pixels that emit light. Black pixels do not emit light at all, and any brighter values result in emissive textures. Pure white pixels are emissive at its brightest. The desaturation of the pixel's colors can be adjusted per biome in Template:File.
  • Subsurface scattering is an effect created by light shining on transcluent surfaces.<ref name="subsurface">Template:Cite</ref> It is a grayscale map where brighter pixels allow more subsurface scattering. This texture map cannot be used in conjunction with the metalness map; if both are provided only the highest value will be applied (subsurface scattering when tied).
  • Roughness is a grayscale texture map affecting how "rough" pixels are, which can block reflection effects. Black pixels are very smooth and allow all reflections caused by the metalness map, while white pixels only allow (distorted) light reflection.
  • The normal map is an RGB texture map which affect the depth of the pixel and how light rays are reflected. The RGB elements correspond to XYZ coordinates of the pixel, with (128, 128, 255) being completely flat.
  • Height maps are similar to normal maps but in grayscale, allowing less possible textures. Black pixels appear to extrude inward to the object, and white pixels extrude outward. Combining black and white pixels next to each other can create height variation on which light can reflect, while creating a shadow behind. Heightmaps cannot be used together with normal maps.

Texture maps can be quickly created using Blockbench,<ref>Template:Cite</ref> which may require plugins to customize textures. The MERS textures need to be placed, preferably named block/particle/entity/item ID_mers (or _mer if only using MER maps for compatibility with ray tracing), in Template:File, in the sub-directory containing textures for the object type. Texture maps can be stored in .tga, .png, .jpg, and .jpeg formats. To make the game replace the default textures with a custom texture set, it needs to be specified in a texture set JSON file, on file for each texture, located in the same sub-directory as the texture itself.<ref name="texture-set" />

Instead of creating texture maps, the JSON file can also be used to apply specific MERS values to the whole texture.

texture_set.json format

  • Template:Nbt The root tag
    • Template:Nbt: The 3-part schema version used in the file. It needs to be at least "1.16.100" but requires "1.21.30" when using MERS texture sets instead of MER.
    • Template:Nbt
      • Template:NbtTemplate:Nbt: Required, the name of the "regular" texture file in the same sub-directory providing the visible colors. This can also be an RGB array or HEX string to make the whole texture use one color.
      • Template:Nbt: The name of the normal map file, cannot be used together with heightmaps.
      • Template:Nbt: The name of the heightmap file, cannot be used together with normal maps.
      • Template:NbtTemplate:Nbt: The name of the MER file, cannot be used together with MERS. This can also be an RGB array or HEX string to make the whole texture use one color.
      • Template:NbtTemplate:Nbt: The name of the MERS file, cannot be used together with MER. This can also be an RGB array or HEX string to make the whole texture use one color.

Fallback values

When a resource pack does not contain one or more texture maps, the missing texture maps will default to the vanilla textures instead. However, for custom textures as part of an Minecraft:add-on, all pixels default to values specified in a customizable JSON file in Template:File.<ref>Template:Cite</ref>

global.json format

  • Template:Nbt The root tag
    • Template:Nbt: The 3-part schema version used in the file, requires "1.21.40".
    • Template:Nbt
      • Template:Nbt
        • Template:NbtTemplate:Nbt global_metalness_emissive_roughness_subsurface: The default MERS value to use for blocks when not defined via texture maps; supports RGBA array or HEX string
      • Template:Nbt
        • Template:NbtTemplate:Nbt global_metalness_emissive_roughness_subsurface: The default MERS value to use for actors/mobs when not defined via texture maps; supports RGBA array or HEX string
      • Template:Nbt
        • Template:NbtTemplate:Nbt global_metalness_emissive_roughness_subsurface: The default MERS value to use for particles when not defined via texture maps; supports RGBA array or HEX string
      • Template:Nbt
        • Template:NbtTemplate:Nbt global_metalness_emissive_roughness_subsurface: The default MERS value to use for items when not defined via texture maps; supports RGBA array or HEX string

Lighting

Various types of light sources can be customized, which are split into global lighting and local lighting in the Template:File and Template:File directories.<ref name="lighting" /> Global light settings are defined per biome and require different JSON files for each biome or set of biomes and need to be specified in Template:File. Local light settings are applied for individual blocks specified in one JSON file. Local lighting currently only includes point lights, while global lighting includes directional lights, emissive textures, ambient light, and sky light.

  • Directional lighting includes the sun and Minecraft:moon (orbital), and End flash. For each object, the total brightness can be adjusted, and the color of that lighting. This affects the sky and atmospheric scattering, and all objects lit by the directional light source, which are both also affected by texture sets, atmospheric settings, and color grading.
    • All values for directional lighting in the JSON file and in Bedrock Editor support multiple key frames for different in-game times. See § Atmospherics below for more information.
    • For the sun and the moon, the orbital offset can be customized, which affects how the orbit is rotated towards the south (can be rotated 360 degrees). This can also be keyframed, which allows to customize the position of the sun and moon depending on the in-game time.
      File:Vibrant Visuals orbital offset.png
      A custom orbital offset
  • Emissive lights are produced by blocks, entities, and particles with emissive pixels in their texture set. The desaturation of the color of the pixel can be adjusted per biome.
    File:Emissive desaturation.png
    Several mobs with a high emissive desaturation value
  • Ambient lighting is always applied and makes blocks visible when there are no other light sources. The strength and color of this light can be adjusted.
  • Sky lighting is applied to surfaces exposed to the sky. The intensity can be adjusted, which affects how dark shadows are compared to surfaces lit by directional lighting.
  • Static lights are local light sources set per Minecraft:block. They do not create specular highlights or dynamic shadows and are fixed in space and in brightness. It can only be used by blocks with "regular" lighting, which affects the strength. The color of this static light can be customized. When multiple static lights with different colors are overlapping in an area, the total luminance will add up.
  • Point lights are local directional light sources in blocks, only available in the "Render Dragon Features for Creators" experiment in Minecraft:Minecraft Preview. Point lights are created by a single point in the center of the block, with a specific color similar to the color for global directional lighting. Static lights are automatically also added to blocks with point lighting. The strength of the point light is affected by the block lighting of the block.

global.json format Template:Info

local_lighting.json format

The point_light type is only available in the "Render Dragon Features for Creators" experiment. Existing light settings can be changed in the Editor, which includes most blocks when the experiment is enabled. Adding new blocks requires to import custom JSON settings.

Atmospherics

The colors and some other values for the sky can be changed in Template:File.<ref name="atmospherics">Template:Cite</ref> The atmospheric effects include separate horizon and zenith colors, mie scattering for the sun and moon, and rayleigh scattering. The horizon and zenith colors blend into each other depending on the specified heights for both colors. Mie scattering can also specify a height.

In this JSON file, all values can be individually key framed.<ref name="keyframe">Template:Cite</ref> Instead of providing a single value for a setting, the setting can be treated as an object with a set of values from the same type. The key is a number from 0 to 1 which represents the in-game time, allowing to change atmospherics based on the time of day. The engine linearly interpolates between the values of the key frames, resulting in the actual atmospherics blending between specified times. A key of 0 is noon, 0.25 is sunset, 0.5 midnight, 0.75 sunrise, and 1 is the next noon.

File:Ore UI - Project Vibrant Visuals Settings Menu - Key Frame Graphs (Bedrock Editor).png
Some key framed settings in Bedrock Editor in different graphs

In Bedrock Editor, a set of different key frames can be adjusted individually. The amount of available key frames varies for each setting, which can only be changed by importing JSON settings. With the slider below each graph, the key value for the X-axis can be seen. The Y-axis shows all values for the setting. Each key can be moved horizontally and vertically, and all keys are connected with a line corresponding to the linear interpolation. Double-clicking on a key shows text boxes for the exact coordinates, and a color picker in RGB-supported settings.

atmospherics.json format

Scripting

The atmospherics can also be dynamically overridden by the game's scripting modules.<ref>Template:Citation</ref> In @minecraft/server-graphics, all above settings can be customized per biome in the format set<setting in camel case>(setting: input, biomeIdentifier: biome ID): void. The input is similar to the JSON format above: either a float number or key framed float (number, number), or an RGB input red; green; blue, which can also be key framed. Atmospherics can be reset to the data-driven values using reset with the biome.

Fog

The fog in Vibrant Visuals can be customized per biome in the same JSON file as regular fog in Template:File, and using the Template:Cmd command.<ref>Template:Cite</ref> However, Vibrant Visuals has some options for more complex volumetric fog and Henyey-Greenstein G.<ref name="fog">Template:Cite</ref>

The density of volumetric fog can be adjusted, either for specified heights or every height, for each block where fog occurs in different situations (air, water, lava). For fog in the air, clouds, or water, the color of the fog can be specified. Finally, Vibrant Visuals allows to change light shafts inside fog for water and air. All fog settings are optional, if not specified they will equal to lower settings in the fog stack, first global values and then default values.

For all settings and the JSON format, see Minecraft:Fog definition.

Color grading

Configurations for color grading and tone mapping can be adjusted for various situations and colors, making the final look of the scene fully customizable.<ref name="color-grading-tone-mapping" /> Both post-processing effects are configured in JSON file per biome in the Template:File directory.

Color grading is split into three scales based on lighting applied to the objects, and there is an additional temperature grading option. The highlight parameters are applied to the brightest pixels, the shadows to the darkest pixels, and midtones to pixels close to the average luminance of a scene. Highlights and shadows need to be enabled for specified color grading, otherwise the midtone parameters will be applied to all pixels as a global setting. The minimum brightness of the highlights and maximum brightness of the shadows affect which pixels are considered highlights and shadows instead of midtones.

For each color grading parameter, different values for each RGB color can be specified.

  • The contrast affects the pixels with different luminances from the average luminance. Higher contrast values will increase brightness of highlights and darken shadows, while lower contrast values result in a more gray image with less differences in color and brightness.
  • Gain affects the luminance intensity of the whole image, regardless of the luminance of a pixel.
  • Similar to gain, the gamma affects the overall luminance intensity of all pixels, but after all other post-processing effects have been applied.
  • The offset adjusts the intensity of pixels based on the average luminance of the scene, which is added to all pixels and has a stronger effect on brighter pixels than darker pixels.
  • Saturation changes the intensity of colors apart from their luminance. Higher values increase the intensity, while lower values result in a grayscale image.

Finally, the temperature can be adjusted for the whole image, affecting how "warm" (yellow/orange) or "cool" (blue) the scene becomes. The type of temperature grading can be inverted, to make higher temperatures result in a warmer or cooler image.

Template:FakeImage The tone mapping effect cannot be customized for individual curves, but there are six operators that can be selected. Reinhard is a generic operator which looks good in low-contrast scenes and has a lower quality for higher luminances. Reinhard Luma is an extended variant that preserves details in low dynamic range regions, and Reinhard Luminance is a variant that preserves colors in higher luminance regions.

There are also filmic tone mapping operators, which emulate real-life film and work best when other Vibrant Visuals configurations are based on physically accurate values. Hable and ACES are filmic operators which preserve subtle differences in extremely dark or bright scenes, but come at a higher performance cost. Mojang Studios has developed a generic filmic tone mapping curve which preserves a bit more hue saturation at high luminance regions.

color_grading.json format

Cubemaps

Cubemaps are six 2D textures always rendered around the player which are affected by directional, ambient, and sky lighting, and scattering.<ref name="cubemap">Template:Cite</ref> They can be customized in Template:File for each biome or set of biomes. Custom cubemaps only affect the Minecraft:Overworld, the cubemap used in the End sky is unaffected.

The influence of each type of light on the cubemap can be customized, but it is always dependent of the biome's lighting settings and which types of lighting are currently applied. Cubemaps can be affected by two types of scattering. Depending on whether the cubemap contains objects in the sky (such as clouds), or in space (such as stars), atmospheric scattering should be turned on or off, respectively. Volumetric scattering lets fog and light shafts affect the cubemap, for objects close to the surface.

cubemap.json format

  • Template:Nbt The root tag
    • Template:Nbt:Template:Fn The 3-part schema version used in the file, requires "1.21.130" for all current features.
    • Template:Nbt
      • Template:Nbt
      • Template:Nbt
        • Template:NbtTemplate:Nbt: The amount of fixed ambient light applied to the cubemap. Contains pairs of numbers, where the first number should be between 0.0 and 1.0 (time of day) and the second number should be between 0.0 and 100000.0 (ambient light). Default value is 5.625 for all times of day.
        • Template:Nbt: Contribution of the sky light. It should be between 0.0 and 1.0 (default).
        • Template:Nbt: Contribution of the directional light. It should be between 0.0 (default) and 1.0.
        • Template:Nbt: Whether the cubemap is affected by atmospheric scattering (mie and rayleigh), false by default.
        • Template:Nbt: Whether the cubemap is affected by volumetric scattering (fog and light shafts), true by default.

Shadows

File:Vibrant Visuals shadows comparison.png
A comparison of blocky (top) and soft shadows (bottom)

There are two settings for shadows created by blocks, entities, and some other objects.<ref>Template:Cite</ref> They can be changed with a JSON file in Template:File and are applied globally.

  • The shadow style affects which type of shadows are rendered. This can be soft, which is often used in third-party shaders and other video games, or blocky, which is used in default Vibrant Visuals. Both types are affected by the shape of the object casting the shadows.
  • The texel size represents the resolution in texture to which shadows will be quantized. For the best effect, this should be the same as the pixel resolution used for block textures, which makes shadows align with the pixel grid.

global.json format

Water

File:Vibrant Visuals particles comparison.png
Different particle concentrations create colored water fog. Clockwise from top-left: default water, medium CDOM, medium suspended sediment, and low chlorophyll values.
File:Vibrant Visuals waves.png
Animated water waves enabled with a resource pack. This pack uses the default settings for waves.

Minecraft:Water effects can be customized per biome or for default water in the Template:File directory.<ref name="water">Template:Cite</ref> Instead of blending the effects per biome based on the camera's location, the water color is set for the location of the water block in the world, meaning that multiple biome effects for water can be observed at once.

There are three elements that can be customized: particle concentrations, waves, and caustics.

  • Particle concentrations affect the fog color and underwater light scattering. There are three particle concentrations in mg/L, which aren't used in default Vibrant Visuals:
    • CDOM produces yellow to yellow-brown collors. Low values result in a fresh, blue appearance, like real-life oceans, and rivers have higher CDOM and more colored water.
    • Chlorophyll produces green colors, which varies based on the temperature in real life.
    • Suspended sediment produces red to red-brown colors, which appears more in real-life rivers.
  • Waves are animations on the surface of water, disabled in default Vibrant Visuals. They can partially replace the water surface texture by actual three-dimensional textures, but this doesn't affect gameplay. Waves can be customized with various settings, which affect speed variations, smoother or sharper shapes, the amount of waves (and variations) per block, and the height of waves. Individual wave animations can blend into each other and pull into larger waves, which can be customized.
  • Caustics are animated textures projected on any object surfaces behind a water surface when directional lighting hits the surface, which are enabled by default. The caustics use an internal texture with 64 frames of animation, but this can be changed to any custom texture. The speed of the animation (frame length) and scale can be customized, and the intensity can be increased.
    • A custom caustics texture must have all animation frames laid out vertically next to each other, each using the same square resolution. It should be located under the Template:File directory in the resource pack, declared in Template:File.
  • The Minecraft:biome's water color is ignored by default in Vibrant Visuals, but the contribution of the regular water color to the fog can be increased. Depending on the setting, water fog and scatttering will be tinted with a color specified in the client biome file, which is applied prior to the effects from particle concentrations.

water.json format

  • Template:Nbt The root tag
    • Template:Nbt:Template:Fn The 3-part schema version used in the file, requires "1.26.0" for all current features.
    • Template:Nbt
      • Template:Nbt
        • Template:Nbt:Template:Fn The identifier for these settings, "minecraft:default_water" applies to all biomes by default, other identifiers can be specified in the Template:File file. Must include a namespace.
      • Template:Nbt
        • Template:Nbt: Concentration of chromophoric dissolved organic matter which produce yellow/yellow-brown colors. Can be set between 0.0 (default) and 15.0.
        • Template:Nbt: Concentration of chlorophyll which produces green colors. Can be set between 0.0 (default) and 10.0.
        • Template:Nbt: Concentration of suspended sediment which produces red/red-brown colors. Can be set between 0.0 (default) and 300.0.
      • Template:Nbt
        • Template:Nbt: Whether waves are on or off (default).
        • Template:Nbt: Controls the amount of wave displacement. Can be set between 0.0 and 3.0, defaults to 1.
        • Template:Nbt: Controls how much the heading changes between each octave. Can be set between 0.0 and 360.0.
        • Template:Nbt: Controls the size of individual waves; higher values create more tightly packed waves. Can be set between 0.01 and 3.0, defaults to 1.
        • Template:Nbt: Controls how much frequencies change in subsequent octaves. Can be set between 0.0 and 2.0, defaults to 1.2000000476837158.
        • Template:Nbt: Controls how much each octave will blend into the neighboring octave. Can be set between 0.0 and 1.0, defaults to 0.20000000298023224.
        • Template:Nbt: Determines how many layers of waves to simulate; high values result in more complex waves. Can be set between 1 and 30, defaults to 28.
        • Template:Nbt: Controls how much smaller waves are pulled into larger ones. Can be set between -1.0 and 1.0, defaults to 0.3799999952316284.
        • Template:Nbt: Controls the resolutions of the fractal effect; higher values result in smoother waves. Can be set between 0.01 and 1.0.
        • Template:Nbt. Adjusts the shape of the wave. Can be set between 1.0 and 10.0, defaults to 1.5.
        • Template:Nbt: Controls the starting speed of the first waves. Can be set between 0.01 and 10.0, defaults to 2.
        • Template:Nbt: Controls how much faster/slower subsequent octaves move. Can be set between 0.0 and 2.0, defaults to 1.0299999713897705.
      • Template:Nbt
        • Template:Nbt: Whether caustics are on (default) or off.
        • Template:Nbt: How many seconds to spend on each frame of animation in the caustics texture. Can be set between 0.01 and 5.0, defaults to 0.09.
        • Template:Nbt: Controls how bright the caustics effect appears. Can be set between 1 (default) and 6.
        • Template:Nbt: Controls the size of the repetition of the caustics texture. Can be set between 0.1 and 5.0, defaults to 0.5.
        • Template:Nbt:Template:Fn Resource location of a custom caustics texture, which defaults to the internal caustics.png.
      • Template:Nbt: Controls the contribution of the water surface color applied by the Minecraft:biome. Can be set between 0.0 (default) and 1.0.

Template:Fnlist

Quotes

Template:Q

Template:Q

Sounds

Template:SoundTable

Videos

Template:Yt Template:Yt Template:Yt Template:YT

History

Announcement

Vibrant Visuals was revealed at Minecraft LIVE – March 2025, planned for Bedrock Edition in the coming months, with more improvements over the next few years.<ref>Template:YouTube link</ref><ref>Template:YouTube link</ref><ref name="evolving" />

It is planned to come to Java Edition in the future, but without colored lighting.<ref>Template:Cite</ref> Developers are rewriting the rendering code before Vibrant Visuals will be added to all Java Edition supported devices.<ref name="java" /> In order to implement more graphical features and sustain compatibility with macOS, the game will switch from Template:W to the Template:W graphics API in the summer of 2026, which can be toggled in-game until development is ready.<ref name="vulkan" />

Deferred Technical Preview

File:Render Dragon Banner.png
The first image of the deferred technical preview

Before Vibrant Visuals was released, the deferred rendering engine was available behind the "Render Dragon Features for Creators" experiment in Minecraft:Minecraft Preview. This was built on the features for ray tracing, and gradually developed more exclusive rendering features.<ref>Template:Cite</ref> Unlike Vibrant Visuals, Mojang Studios did not provide any default configurations and textures, meaning that it needed to be configured first through resource packs, similar to ray tracing.

Since the vanilla implementation of Vibrant Visuals, the experimental deferred lighting mode has been merged with the graphics upgrade. However, the experiment is still used for other deferred rendering features that are not implemented in Vibrant Visuals, such as colored lighting.


Template:HistoryTable

Bedrock Edition

Template:HistoryTable

Java Edition

Template:HistoryTable

Issues

Template:Issue list

Trivia

File:Vibrant Visuals older versions.png
Vibrant Visuals in an old world, with soft shadows, lacking water reflections, and no MERS textures
  • Vibrant Visuals can be enabled in worlds locked in any older version using world templates and a PBR-enabled resource pack. This ignores all resource packs from versions above the world's version, including Vibrant Visuals configurations and textures. Below 1.21.90, this results in interesting behavior for some features, while most others function normally:
    • All MERS textures are ignored, making environments without directional lighting appear identical to classic graphics modes.
    • Atmospherics and lighting configurations are not applied, defaulting to the hard-coded values, and some environmental effects do not appear at all. Sunset and sunrise for example, tint the zenith sky dark blue and the horizon red, much brighter than regular colors.
    • Shadows are not blocky but soft.
    • End flashes still occur, but are not colored and appear white.
    • The End sky is not colored below the horizon, resembling the classic End sky with Night Vision. At zenith however, the sky is tinted dark green/blue.
    • Without brightness configurations, directional lighting from the sun appears glitched, and excessively bright.
    • The Nether roof is completely glitched without any light.
    • Water reflections or cubemaps don't appear, deep water looks shadow blue.
    • For a moment in the loading world screen before entering the world, the panorama renders with the the missing texture.
  • The introduction of Vibrant Visuals added MERS textures for any block, entity, and particle present in all vanilla resources, including Minecraft:unused textures and various old textures kept for backward-compatibility. However, these can never be encountered in-game because loading an old world will ignore the resource packs containing these textures.
  • According to developers, the deferred rendering mode was build on parts from the RTX pipeline and the rendering pipeline from Template:MCL since 2020.<ref>Template:Cite</ref>

Gallery

Textures

Template:Hatnote

Screenshots

Template:See also

Settings

Vibrant Visuals announcement

Chase the Skies announcement

See also

Notes

<references group="note" />

References

Template:Reflist

External links

Navigation

Template:Navbox Bedrock Edition Template:Navbox gameplay Template:Navbox resource packs Template:Featured

de:Vibrant Visuals es:Visuales vibrantes fr:Graphismes éclatants ja:バイブラントビジュアルズ lzh:Vibrant Visuals pt:Visuais Vibrantes ru:Vibrant Visuals uk:Vibrant Visuals zh:Vibrant Visuals