Minecraft:Starfield: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| Line 1: | Line 1: | ||
'''Starfield''' is a unique graphical effect used for rendering certain features related to [[Minecraft:the End]]. | '''Starfield''' is a unique graphical effect used for rendering certain features related to [[Minecraft:the End]]. | ||
| Line 188: | Line 187: | ||
== History == | == History == | ||
=== ''Java Edition'' === | === ''Java Edition'' === | ||
{{info needed section|These versions changed the relevant shader files and may be worth investigating to see if those changes are at all relevant to a differing visual outcome: | {{info needed section|These versions changed the relevant shader files and may be worth investigating to see if those changes are at all relevant to a differing visual outcome (I think they just might be routine maintenance due to format changes though): | ||
* 24w05a | * 24w05a | ||
* 24w21a | * 24w21a | ||
| Line 226: | Line 223: | ||
|End gateway blocks are now affected by fog correctly, and end portal blocks are once again affected by fog correctly.}} | |End gateway blocks are now affected by fog correctly, and end portal blocks are once again affected by fog correctly.}} | ||
|{{HistoryLine|||dev=19w41a|End portal and end gateway blocks are no longer obscured by fog.}} | |{{HistoryLine|||dev=19w41a|End portal and end gateway blocks are no longer obscured by fog.}} | ||
|{{HistoryLine||1.17|dev=21w10a|Only one instance of the "sky" texture is now rendered, and it is stretched across the entire background, unlike being repeated as it previously was.{{info needed| | |{{HistoryLine||1.17|dev=21w10a|Only one instance of the "sky" texture is now rendered, and it is stretched across the entire background, unlike being repeated as it previously was.{{info needed|What code change happened to result in this modified outcome?}} | ||
|The foreground particles appear larger in this version than previously.}} | |||
|{{HistoryLine|||dev=21w11a|The foreground particles have seemingly been shrunk down to their pre-21w10a sizes. The background texture change persists.}} | |||
|{{HistoryLine|||dev=21w13a|The starfield is now also rendered on the bottom of End portals, rather than only the top.}} | |{{HistoryLine|||dev=21w13a|The starfield is now also rendered on the bottom of End portals, rather than only the top.}} | ||
|{{HistoryLine||1.20.5|dev=24w09a|The starfield is now used as the background of the [[Minecraft:End Poem]] and [[Minecraft:credit sequence]].}} | |{{HistoryLine||1.20.5|dev=24w09a|The starfield is now used as the background of the [[Minecraft:End Poem]] and [[Minecraft:credit sequence]].}} | ||
| Line 279: | Line 278: | ||
! [[Minecraft:Java Edition 15w33a|15w33a]]<br>to<br>[[Minecraft:Java Edition 1.9.4|1.9.4]] | ! [[Minecraft:Java Edition 15w33a|15w33a]]<br>to<br>[[Minecraft:Java Edition 1.9.4|1.9.4]] | ||
! class="tc-no" rowspan="2" | - | ! class="tc-no" rowspan="2" | - | ||
| | | [[File:Fixed Gateway Starfield JE1.gif|300px]] | ||
| Fixed starfield added, used by end gateway | | Fixed starfield added, used by end gateway | ||
|- | |- | ||
! [[Minecraft:Java Edition 16w20a|16w20a]]<br>to<br>[[Minecraft:Java Edition 16w39c|16w39c]] | ! [[Minecraft:Java Edition 16w20a|16w20a]]<br>to<br>[[Minecraft:Java Edition 16w39c|16w39c]] | ||
| rowspan="2" | | | rowspan="2" | [[File:Fixed Gateway Starfield JE2.gif|300px]] | ||
| The starfield is darker and greener | | The starfield is darker and greener | ||
|- | |- | ||
! [[Minecraft:Java Edition 16w40a|16w40a]]<br>to<br>[[Minecraft:Java Edition 21w08b|21w08b]] | ! [[Minecraft:Java Edition 16w40a|16w40a]]<br>to<br>[[Minecraft:Java Edition 21w08b|21w08b]] | ||
| | | [[File:Fixed Portal Starfield JE1.gif|300px]] | ||
| Portal now camera-independent | | Portal now camera-independent | ||
|- | |- | ||
! [[Minecraft:Java Edition 21w10a|21w10a]] | ! [[Minecraft:Java Edition 21w10a|21w10a]] | ||
| | | [[File:Fixed Portal Starfield JE2.gif|300px]] | ||
| | | [[File:Fixed Gateway Starfield JE3.gif|300px]] | ||
| Background now stretched instead of repeating, particle size | | Background now stretched instead of repeating, particle size increased | ||
|- | |- | ||
! [[Minecraft:Java Edition | ! [[Minecraft:Java Edition 21w11a|21w11a]]<br>to<br>present | ||
| | | [[File:Fixed Portal Starfield JE3.gif|300px]] | ||
| | | [[File:Fixed Gateway Starfield JE4.gif|300px]] | ||
| | | Particle size reverted | ||
|} | |} | ||
| Line 335: | Line 334: | ||
| Portal now camera-independent | | Portal now camera-independent | ||
|- | |- | ||
! [[Minecraft:Java Edition 21w10a|21w10a | ! [[Minecraft:Java Edition 21w10a|21w10a]] | ||
| [[File:End Portal JE6.gif|300px]] | | [[File:End Portal JE6.gif|300px]] | ||
| [[File:End Gateway JE4.gif|300px]] | | [[File:End Gateway JE4.gif|300px]] | ||
| Background now stretched instead of repeating, particle size | | Background now stretched instead of repeating, particle size increased | ||
|- | |- | ||
! [[Minecraft:Java Edition | ! [[Minecraft:Java Edition 21w11a|21w11a]]<br>to<br>present | ||
| [[File:End Portal | | [[File:End Portal JE7.gif|300px]] | ||
| [[File:End Gateway JE5.gif|300px]] | | [[File:End Gateway JE5.gif|300px]] | ||
| | | Particle size reverted | ||
|} | |} | ||
| Line 369: | Line 368: | ||
== References == | == References == | ||
{{reflist}} | {{reflist}} | ||
== Navigation == | |||
{{Navbox visuals}} | |||
Revision as of 11:15, 2 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; the following is present as of Minecraft:Java Edition 26.2 Snapshot 7.
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.Template:Info needed 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. Template:Info needed section
As of Java Edition 26.2 Snapshot 7 on Windows, these layers slowly move vertically downwardsTemplate:Verify over time. In this behaviour, the scale and rotation of each layer change the appearance of the texture pattern, but the time-based offset is applied after the rotation, so the direction of motion is not rotated with each layer.Template:Verify 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. For the current Windows behaviour, this value is the apparent downward velocity in screen-projected coordinate units per game tick. For the pre-25w07a behaviour, the Rotation value gives the apparent travel direction, while the apparent travel velocity is the listed Velocity divided by the listed Scale.
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 |