Minecraft:Starfield: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| Line 217: | Line 217: | ||
|End gateways are entirely unaffected by fog.}} | |End gateways are entirely unaffected by fog.}} | ||
|{{HistoryLine||1.10|dev=16w20a|Something unspecified has changed with respect to the rendering of End portals; they now look noticeably darker than in 1.9.4.{{info needed|What changed in this version, exactly?}}}} | |{{HistoryLine||1.10|dev=16w20a|Something unspecified has changed with respect to the rendering of End portals; they now look noticeably darker than in 1.9.4.{{info needed|What changed in this version, exactly?}}}} | ||
|{{HistoryLine||?|There is now a separate layer 0 in the starfield, which shares the colour value of the background, but is rendered with the portal texture rather than the sky texture.}} | |||
|{{HistoryLine||1.11|dev=16w40a|End portal blocks now use the same "fixed" starfield effect that End gateways use, though without the extra blue particles gateways have. | |{{HistoryLine||1.11|dev=16w40a|End portal blocks now use the same "fixed" starfield effect that End gateways use, though without the extra blue particles gateways have. | ||
|The non-fixed version of the starfield can therefore be considered effectively removed.}} | |The non-fixed version of the starfield can therefore be considered effectively removed.}} | ||
Revision as of 11:10, 5 June 2026
Starfield is a unique graphical effect used for rendering certain features related to Minecraft:the End.
Use cases
Starfield effects are used for the following:
- End portal
- End gateway
- Minecraft:Endermen holding End portals or End gateways
- Minecraft:Minecarts with custom-displayed End portal or End gateway blocks
- Lit Minecraft:TNT entities set to display as End portals or End gateways
- Loading screen when entering or leaving the End
- Minecraft:End Poem background screen
- Minecraft:Credit sequence background screen
- Items using the Template:Code special model type in a resource pack
Minecraft:Falling block entities of the End portal and End gateway do not render the starfield effect, and it seems highly unlikely (although unproven) that Minecraft:moving piston blocks would either.<ref>Template:Bug</ref>
How it is rendered
Java Edition
The rendering of the starfield effect has changed several times throughout the game's history.
There are two subtly different gateway effects, referred to by the Template:Code special model type as Template:Code (used for end portal blocks, the dimension loading screens for entering and exiting the End, and the credits sequence and preceding poem) and Template:Code, used specifically for end gateways. The latter renders an extra layer of blue pixels which are absent from the former, which can be seen by placing the two blocks next to each other; blue pixels will disappear when they migrate to the space where the end portal is present. See later in this section for a technical explanation of the difference.
Two different texture files are utilised in generating the starfield effect:
| Template:Code | Template:Code |
| Template:Pximg | Template:Pximg |
The "End sky" texture, which is indeed the same texture used for the actual Minecraft:End sky, is used as the "background" texture: it is sampled using screen-projected coordinates and multiplied by Template:Color. The shader uses the projected screen-space y-coordinate directly as the vertical texture coordinate; because the screen-projected vertical coordinate increases upwards while the texture image is displayed with its vertical axis running downwards, the background texture appears vertically mirrored.Template:Info needed
The "End portal" texture is sampled in multiple layers on top of this background. Each layer uses a different colour multiplier, scale, rotation, fixed horizontal offset, and time-based vertical offset. In the fragment shader, the RGB results of the layers are combined additively before the final colour is output with full opacity. The End portal uses 15 layers of the "End portal" texture, while the End gateway uses 16 layers. The first 15 layers are shared between both effects, while the End gateway has an additional layer using Template:Color.
The colour values used by the layers are as follows. Index 0 is also used for the "End sky" background, but the velocity listed for index 0 applies only to the first layer of the "End portal" texture. The End portal uses indices 0 through 14, while the End gateway uses indices 0 through 15. The Velocity column gives the rate at which the time-based vertical offset increases. In the current Windows behaviour, this is also the apparent downward velocity of the layer. In the pre-25w07a behaviour, where the apparent travel direction follows each layer's rotation, the same listed velocity is transformed by the layer's rotation and scale.
| Index | Velocity | Template:Abbr | Template:Abbr | Colour | Used by | |
|---|---|---|---|---|---|---|
| Template:Code | Template:Code | |||||
| 0 | 4/24000 | 20° | 8.5 | Template:Abbr | Template:Tc | Template:Tc |
| 1 | 5/24000 | 44° | 8 | Template:Abbr | Template:Tc | Template:Tc |
| 2 | 6/24000 | 72° | 7.5 | Template:Abbr | Template:Tc | Template:Tc |
| 3 | 7/24000 | 104° | 7 | Template:Abbr | Template:Tc | Template:Tc |
| 4 | 8/24000 | 140° | 6.5 | Template:Abbr | Template:Tc | Template:Tc |
| 5 | 9/24000 | 180° | 6 | Template:Abbr | Template:Tc | Template:Tc |
| 6 | 10/24000 | 224° | 5.5 | Template:Abbr | Template:Tc | Template:Tc |
| 7 | 11/24000 | 272° | 5 | Template:Abbr | Template:Tc | Template:Tc |
| 8 | 12/24000 | 324° | 4.5 | Template:Abbr | Template:Tc | Template:Tc |
| 9 | 13/24000 | 20° | 4 | Template:Abbr | Template:Tc | Template:Tc |
| 10 | 14/24000 | 80° | 3.5 | Template:Abbr | Template:Tc | Template:Tc |
| 11 | 15/24000 | 144° | 3 | Template:Abbr | Template:Tc | Template:Tc |
| 12 | 16/24000 | 212° | 2.5 | Template:Abbr | Template:Tc | Template:Tc |
| 13 | 17/24000 | 284° | 2 | Template:Abbr | Template:Tc | Template:Tc |
| 14 | 18/24000 | 0° | 1.5 | Template:Abbr | Template:Tc | Template:Tc |
| 15 | 19/24000 | 80° | 1 | Template:Abbr | Template:Tc | Template:Tc |
For the nth layer, where n starts at 1 and equals the table index plus 1, the horizontal offset is 17/n, the rotation angle is (n×n×4321+n×9)×2 degrees, and the scale is (4.5-n/4)×2. The vertical offset is (2+n/1.5)×(GameTime×1.5). Since GameTime increases by 1/24000 per game tick, the Velocity value listed in the table is (3+n)/24000. In unaffected rendering behaviour, the Rotation value gives the apparent travel direction, while the apparent travel velocity is the listed Velocity divided by the listed Scale.
On some AMD Windows systems, the layers appear to move vertically downwards instead of following the directions listed in the table. This behaviour is unintentional and only affects OpenGL; the Vulkan renderer does not exhibit this behaviour, nor does OpenGL on macOS, Linux, or when using Nvidia graphics hardware.<ref>Template:Bug</ref>
The starfield effect is completely constant regardless of view: while moving and rotating the camera will change the position of the object using the starfield effect itself on screen, the starfield itself will remain fixed in place. In effect, anything using the starfield effect effectively creates what can be seen as a "hole" in the world, behind which the starfield rests. The shape of the starfield also changes with the window size, although this is presumably not intentional.<ref>Template:Bug</ref>
Bedrock Edition
The specifics of Template:El are less known, however the behaviour more closely resembles the position/rotation-based rendering as seen for end portals before JE 16w40a and end gateways before JE 15w33a (though without the latter's distortion).
History
Java Edition
Template:Info needed section Template:HistoryTable
Table of visual changes
Parallax
| Versions | Template:Code | Template:Code | Changes |
|---|---|---|---|
| Beta 1.9 Prerelease 3 to 12w24a |
? | - | Portal introduction |
| 12w25a to 1.8.9 |
? | End Sky texture change | |
| 15w31a to 15w32c |
? | Gateway introduction | |
| 15w33a to 1.9.4 |
- | Gateway now camera-independent | |
| 16w20a to 16w39c |
? | The starfield is darker and greener | |
| Parallax starfield no longer exists from 16w40a onward | |||
Fixed
| Versions | Template:Code | Template:Code | Changes |
|---|---|---|---|
| 15w33a to 1.9.4 |
- | File:Fixed Gateway Starfield JE1.gif | Fixed starfield added, used by end gateway |
| 16w20a to 16w39c |
File:Fixed Gateway Starfield JE2.gif | The starfield is darker and greener | |
| 16w40a to 21w08b |
File:Fixed Portal Starfield JE1.gif | Portal now camera-independent | |
| 21w10a | File:Fixed Portal Starfield JE2.gif | File:Fixed Gateway Starfield JE3.gif | Background now stretched instead of repeating, particle size increased |
| 21w11a to present |
File:Fixed Portal Starfield JE3.gif | File:Fixed Gateway Starfield JE4.gif | Particle size reverted |
Blocks
| Versions | Template:Code | Template:Code | Changes |
|---|---|---|---|
| Beta 1.9 Prerelease 3 to 12w24a |
File:End Portal JE2.gif | Template:Tc | Portal introduction |
| 12w25a to 1.8.9 |
File:End Portal JE3.gif | Template:Tc | End Sky texture change |
| 15w31a to 15w32c |
File:End Gateway JE1.gif | Gateway introduction | |
| 15w33a to 1.9.4 |
File:End Gateway JE2.gif | Gateway now camera-independent | |
| 16w20a to 16w39c |
File:End Portal JE4.gif | File:End Gateway JE3.gif | The starfield is darker and greener |
| 16w40a to 21w08b |
File:End Portal JE5.gif | Portal now camera-independent | |
| 21w10a | File:End Portal JE6.gif | File:End Gateway JE4.gif | Background now stretched instead of repeating, particle size increased |
| 21w11a to present |
File:End Portal JE7.gif | File:End Gateway JE5.gif | Particle size reverted |