(One intermediate revision by the same user not shown)
Line 16:
Line 16:
== Features ==
== Features ==
Vibrant Visuals moves most visual shading to the {{Wikipedia|deferred lighting}} passes on different resolutions, except water and transparencies handled by {{W|Glossary of computer graphics#forward-plus rendering|forward shading}}. The game calculates surface normals and depth to shade the albedo color image, for a similar result to classic graphics.<ref name="gdc" /> It also calculates the image's {{W|luminance}}, which is affected by various lighting mechanics.
Vibrant Visuals moves most visual shading to the {{W|deferred lighting}} passes on different resolutions, except water and transparencies handled by {{W|Glossary of computer graphics#forward-plus rendering|forward shading}}. The game calculates {{W|Normal mapping|surface normals}} and depth to shade the albedo color image, for a similar result to [[Minecraft:Smooth Lighting|ambient occlusion]] in classic graphics.<ref name="gdc" /> It also calculates the image's {{W|luminance}}, which is affected by various lighting mechanics.
=== Physically based rendering ===
=== Physically based rendering ===
[[File:Dark vibrant comparison.jpg|thumb|A comparison of the default and Vibrant Visuals textures, outside a [[woodland mansion]]]]
[[File:Dark vibrant comparison.jpg|thumb|A comparison of the default and Vibrant Visuals textures, outside a [[woodland mansion]]]]
After the base rendering passes, the game applies {{w|physically based rendering}} (PBR), which simulates realistic lighting behaviors between different surface materials. This is achieved by creating different texture maps for every [[Minecraft:block]], [[Minecraft:entity]], [[Minecraft:item]], and [[Minecraft:Particles (Bedrock Edition)|particle]], which define specific characteristics of the surface material per pixel.<ref name="texture-map">{{Cite|title=Overview of Physically Based Rendering|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/pbroverview?view=minecraft-bedrock-stable}}</ref> A [[Minecraft:texture set]] is used to specify these texture maps for an object in a [[Minecraft:resource pack]].<ref name="texture-set">{{Cite|title=Texture Set JSON and Introduction to Texture Sets|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/reference/content/texturesetsreference/texturesetsconcepts/texturesetsintroduction?view=minecraft-bedrock-stable}}</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 textures (four channel): red to metalness, green to emissive, blue to roughness, and alpha to subsurface.
After the base rendering passes, the game applies {{w|physically based rendering}} (PBR), which simulates realistic lighting behaviors between different surface materials. This is achieved by creating different texture maps for every [[Minecraft:block]], [[Minecraft:entity]], [[Minecraft:item]], and [[Minecraft:particle]], which define specific characteristics of the surface material per pixel.<ref name="texture-map">{{Cite|title=Overview of Physically Based Rendering|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/pbroverview?view=minecraft-bedrock-stable}}</ref> A [[Minecraft:texture set]] is used to specify these texture maps for an object in a [[Minecraft:resource pack]].<ref name="texture-set">{{Cite|title=Texture Set JSON and Introduction to Texture Sets|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/reference/content/texturesetsreference/texturesetsconcepts/texturesetsintroduction?view=minecraft-bedrock-stable}}</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 textures (four channel): red to metalness, green to emissive, blue to roughness, and alpha to subsurface.
==== Reflections ====
==== Reflections ====
[[File:Vibrant Visuals PBR reflections.png|left|thumb|width=250x250|Metallic surfaces like [[Block of Copper|copper]] fully reflect sunlight and emissive light, smooth surfaces like [[Minecraft:Smooth Quartz Block|smooth quartz]] and [[Minecraft:bricks]] only reflect sunlight, and rough surfaces like [[Minecraft:wood]] reflect nothing.]]
[[File:Vibrant Visuals PBR reflections.png|left|thumb|width=250x250|Metallic surfaces like [[Block of Copper|copper]] fully reflect sunlight and emissive light, smooth surfaces like [[Minecraft:Smooth Quartz Block|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 combine that reflection with their own color. Non-metallic surfaces like [[Minecraft:grass]], [[Minecraft:dirt]], and [[Minecraft:Log|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.
Object reflections are heavily affected by their metalness and roughness properties. Metallic surfaces reflect light directly and combine that reflection with their own color. Non-metallic surfaces like [[Minecraft:grass]], [[Minecraft:dirt]], and [[Minecraft:Log|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, diffuse reflections.
[[File:Zuri's vibrant boat ride.jpg|thumb|right|Direct specular, screen space, and cubemap reflections on the surface of water]]
[[File:Zuri's vibrant boat ride.jpg|thumb|right|Direct specular, screen space, and cubemap reflections on the surface of water]]
[[File:Vibrant Visuals reflection quality comparison.gif|thumb|The amount of blocks reflected depends on the "Reflections" setting.]]
[[File:Vibrant Visuals reflection quality comparison.gif|thumb|The amount of blocks reflected depends on the "Reflections" setting. "Off" will also disable cubemap reflections. Subsurface scattering is visible on the leaves.]]
The game uses {{w|screen space reflections}} (SSR) and {{w|image-based lighting}} (IBL) to create dynamic reflections which appear on these surfaces.<ref name="lighting">{{Cite|title=Light Sources|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/lightingcustomization?view=minecraft-bedrock-stable}}</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 [[Minecraft:cloud]]s and the [[Minecraft:sky]], aren't limited by what is already displayed on the screen but often appear low resolution and distorted. They use {{w|cube maps}}, which are affected by environmental lighting and atmospheric scattering.<ref name="cubemap" />
The game uses {{w|screen space reflections}} (SSR) and {{w|image-based lighting}} (IBL) to create dynamic reflections which appear on these surfaces.<ref name="lighting">{{Cite|title=Light Sources|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/lightingcustomization?view=minecraft-bedrock-stable}}</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 [[Minecraft:cloud]]s and the [[Minecraft:Fog#Atmospherics|sky]], aren't limited by what is already displayed on the screen but often appear low resolution and distorted. They use {{w|cube maps}}, which are affected by environmental lighting and atmospheric scattering.<ref name="cubemap" />
[[#Directional lighting and shadows|Directional light]] sources are reflected as {{W|specular highlights}} with the {{W|Cook-Torrance model}},<ref name="gdc" /> creating a single bright spot moving with the eye position. This is not limited by the current image, but always visible.
[[#Directional lighting and shadows|Directional light]] sources are reflected as {{W|specular highlights}} with the {{W|Cook-Torrance model}},<ref name="gdc" /> creating a single bright spot moving with the eye position. This is not limited by the current image, but always visible.
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, including the fading by [[Minecraft:fog]]. The variety of metalness and roughness in texture maps makes nearby reflections appear pixelated. The SSR and IBL reflection quality can be configured under the [[Minecraft:Settings#Vibrant Visuals Options|video settings]], which affects their resolution and distance at which they appear.
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, including the fading by [[Minecraft:fog]]. The variety of metalness and roughness in texture maps makes nearby reflections appear pixelated. The indirect specular reflection quality can be configured under the [[Minecraft:Settings#Video|video settings]], which affects their resolution and distance at which they appear.
==== Surface glows ====
==== Surface glows ====
[[File:Vibrant Visuals emissive textures.png|thumb|Various emissive textures in a cave]]
[[File:Vibrant Visuals emissive textures.png|thumb|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 [[Minecraft:Vibrant Visuals#Post processing effects|light bloom]] effect, which makes their color bleed into the surrounding areas.
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 [[#Post processing effects|light bloom]] effect, which makes their color bleed into the surrounding areas.
Some entities and blocks — like [[Minecraft:drowned]], [[Minecraft:spider]]s, [[Minecraft:sculk]], certain [[Minecraft:Item (entity)|dropped items]], and [[Minecraft:firefly bush|firefly particles]] — use emissive texture maps and produce glowing effect. This effect is often contributed by their natural block [[Minecraft:lighting]] (like [[Minecraft:torch]]es and [[Minecraft:glowstone]]), which makes the glow appear more intense and realistic. When emissive textures are reflected, their reflections are also emissive.
Some entities and blocks — like [[Minecraft:drowned]], [[Minecraft:spider]]s, [[Minecraft:sculk]], certain [[Minecraft:Item (entity)|dropped items]], and [[Minecraft:Firefly Bush|firefly particles]] — use emissive texture maps and produce glowing effect. This effect is often contributed by their natural block [[Minecraft:lighting]] (like [[Minecraft:torch]]es and [[Minecraft:glowstone]]), which makes the glow appear more intense and realistic. When emissive textures are reflected, their reflections are also emissive from Cook-Torrance BRDF.
==== Subsurface scattering ====
==== 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. In contrast to specular highlights, it is created with direct diffuse using [[Minecraft:W:Lambertian reflectance|Lambertian BRDF]];<ref name="gdc" /> directional light is reflected in a diffuse area moving with the eye position. Subsurface scattering cannot be used in conjunction with metalness on the same pixel on an object; instead, only one effect will be applied.
The fourth map, {{W|subsurface scattering}}, simulates an effect of light shining through thin surfaces, like [[Minecraft:leaves]].<ref name="subsurface" /> This effect is applied to blocks exposed to directional lighting, and blends to roughly one block deep for the strongest effects. Diffuse from directional light (see below) penetrates through the surface and will also apply to the backside of affected objects, occluded with the shadow mapping.<ref name="gdc" /> Pixels affected by subsurface scattering can never be affected by metalness and vice versa, although they can still be smooth and create specular highlights.
=== Directional lighting and shadows ===
=== Directional lighting and shadows ===
[[File:Sunlight Vibrant Visuals.png|left|thumb|Pixelated shadows created by the sun on all objects]]
[[File:Sunlight Vibrant Visuals.png|left|thumb|Pixelated shadows created by the sun on all objects]]
The primary light sources in Vibrant Visuals are global directional lights, including the [[Minecraft:sun]] and the [[Minecraft:moon]] in the [[Minecraft:Overworld]], and [[Minecraft:End flash|End flashes]] in the [[Minecraft:End]].<ref name="lighting" /> Depending on the location of the light source in the sky, they illuminate all objects directly exposed to them using direct diffuse and subsurface scattering with Lambertian BRDF. The texture maps define how this affects objects, such as how the light is reflected and recolored. Light also shines through [[Minecraft:Glass pane|glass panes]] and other supported transparent blocks, where it has the same effects on objects behind it.
The primary light sources in Vibrant Visuals are global directional lights, including the [[Minecraft:sun]] and the [[Minecraft:moon]] in the [[Minecraft:Overworld]], and [[Minecraft:End flash]]es in the [[Minecraft:End]].<ref name="lighting" /> Depending on the location of the light source in the sky, they illuminate all objects directly exposed to them with their color, using direct diffuse with {{W|Lambertian BRDF}}.<ref name="gdc" />
Directional light sources cast shadows on all objects, including held items on the [[Minecraft:HUD]]. The object that creates the shadow and the location of the light source affects 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 [[Minecraft:Particles (Bedrock Edition)|particles]], and entities, including [[Minecraft:players]]. Animated objects, like animated player [[Minecraft:skins]] or the tentacles of a [[Minecraft:ghast]], create animated shadows as well. [[Minecraft:Dropped items]] always create pixelated round shadows. Shadows are rendered at a lower quality at higher distances, which can be configured in the settings.
The roughness texture map affects how direct diffuse colors the objects, and subsurface scattering allows it to slightly penetrate through the surface. Light also shines through [[Minecraft:glass pane]]s and other supported transparent blocks, where it has the same effects on objects behind it.
Directional light sources cast shadows on all objects, including held items on the [[Minecraft:HUD]]. The object that creates the shadow and the location of the light source affects the shape, size, and direction of the shadow. Unlike shadows in most [[Minecraft:Shader pack|shaders]], shadows are pixelated to match the resolution of other textures and align with the pixel grid. Shadows can be created by any [[Minecraft:block]] that can obstruct lighting, most [[Minecraft:particles]], and [[Minecraft:entities]], including [[Minecraft:player]]s. Animated objects, like animated player [[Minecraft:skin]]s or the tentacles of a [[Minecraft:ghast]], create animated shadows as well. [[Minecraft:Dropped items]] always create pixelated round shadows. Shadows are rendered at a lower quality at higher distances, which can be configured in the settings.
==== End flash ====
==== End flash ====
{{Main article|End sky#End flash}}
{{Main article|End sky#End flash}}
[[File:Vibrant Visuals End flash.gif|thumb|A flash in the End. Notice the shadows created by [[chorus plants]].]]The End flash is an effect in the [[Minecraft:End sky]] that is exclusive to Vibrant Visuals.{{until|Bedrock 26.20}} 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 [[Minecraft:sound]]. Flashes can be disabled in the [[Minecraft:Settings#Accessibility|accessibility settings]].
[[File:Vibrant Visuals End flash.gif|thumb|A flash in the End. Notice the shadows created by [[chorus plants]].]]
The End flash is an effect in the [[Minecraft:End sky]] that is exclusive to Vibrant Visuals.{{until|be 26.20}} Flashes of directional lighting 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 [[#Sounds|sound]]. Flashes can be disabled in the [[Minecraft:Settings#Accessibility|accessibility settings]].
{{experimental|be=Render Dragon Features for Creators|section=1|nocat=1}}
{{experimental|be=Render Dragon Features for Creators|section=1|nocat=1}}
[[File:Vibrant Visuals point lights comparison.png|thumb|Point lights on and off, showing how they tint volumetric fog and the surrounding area.]]
[[File:Vibrant Visuals point lights comparison.png|thumb|Point lights on and off, showing how they tint volumetric fog and the surrounding area.]]
If the "[[Minecraft: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 [[Minecraft:Torch|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 [[Minecraft:lighting]]. This light is colored, and blends additively.
If the "[[Minecraft: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 [[Minecraft:torch]]es 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 [[Minecraft:lighting]]. This light is colored, and blends additively.
The quality of point lighting and the shadows created by point lights can be adjusted in the settings, or turned off.
The quality of point lighting and the shadows created by point lights can be adjusted in the settings, or turned off.
Line 221:
Line 225:
==== Other light sources ====
==== Other light sources ====
[[File:Sky and directional light.png|left|thumb|Directional lighting is visible in caves until the sky light level hits 0. Ambient and block lighting are still visible past this point.]]
The final stage of illuminating the image is block, ambient, and sky lighting using indirect diffuse on the surface.
The final stage of illuminating the image is block, ambient, and sky lighting using indirect diffuse on the surface.
Vibrant Visuals redefines the classic lighting model to realistic approaches with physically accurate values, while keeping the base [[Minecraft:light]] appearance from ''Minecraft''. Block lighting simulates the classic octahedron shape with more dynamic illumination and coloring, which also allows static light coloration.
Vibrant Visuals redefines the classic lighting model to realistic approaches with physically accurate values, while keeping the base [[Minecraft:light]] appearance from ''Minecraft''. [[Minecraft:Block light|Block lighting]] simulates the classic {{W|octahedron}} shape with more dynamic illumination and coloring, which also allows static light coloration.{{note|In this octahedron shape with hypotenuse <math>a</math> in blocks, the luminance <math>A</math> in {{W|lumen}} is calculated with <math>A = 2\sqrt{3} a^2</math>, therefore the relation between lumen and ''Minecraft'' light units <math>x</math> is <math>lm = 90.190359x</math>.<ref name="gdc" />}}
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 [[Minecraft:Nether]], and 0.125 in the [[Minecraft:End]]), which affects objects based on the texture sets. This makes the Nether bright even without light sources, while Overworld caves are much darker.
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 [[Minecraft:Nether]], and 0.125 in the [[Minecraft:End]]), which illuminates any object. This makes the Nether bright even without light sources, while Overworld caves are much darker.
[[Minecraft:Sky]] exposure affects gameplay with the [[Minecraft:internal light level]]. To visualize this effect, Vibrant Visuals applies an additional global illumination to objects exposed to the sky, even in shadows without directional light, making them blend in more with bright areas.
Overworld [[Minecraft:sky]] exposure affects gameplay with the [[Minecraft:internal light level]]. To visualize this effect, Vibrant Visuals applies an additional global illumination to objects with higher sky light levels, even in shadows without directional light, making them blend in more with bright areas. In lower sky light levels, diffuse by directional lighting has a stronger contrast with the shadows. When the sky light level is 0, global directional lighting is disabled entirely.<ref>{{Bug|MCPE-217248|3=Vibrant Visuals: Sun cannot illuminate blocks with vanilla light level 0|4=WAI}}</ref>
[[Minecraft:Night Vision]] heavily increases ambient 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.
[[Minecraft:Night Vision]] heavily increases ambient 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 [[Minecraft:Blindness]] or [[Minecraft:Darkness]], global and sky lighting is deactivated and the scene appears as in a cave. Under fog effects other than Overworld atmospherics, Blindness and Darkness use the same colors as without the effect, instead of black.
When the player has [[Minecraft:Blindness]] or [[Minecraft:Darkness]], global directional lighting is deactivated and the scene appears as in a cave. Under fog effects other than Overworld atmospherics, Blindness and Darkness use the same colors as without the effect, instead of black.
=== Environmental effects ===
=== Environmental effects ===
Line 239:
Line 244:
The sky color of a biome in Vibrant Visuals is defined at the horizon and the zenith using enhanced [[Minecraft:Fog#Render distance fog|distance fog]], which also fades distant objects.<ref name="atmospherics" /> When these colors are different, the sky will blend these colors between the horizon and the zenith. For example, [[Minecraft:desert]]s and [[Minecraft:badlands]] have a light orange/green sky and fog color, snowy biomes have a light blue or white color, and pale gardens have a gray color. The color and intensity of sunlight and moonlight are affected by the biome as well, which affects directional specular highlights and the illumination of all objects hit by light sources.
The sky color of a biome in Vibrant Visuals is defined at the horizon and the zenith using enhanced [[Minecraft:Fog#Render distance fog|distance fog]], which also fades distant objects.<ref name="atmospherics" /> When these colors are different, the sky will blend these colors between the horizon and the zenith. For example, [[Minecraft:desert]]s and [[Minecraft:badlands]] have a light orange/green sky and fog color, snowy biomes have a light blue or white color, and pale gardens have a gray color. The color and intensity of sunlight and moonlight are affected by the biome as well, which affects directional specular highlights and the illumination of all objects hit by light sources.
The atmosphere is affected by [[Minecraft:W:Rayleigh scattering|rayleigh scattering]] which illuminates the sky colors.<ref name="atmospherics" /> There is also [[Minecraft:W:Mie scattering|mie scattering]] shaped around the sun near the horizon, creating an additional section of the sky tinted and illuminated by a mix of sunlight and atmosphere colors.
The atmosphere is affected by {{W|rayleigh scattering}} which illuminates the sky colors.<ref name="atmospherics" /> There is also {{W|mie scattering}} shaped around the sun near the horizon, creating an additional section of the sky tinted and illuminated by a mix of sunlight and atmosphere colors.
[[File:Vibrant Visuals volumetric fog comparison.png|thumb|Volumetric fog turned off (top) and set to Ultra (bottom) in a [[pale garden]]|width=314x314]]
[[File:Vibrant Visuals volumetric fog comparison.png|thumb|Volumetric fog turned off (top) and set to Ultra (bottom) in a [[pale garden]]|width=314x314]]
Vibrant Visuals enhances fog effects with dynamic [[Minecraft:volumetric fog]], creating a tinted haze around directional light sources.<ref name="fog" /> As directional lighting passes through volumetric fog, it gets scattered and absorbed, fading or even blocking the view. It appears in the air exposed to directional lighting; when the camera is inside the effects surround the camera, looking at the light source shows more illumination; when the camera is outside, the effects are visible as light rays falling between objects such as blocks and entities. Certain biomes, like swamps and pale gardens, have denser volumetric fog effects with unique strengths depending on the lighting.
Vibrant Visuals enhances fog effects with dynamic [[Minecraft:volumetric fog]], creating a tinted haze around directional light sources.<ref name="fog" /> As directional lighting passes through volumetric fog, it gets scattered and absorbed, fading or even blocking the view. It appears in the air exposed to directional lighting; when the camera is inside the effects surround the camera, looking at the light source shows more illumination; when the camera is outside, the effects are visible as light rays falling between objects such as blocks and entities. Certain biomes, like swamps and pale gardens, have denser volumetric fog effects with unique strengths depending on the lighting.
With the [https://glossary.ametsoc.org/wiki/Henyey-greenstein_phase_function Henyey-Greenstein G phase function], volumetric fog can create light shafts for scattering in the air. When the camera is inside volumetric fog, directional lighting scatters into variable light shafts in diffuse directions, which depends on the biome. Volumetric fog can be disabled in the settings, and the quality of light shafts and distance fading can be adjusted.
With the {{W|Henyey-Greenstein phase function}}, volumetric fog can create light shafts for scattering in the air. When the camera is inside volumetric fog, directional lighting scatters into variable light shafts in diffuse directions, which depends on the biome. Volumetric fog can be disabled in the settings, and the quality of light shafts and distance fading can be adjusted.
===== Daylight cycle =====
===== Daylight cycle =====
Line 314:
Line 319:
During [[Minecraft:weather]] events including [[Minecraft:rainfall]], [[Minecraft:snowfall]], and [[Minecraft:thunderstorm]]s, global directional light sources are hidden and the denser fog atmospherics and clouds change to the static colors from classic graphics modes. Color grading still applies, making rain and snow look unique for every biome. Bright mie scattering is still visible at the position of the sun and colored white. Without directional lighting, dynamic shadows and volumetric fog aren't visible.
During [[Minecraft:weather]] events including [[Minecraft:rainfall]], [[Minecraft:snowfall]], and [[Minecraft:thunderstorm]]s, global directional light sources are hidden and the denser fog atmospherics and clouds change to the static colors from classic graphics modes. Color grading still applies, making rain and snow look unique for every biome. Bright mie scattering is still visible at the position of the sun and colored white. Without directional lighting, dynamic shadows and volumetric fog aren't visible.
Unlike in other graphics modes, atmospherics and lighting do not change in dry biomes. During thunderstorms or when a [[Minecraft:wither]] is nearby, sky light is heavily reduced, and only directional lighting illuminates the environment. This results in more unique, yellow-brown colors of the sky, clouds, and lighting, even in dry biomes.
Unlike in other graphics modes, atmospherics and lighting do not change in dry biomes. During thunderstorms or when a [[Minecraft:wither]] is nearby, sky light is heavily reduced, making the contribution of directional light more visible. This results in more unique, yellow-brown colors of the sky, clouds, and lighting, and much darker shadows, even in dry biomes. This effect is barely noticable with rainfall in dry biomes, because reduces the sky light less than thunderstorms.
==== Water effects ====
==== Water effects ====
Line 321:
Line 326:
When the [[Minecraft:player]]'s eye level is inside water, underwater [[Minecraft:fog]] appears more dynamically tinted by directional lighting, brighter in vertical directions and darker in horizontal directions. Looking at a bright area when the camera is in the dark, the fog is illuminated where light falls down. Additionally, underwater volumetric fog effects colors this bright blue, creating light beams falling through the water. These light beams can be obstructed and scattered by objects and fog effects.
When the [[Minecraft:player]]'s eye level is inside water, underwater [[Minecraft:fog]] appears more dynamically tinted by directional lighting, brighter in vertical directions and darker in horizontal directions. Looking at a bright area when the camera is in the dark, the fog is illuminated where light falls down. Additionally, underwater volumetric fog effects colors this bright blue, 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.{{note|If the player's eye level is above water: past any water surface. If the eye level is inside water: anywhere ''except'' past a water surface.}} Water caustics are randomly animated, and certain parts appear brighter than others, depending on the light projecting the water caustics. The effect of [[Minecraft:W:Snell's window|Snell's window]] appears when looking at any water surface from underwater.
When directional lighting hits a surface underwater, water caustics are projected on that surface.{{note|If the player's eye level is above water: past any water surface. If the eye level is inside water: anywhere ''except'' past a water surface.}} Water caustics are randomly animated, and certain parts appear brighter than others, depending on the light projecting the water caustics. The effect of {{W|Snell's window}} appears when looking at any water surface from underwater.
Water effects do not apply to water in [[Minecraft:cauldron]]s, which is rendered like in Fancy graphics.
Water effects do not apply to water in [[Minecraft:cauldron]]s, which is rendered like in Fancy graphics.
File:Vibrant Visuals aquifer.png|A dark aquifer with directional light falling inside
File:Vibrant Visuals aquifer.png|A dark aquifer with directional light falling inside
File:Vibrant Visuals water caustics.png|Water caustics in a [[Minecraft:desert]]. Note the caustics projected on the dry sand behind the waterfall on the right.
File:Vibrant Visuals water caustics.png|Water caustics in a [[Minecraft:desert]]. Note the caustics projected on the dry sand behind the waterfall.
File:Vibrant Visuals underwater shadows.png|Coral structures and fish obstruct sunlight, the lack of water caustics simulates a shadow effect.
File:Vibrant Visuals underwater shadows.png|Coral structures and fish obstruct sunlight, the lack of water caustics simulates a shadow effect.
File:VV Snells window.png|A close look of Snell's window. Inside, the water surface is fully transparent although fog still renders behind. Outside, the water surface is fully reflective.
File:VV Snells window.png|A close look of Snell's window. Inside, the water surface is fully transparent although fog still renders behind. Outside, the water surface is fully reflective.
Line 334:
Line 339:
=== Post processing effects ===
=== 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:
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:
* '''[[Minecraft:W:Bloom (shader effect)|Light bloom]]''' which appears on high-luminance areas, notably emissive textures and reflections, directional light sources, direct specular highlights, and mie scattering. 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 [[Minecraft:Settings#Vibrant Visuals Options|video settings]].
* '''{{W|Bloom (shader effect)|Light bloom}}''' which appears on high-luminance areas, notably emissive textures and reflections, directional light sources, direct specular highlights, and mie scattering. 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 [[Minecraft:Settings#Vibrant Visuals Options|video settings]].
* When the camera is looking at a high luminance, either directional lighting, emissive textures, or bright diffuse,<ref>{{bug|MCPE-221779||Vibrant Visuals: Auto Exposure reacts to the color of blocks, not just the light level|WAI}}</ref> the whole view gets darkened by [[Minecraft:W:Exposure (photography)|'''auto-exposure''']].
* When the camera is looking at a high luminance, either directional lighting, emissive textures, or bright diffuse,<ref>{{bug|MCPE-221779||Vibrant Visuals: Auto Exposure reacts to the color of blocks, not just the light level|WAI}}</ref> the whole view gets darkened by {{W|Exposure (photography)|'''auto-exposure'''}}.
** Auto-exposure gradually fades in or out when the luminance changes to as a simulation of [[Minecraft:W:Adaptation (eye)|eye adaptation]].
** Auto-exposure gradually fades in or out when the luminance changes to as a simulation of {{W|Adaptation (eye)|eye adaptation}}.
* '''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'' ([[Minecraft:W:Temporal anti-aliasing|Temporal Anti-Aliasing]] Upsampling) and ''[[Minecraft:W:Bilinear interpolation|Bilinear]]'' mode, and the final resolution quality. In general, 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.
* '''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'' ({{W|Temporal anti-aliasing|Temporal Anti-Aliasing}} Upsampling) and ''{{W|Bilinear interpolation|Bilinear}}'' mode, and the final resolution quality. In general, 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.
* '''[[Minecraft:W:Color grading|Color grading]]''' which controls the saturation, contrast, gain, and gamma of the final image.<ref name="color-grading-tone-mapping">{{cite|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/colorgradingtonemappingcustomization?view=minecraft-bedrock-stable|title=Color Grading and Tone Mapping|website=Microsoft Learn}}</ref>
* '''{{W|Color grading}}''' which controls the saturation, contrast, gain, and gamma of the final image.<ref name="color-grading-tone-mapping">{{cite|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/colorgradingtonemappingcustomization?view=minecraft-bedrock-stable|title=Color Grading and Tone Mapping|website=Microsoft Learn}}</ref>
** 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 [[Minecraft:/Configurations#Color grading|effects]] are applied based on the [[Minecraft:biome]], some biomes also have different contrast or saturation.
** 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 [[Minecraft:/Configurations#Color grading|effects]] are applied based on the [[Minecraft:biome]], some biomes also have different contrast or saturation.
* '''[[Minecraft:W:Tone mapping|Tone mapping]]''' is also used to remap the colors from [[Minecraft:w:High dynamic range|HDR]] to [[Minecraft:w:Standard-dynamic-range video|SDR]], as ''Minecraft'' is not supported in HDR.<ref name="color-grading-tone-mapping"/> Mojang Studios developed a generic filmic tone mapping curve, which preserves tint in higher luminance regions, making the scene appear brighter and more vibrantly colored.
* '''{{W|Tone mapping}}''' is also used to remap the colors from the initial {{W|High dynamic range|HDR}} to {{W|Standard-dynamic-range video|SDR}}, as ''Minecraft'' is not supported in HDR.<ref name="color-grading-tone-mapping"/> Mojang Studios developed a generic filmic tone mapping curve, which preserves tint in higher luminance regions, making the scene appear brighter and more vibrantly colored.
<gallery widths="200" heights="150">
<gallery widths="200" heights="150">
Line 361:
Line 366:
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 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 [[Minecraft:Settings#Video|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 [[Minecraft:entities]] and [[Minecraft:Particles (Bedrock Edition)|particles]] are still visible.
The [[Minecraft:Settings#Video|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 [[Minecraft:entities]] and [[Minecraft: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 [[Minecraft:panorama]].
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 [[Minecraft:panorama]].
Line 419:
Line 424:
|}
|}
Vibrant Visuals is currently not supported on {{w|ChromeOS}} devices, {{w|Amazon Fire|Fire}} tablets, or {{w|Nintendo Switch}} consoles. [[Minecraft:Mojang Studios]] intends to bring Vibrant Visuals, either fully or partially, to as many devices as possible.<ref name="article">{{mcnet|minecraft-vibrant-visuals|Vibrant Visuals|March 22, 2025}}</ref> Though not strictly official, Vibrant Visuals may also be supported on {{w|Linux}} systems by playing ''Bedrock Edition'' through a custom [[Minecraft:w:Wine (software)|Wine]] compatibility layer (see [[Minecraft:Tutorial:Playing Minecraft on Linux|related tutorial]]).
Vibrant Visuals is currently not supported on {{w|ChromeOS}} devices, {{w|Amazon Fire|Fire}} tablets, or {{w|Nintendo Switch}} consoles. [[Minecraft:Mojang Studios]] intends to bring Vibrant Visuals, either fully or partially, to as many devices as possible.<ref name="article">{{mcnet|minecraft-vibrant-visuals|Vibrant Visuals|March 22, 2025}}</ref> Though not strictly official, Vibrant Visuals may also be supported on {{w|Linux}} systems by playing ''Bedrock Edition'' through a custom {{W|Wine (software)|Wine}} compatibility layer (see [[Minecraft:Tutorial:Playing Minecraft on Linux|related tutorial]]).
Some [[Minecraft:server]]s may disable Vibrant Visuals during the game using <code>disable-client-vibrant-visuals</code> in [[Minecraft:server.properties]], even when available on singleplayer. All [[Minecraft:featured server]]s besides ''[[Minecraft:Mob Maze]]'' and ''[[Minecraft:The Hive]]''<ref group="note">Requires to enable an additional toggle in {{UI|<code>/settings</code>|Experimental}} and rejoin the server.</ref> have disabled Vibrant Visuals, although this restriction can be circumvented by using third-party modification software.<ref>{{Citation|url=https://github.com/QYCottage/BetterRenderDragon|title=BetterRenderDragon|website=GitHub}}</ref> ''Minecraft'' [[Minecraft:Realms]] has Vibrant Visuals enabled.
Some [[Minecraft:server]]s may disable Vibrant Visuals during the game using <code>disable-client-vibrant-visuals</code> in [[Minecraft:server.properties]], even when available on singleplayer. All [[Minecraft:featured server]]s besides ''[[Minecraft:Mob Maze]]'' and ''[[Minecraft:The Hive]]''<ref group="note">Requires to enable an additional toggle in {{UI|<code>/settings</code>|Experimental}} and rejoin the server.</ref> have disabled Vibrant Visuals, although this restriction can be circumvented by using third-party modification software.<ref>{{Citation|url=https://github.com/QYCottage/BetterRenderDragon|title=BetterRenderDragon|website=GitHub}}</ref> ''Minecraft'' [[Minecraft:Realms]] has Vibrant Visuals enabled.
Line 436:
Line 441:
Vibrant Visuals can be customized with a [[Minecraft:resource pack]]. A pack with <code>pbr</code> capability in its <code>[[Minecraft:manifest.json]]</code> can define PBR for each individual texture with a texture set.<ref name="resources">{{Cite|title=Vibrant Visuals Resource Packs|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/vvresourcepacks?view=minecraft-bedrock-stable}}</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 can be customized with a [[Minecraft:resource pack]]. A pack with <code>pbr</code> capability in its <code>[[Minecraft:manifest.json]]</code> can define PBR for each individual texture with a texture set.<ref name="resources">{{Cite|title=Vibrant Visuals Resource Packs|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/vvresourcepacks?view=minecraft-bedrock-stable}}</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 [[Minecraft:Ray Tracing|ray tracing]] (with <code>raytraced</code> 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.
Vibrant Visuals is also compatible with resource packs that are designed for [[Minecraft:ray tracing]] (with <code>raytraced</code> capability). All ray tracing resource packs only support MER (metalness, emissive, and roughness) for its textures, and these can 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">{{Cite|title=Biome Customization|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/biomecustomization?view=minecraft-bedrock-stable}}</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 [[Minecraft:Resource pack#Biomes|client biome JSON]] file in {{File|directory|biomes|inline=1}}, in the <code>minecraft:''setting''_identifier</code> 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.
Global lighting, atmospherics, color grading, cubemaps, and water effects can be customized for each [[Minecraft:biome]].<ref name="biome">{{Cite|title=Biome Customization|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/biomecustomization?view=minecraft-bedrock-stable}}</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 [[Minecraft:Resource pack#Biomes|client biome JSON]] file in {{File|directory|biomes|inline=1}}, in the <code>minecraft:''setting''_identifier</code> 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.
Line 445:
Line 450:
=== Texture sets<!-- This will be moved to its own page at [[Minecraft:Texture set]], after the ray tracing page has been finished -->===
=== Texture sets<!-- This will be moved to its own page at [[Minecraft:Texture set]], after the ray tracing page has been finished -->===
[[File:Vibrant Visuals subsurface scattering comparison.png|thumb|A comparison of leaves with (bottom) and without (top) subsurface scattering]]
[[File:Vibrant Visuals subsurface scattering comparison.png|thumb|A comparison of leaves with maximum (bottom) and without (top) subsurface scattering]]
Textures from [[Minecraft:blocks]], [[Minecraft:entities]], [[Minecraft:items]] (held, displayed, and dropped), and [[Minecraft:Particles (Bedrock Edition)|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 [[Minecraft:Textures|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).
Textures from [[Minecraft:blocks]], [[Minecraft:entities]], [[Minecraft:items]] (held, displayed, and dropped), and [[Minecraft: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 [[Minecraft: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 four-channel image 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.
* '''Metalness''' is a texture map on the red channel that affect how metallic pixels look, which makes them more reflective. Pixels can use metalness values between black (non-metallic) and red (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 {{File|directory|lighting|inline=1}}.
* The green channel '''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 {{File|directory|lighting|inline=1}}.
* '''Subsurface scattering''' is an effect created by light shining on translucent surfaces.<ref name="subsurface">{{Cite|title=Subsurface Scattering|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/subsurfacescatteringcustomization?view=minecraft-bedrock-stable}}</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).
* '''Subsurface scattering''' is an effect created by light shining on translucent surfaces.<ref name="subsurface">{{Cite|title=Subsurface Scattering|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/subsurfacescatteringcustomization?view=minecraft-bedrock-stable}}</ref> It is a map based on the alpha channel where opaque 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.
* '''Roughness''' is a blue channel 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 blue pixels only allow (distorted) light reflection.
* The [[Minecraft:W:Normal mapping|'''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.
* The {{W|Normal mapping|'''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.
* '''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.
[[File:Heightmap texture example.png|thumb|An example of a texture pack utilizing heightmaps]]
[[File:Heightmap texture example.png|thumb|An example of a texture pack utilizing heightmaps]]
Texture maps can be quickly created using [[Minecraft:Blockbench]],<ref>{{Cite|title=Use Blockbench to Create Vibrant Visuals Models|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/useblockbenchtocreatemodelswithtextures?view=minecraft-bedrock-stable}}</ref> which may require plugins to customize textures. The MERS textures need to be placed, preferably named <code>''[[Minecraft:Resource location|block/particle/entity/item ID]]''_mers</code> (or <code>_mer</code> if only using MER maps for compatibility with [[Minecraft:ray tracing]]), in {{File|directory|[[Minecraft:Resource pack|textures]]|inline=1}}, in the sub-directory containing textures for the object type. Texture maps can be stored in <code>.tga</code>, <code>.png</code>, <code>.jpg</code>, and <code>.jpeg</code> 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" />
Texture maps can be quickly created using [[Minecraft:Blockbench]],<ref>{{Cite|title=Use Blockbench to Create Vibrant Visuals Models|website=Microsoft Learn|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/useblockbenchtocreatemodelswithtextures?view=minecraft-bedrock-stable}}</ref> which may require plugins to customize textures. The PBR textures need to be placed, named like <code>''[[Minecraft:Resource location|block/particle/entity/item ID]]''_mers</code> / <code>_mer</code> / <code>_height</code> / <code>_normal</code>, in {{File|directory|[[Minecraft:Resource pack|textures]]|inline=1}}, in the sub-directory containing textures for the object type. Texture maps can be stored in <code>.tga</code>, <code>.png</code>, <code>.jpg</code>, and <code>.jpeg</code> 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. <u>All</u> texture maps specified in the texture set are required in the same resource pack.<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.
Instead of creating texture maps, the JSON file can also be used to apply uniform MERS or RGBA values to the whole texture.
**** {{nbt|string|identifier}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The identifier for these settings, <code>"minecraft:default_lighting"</code> will be applied to all biomes, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
**** {{nbt|string|identifier}}:{{Fn|name=Editor}} The identifier for these settings, <code>"minecraft:default_lighting"</code> will be applied to all biomes, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
*** {{nbt|compound|directional_lights}}
*** {{nbt|compound|directional_lights}}
**** {{nbt|compound|orbital}}
**** {{nbt|compound|orbital}}
***** {{nbt|compound|sun}}
***** {{nbt|compound|sun}}
****** {{nbt|compound}}{{nbt|float|illuminance}}: The brightness of the [[Minecraft:sun]] in lux. When 0, the sun disappears.
****** {{nbt|compound}}{{nbt|float|illuminance}}: The brightness of the [[Minecraft:sun]] in {{W|lux}}. When 0, the sun disappears.
****** {{nbt|compound}}{{nbt|int array}}{{nbt|string|color}}: The color that the sun contributes to direct surface lighting; supports RGB array or HEX string.
****** {{nbt|compound}}{{nbt|int array}}{{nbt|string|color}}: The color that the sun contributes to direct surface lighting; supports RGB array or HEX string.
***** {{nbt|compound|moon}}
***** {{nbt|compound|moon}}
Line 517:
Line 523:
*****{{nbt|compound}}{{nbt|float|orbital_offset_degrees}}: The rotational offset of the sun and moon from their standard orbital axis; measured in degrees.
*****{{nbt|compound}}{{nbt|float|orbital_offset_degrees}}: The rotational offset of the sun and moon from their standard orbital axis; measured in degrees.
**** {{nbt|compound|flash}}
**** {{nbt|compound|flash}}
***** {{nbt|compound}}{{nbt|float|illuminance}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The brightness of the [[Minecraft:End flash]] in lux. When 0, no flashes are visible.
***** {{nbt|compound}}{{nbt|float|illuminance}}:{{Fn|name=Editor}} The brightness of the [[Minecraft:End flash]] in lux. When 0, no flashes are visible.
***** {{nbt|compound}}{{nbt|int array}}{{nbt|string|color}}: The color that the End flash contributes to surface lighting; supports RGB array or HEX string.
***** {{nbt|compound}}{{nbt|int array}}{{nbt|string|color}}: The color that the End flash contributes to surface lighting; supports RGB array or HEX string.
*** {{nbt|compound|emissive}}
*** {{nbt|compound|emissive}}
Line 545:
Line 551:
[[File:Ore UI - Project Vibrant Visuals Settings Menu - Key Frame Graphs (Bedrock Editor).png|thumb|Some key framed settings in ''Bedrock Editor'' in different graphs]]
[[File:Ore UI - Project Vibrant Visuals Settings Menu - Key Frame Graphs (Bedrock Editor).png|thumb|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.
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.
** {{nbt|string|format_version}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.40"</code>.
** {{nbt|string|format_version}}:{{Fn|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.40"</code>.
** {{nbt|compound|minecraft:atmosphere_settings}}
** {{nbt|compound|minecraft:atmosphere_settings}}
*** {{nbt|compound|description}}
*** {{nbt|compound|description}}
**** {{nbt|string|identifier}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The identifier for these settings, <code>"minecraft:default_atmospherics"</code> will be applied to all biomes, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
**** {{nbt|string|identifier}}:{{Fn|name=Editor}} The identifier for these settings, <code>"minecraft:default_atmospherics"</code> will be applied to all biomes, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
***{{nbt|compound}}{{nbt|float|rayleigh_strength}}: How strong the atmosphere's [[Minecraft:W:Rayleigh scattering|rayleigh scattering]] term is, which affects how particles larger or smaller than the light ray's wavelength scatter the light. Functionally, this illuminates the base atmosphere with the zenith and horizon colors. Rayleigh scattering does not affect mie scattering or volumetric fog.
***{{nbt|compound}}{{nbt|float|rayleigh_strength}}: How strong the atmosphere's {{W|rayleigh scattering}} term is, which affects how particles larger or smaller than the light ray's wavelength scatter the light. Functionally, this illuminates the base atmosphere with the zenith and horizon colors. Rayleigh scattering does not affect mie scattering or volumetric fog.
*** {{nbt|compound}}{{nbt|float|sun_mie_strength}}: How strong the [[Minecraft:W:Mie scattering|mie scattering]] term from the [[Minecraft:sun]] and [[Minecraft:End flash]] is, which affects how particles from the same size as the light ray's wavelength scatter the light. Functionally, this illuminates the atmosphere with the light color and brightness from the sun blended with the atmosphere, shaped in a sphere around the horizon, cut off at 90° from the sun.
*** {{nbt|compound}}{{nbt|float|sun_mie_strength}}: How strong the {{W|mie scattering}} term from the [[Minecraft:sun]] and [[Minecraft:End flash]] is, which affects how particles from the same size as the light ray's wavelength scatter the light. Functionally, this illuminates the atmosphere with the light color and brightness from the sun blended with the atmosphere, shaped in a sphere around the horizon, cut off at 90° from the sun.
*** {{nbt|compound}}{{nbt|float|moon_mie_strength}}: How strong the [[Minecraft:moon]]'s mie scattering term is.
*** {{nbt|compound}}{{nbt|float|moon_mie_strength}}: How strong the [[Minecraft:moon]]'s mie scattering term is.
*** {{nbt|compound}}{{nbt|float|sun_glare_shape}}: How the lobe of the mie scattering is shaped. A value of 0 sets mie scattering in a sphere similar to (but independent from) the horizon, higher values decrease the effect while shaping it more around the sun.
*** {{nbt|compound}}{{nbt|float|sun_glare_shape}}: How the lobe of the mie scattering is shaped. A value of 0 sets mie scattering in a sphere similar to (but independent from) the horizon, higher values decrease the effect while shaping it more around the sun.
** {{nbt|string|format_version}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.90"</code> for all current features.
** {{nbt|string|format_version}}:{{Fn|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.90"</code> for all current features.
**** {{nbt|string|identifier}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The identifier for these settings, <code>"minecraft:default_color_grading"</code> will be applied to all biomes, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
**** {{nbt|string|identifier}}:{{Fn|name=Editor}} The identifier for these settings, <code>"minecraft:default_color_grading"</code> will be applied to all biomes, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
*** {{nbt|compound|color_grading}}
*** {{nbt|compound|color_grading}}
**** {{nbt|compound|midtones}}: Color grading parameters of all pixels that are not considered highlights or shadows, if they are enabled.
**** {{nbt|compound|midtones}}: Color grading parameters of all pixels that are not considered highlights or shadows, if they are enabled.
Line 641:
Line 646:
Cubemaps are six 2D textures always rendered around the player which are affected by directional, ambient, and sky lighting, and scattering.<ref name="cubemap">{{Cite|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/cubemapcustomization?view=minecraft-bedrock-stable|title=Cubemaps|website=Microsoft Learn}}</ref> They can be customized in {{File|directory|cubemaps|inline=1}} for each biome or set of biomes. Custom cubemaps only affect the [[Minecraft:Overworld]], the cubemap used in the [[Minecraft:End sky]] is unaffected.
Cubemaps are six 2D textures always rendered around the player which are affected by directional, ambient, and sky lighting, and scattering.<ref name="cubemap">{{Cite|url=https://learn.microsoft.com/en-us/minecraft/creator/documents/vibrantvisuals/cubemapcustomization?view=minecraft-bedrock-stable|title=Cubemaps|website=Microsoft Learn}}</ref> They can be customized in {{File|directory|cubemaps|inline=1}} for each biome or set of biomes. Custom cubemaps only affect the [[Minecraft:Overworld]], the cubemap used in the [[Minecraft: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 [[Minecraft:clouds]]), or in space (such as [[Minecraft: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.
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 [[Minecraft:cloud]]s), or in space (such as [[Minecraft: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.
** {{nbt|string|format_version}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.130"</code> for all current features.
** {{nbt|string|format_version}}:{{Fn|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.130"</code> for all current features.
** {{nbt|compound|minecraft:cubemap_settings}}
** {{nbt|compound|minecraft:cubemap_settings}}
*** {{nbt|compound|description}}
*** {{nbt|compound|description}}
**** {{nbt|string|identifier}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The identifier for these settings, specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
**** {{nbt|string|identifier}}:{{Fn|name=Editor}} The identifier for these settings, specified in the {{File|file|''biome''.client_biome.json|inline=1}} files. Must include a namespace.
*** {{nbt|compound|lighting}}
*** {{nbt|compound|lighting}}
**** {{nbt|compound}}{{nbt|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.
**** {{nbt|compound}}{{nbt|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.
** {{nbt|string|format_version}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.80"</code> for all current features.
** {{nbt|string|format_version}}:{{Fn|name=Editor}} The 3-part schema version used in the file, requires <code>"1.21.80"</code> for all current features.
** {{nbt|compound|minecraft:shadow_settings}}
** {{nbt|compound|minecraft:shadow_settings}}
*** {{nbt|string|shadow_style}}: The type of shadows to use, either <code>"blocky_shadows"</code> (default) or <code>"soft_shadows"</code>.
*** {{nbt|string|shadow_style}}: The type of shadows to use, either <code>"blocky_shadows"</code> (default) or <code>"soft_shadows"</code>.
** {{nbt|string|format_version}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The 3-part schema version used in the file, requires <code>"1.26.0"</code> for all current features.
** {{nbt|string|format_version}}:{{Fn|name=Editor}} The 3-part schema version used in the file, requires <code>"1.26.0"</code> for all current features.
** {{nbt|compound|minecraft:water_settings}}
** {{nbt|compound|minecraft:water_settings}}
*** {{nbt|compound|description}}
*** {{nbt|compound|description}}
**** {{nbt|string|identifier}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} The identifier for these settings, <code>"minecraft:default_water"</code> applies to all biomes by default, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} file. Must include a namespace.
**** {{nbt|string|identifier}}:{{Fn|name=Editor}} The identifier for these settings, <code>"minecraft:default_water"</code> applies to all biomes by default, other identifiers can be specified in the {{File|file|''biome''.client_biome.json|inline=1}} file. Must include a namespace.
*** {{nbt|compound|particle_concentrations}}
*** {{nbt|compound|particle_concentrations}}
**** {{nbt|float|cdom}}: Concentration of chromophoric dissolved organic matter which produce yellow/yellow-brown colors. Can be set between 0.0 (default) and 15.0.
**** {{nbt|float|cdom}}: Concentration of chromophoric dissolved organic matter which produce yellow/yellow-brown colors. Can be set between 0.0 (default) and 15.0.
Line 714:
Line 719:
**** {{nbt|int|power}}: Controls how bright the caustics effect appears. Can be set between 1 (default) and 6.
**** {{nbt|int|power}}: Controls how bright the caustics effect appears. Can be set between 1 (default) and 6.
**** {{nbt|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.
**** {{nbt|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.
**** {{nbt|string|texture}}:{{Fn|Not customizable in ''[[Minecraft:Bedrock Editor]]''|name=Editor}} Resource location of a custom caustics texture, which defaults to the internal <code>[[Minecraft::File:Caustics.png|caustics.png]]</code>.
**** {{nbt|string|texture}}:{{Fn|name=Editor}} Resource location of a custom caustics texture, which defaults to the internal <code>[[Minecraft::File:Caustics.png|caustics.png]]</code>.
***{{nbt|float|biome_water_color_contribution}}: Controls the contribution of the water surface color applied by the [[Minecraft:biome]]. Can be set between 0.0 (default) and 1.0.
***{{nbt|float|biome_water_color_contribution}}: Controls the contribution of the water surface color applied by the [[Minecraft:biome]]. Can be set between 0.0 (default) and 1.0.
</div>
</div>
Line 777:
Line 782:
|{{HistoryLine|||dev=Preview 1.20.80.20|Added a dedicated quality slider for Point Light Shadows in the Deferred Video Settings menu.|Added subsurface scattering as a new feature to the lighting model, currently only affecting [[Minecraft:leaves]].|Increased the contrast and saturation of the world.}}
|{{HistoryLine|||dev=Preview 1.20.80.20|Added a dedicated quality slider for Point Light Shadows in the Deferred Video Settings menu.|Added subsurface scattering as a new feature to the lighting model, currently only affecting [[Minecraft:leaves]].|Increased the contrast and saturation of the world.}}
|{{HistoryLine|||dev=Preview 1.20.80.22|Added sky reflections for blocks, which will reflect the sky depending on roughness and other surface properties.}}
|{{HistoryLine|||dev=Preview 1.20.80.22|Added sky reflections for blocks, which will reflect the sky depending on roughness and other surface properties.}}
|{{HistoryLine|||dev=Preview 1.21.0.20|Extended texture set support to [[Minecraft:Particles (Bedrock Edition)|particles]].}}
|{{HistoryLine|||dev=Preview 1.21.0.20|Extended texture set support to [[Minecraft:particles]].}}
|{{HistoryLine|||dev=Preview 1.21.0.22|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 [[Minecraft:missing texture]].|Added light pre-exposure, which allows to specify sun or atmospheric intensities with values larger than 65,000.}}
|{{HistoryLine|||dev=Preview 1.21.0.22|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 [[Minecraft:missing texture]].|Added light pre-exposure, which allows to specify sun or atmospheric intensities with values larger than 65,000.}}
|{{HistoryLine|||dev=Preview 1.21.10.20|Volumetric fog density settings are now supported for [[Minecraft:weather]] when a format version of <code>1.21.0</code> or higher is specified.}}
|{{HistoryLine|||dev=Preview 1.21.10.20|Volumetric fog density settings are now supported for [[Minecraft:weather]] when a format version of <code>1.21.0</code> or higher is specified.}}
Line 786:
Line 791:
|{{HistoryLine|||dev=Preview 1.21.20.24|Removed support for iOS or iPadOS devices older than the iPhone 8, iPad (8th generation), or iPad mini (5th generation).}}
|{{HistoryLine|||dev=Preview 1.21.20.24|Removed support for iOS or iPadOS devices older than the iPhone 8, iPad (8th generation), or iPad mini (5th generation).}}
|{{HistoryLine|||dev=Preview 1.21.30.21|Added the ability to data-drive subsurface scattering via texture sets.|Changed the color grading JSON schema to now require explicit enabling of highlight and shadow specific color grading settings.|Added the ability to data-drive emissive desaturation.|Added support for enchanted items in texture sets.|Reduced the smudging or "ghosting" artifacts that would occur when swinging the item in the player’s hand with Upscaling enabled.}}
|{{HistoryLine|||dev=Preview 1.21.30.21|Added the ability to data-drive subsurface scattering via texture sets.|Changed the color grading JSON schema to now require explicit enabling of highlight and shadow specific color grading settings.|Added the ability to data-drive emissive desaturation.|Added support for enchanted items in texture sets.|Reduced the smudging or "ghosting" artifacts that would occur when swinging the item in the player’s hand with Upscaling enabled.}}
|{{HistoryLine|||dev={{abbr|Editor 0.6.10|Released with Preview 1.21.20.31}}|slink=Bedrock Editor 0.6.10|Added highlight and shadow color grading controls to the ''Editor''{{'}}s Deferred Graphics Settings.}}
|{{HistoryLine|||dev={{abbr|Editor 0.6.10|Released with Preview 1.21.30.21}}|slink=Bedrock Editor 0.6.10|Added highlight and shadow color grading controls to the ''Editor''{{'}}s Deferred Graphics Settings.}}
|{{HistoryLine|||dev=Preview 1.21.30.22|Added the ability to data-drive water parameters.|Added a new realistic waves feature, which must be opted into via a resource pack and will not be enabled by default.}}
|{{HistoryLine|||dev=Preview 1.21.30.22|Added the ability to data-drive water parameters.|Added a new realistic waves feature, which must be opted into via a resource pack and will not be enabled by default.}}
|{{HistoryLine|||dev={{abbr|Editor 0.6.11|Released with Preview 1.21.20.32}}|slink=Bedrock Editor 0.6.11|Added the water settings to the Deferred Lighting Settings.}}
|{{HistoryLine|||dev={{abbr|Editor 0.6.11|Released with Preview 1.21.30.22}}|slink=Bedrock Editor 0.6.11|Added the water settings to the Deferred Lighting Settings.}}
|{{HistoryLine|||dev=Preview 1.21.40.20|Removed the dark aura around the [[Minecraft:moon]].}}
|{{HistoryLine|||dev=Preview 1.21.40.20|Removed the dark aura around the [[Minecraft:moon]].}}
|{{HistoryLine|||dev=Preview 1.21.40.21|Added a slider in the Deferred Graphics Settings for controlling the upscaling resolution factor.|Improved lighting for [[Minecraft:map]]s when held in hand and when placed in item frames.}}
|{{HistoryLine|||dev=Preview 1.21.40.21|Added a slider in the Deferred Graphics Settings for controlling the upscaling resolution factor.|Improved lighting for [[Minecraft:map]]s when held in hand and when placed in item frames.}}
Line 802:
Line 807:
|{{HistoryLine|||dev=Preview 1.21.80.21|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.}}
|{{HistoryLine|||dev=Preview 1.21.80.21|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.}}
|{{HistoryLine|||dev=Preview 1.21.80.22|Disabled [[Minecraft: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.}}
|{{HistoryLine|||dev=Preview 1.21.80.22|Disabled [[Minecraft: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.}}
|{{HistoryLine|||dev=Preview 1.21.80.25|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.}}
|{{HistoryLine|||dev=Preview 1.21.80.25|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.}}
|{{HistoryLine|||dev=Preview 1.21.120.20|Deprecated <code>point_lights/global.json</code> in favor of a new file and schema, <code>local_lighting/local_lighting.json</code>.|Extended per-block local lighting information to include a <code>light_type</code> which can be either <code>static_light</code> (unused) or <code>point_light</code>.|The <code>light_color</code> property is now optional. If unprovided, the block will use a fallback light color instead.|Added vanilla light colors for most light-emitting blocks that are not point lights, defined as static lights in the file but not customizable yet. Colored lighting is not available on Android/PlayStation while issues are sorted out.}}
|{{HistoryLine|||dev=Preview 1.21.120.20|Deprecated <code>point_lights/global.json</code> in favor of a new file and schema, <code>local_lighting/local_lighting.json</code>.|Extended per-block local lighting information to include a <code>light_type</code> which can be either <code>static_light</code> (unused) or <code>point_light</code>.|The <code>light_color</code> property is now optional. If unprovided, the block will use a fallback light color instead.|Added vanilla light colors for most light-emitting blocks that are not point lights, defined as static lights in the file but not customizable yet. Colored lighting is not available on Android/PlayStation while issues are sorted out.}}
|{{HistoryLine|||dev=Preview 1.21.120.21|Updated point light tracking to be able to link to custom blocks.}}
|{{HistoryLine|||dev=Preview 1.21.120.21|Updated point light tracking to be able to link to custom blocks.}}
Line 812:
Line 817:
|{{HistoryLine|||dev=Preview 26.20.22|Migrated colored block light storage to the GPU.|Colored block lights now influence volumetric fog.}}
|{{HistoryLine|||dev=Preview 26.20.22|Migrated colored block light storage to the GPU.|Colored block lights now influence volumetric fog.}}
|{{HistoryLine|||dev=Preview 26.20.26|Added static light shading to weather.}}
|{{HistoryLine|||dev=Preview 26.20.26|Added static light shading to weather.}}
File:Bedrock 1.20.60.21 PatchNotes.jpg|The first image of volumetric fog and light shafts
File:Bedrock 1.20.60.21 PatchNotes.jpg|The first image of volumetric fog and light shafts
File:Bedrock 1.21.20.22 PatchNotes.jpeg|The first image of water effects
File:Bedrock 1.21.20.22 PatchNotes.jpeg|The first image of water effects
Line 883:
Line 889:
|{{HistoryLine|||dev={{abbr|Editor 1.2.5|Released with Preview 26.10.20}}|slink=Bedrock Editor 1.2.5|Improved performance of ''Editor'' in Vibrant Visuals mode by preventing an extra deferred rendering call.}}
|{{HistoryLine|||dev={{abbr|Editor 1.2.5|Released with Preview 26.10.20}}|slink=Bedrock Editor 1.2.5|Improved performance of ''Editor'' in Vibrant Visuals mode by preventing an extra deferred rendering call.}}
|{{HistoryLine|||dev=Preview 26.10.23|Added static local lighting support for more entities and items, including pistons, moving blocks, signs, beds and chests.}}
|{{HistoryLine|||dev=Preview 26.10.23|Added static local lighting support for more entities and items, including pistons, moving blocks, signs, beds and chests.}}
|{{HistoryLine|||dev=Preview 26.10.25|Added static/colorized light shading to [[Minecraft:Particles (Bedrock Edition)|particles]].}}
|{{HistoryLine|||dev=Preview 26.10.25|Added static/colorized light shading to [[Minecraft:particles]].}}
|{{HistoryLine|bedrock upcoming}}
|{{HistoryLine|bedrock upcoming}}
|{{HistoryLine||26.20|dev=Preview 26.20.20|Water settings and the description object for biome identifiers are now required in the <code>1.26.20</code> water JSON schema.}}
|{{HistoryLine||26.20|dev=Preview 26.20.20|Water settings and the description object for biome identifiers are now required in the <code>1.26.20</code> water JSON schema.}}
Line 902:
Line 908:
== Trivia ==
== Trivia ==
[[File:Vibrant Visuals older versions.png|thumb|Vibrant Visuals in an old world, with soft shadows, lacking water reflections, and no MERS textures]]
[[File:Vibrant Visuals older versions.png|thumb|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 [[Minecraft:World template|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:
* Vibrant Visuals can be enabled in worlds locked in any older version using [[Minecraft:world template]]s 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.
** 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.
** 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.
Line 915:
Line 921:
* According to developers, the deferred rendering mode was build on parts from the [[Minecraft:RTX]] pipeline and the rendering pipeline from {{MCL}} since 2020.<ref>{{Cite|url=https://wiki.bedrock.dev/meta/deferred-qna|title=Deferred Technical Preview Q&A 2024/02/23|website=Bedrock Wiki|quote=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.}}</ref>
* According to developers, the deferred rendering mode was build on parts from the [[Minecraft:RTX]] pipeline and the rendering pipeline from {{MCL}} since 2020.<ref>{{Cite|url=https://wiki.bedrock.dev/meta/deferred-qna|title=Deferred Technical Preview Q&A 2024/02/23|website=Bedrock Wiki|quote=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.}}</ref>
* The vanilla resources contain unused "hot" atmospherics, lighting, and color grading. This generally increases the effects from desert and mesa biomes, but the sky uses a dark blue color instead of turquoise green.
* The vanilla resources contain unused "hot" atmospherics, lighting, and color grading. This generally increases the effects from desert and mesa biomes, but the sky uses a dark blue color instead of turquoise green.
* In physically based rendering, the block light of a [[Minecraft:torch]] is 1262.665039 {{W|lumens}}.<ref name="gdc" /> [[File:Vibrant Visuals hot sky.png|thumb|The unused hot atmospherics, lighting, and color grading settings applied to [[Wooded Badlands|wooded badlands]] with a resource pack.]]
* In physically based rendering, the block light of a [[Minecraft:torch]] is 1262.665039 {{W|lumens}}.<ref name="gdc" /> [[File:Vibrant Visuals hot sky.png|thumb|The unused hot atmospherics, lighting, and color grading settings applied to [[wooded badlands]] with a resource pack.]]
<gallery>
<gallery>
Line 939:
Line 945:
File:Desert sunset VV.png|A desert sunset with different sky and sun colors and stretched shadows
File:Desert sunset VV.png|A desert sunset with different sky and sun colors and stretched shadows
File:Monument top VV.png|Example of underwater lighting with Vibrant Visuals, on an [[Minecraft:Ocean Monument|ocean monument]]
File:Monument top VV.png|Example of underwater lighting with Vibrant Visuals, on an [[Minecraft:Ocean Monument|ocean monument]]
File:Moonlight Vibrant Visuals.png|The [[Minecraft:moon]] has a blue glow and can create shadows.
File:Moonlight Vibrant Visuals.png|The [[Minecraft:moon]] illuminates the environment with a weak blue tint and can create shadows, caustics, and specular highlights.
File:Light falling into lush cave.png|Sunlight falling into a [[Minecraft:Lush Caves|lush cave]] through a hole. Although the blocks look fully lit, the [[Minecraft:light]] level is still 0 and hostile mobs can spawn.
File:Light falling into lush cave.png|Sunlight falling into a [[Minecraft:Lush Caves|lush cave]] through a hole. Although the blocks look fully lit, the [[Minecraft:light]] level is still 0 and hostile mobs can spawn.
File:Shadows on trees VV.png|Shadows on trees in an old growth pine taiga, as seen from the position of the sun. Notice the subsurface scattering on [[Minecraft:leaves]], and the [[Minecraft:player]]'s shadow.
File:Shadows on trees VV.png|Shadows on trees in an old growth pine taiga, as seen from the position of the sun. Notice the subsurface scattering on [[Minecraft:leaves]], and the [[Minecraft:player]]'s shadow.
Line 945:
Line 951:
File:Vibrant Visuals ocean reflections.png|[[Minecraft:Iceberg (feature)|Icebergs]] create detailed reflections on an ocean's surface, while [[Minecraft:clouds]] create blurry reflections.
File:Vibrant Visuals ocean reflections.png|[[Minecraft:Iceberg (feature)|Icebergs]] create detailed reflections on an ocean's surface, while [[Minecraft:clouds]] create blurry reflections.
File:Wither sky.png|The sky as it appears with a dry [[Minecraft:thunderstorm]] or when a [[Minecraft:wither]] is nearby
File:Wither sky.png|The sky as it appears with a dry [[Minecraft:thunderstorm]] or when a [[Minecraft:wither]] is nearby
File:Large Lush Caves VV.png|[[Minecraft:Lush Caves|Lush caves]] are much more vibrantly illumated.
File:Large Lush Caves VV.png|[[Minecraft:Lush caves]] are much more vibrantly illumated.
File:Vibrant Visuals Nether.png|[[Minecraft:The Nether]]. Screenshot taken over a lava sea in a [[Minecraft:Crimson Forest|crimson forest]].
File:Vibrant Visuals Nether.png|[[Minecraft:The Nether]]. Screenshot taken over a lava sea in a [[Minecraft:crimson forest]].
File:Vibrant Visuals End.png|[[Minecraft:The End]] after an End flash
File:Vibrant Visuals End.png|[[Minecraft:The End]] after an End flash
File:Colored light cave.png|Point lights and colored lights
File:Colored light cave.png|Point lights and colored lights
File:Point light volumetric fog.png|Strong volumetric fog created by point lights in a pale garden [[Minecraft:Woodland Mansion|woodland mansion]]
File:Point light volumetric fog.png|Strong volumetric fog created by point lights in a pale garden [[Minecraft:Woodland Mansion|woodland mansion]]
File:VV purple sun.png|On the transition between biomes, volumetric fog from both biomes are combined. With [[Minecraft:Mushroom Fields|mushroom fields]], this result in a strong purple glow.
File:VV purple sun.png|On the transition between biomes, volumetric fog from both biomes are combined. With [[Minecraft:mushroom fields]], this result in a strong purple glow.
File:Nether roof VV.png|The Nether has red "moonlight", used to tint the atmosphere but also tints objects on the [[Minecraft:Nether roof]].
File:Nether roof VV.png|The Nether has red "moonlight", used to tint the atmosphere but also tints objects on the [[Minecraft:Nether roof]].
File:Void Vibrant Visuals.png|The [[Minecraft:void]] lets light beams shine through the bedrock at higher distances.
File:Void Vibrant Visuals.png|The [[Minecraft:void]] lets light beams shine through the bedrock at higher distances.
Latest revision as of 11:10, 29 April 2026
For the {{{Description}}} of the same name, see [[{{{Destination}}}]].
Most configurations and textures can be customized using Minecraft: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
Vibrant Visuals moves most visual shading to the Template:W passes on different resolutions, except water and transparencies handled by Template:W. The game calculates Template:W and depth to shade the albedo color image, for a similar result to ambient occlusion in classic graphics.<ref name="gdc" /> It also calculates the image's Template:W, which is affected by various lighting mechanics.
After the base rendering passes, the game applies Template:W (PBR), which simulates realistic lighting behaviors between different surface materials. This is achieved by creating different texture maps for every Minecraft:block, Minecraft:entity, Minecraft:item, and Minecraft:particle, which define specific characteristics of the surface material per pixel.<ref name="texture-map">Template:Cite</ref> A Minecraft:texture set is used to specify these texture maps for an object in a Minecraft: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 textures (four channel): red to metalness, green to emissive, blue to roughness, and alpha to subsurface.
Object reflections are heavily affected by their metalness and roughness properties. Metallic surfaces reflect light directly and combine that reflection with their own color. Non-metallic surfaces like Minecraft: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, diffuse reflections.
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 Minecraft:clouds and the sky, 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" />
Directional light sources are reflected as Template:W with the Template:W,<ref name="gdc" /> creating a single bright spot moving with the eye position. This is not limited by the current image, but always visible.
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, including the fading by Minecraft:fog. The variety of metalness and roughness in texture maps makes nearby reflections appear pixelated. The indirect specular reflection quality can be configured under the video settings, which affects their resolution and distance at which they appear.
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.
The fourth map, Template:W, simulates an effect of light shining through thin surfaces, like Minecraft:leaves.<ref name="subsurface" /> This effect is applied to blocks exposed to directional lighting, and blends to roughly one block deep for the strongest effects. Diffuse from directional light (see below) penetrates through the surface and will also apply to the backside of affected objects, occluded with the shadow mapping.<ref name="gdc" /> Pixels affected by subsurface scattering can never be affected by metalness and vice versa, although they can still be smooth and create specular highlights.
The primary light sources in Vibrant Visuals are global directional lights, including the Minecraft:sun and the Minecraft:moon in the Minecraft:Overworld, and Minecraft:End flashes in the Minecraft:End.<ref name="lighting" /> Depending on the location of the light source in the sky, they illuminate all objects directly exposed to them with their color, using direct diffuse with Template:W.<ref name="gdc" />
The roughness texture map affects how direct diffuse colors the objects, and subsurface scattering allows it to slightly penetrate through the surface. Light also shines through Minecraft:glass panes and other supported transparent blocks, where it has the same effects on objects behind it.
Directional light sources cast shadows on all objects, including held items on the Minecraft:HUD. The object that creates the shadow and the location of the light source affects the shape, size, and direction of the shadow. Unlike shadows in most shaders, shadows are pixelated to match the resolution of other textures and align with the pixel grid. Shadows can be created by any Minecraft:block that can obstruct lighting, most Minecraft:particles, and Minecraft:entities, including Minecraft:players. Animated objects, like animated player Minecraft:skins or the tentacles of a Minecraft:ghast, create animated shadows as well. Minecraft:Dropped items always create pixelated round shadows. Shadows are rendered at a lower quality at higher distances, which can be configured in the settings.
The End flash is an effect in the Minecraft:End sky that is exclusive to Vibrant Visuals.Template:Until Flashes of directional lighting 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.
If the "Minecraft: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 Minecraft: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 Minecraft:lighting. This light is colored, and blends additively.
The quality of point lighting and the shadows created by point lights can be adjusted in the settings, or turned off.
In addition to point lighting, all other blocks with block lighting create static colored light. Both static colored lights and point lights tint Minecraft:volumetric fog and blend into the environment. The following blocks are affected by point lighting, or have unique static light colors:
File:Sky and directional light.pngDirectional lighting is visible in caves until the sky light level hits 0. Ambient and block lighting are still visible past this point.
The final stage of illuminating the image is block, ambient, and sky lighting using indirect diffuse on the surface.
Vibrant Visuals redefines the classic lighting model to realistic approaches with physically accurate values, while keeping the base Minecraft:light appearance from Minecraft. Block lighting simulates the classic Template:W shape with more dynamic illumination and coloring, which also allows static light coloration.Template:Note
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 Minecraft:Nether, and 0.125 in the Minecraft:End), which illuminates any object. This makes the Nether bright even without light sources, while Overworld caves are much darker.
Overworld Minecraft:sky exposure affects gameplay with the Minecraft:internal light level. To visualize this effect, Vibrant Visuals applies an additional global illumination to objects with higher sky light levels, even in shadows without directional light, making them blend in more with bright areas. In lower sky light levels, diffuse by directional lighting has a stronger contrast with the shadows. When the sky light level is 0, global directional lighting is disabled entirely.<ref>Template:Bug</ref>
Minecraft:Night Vision heavily increases ambient 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 Minecraft:Blindness or Minecraft:Darkness, global directional lighting is deactivated and the scene appears as in a cave. Under fog effects other than Overworld atmospherics, Blindness and Darkness use the same colors as without the effect, instead of black.
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, volumetric 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 using enhanced distance fog, which also fades distant objects.<ref name="atmospherics" /> When these colors are different, the sky will blend these colors between the horizon and the zenith. For example, Minecraft:deserts and Minecraft:badlands have a light orange/green sky and fog color, snowy biomes have a light blue or white color, and pale gardens have a gray color. The color and intensity of sunlight and moonlight are affected by the biome as well, which affects directional specular highlights and the illumination of all objects hit by light sources.
The atmosphere is affected by Template:W which illuminates the sky colors.<ref name="atmospherics" /> There is also Template:W shaped around the sun near the horizon, creating an additional section of the sky tinted and illuminated by a mix of sunlight and atmosphere colors.
Vibrant Visuals enhances fog effects with dynamic Minecraft:volumetric fog, creating a tinted haze around directional light sources.<ref name="fog" /> As directional lighting passes through volumetric fog, it gets scattered and absorbed, fading or even blocking the view. It appears in the air exposed to directional lighting; when the camera is inside the effects surround the camera, looking at the light source shows more illumination; when the camera is outside, the effects are visible as light rays falling between objects such as blocks and entities. Certain biomes, like swamps and pale gardens, have denser volumetric fog effects with unique strengths depending on the lighting.
With the Template:W, volumetric fog can create light shafts for scattering in the air. When the camera is inside volumetric fog, directional lighting scatters into variable light shafts in diffuse directions, which depends on the biome. Volumetric fog can be disabled in the settings, and the quality of light shafts and distance fading can be adjusted.
All atmospheric effects gradually change during the Minecraft:time of day,<ref name="keyframe" /> for example, mie scattering effects only apply during sunrise or sunset, and the sky, sun, and moon colors are constantly changing. The color of sunlight is darker orange and more dimly lit at sunrise and sunset, gradually increasing in brightness and turning yellow/white at noon. Moonlight is light gray/blue with a much lower illuminance.
At night, the sky color is black at zenith and blue at horizon, appearing almost entirely black due to the dim moonlight and weakened rayleigh scattering. The rising sun illuminates this while the horizon changes from purple, to pink, to bright orange, and eventually gray with high illumination, in contrast to a deep blue sky. Sunset applies these graphics in reverse, but instead of pink, the horizon turns brown for a while.
The colored horizon appears lower in the sky during the night, and gradually higher at daytime. Mie scattering at sunrise and sunset combines the changing sunlight and sky colors into unique appearances for each part of the sky.
Different temperature-based 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.
Biome settings
Most biomes, including Minecraft: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.
Minecraft:Dark forests, ice spikes, and pale gardens have significantly lower sunlight illuminances.
Warmish biomes have a more deep blue moonlight color. Minecraft:Deserts increase this effect, while pale gardens have a more light gray moonlight color.
Cold and coolish biomes have slightly stronger sunlight at sunrise and sunset.
Mushroom fields have a very bright yellow/green horizon at daytime, bright red at sunset, dark purple at nighttime, and bright purple at sunrise.
The End sky uses unique black/dark purple atmospherics, rendered on top of the Minecraft:End sky texture, and a dense purple volumetric fog effect is visible during an End flash.
The sky in all Minecraft:Nether biomes uses the same atmospheric colors as without Vibrant Visuals to tint the fog. The effect is achieved with static atmosphere colors, illuminated by red moonlight (although the moon is invisible) and minimal rayleigh scattering, with slight differences between the biomes. The red "moonlight" also gives a red tint to the Minecraft:Nether roof.
See Template:Slink for details about all atmospheric scattering values.
Minecraft:Clouds have more detail and are illuminated by directional 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. As a form of scattering, clouds are dynamically tinted by global lighting, which is unique for every biome, weather event, and the time of day.
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.
During Minecraft:weather events including Minecraft:rainfall, Minecraft:snowfall, and Minecraft:thunderstorms, global directional light sources are hidden and the denser fog atmospherics and clouds change to the static colors from classic graphics modes. Color grading still applies, making rain and snow look unique for every biome. Bright mie scattering is still visible at the position of the sun and colored white. Without directional lighting, dynamic shadows and volumetric fog aren't visible.
Unlike in other graphics modes, atmospherics and lighting do not change in dry biomes. During thunderstorms or when a Minecraft:wither is nearby, sky light is heavily reduced, making the contribution of directional light more visible. This results in more unique, yellow-brown colors of the sky, clouds, and lighting, and much darker shadows, even in dry biomes. This effect is barely noticable with rainfall in dry biomes, because reduces the sky light less than thunderstorms.
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 Minecraft:player's eye level is inside water, underwater Minecraft:fog appears more dynamically tinted by directional lighting, brighter in vertical directions and darker in horizontal directions. Looking at a bright area when the camera is in the dark, the fog is illuminated where light falls down. Additionally, underwater volumetric fog effects colors this bright blue, 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. The effect of Template:W appears when looking at any water surface from underwater.
Water effects do not apply to water in Minecraft:cauldrons, which is rendered like in Fancy graphics.
A close look of Snell's window. Inside, the water surface is fully transparent although fog still renders behind. Outside, the water surface is fully reflective.
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:
Template:W which appears on high-luminance areas, notably emissive textures and reflections, directional light sources, direct specular highlights, and mie scattering. 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.
When the camera is looking at a high luminance, either directional lighting, emissive textures, or bright diffuse,<ref>Template:Bug</ref> the whole view gets darkened by Template:W.
Auto-exposure gradually fades in or out when the luminance changes to as a simulation of Template:W.
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 (Template:W Upsampling) and Template:W mode, and the final resolution quality. In general, 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.
Template:W which controls the saturation, contrast, gain, and gamma of the final image.<ref name="color-grading-tone-mapping">Template:Cite</ref>
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, some biomes also have different contrast or saturation.
Template:W is also used to remap the colors from the initial Template:W to Template:W, as Minecraft is not supported in HDR.<ref name="color-grading-tone-mapping"/> Mojang Studios developed a generic filmic tone mapping curve, which preserves tint in higher luminance regions, making the scene appear brighter and more vibrantly colored.
Auto exposure is very noticable when attacking a zombie with Minecraft:Fire Aspect weapons.
Panorama
An exclusive Minecraft: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.
File:Low quality VV.pngVibrant Visuals at the lowest quality settings. Bloom and volumetric fog are disabled, SSR reflections are not visible, and shadows have a lower resolution.
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 Minecraft:entities and Minecraft: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 Minecraft: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, .binmaterial files, anda brdf_lut.png image used to calibrate BRDF specular and diffuse reflections.
Availability
Vibrant Visuals is available to use on the following platforms:<ref>Template:Citation</ref>
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.
Vibrant Visuals is currently not supported on Template:W devices, Template:W tablets, or Template:W consoles. Minecraft: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 Template:W compatibility layer (see related tutorial).
During local Minecraft:splitscreen multiplayer on consoles, the graphics mode is restricted to Fancy or lower.
Vibrant Visuals has limited compatibility with Minecraft:resource packs, which may be part of an Minecraft:add-on. Resource packs without the pbrcapability 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
Vibrant Visuals can be customized with a Minecraft: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 Minecraft:ray tracing (with raytraced capability). All ray tracing resource packs only support MER (metalness, emissive, and roughness) for its textures, and these can 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 Minecraft: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 Minecraft: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.
Textures from Minecraft:blocks, Minecraft:entities, Minecraft:items (held, displayed, and dropped), and Minecraft: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 Minecraft: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 four-channel image file, collectively known as MERS values (or MER without subsurface scattering).
Metalness is a texture map on the red channel that affect how metallic pixels look, which makes them more reflective. Pixels can use metalness values between black (non-metallic) and red (completely metalic), where metalness for values in between is affected by the brightness.
The green channel 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 translucent surfaces.<ref name="subsurface">Template:Cite</ref> It is a map based on the alpha channel where opaque 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 blue channel 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 blue pixels only allow (distorted) light reflection.
The Template:W 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 Minecraft:Blockbench,<ref>Template:Cite</ref> which may require plugins to customize textures. The PBR textures need to be placed, named like block/particle/entity/item ID_mers / _mer / _height / _normal, 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. All texture maps specified in the texture set are required in the same resource pack.<ref name="texture-set" />
Instead of creating texture maps, the JSON file can also be used to apply uniform MERS or RGBA values to the whole texture.
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: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>
Template:NbtTemplate:Nbtglobal_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:NbtTemplate:Nbtglobal_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:NbtTemplate:Nbtglobal_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:NbtTemplate:Nbtglobal_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 Minecraft:sun and Minecraft:moon (orbital), and Minecraft: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.pngA 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.pngSeveral 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 Minecraft: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" Minecraft: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" Minecraft: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.
Template:Nbt:Template:Fn The identifier for these settings, "minecraft:default_lighting" will be applied to all biomes, other identifiers can be specified in the Template:File files. Must include a namespace.
Template:NbtTemplate:Nbt: Scales how much energy the sky contributes to lighting between 0.0 and 1.0.
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.
Template:NbtTemplate:Nbt: The color of the point light or static light; supports RGB array or HEX string.
Template:Nbt: 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 Template:File.<ref name="atmospherics">Template:Cite</ref> The atmospheric effects include separate horizon and zenith colors, and mie scattering. The horizon and zenith colors blend into each other depending on the specified heights for both colors. Rayleigh scattering affects global illumination of the horizon and zenith. Mie scattering, created by the sun and moon, can also specify a height and shape.
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 Minecraft: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.
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.
File:VV atmospherics overview.pngAll aspects from the atmospheric sky. Colors from objects and sunlight, and the intensities have been adjusted to show them more clearly.
Template:Nbt:Template:Fn The identifier for these settings, "minecraft:default_atmospherics" will be applied to all biomes, other identifiers can be specified in the Template:File files. Must include a namespace.
Template:NbtTemplate:Nbt: How strong the atmosphere's Template:W term is, which affects how particles larger or smaller than the light ray's wavelength scatter the light. Functionally, this illuminates the base atmosphere with the zenith and horizon colors. Rayleigh scattering does not affect mie scattering or volumetric fog.
Template:NbtTemplate:Nbt: How strong the Template:W term from the Minecraft:sun and Minecraft:End flash is, which affects how particles from the same size as the light ray's wavelength scatter the light. Functionally, this illuminates the atmosphere with the light color and brightness from the sun blended with the atmosphere, shaped in a sphere around the horizon, cut off at 90° from the sun.
Template:NbtTemplate:Nbt: How the lobe of the mie scattering is shaped. A value of 0 sets mie scattering in a sphere similar to (but independent from) the horizon, higher values decrease the effect while shaping it more around the sun.
Template:Nbt: This affects how the atmosphere is divided for the atmospheric effects.
Template:NbtTemplate:Nbt: The absolute minimum height where the horizon and mie scattering starts blending with the zenith.
Template:NbtTemplate:Nbt: The absolute maximum height where the zenith starts blending with the horizon. How larger the difference is with the minimum height, how larger the blending space will be. If this height is lower than the minimum horizon height, the position of the horizon and zenith will be swapped.
Template:NbtTemplate:Nbt: The absolute maximum where mie scattering starts blending with the zenith. How larger the difference is with the minimum height, how larger the blending space will be. If this height is lower than the minimum horizon height, mie scattering will be inverted.
Template:NbtTemplate:Nbt: This controls how far blending with zenith continues inside the horizon below the minimum height. Higher values lower the absolute (opaque) horizon height, including mie scattering. When the horizon or mie scattering is inverted, the scaling of this effect is also inverted.
The atmospherics can also be dynamically overridden by the game's Minecraft: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.
getBiomeAtmospherics can be used with the biome and atmospherics component to retrieve the current values.<ref>Template:Citation</ref>Template:Upcoming
Fog
The Minecraft: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.
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.
Template:Nbt:Template:Fn The identifier for these settings, "minecraft:default_color_grading" will be applied to all biomes, other identifiers can be specified in the Template:File files. Must include a namespace.
Template:Nbt: Color grading parameters of all brighter pixels.
Template:Nbt: Whether the following parameters are applied to highlights, or if they should follow the midtone parameters.
Template:Nbt: 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.
Template:Nbt: Color grading parameters of all darker pixels.
Template:Nbt: Whether the following parameters are applied to shadows, or if they should follow the midtone parameters.
Template:Nbt: 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.
Template:Nbt: Whether temperature-based color grading is applied.
Template:Nbt: The temperature of the image, between 1000 and 15000 Kelvin.
Template:Nbt: The type of temperature grading used, either "white_balance" (higher temperatures result in cooler image) or "color_temperature" (higher temperatures result in warmer image).
Template:Nbt: 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.<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 Minecraft: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 Minecraft:clouds), or in space (such as Minecraft: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.
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.
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.
Template:Nbt: The type of shadows to use, either "blocky_shadows" (default) or "soft_shadows".
Template:Nbt: The resolution in pixels to snap shadow texels to, defaults to 16.
Water
File:Vibrant Visuals particles comparison.pngDifferent 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.pngAnimated 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 Minecraft: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.
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: 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.
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" />
Before Vibrant Visuals was released, the deferred rendering engine was available behind the "Render Dragon Features for Creators" Minecraft:experiment in Minecraft:Minecraft Preview. This was built on the features for Minecraft: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 Minecraft: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
Vibrant Visuals can be enabled in worlds locked in any older version using Minecraft: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 Minecraft:End sky is not colored below the horizon, resembling the classic End sky with Minecraft: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 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 Minecraft:RTX pipeline and the rendering pipeline from Template:MCL since 2020.<ref>Template:Cite</ref>
The vanilla resources contain unused "hot" atmospherics, lighting, and color grading. This generally increases the effects from desert and mesa biomes, but the sky uses a dark blue color instead of turquoise green.
Shadows on trees in an old growth pine taiga, as seen from the position of the sun. Notice the subsurface scattering on Minecraft:leaves, and the Minecraft:player's shadow.
Minecraft:Water and reflective copper with reflections off. Specular highlights from the sun and the redstone torch point light are still visible, as well as subsurface scattering.
A comparison with icebergs in a Minecraft: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 Minecraft:village with Vibrant Visuals, during sunset. The screenshot was taken in a Minecraft:river, so the yellow haze of the Minecraft:desert is not present. Instead, there is a blue haze, which makes the texture of the Minecraft:sand more visible.
A copper boat sailing through a jungle Minecraft:river, with a copper water mill on the right, a large bridge on the cliffs in the background, and multiple cliffside buildings
Each image shows a Minecraft:swamp during sunset. The right image shows the reflection of the sunset in Vibrant Visuals. These images show how Vibrant Visuals enhances the scene.