This article is about the built-in graphics mode and enhancements. For the graphics mode using ray tracing technology, see RTX. For deferred rendering, see RenderDragon § Deferred Rendering.
It has not appeared in any development versions yet, but is planned to be included in a future update.
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 by adding directional lighting, physically based textures, pixel-aligned shadows, atmospheric sky, environmental effects, and various other visual features based on photorealism. It is built around a physically based rendering pipeline used for deferred lighting and ray tracing.[3][4] It runs locally on the player's device, and can be enabled in the player's settings rather than world specific settings.[5]
Most configurations and textures can be customized using resource packs, and various tagged Marketplace add-ons make use of custom Vibrant Visuals packs.
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
A comparison of the default and Vibrant Visuals textures, outside a woodland mansion.
Vibrant Visuals uses physically based rendering (PBR), which simulates realistic lighting behaviors between different surface materials. This is achieved by creating different texture maps for every block, entity, item, and particle, which define specific characteristics of the surface material.[6] A texture set is used to specify these texture maps in a resource pack.[7] 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
Metallic surfaces like copper fully reflect sunlight and emissive light, smooth surfaces like smooth quartz and bricks only reflect sunlight, and rough surfaces like 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, 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.
Reflections on the surface of water.The amount of blocks reflected depends on the "Reflections" setting.
The game uses screen space reflections (SSR) and image-based lighting (IBL) to create dynamic reflections which appear on these surfaces.[8] 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 cube maps, which are affected by environmental lighting and atmospheric scattering.[9]
Most blocks and entities in Vibrant Visuals with high metalness only reflect light sources and do not completely mirror areas. 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
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 light bloom effect, which makes their color bleed into the surrounding areas.
Some entities and blocks — like drowned, spiders, sculk, certain dropped items, and firefly particles — use emissive texture map and produce glowing effect. This effect is often contributed by their natural block lighting (like torches and 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 leaves.[10] 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
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 moon in the Overworld, and End flashes in the End.[8] 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 or emissive textures, the whole view gets darkened, 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
A flash in the End. Notice the shadows created by chorus plants.
The End flash is an effect in the End sky that in Bedrock Edition is exclusive to Vibrant Visuals. End flashes occur once every 30 seconds at random spots above the horizon. As a directional light source, End flashes tint block lighting purple 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.
This feature is not enabled in-game by default and requires enabling the "Render Dragon Features for Creators" setting in the "Experiments" section in Bedrock Edition.
Point lights off (top) and on (bottom).
If the "Render Dragon Features for Creators" experiment is enabled in 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:
The quality of point lighting and the shadows created by point lights can be adjusted in the settings, or turned off.
Enabling this for more objects may reduce the performance and affect gameplay noticeably.
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 Light § Light-emitting blocks.
Other light sources
Without directional light sources, objects are lit by ambient lighting, to prevent them from rendering pitch black. Ambient lighting has a dimension-dependent strength (0.02 in the 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.
Environmental effects
Each biome and 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.[11]
Atmospherics
The sky color of a biome in Vibrant Visuals is defined at the horizon and the zenith, which are variable.[12] 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. Color grading is applied as a post-processing effect to the whole image, including blocks, light, and the sky.
Volumetric fog turned off (top) and set to Ultra (bottom) in a pale garden.
Vibrant Visuals enhances all fog effects that change depending on the environment.[13] 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 Fog § Volumetric fog.
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.
Global directional light sources are affected by rayleigh scattering and mie scattering, which change depending on the object's position in the sky. The sun and moon themselves create a glow in the sky around them, and cast light beams depending on fog effects. These light beams can fall through transparent blocks, and can be scattered into smaller light beams with shadows by blocks and entities.
All atmospheric effects gradually change during the time of day, 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
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.
The cloud distance can be adjusted in the Vibrant Visuals options.
Weather effects
Rainfall in a forest, where the sky is tinted slightly more yellow than without Vibrant Visuals.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 slightly darken the sky and clouds, but the sun and moon are still visible and appear darker.
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 water texture and inside color are rendered separately from other blocks and objects.[14] 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, but this has been announced to be added in a future update.[15]
When the player's eye level is inside water, volumetric fog effects are created, which change depending on the depth, the time the player has been in the water, the biome, and sky effects. 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 the water surface from below.
The sun and moon aren't visible from below the water, but a blurred and colored light source can be seen in the direction of the sun and moon, and creates 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. Water caustics are randomly animated, and certain parts appear brighter than others, depending on the light projecting the water caustics.
Sunbeams underwater.
A dark aquifer.
Water caustics in a desert. Note the caustics projected on the dry sand behind the waterfall on the right.
Water caustics as seen from underwater.
Shadows cast by coral structures underwater.
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.[16]
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 biome.
Tone mapping is also used to remap the colors from HDR to SDR for televisions and monitors that support limited dynamic range.[16]
The bloom effect around the sun during sunrise.
A comparison of a firefly bush with bloom set to 0% (bottom) and 100% (top).
Panorama
An exclusive panorama is shown when using Vibrant Visuals.
Applying
Vibrant Visuals can be toggled on in the video settings in the graphics mode dropdown menu. 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 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.
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 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 Content/data/renderer 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, .binmaterial files, and an unknown brdf_lut.png image, seemingly a colormap.
Availability
Vibrant Visuals is available to use on the following platforms:[17]
For Intel GPUs, Intel graphics driver 31.0.101.3430 or later is required for Minecraft to run on DirectX 12.[18]
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.
A12 Bionic or higher:
iPhone XR or later
iPhone SE (2020) or later
iPhone Air (2025)
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 One (disabled by default)
Xbox One S (disabled by default)
Xbox One X
Xbox Series X
Xbox Series S
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 not currently supported on ChromeOS devices, Fire tablets, or Nintendo Switch consoles. Mojang Studios intends to bring Vibrant Visuals, either fully or partially, to as many devices as possible.[19]
Some servers may disable Vibrant Visuals during the game using disable-client-vibrant-visuals in server.properties, even when available on singleplayer. All featured servers besides The Hive and Mob Maze have disabled Vibrant Visuals, although this restriction can be circumvented by using third-party modification software.[20]MinecraftRealms has Vibrant Visuals enabled.
Vibrant Visuals has limited compatibility with existing resource packs that are a part of an add-on. Resource packs without the pbr capability restrict the graphics mode to Fancy or lower. 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.
Vibrant Visuals can be customized with a resource pack. A pack with pbr capability in its manifest.json can define PBR for each individual texture with a texture set.[21] They can also configure light sources, atmospheric effects, volumetric fog and light shafts, color grading and tone mapping, and many more.[3]
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.[7] 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 biome.[11] 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 biomes, 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 Bedrock Editor. 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.
Biome-dependent settings cannot be changed until Bedrock Edition 26.0[upcoming], where settings for existing biomes or configurations can be changed, and even new configurations can 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
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.[6] 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 lighting.
Subsurface scattering is an effect created by light shining on transcluent surfaces.[10] 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,[22] 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 textures, 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.[7]
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
[NBT Compound / JSON Object] The root tag
[String] format_version: 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.
[Int Array][String] color: 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.
[String] normal: The name of the normal map file, cannot be used together with heightmaps.
[String] heightmap: The name of the heightmap file, cannot be used together with normal maps.
[Int Array][String] metalness_emissive_roughness: 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.
[Int Array][String] metalness_emissive_roughness_subsurface: 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 add-on, all pixels default to values specified in a customizable JSON file in pbr.[23]
global.json format
[NBT Compound / JSON Object] The root tag
[String] format_version: The 3-part schema version used in the file, requires "1.21.40".
[Int Array][String] 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
[NBT Compound / JSON Object] actors
[Int Array][String] 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
[NBT Compound / JSON Object] particles
[Int Array][String] 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
[NBT Compound / JSON Object] items
[Int Array][String] 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 lighting and local_lighting directories.[8] 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 biome.client_biome.json. 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 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.
A custom orbital offset. Screenshot taken at noon.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.
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.
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 block, available only in the "Render Dragon Features for Creators" experiment in Minecraft Preview.[untilBE 26.10] 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. 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
Note: The global.json file does not override any vanilla lighting settings for non-custom biomes, each biome type requires its own JSON file such as cold_lighting.json.
[NBT Compound / JSON Object] The root tag
[String] format_version:[a] The 3-part schema version used in the file, requires "1.21.80" for all current features.
[String] identifier:[a] The identifier for these settings, "minecraft:default_lighting" will be applied to all biomes, other identifiers can be specified in the biome.client_biome.json files. Must include a namespace.
[NBT Compound / JSON Object] directional_lights
[NBT Compound / JSON Object] orbital
[NBT Compound / JSON Object] sun
[NBT Compound / JSON Object][Float] illuminance: The brightness of the sun in lux.
[NBT Compound / JSON Object][Int Array][String] color: The color that the sun contributes to direct surface lighting; supports RGB array or HEX string.
[NBT Compound / JSON Object] moon
[NBT Compound / JSON Object][Float] illuminance: The brightness of the moon in lux.
[NBT Compound / JSON Object][Int Array][String] color: The color that the moon contributes to direct surface lighting; supports RGB array or HEX string.
[NBT Compound / JSON Object][Float] orbital_offset_degrees: The rotational offset of the sun and moon from their standard orbital axis; measured in degrees.
[NBT Compound / JSON Object] flash
[NBT Compound / JSON Object][Float] illuminance:[a] The brightness of the End flash in lux.
[NBT Compound / JSON Object][Int Array][String] color: The color that the End flash contributes to surface lighting; supports RGB array or HEX string.
[NBT Compound / JSON Object] emissive
[Float] desaturation: The amount of desaturation to apply to albedo color values during emissive light calculation between 0.0 and 1.0.
[Int Array][String] color: The color that the ambient light contributes to surface lighting; supports RGB array or HEX string. Can be key framed in Bedrock Edition 26.0[upcoming].
[NBT Compound / JSON Object] sky
[Float] intensity: Scales how much energy the sky contributes to lighting between 0.0 and 1.0. Can be key framed in Bedrock Edition 26.0[upcoming].
local_lighting.json format[a]
Only functional in the "Render Dragon Features for Creators" experiment in Minecraft Preview. Static lights don't require the experiment in 26.10[upcoming].
[NBT Compound / JSON Object] The root tag
[String] format_version: The 3-part schema version used in the file, requires "1.21.120" for all current features.
[NBT Compound / JSON Object]block identifier: The identifier of the block, with a namespace.
[Int Array][String] light_color: The color of the point light or static light; supports RGB array or HEX string.
[String] light_type: The type of local lighting applied for this block, either "static_light" or "point_light".
Atmospherics
The colors and some other values for the sky can be changed in atmospherics.[12] 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.[24] 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.
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. 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. The colors do not support a color picker for each key, instead all keys have a specified color and can only be moved horizontally to change the active times and blending of each color.
atmospherics.json format
[NBT Compound / JSON Object] The root tag
[String] format_version:[a] The 3-part schema version used in the file, requires "1.21.40".
[String] identifier:[a] The identifier for these settings, "minecraft:default_atmospherics" will be applied to all biomes, other identifiers can be specified in the biome.client_biome.json files. Must include a namespace.
[NBT Compound / JSON Object] horizon_blend_stops: This affects how the atmosphere is divided for the atmospheric effects.
[NBT Compound / JSON Object][Float] min: The minimum horizon height.
[NBT Compound / JSON Object][Float] start: The height relative to the horizon where the zenith contribution will take over.
[NBT Compound / JSON Object][Float] mie_start: The height relative to the horizon where mie scattering begins.
[NBT Compound / JSON Object][Float] max: The maximum horizon height.
[NBT Compound / JSON Object][Float] rayleigh_strength: How strong the atmosphere's rayleigh scattering term is, which affects how particles larger or smaller than the light ray's wavelength scatter the light.
[NBT Compound / JSON Object][Float] sun_mie_strength: How strong the sun's mie scattering term is, which affects how particles from the same size as the light ray's wavelength scatter the light.
[NBT Compound / JSON Object][Float] moon_mie_strength: How strong the moon's mie scattering term is.
[NBT Compound / JSON Object][Float] sun_glare_shape: How the lobe of the mie scattering is shaped.
[NBT Compound / JSON Object][Int Array][String] sky_zenith_color: The color of the zenith region of the atmosphere; supports RGB array or HEX string.
[NBT Compound / JSON Object][Int Array][String] sky_horizon_color: The color of the horizon region of the atmosphere; supports RGB array or HEX string
Fog
The fog in Vibrant Visuals can be customized per biome in the same JSON file as regular fog in fogs, and using the /fog command.[25] However, Vibrant Visuals has some options for more complex volumetric fog and Henyey-Greenstein G.[13]
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 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.[16] Both post-processing effects are configured in JSON file per biome in the color_grading 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.
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
[NBT Compound / JSON Object] The root tag
[String] format_version:[a] The 3-part schema version used in the file, requires "1.21.90" for all current features.
[String] identifier:[a] The identifier for these settings, "minecraft:default_color_grading" will be applied to all biomes, other identifiers can be specified in the biome.client_biome.json files. Must include a namespace.
[NBT Compound / JSON Object] color_grading
[NBT Compound / JSON Object] midtones: Color grading parameters of all pixels that are not considered highlights or shadows, if they are enabled.
[NBT List / JSON Array][Float] contrast: The contrast between 0.0 and 4.0, per RGB channel.
[NBT List / JSON Array][Float] gain: The gain between 0.0 and 10.0, per RGB channel.
[NBT List / JSON Array][Float] gamma: The gamma between 0.0 and 4.0, per RGB channel.
[NBT List / JSON Array][Float] offset: The offset between -1.0 and 1.0, per RGB channel.
[NBT List / JSON Array][Float] saturation: The saturation between 0.0 and 10.0, per RGB channel.
[NBT Compound / JSON Object] highlights: Color grading parameters of all brighter pixels.
[Boolean] enabled: Whether the following parameters are applied to highlights, or if they should follow the midtone parameters.
[Float] highlightsMin: The darkest pixels considered highlights, between 1.0 and 4.0. 1.0 is equal to the average luminance, and higher values will cause the minimum required luminance value for a pixel to be considered a highlight to rise.
[NBT List / JSON Array][Float] contrast: The contrast between 0.0 and 4.0, per RGB channel.
[NBT List / JSON Array][Float] gain: The gain between 0.0 and 10.0, per RGB channel.
[NBT List / JSON Array][Float] gamma: The gamma between 0.0 and 4.0, per RGB channel.
[NBT List / JSON Array][Float] offset: The offset between -1.0 and 1.0, per RGB channel.
[NBT List / JSON Array][Float] saturation: The saturation between 0.0 and 10.0, per RGB channel.
[NBT Compound / JSON Object] shadows: Color grading parameters of all darker pixels.
[Boolean] enabled: Whether the following parameters are applied to shadows, or if they should follow the midtone parameters.
[Float] shadowsMax: The brightest pixels considered shadows, between 0.1 and 1.0. 1.0 is equal to the average luminance, lower values will cause the maximum required luminance value for a pixel to be considered a shadow to drop.
[NBT List / JSON Array][Float] contrast: The contrast between 0.0 and 4.0, per RGB channel.
[NBT List / JSON Array][Float] gain: The gain between 0.0 and 10.0, per RGB channel.
[NBT List / JSON Array][Float] gamma: The gamma between 0.0 and 4.0, per RGB channel.
[NBT List / JSON Array][Float] offset: The offset between -1.0 and 1.0, per RGB channel.
[NBT List / JSON Array][Float] saturation: The saturation between 0.0 and 10.0, per RGB channel.
[NBT Compound / JSON Object] temperature
[Boolean] enabled: Whether temperature-based color grading is applied.
[Float] temperature: The temperature of the image, between 1000 and 15000 Kelvin.
[String] type: The type of temperature grading used, either "white_balance" (higher temperatures result in cooler image) or "color_temperature" (higher temperatures result in warmer image).
[NBT Compound / JSON Object] tone_mapping
[String] operator: The operator used for tone mapping. This can be "reinhard", "reinhard_luma", "reinhard_luminance", "hable", "aces", or "generic".
Cubemaps
Cubemaps are six 2D textures always rendered around the player which are affected by directional, ambient, and sky lighting, and scattering.[9] They can be customized in cubemaps for each biome or set of biomes. Custom cubemaps only affect the 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
[NBT Compound / JSON Object] The root tag
[String] format_version:[a] The 3-part schema version used in the file, requires "1.21.130" for all current features.
[String] identifier:[a] The identifier for these settings, specified in the biome.client_biome.json files. Must include a namespace.
[NBT Compound / JSON Object] lighting
[NBT Compound / JSON Object][Float] ambient_light_illuminance: 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.
[Float] sky_light_contribution: Contribution of the sky light. It should be between 0.0 and 1.0 (default).
[Float] directional_light_contribution: Contribution of the directional light. It should be between 0.0 (default) and 1.0.
[Boolean] affected_by_atmospheric_scattering: Whether the cubemap is affected by atmospheric scattering (mie and rayleigh), false by default.
[Boolean] affected_by_volumetric_scattering: Whether the cubemap is affected by volumetric scattering (fog and light shafts), true by default.
Shadows
A comparison of blocky (top) and soft shadows (bottom).
There are two settings for shadows created by blocks, entities, and some other objects.[26] They can be changed with a JSON file in shadows 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
[NBT Compound / JSON Object] The root tag
[String] format_version:[a] The 3-part schema version used in the file, requires "1.21.80" for all current features.
[String] shadow_style: The type of shadows to use, either "blocky_shadows" (default) or "soft_shadows".
[Int] texel_size: The resolution in pixels to snap shadow texels to, defaults to 16.
Water
Different particle concentrations create colored underwater fog. Clockwise from top-left: default water, medium CDOM, medium suspended sediment, and low chlorophyll values.Animated water waves enabled with a resource pack. This pack uses the default settings for waves.
Water effects can be customized per biome or for default water in the water directory.[14] 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 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 textures directory in the resource pack, declared in textures_list.json.
The biome's water color is ignored by default in Vibrant Visuals, but in Bedrock Edition 26.0[upcoming], the contribution of the regular water color can be customized. Depending on the setting, water 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
[NBT Compound / JSON Object] The root tag
[String] format_version:[a] The 3-part schema version used in the file, requires "1.21.80" for all current features.
[String] identifier:[a] The identifier for these settings, "minecraft:default_water" applies to all biomes by default, other identifiers can be specified in the biome.client_biome.json file. Must include a namespace.
[Float] cdom: Concentration of chromophoric dissolved organic matter which produce yellow/yellow-brown colors. Can be set between 0.0 (default) and 15.0.
[Float] chlorophyll: Concentration of chlorophyll which produces green colors. Can be set between 0.0 (default) and 10.0.
[Float] suspended_sediment: Concentration of suspended sediment which produces red/red-brown colors. Can be set between 0.0 (default) and 300.0.
[NBT Compound / JSON Object] waves
[Boolean] enabled: Whether waves are on or off (default).
[Float] depth: Controls the amount of wave displacement. Can be set between 0.0 and 3.0, defaults to 1.
[Float] direction_increment: Controls how much the heading changes between each octave. Can be set between 0.0 and 360.0.
[Float] frequency: 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.
[Float] frequency_scaling: Controls how much frequencies change in subsequent octaves. Can be set between 0.0 and 2.0, defaults to 1.2000000476837158.
[Float] mix: Controls how much each octave will blend into the neighboring octave. Can be set between 0.0 and 1.0, defaults to 0.20000000298023224.
[Int] octaves:[a] 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.
[Float] pull: Controls how much smaller waves are pulled into larger ones. Can be set between -1.0 and 1.0, defaults to 0.3799999952316284.
[Float] sampleWidth: Controls the resolutions of the fractal effect; higher values result in smoother waves. Can be set between 0.01 and 1.0.
[Float] shape. Adjusts the shape of the wave. Can be set between 1.0 and 10.0, defaults to 1.5.
[Float] speed: Controls the starting speed of the first waves. Can be set between 0.01 and 10.0, defaults to 2.
[Float] speed_scaling: Controls how much faster/slower subsequent octaves move. Can be set between 0.0 and 2.0, defaults to 1.0299999713897705.
[NBT Compound / JSON Object] caustics
[Boolean] enabled: Whether caustics are on (default) or off.
[Float] frame_length: 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.
[Int] power: Controls how bright the caustics effect appears. Can be set between 1 (default) and 6.
[Float] scale: Controls the size of the repetition of the caustics texture. Can be set between 0.1 and 5.0, defaults to 0.5.
[String] texture:[a] Resource location of a custom caustics texture, which defaults to the internal caustics.png.
[Float] biome_water_color_contribution:[upcomingBE 26.0] Controls the contribution of the water surface color applied by the biome. Can be set between 0.0 and 1.0, requires format version 1.26.0.
Explore a more vibrant Overworld with Minecraft's official visual refresh – now available on compatible Bedrock Edition devices!* Soar with your happy ghast towards the sunrise, descend into shadowy depths, or simply enjoy the vivid beauty of each biome.
Vibrant Visuals were revealed at Minecraft LIVE – March 2025, planned for Bedrock Edition in the coming months, with more improvements over the next few years.[27][28] It is planned to come to Java Edition in the future, but without colored lighting.[29] Developers are rewriting the rendering code before Vibrant Visuals will be added to all Java Edition supported devices.[1]
Deferred Technical Preview
Before Vibrant Visuals was released, the deferred rendering engine was available behind the "Render Dragon Features for Creators" experiment in Minecraft Preview. This was built on the features for ray tracing, and gradually developed more exclusive rendering features.[30] 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.
Added experimental support for deferred rendering in resource packs, under the placeholder name of "Deferred Technical Preview". It adds directional lighting, shadows, bloom, tone mapping, and works with the same PBR features and textures as ray tracing. It is available for Windows, Xbox, and Android, and does not contain any default configurations. More features and supported platforms are planned.
It can be enabled in-game by setting Graphics Mode to Deferred.
Smooth Lighting and Beatiful Skies options now only appear in the Simple and Fancy graphics options, and no longer affect visuals in deferred or ray traced graphics modes.
Removed Bloom option from Simple, Fancy, and Ray Traced graphics options
Added color grading and tone mapping, which allows resource packs to define their own color post processing for conveying distinct moods and themes.
Added a "Remove Texture Limit" option, which makes the game load all textures until the system exhausts all available graphics memory, instead of applying the missing texture.
Added light pre-exposure, which allows to specify sun or atmospheric intensities with values larger than 65,000.
Added the new bio-optical lighting model for water, which is not data-driven yet.
Added screen space reflections, which are included as part of the Reflections quality slider in the deferred graphics settings menu. On mobile devices, screen space reflections are only available when running at Ultra settings.
Updated some JSON schemas for Deferred Technical Preview resource packs. Some files are now split or relocated and require a format version of 1.21.40.
Subsurface scattering is now affected by point lights.
Added a new radio button to allow players to select if they want to set the deferred video settings to predefined values for favor performance or favor visuals.
Added 4 optional components to the Client Biome JSON 1.21.70 Schema, used for the deferred technical preview: atmospherics, color_grading, lighting, and water. Identifiers can now be specified per biome to apply different configurations for these features, otherwise the global configurations will be applied.
Enforced minimum Android, iOS, and iPadOS requirements for devices running the Deferred Technical Preview for maintained performance, stability, and visuals moving forward.
Disabled local exposure on all platforms because of a bug that can cause massive visual corruption. Developers will re-enable the technology in a future update once the issue has been resolved.
Disabled splitscreen for the Deferred Technical Preview. Deferred/Ray Tracing modes are not available in the video menu during splitscreen sessions, and starting a split screen session while in one of these modes will force the game back to Fancy mode.
The deferred technical preview now enables all features from Vibrant Visuals. The "Render Dragon features for Creators" experiment is now only used for experimental changes outside of default Vibrant Visuals.
Added Vibrant Visuals, which can be enabled in worlds with the experiment enabled. It adds default configurations and textures for deferred lighting, and End flashes. Point lighting is not included.
Added a new lighting model for clouds, which can not be configured at this time.
Increased the range of cloud rendering.
Added pixelated reflections and shadows, which will cause them to align to the texel grid of textures in the world. Shadows are data-driven and the style and texel size can be customized.
Vibrant Visuals is now available without using its respective experimental toggle.
Vibrant Visuals is now the default graphics mode on devices that support it.
Added the ability to data-drive some of the Vibrant Visuals-related settings per biome. Creators can provide multiple versions of atmospherics, color grading, lighting and/or water configurations as long as each has a unique identifier and file name. The reserved JSON names for each group of settings (e.g., lighting/global.json) will continue to function as before. Creators can utilize the identifiers in client biome JSON files to connect particular rendering settings to a given biome. Certain parameters, such as tone mapping operators, caustics and wave simulation on/off cannot be customized per biome at this time. Parameters will be spatially blended as players move between biomes.
Increased back-scattering of light underwater.
Cloud shadows no longer pop in and out of view when looking around on Android devices.
Paintings now render with correct PBR properties, shadows and illumination.
Added MERS texture support for signs.
Added new texture assets for trims, particles, spawn eggs, water and dark oak boats.
Changed the appearance of metals, cave vines, chorus flowers, pumpkins, fire fly bushes, and other blocks.
Changed the bee, dolphin, ghast, pig saddle and strider textures.
Changed shadows in Vibrant Visuals so that they cast further at sunrise and sunset. Prior to this change, shadows were clamped at a 30 degree angle relative to the horizon. This clamp has now been reduced to 10 degrees. This also improves an issue where specular highlights, light rays and volumetric fog were not properly occluded when the sun or moon was behind a mountain at a low angle.
Added temperature grading settings to the color grading json files for Vibrant Visuals. Schemas must specify a format version of 1.21.90 to access this new setting.
Particles rendered without the minecraft:particle_appareance_lighting component are now renderered as expected.
Removed the debug feature where ; could be used to toggle between graphics modes.
the_end_light_flash sound effect now triggers when the light flashes in the End dimension.
Customized atmospherics, color grading, fog and lighting for the End, the Nether, the Overworld dimensions and a variety of biomes. Some issues exist with atmospherics in End and Nether dimensions.
Recalibrated all emissiveness values in MERS textures.
Update shadow configurations for "Favor Performance" targets on all Xbox platforms.
Changed the volumetric fog configuration for "Favor Performance" targets on Xbox One and Xbox One X.
Reduced the intensity and speed of the caustics animation.
Increased emissive intensity and adjusted tone mapping parameters.
Added henyey_greenstein_g settings to the fog json files, which allows specifying value for both air and water used for light shafts in Vibrant Visuals.
Introduced new parameter biome_water_color_contribution to the water JSON file, allowing to control the contribution of biome water colors in Vibrant Visuals.
Static light colors can now be customized in Vibrant Visuals and no longer requires the "Render Dragon Features for Creators" experiment.
Issues
Issues relating to "Vibrant Visuals" are maintained on the bug tracker. Issues should be reported and viewed there.
Trivia
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. This ignores all resource packs from versions above the world's version, including Vibrant Visuals configurations and textures. 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 missing texture, but in HDR.
The introduction of Vibrant Visuals added MERS textures for any block, entity, and particle present in all vanilla resources, including 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 Minecraft Legends since 2020.[32]
The End sky in an older version with a flash.
Sunlight appears too bright, and the sky has unusual colors.
A glitched Nether roof in older versions.
The missing panorama.
Gallery
Textures
The texture of the sun exclusive to Vibrant Visuals, which has more vibrant colors and layers.
caustics.png, containing 50 frames of the water caustics animation.
Sunlight falling into a lush cave through a hole. Although the blocks look fully lit, the light level is still 0 and hostile mobs can spawn.
Shadows on trees in an old growth pine taiga, as seen from the position of the sun. Notice the subsurface scattering on leaves, and the player's shadow.
Icebergs create detailed reflections on an ocean's surface, while clouds create blurry reflections.
A cave with gamma set to 50% (left), 100% (middle), and 150% (right).
Example of a render distance of 128 chunks with Vibrant Visuals enabled.
Water with reflections off. The redstone torch can be seen emitting red point light.
The same water with reflections set to Ultra.
A torch and soul torch with point lights off. They look just like torches in Fancy graphics, despite Vibrant Visuals being used.
The same torch and soul torch with point lights on. Each torch emits colored light on its side of the room, and the colored light can be faintly seen combining into green light in the middle.
An ocean near a jungle with reflections set to Low or Off.
A forest with Vibrant Visuals. On the left there is a large oak tree, and the leaves are reflecting some of the blue skylight.
A comparison of Fancy graphics (on the left) and Vibrant Visuals (on the right), in a cherry grove biome. The 2 screenshots are taken at different angles and different positions. Also, the render distance is set to a low value.
A similar comparison of the Fancy graphics and Vibrant Visuals, outside a woodland mansion, looking into the right window of "Triple bed bedroom", with a potted azure bluet.
A similar comparison of the Fancy graphics and Vibrant Visuals, with icebergs in a frozen ocean. The ice is actually less transparent in Vibrant Visuals, so the form of the ice berg underwater cannot be seen as easily.
A desert village with Vibrant Visuals, during sunset. There is also some badlands on the right. The screenshot was taken in a river, so the yellow haze of the desert is not present. Instead, there is a blue haze, which makes the texture of the sand more visible.
A copper boat sailing through a jungle river, with a copper water mill on the right, a large bridge on the cliffs in the background, and multiple cliffside buildings.
A frozen ocean at sunset, with 3 polar bears and a snow fox, while Zuri does some ice fishing. Minor visual glitches can be seen on the icebergs.
Ari riding a horse while leashing a camel and a happy ghast.
A ghastling next to water. Ripples and reflections can be seen in the water.
Each image shows a swamp during sunset. The right image shows the reflection of the sunset in Vibrant Visuals. These images show how Vibrant Visuals enhances the scene.
A desert (left), stony shore (top), and badlands (right) during sunset. These images show how Vibrant Visuals enhances the scene.
A mangrove swamp during sunset. These images show how Vibrant Visuals enhances the scene.
See also
Overworld Adventures, a series of online stories made to promote Vibrant Visuals.
↑"Deferred Technical Preview Q&A 2024/02/23" – Bedrock Wiki. "The Deferred pipeline has been in development in various forms since 2020. Parts of it were born out of optimizations to the RTX pipeline but other parts were born out of the pipeline used for Minecraft Legends. Development started in earnest in March of 2022."