RenderPipelines.java
net.minecraft.client.renderer.RenderPipelines
信息
- 全限定名:net.minecraft.client.renderer.RenderPipelines
- 类型:public class
- 包:net.minecraft.client.renderer
- 源码路径:src/main/java/net/minecraft/client/renderer/RenderPipelines.java
- 起始行号:L24
- 职责:
TODO
字段/常量
-
PIPELINES_BY_LOCATION- 类型:
Map<Identifier,RenderPipeline> - 修饰符:
private static final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
MATRICES_PROJECTION_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L26 - 说明:
TODO
- 类型:
-
FOG_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L30 - 说明:
TODO
- 类型:
-
GLOBALS_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L31 - 说明:
TODO
- 类型:
-
MATRICES_FOG_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L32 - 说明:
TODO
- 类型:
-
MATRICES_FOG_LIGHT_DIR_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L33 - 说明:
TODO
- 类型:
-
GENERIC_BLOCKS_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L36 - 说明:
TODO
- 类型:
-
TERRAIN_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L42 - 说明:
TODO
- 类型:
-
BLOCK_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L48 - 说明:
TODO
- 类型:
-
ENTITY_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L52 - 说明:
TODO
- 类型:
-
ENTITY_EMISSIVE_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L60 - 说明:
TODO
- 类型:
-
BEACON_BEAM_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L68 - 说明:
TODO
- 类型:
-
ITEM_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L75 - 说明:
TODO
- 类型:
-
TEXT_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L83 - 说明:
TODO
- 类型:
-
END_PORTAL_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L88 - 说明:
TODO
- 类型:
-
CLOUDS_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L96 - 说明:
TODO
- 类型:
-
LINES_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L105 - 说明:
TODO
- 类型:
-
DEBUG_FILLED_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L113 - 说明:
TODO
- 类型:
-
PARTICLE_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L120 - 说明:
TODO
- 类型:
-
WEATHER_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L128 - 说明:
TODO
- 类型:
-
GUI_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L132 - 说明:
TODO
- 类型:
-
GUI_TEXTURED_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L138 - 说明:
TODO
- 类型:
-
GUI_TEXT_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L145 - 说明:
TODO
- 类型:
-
OUTLINE_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
private static final - 源码定位:
L146 - 说明:
TODO
- 类型:
-
POST_PROCESSING_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
public static final - 源码定位:
L152 - 说明:
TODO
- 类型:
-
SOLID_BLOCK- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L155 - 说明:
TODO
- 类型:
-
SOLID_TERRAIN- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L156 - 说明:
TODO
- 类型:
-
WIREFRAME- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L157 - 说明:
TODO
- 类型:
-
CUTOUT_BLOCK- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L160 - 说明:
TODO
- 类型:
-
CUTOUT_TERRAIN- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L163 - 说明:
TODO
- 类型:
-
TRANSLUCENT_TERRAIN- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L166 - 说明:
TODO
- 类型:
-
TRANSLUCENT_BLOCK- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L173 - 说明:
TODO
- 类型:
-
ARMOR_CUTOUT_NO_CULL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L181 - 说明:
TODO
- 类型:
-
ARMOR_DECAL_CUTOUT_NO_CULL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L190 - 说明:
TODO
- 类型:
-
ARMOR_TRANSLUCENT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L200 - 说明:
TODO
- 类型:
-
ENTITY_SOLID- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L210 - 说明:
TODO
- 类型:
-
ENTITY_SOLID_Z_OFFSET_FORWARD- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L213 - 说明:
TODO
- 类型:
-
ENTITY_CUTOUT_CULL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L216 - 说明:
TODO
- 类型:
-
ENTITY_CUTOUT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L223 - 说明:
TODO
- 类型:
-
ENTITY_CUTOUT_Z_OFFSET- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L232 - 说明:
TODO
- 类型:
-
ENTITY_CUTOUT_DISSOLVE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L241 - 说明:
TODO
- 类型:
-
ENTITY_TRANSLUCENT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L252 - 说明:
TODO
- 类型:
-
ENTITY_TRANSLUCENT_EMISSIVE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L262 - 说明:
TODO
- 类型:
-
ENTITY_TRANSLUCENT_CULL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L273 - 说明:
TODO
- 类型:
-
END_CRYSTAL_BEAM- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L281 - 说明:
TODO
- 类型:
-
BANNER_PATTERN- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L289 - 说明:
TODO
- 类型:
-
BREEZE_WIND- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L297 - 说明:
TODO
- 类型:
-
ENERGY_SWIRL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L308 - 说明:
TODO
- 类型:
-
EYES- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L325 - 说明:
TODO
- 类型:
-
ENTITY_SHADOW- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L339 - 说明:
TODO
- 类型:
-
ITEM_CUTOUT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L350 - 说明:
TODO
- 类型:
-
ITEM_TRANSLUCENT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L353 - 说明:
TODO
- 类型:
-
BEACON_BEAM_OPAQUE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L360 - 说明:
TODO
- 类型:
-
BEACON_BEAM_TRANSLUCENT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L363 - 说明:
TODO
- 类型:
-
LEASH- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L370 - 说明:
TODO
- 类型:
-
WATER_MASK- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L381 - 说明:
TODO
- 类型:
-
GLINT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L391 - 说明:
TODO
- 类型:
-
CRUMBLING- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L403 - 说明:
TODO
- 类型:
-
TEXT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L414 - 说明:
TODO
- 类型:
-
GUI_TEXT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L423 - 说明:
TODO
- 类型:
-
TEXT_BACKGROUND- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L432 - 说明:
TODO
- 类型:
-
TEXT_INTENSITY- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L441 - 说明:
TODO
- 类型:
-
GUI_TEXT_INTENSITY- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L451 - 说明:
TODO
- 类型:
-
TEXT_POLYGON_OFFSET- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L460 - 说明:
TODO
- 类型:
-
TEXT_SEE_THROUGH- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L470 - 说明:
TODO
- 类型:
-
TEXT_BACKGROUND_SEE_THROUGH- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L479 - 说明:
TODO
- 类型:
-
TEXT_INTENSITY_SEE_THROUGH- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L488 - 说明:
TODO
- 类型:
-
LIGHTNING- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L497 - 说明:
TODO
- 类型:
-
DRAGON_RAYS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L507 - 说明:
TODO
- 类型:
-
DRAGON_RAYS_DEPTH- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L517 - 说明:
TODO
- 类型:
-
END_PORTAL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L527 - 说明:
TODO
- 类型:
-
END_GATEWAY- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L530 - 说明:
TODO
- 类型:
-
FLAT_CLOUDS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L533 - 说明:
TODO
- 类型:
-
CLOUDS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L536 - 说明:
TODO
- 类型:
-
LINES- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L537 - 说明:
TODO
- 类型:
-
LINES_TRANSLUCENT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L538 - 说明:
TODO
- 类型:
-
LINES_DEPTH_BIAS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L544 - 说明:
TODO
- 类型:
-
SECONDARY_BLOCK_OUTLINE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L550 - 说明:
TODO
- 类型:
-
DEBUG_POINTS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L557 - 说明:
TODO
- 类型:
-
DEBUG_FILLED_BOX- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L567 - 说明:
TODO
- 类型:
-
DEBUG_QUADS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L570 - 说明:
TODO
- 类型:
-
DEBUG_TRIANGLE_FAN- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L573 - 说明:
TODO
- 类型:
-
WORLD_BORDER- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L580 - 说明:
TODO
- 类型:
-
OPAQUE_PARTICLE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L592 - 说明:
TODO
- 类型:
-
TRANSLUCENT_PARTICLE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L593 - 说明:
TODO
- 类型:
-
WEATHER_DEPTH_WRITE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L599 - 说明:
TODO
- 类型:
-
WEATHER_NO_DEPTH_WRITE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L602 - 说明:
TODO
- 类型:
-
SKY- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L608 - 说明:
TODO
- 类型:
-
END_SKY- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L616 - 说明:
TODO
- 类型:
-
SUNRISE_SUNSET- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L626 - 说明:
TODO
- 类型:
-
STARS- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L635 - 说明:
TODO
- 类型:
-
CELESTIAL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L644 - 说明:
TODO
- 类型:
-
GUI- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L654 - 说明:
TODO
- 类型:
-
GUI_INVERT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L655 - 说明:
TODO
- 类型:
-
GUI_TEXT_HIGHLIGHT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L658 - 说明:
TODO
- 类型:
-
GUI_TEXTURED- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L664 - 说明:
TODO
- 类型:
-
GUI_TEXTURED_PREMULTIPLIED_ALPHA- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L665 - 说明:
TODO
- 类型:
-
BLOCK_SCREEN_EFFECT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L671 - 说明:
TODO
- 类型:
-
FIRE_SCREEN_EFFECT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L674 - 说明:
TODO
- 类型:
-
GUI_OPAQUE_TEXTURED_BACKGROUND- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L677 - 说明:
TODO
- 类型:
-
GUI_NAUSEA_OVERLAY- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L683 - 说明:
TODO
- 类型:
-
VIGNETTE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L689 - 说明:
TODO
- 类型:
-
CROSSHAIR- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L695 - 说明:
TODO
- 类型:
-
MOJANG_LOGO- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L701 - 说明:
TODO
- 类型:
-
ENTITY_OUTLINE_BLIT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L707 - 说明:
TODO
- 类型:
-
TRACY_BLIT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L717 - 说明:
TODO
- 类型:
-
PANORAMA- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L726 - 说明:
TODO
- 类型:
-
OUTLINE_CULL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L735 - 说明:
TODO
- 类型:
-
OUTLINE_NO_CULL- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L736 - 说明:
TODO
- 类型:
-
LIGHTMAP- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L739 - 说明:
TODO
- 类型:
-
ANIMATE_SPRITE_SNIPPET- 类型:
RenderPipeline.Snippet - 修饰符:
public static final - 源码定位:
L748 - 说明:
TODO
- 类型:
-
ANIMATE_SPRITE_BLIT- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L753 - 说明:
TODO
- 类型:
-
ANIMATE_SPRITE_INTERPOLATE- 类型:
RenderPipeline - 修饰符:
public static final - 源码定位:
L760 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
private static RenderPipeline register(RenderPipeline pipeline) @ L769
- 方法名:register
- 源码定位:L769
- 返回类型:RenderPipeline
- 修饰符:private static
参数:
- pipeline: RenderPipeline
说明:
TODO
public static List<RenderPipeline> getStaticPipelines() @ L774
- 方法名:getStaticPipelines
- 源码定位:L774
- 返回类型:List
- 修饰符:public static
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class RenderPipelines {
private static final Map<Identifier, RenderPipeline> PIPELINES_BY_LOCATION = new HashMap<>();
private static final RenderPipeline.Snippet MATRICES_PROJECTION_SNIPPET = RenderPipeline.builder()
.withUniform("DynamicTransforms", UniformType.UNIFORM_BUFFER)
.withUniform("Projection", UniformType.UNIFORM_BUFFER)
.buildSnippet();
private static final RenderPipeline.Snippet FOG_SNIPPET = RenderPipeline.builder().withUniform("Fog", UniformType.UNIFORM_BUFFER).buildSnippet();
private static final RenderPipeline.Snippet GLOBALS_SNIPPET = RenderPipeline.builder().withUniform("Globals", UniformType.UNIFORM_BUFFER).buildSnippet();
private static final RenderPipeline.Snippet MATRICES_FOG_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET, FOG_SNIPPET).buildSnippet();
private static final RenderPipeline.Snippet MATRICES_FOG_LIGHT_DIR_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET, FOG_SNIPPET)
.withUniform("Lighting", UniformType.UNIFORM_BUFFER)
.buildSnippet();
private static final RenderPipeline.Snippet GENERIC_BLOCKS_SNIPPET = RenderPipeline.builder(FOG_SNIPPET)
.withSampler("Sampler0")
.withSampler("Sampler2")
.withVertexFormat(DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet TERRAIN_SNIPPET = RenderPipeline.builder(GENERIC_BLOCKS_SNIPPET)
.withUniform("Projection", UniformType.UNIFORM_BUFFER)
.withUniform("ChunkSection", UniformType.UNIFORM_BUFFER)
.withVertexShader("core/terrain")
.withFragmentShader("core/terrain")
.buildSnippet();
private static final RenderPipeline.Snippet BLOCK_SNIPPET = RenderPipeline.builder(GENERIC_BLOCKS_SNIPPET, MATRICES_PROJECTION_SNIPPET)
.withVertexShader("core/block")
.withFragmentShader("core/block")
.buildSnippet();
private static final RenderPipeline.Snippet ENTITY_SNIPPET = RenderPipeline.builder(MATRICES_FOG_LIGHT_DIR_SNIPPET)
.withVertexShader("core/entity")
.withFragmentShader("core/entity")
.withSampler("Sampler0")
.withSampler("Sampler2")
.withVertexFormat(DefaultVertexFormat.ENTITY, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet ENTITY_EMISSIVE_SNIPPET = RenderPipeline.builder(MATRICES_FOG_LIGHT_DIR_SNIPPET)
.withVertexShader("core/entity")
.withFragmentShader("core/entity")
.withSampler("Sampler0")
.withVertexFormat(DefaultVertexFormat.ENTITY, VertexFormat.Mode.QUADS)
.withShaderDefine("EMISSIVE")
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet BEACON_BEAM_SNIPPET = RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withVertexShader("core/rendertype_beacon_beam")
.withFragmentShader("core/rendertype_beacon_beam")
.withSampler("Sampler0")
.withVertexFormat(DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet ITEM_SNIPPET = RenderPipeline.builder(MATRICES_FOG_LIGHT_DIR_SNIPPET)
.withVertexShader("core/item")
.withFragmentShader("core/item")
.withSampler("Sampler0")
.withSampler("Sampler2")
.withVertexFormat(DefaultVertexFormat.ENTITY, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet TEXT_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet END_PORTAL_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET, FOG_SNIPPET, GLOBALS_SNIPPET)
.withVertexShader("core/rendertype_end_portal")
.withFragmentShader("core/rendertype_end_portal")
.withSampler("Sampler0")
.withSampler("Sampler1")
.withVertexFormat(DefaultVertexFormat.POSITION, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet CLOUDS_SNIPPET = RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withVertexShader("core/rendertype_clouds")
.withFragmentShader("core/rendertype_clouds")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.EMPTY, VertexFormat.Mode.QUADS)
.withUniform("CloudInfo", UniformType.UNIFORM_BUFFER)
.withUniform("CloudFaces", UniformType.TEXEL_BUFFER, TextureFormat.RED8I)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet LINES_SNIPPET = RenderPipeline.builder(MATRICES_FOG_SNIPPET, GLOBALS_SNIPPET)
.withVertexShader("core/rendertype_lines")
.withFragmentShader("core/rendertype_lines")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withCull(false)
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR_NORMAL_LINE_WIDTH, VertexFormat.Mode.LINES)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet DEBUG_FILLED_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withVertexShader("core/position_color")
.withFragmentShader("core/position_color")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.QUADS)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.buildSnippet();
private static final RenderPipeline.Snippet PARTICLE_SNIPPET = RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withVertexShader("core/particle")
.withFragmentShader("core/particle")
.withSampler("Sampler0")
.withSampler("Sampler2")
.withVertexFormat(DefaultVertexFormat.PARTICLE, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.buildSnippet();
private static final RenderPipeline.Snippet WEATHER_SNIPPET = RenderPipeline.builder(PARTICLE_SNIPPET)
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withCull(false)
.buildSnippet();
private static final RenderPipeline.Snippet GUI_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withVertexShader("core/gui")
.withFragmentShader("core/gui")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.QUADS)
.buildSnippet();
private static final RenderPipeline.Snippet GUI_TEXTURED_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withVertexShader("core/position_tex_color")
.withFragmentShader("core/position_tex_color")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.POSITION_TEX_COLOR, VertexFormat.Mode.QUADS)
.buildSnippet();
private static final RenderPipeline.Snippet GUI_TEXT_SNIPPET = RenderPipeline.builder(TEXT_SNIPPET).withDepthStencilState(Optional.empty()).buildSnippet();
private static final RenderPipeline.Snippet OUTLINE_SNIPPET = RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withVertexShader("core/rendertype_outline")
.withFragmentShader("core/rendertype_outline")
.withSampler("Sampler0")
.withVertexFormat(DefaultVertexFormat.POSITION_TEX_COLOR, VertexFormat.Mode.QUADS)
.buildSnippet();
public static final RenderPipeline.Snippet POST_PROCESSING_SNIPPET = RenderPipeline.builder()
.withVertexFormat(DefaultVertexFormat.EMPTY, VertexFormat.Mode.TRIANGLES)
.buildSnippet();
public static final RenderPipeline SOLID_BLOCK = register(RenderPipeline.builder(BLOCK_SNIPPET).withLocation("pipeline/solid_block").build());
public static final RenderPipeline SOLID_TERRAIN = register(RenderPipeline.builder(TERRAIN_SNIPPET).withLocation("pipeline/solid_terrain").build());
public static final RenderPipeline WIREFRAME = register(
RenderPipeline.builder(TERRAIN_SNIPPET).withLocation("pipeline/wireframe").withPolygonMode(PolygonMode.WIREFRAME).build()
);
public static final RenderPipeline CUTOUT_BLOCK = register(
RenderPipeline.builder(BLOCK_SNIPPET).withLocation("pipeline/cutout_block").withShaderDefine("ALPHA_CUTOUT", 0.5F).build()
);
public static final RenderPipeline CUTOUT_TERRAIN = register(
RenderPipeline.builder(TERRAIN_SNIPPET).withLocation("pipeline/cutout_terrain").withShaderDefine("ALPHA_CUTOUT", 0.5F).build()
);
public static final RenderPipeline TRANSLUCENT_TERRAIN = register(
RenderPipeline.builder(TERRAIN_SNIPPET)
.withLocation("pipeline/translucent_terrain")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withShaderDefine("ALPHA_CUTOUT", 0.01F)
.build()
);
public static final RenderPipeline TRANSLUCENT_BLOCK = register(
RenderPipeline.builder(BLOCK_SNIPPET)
.withLocation("pipeline/translucent_block")
.withShaderDefine("ALPHA_CUTOUT", 0.01F)
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline ARMOR_CUTOUT_NO_CULL = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/armor_cutout_no_cull")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("NO_OVERLAY")
.withShaderDefine("PER_FACE_LIGHTING")
.withCull(false)
.build()
);
public static final RenderPipeline ARMOR_DECAL_CUTOUT_NO_CULL = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/armor_decal_cutout_no_cull")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("NO_OVERLAY")
.withShaderDefine("PER_FACE_LIGHTING")
.withCull(false)
.withDepthStencilState(new DepthStencilState(CompareOp.EQUAL, false))
.build()
);
public static final RenderPipeline ARMOR_TRANSLUCENT = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/armor_translucent")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("NO_OVERLAY")
.withShaderDefine("PER_FACE_LIGHTING")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withCull(false)
.build()
);
public static final RenderPipeline ENTITY_SOLID = register(
RenderPipeline.builder(ENTITY_SNIPPET).withLocation("pipeline/entity_solid").withSampler("Sampler1").build()
);
public static final RenderPipeline ENTITY_SOLID_Z_OFFSET_FORWARD = register(
RenderPipeline.builder(ENTITY_SNIPPET).withLocation("pipeline/entity_solid_offset_forward").withSampler("Sampler1").build()
);
public static final RenderPipeline ENTITY_CUTOUT_CULL = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/entity_cutout_cull")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withSampler("Sampler1")
.build()
);
public static final RenderPipeline ENTITY_CUTOUT = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/entity_cutout")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("PER_FACE_LIGHTING")
.withSampler("Sampler1")
.withCull(false)
.build()
);
public static final RenderPipeline ENTITY_CUTOUT_Z_OFFSET = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/entity_cutout_z_offset")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("PER_FACE_LIGHTING")
.withSampler("Sampler1")
.withCull(false)
.build()
);
public static final RenderPipeline ENTITY_CUTOUT_DISSOLVE = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/entity_cutout_dissolve")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("PER_FACE_LIGHTING")
.withShaderDefine("DISSOLVE")
.withSampler("Sampler1")
.withSampler("DissolveMaskSampler")
.withCull(false)
.build()
);
public static final RenderPipeline ENTITY_TRANSLUCENT = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/entity_translucent")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("PER_FACE_LIGHTING")
.withSampler("Sampler1")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withCull(false)
.build()
);
public static final RenderPipeline ENTITY_TRANSLUCENT_EMISSIVE = register(
RenderPipeline.builder(ENTITY_EMISSIVE_SNIPPET)
.withLocation("pipeline/entity_translucent_emissive")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("PER_FACE_LIGHTING")
.withSampler("Sampler1")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withCull(false)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline ENTITY_TRANSLUCENT_CULL = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/entity_translucent_cull")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withSampler("Sampler1")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.build()
);
public static final RenderPipeline END_CRYSTAL_BEAM = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/end_crystal_beam")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("NO_OVERLAY")
.withCull(false)
.build()
);
public static final RenderPipeline BANNER_PATTERN = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/banner_pattern")
.withShaderDefine("NO_OVERLAY")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline BREEZE_WIND = register(
RenderPipeline.builder(ENTITY_SNIPPET)
.withLocation("pipeline/breeze_wind")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("APPLY_TEXTURE_MATRIX")
.withShaderDefine("NO_OVERLAY")
.withShaderDefine("NO_CARDINAL_LIGHTING")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withCull(false)
.build()
);
public static final RenderPipeline ENERGY_SWIRL = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/energy_swirl")
.withVertexShader("core/entity")
.withFragmentShader("core/entity")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withShaderDefine("EMISSIVE")
.withShaderDefine("NO_OVERLAY")
.withShaderDefine("NO_CARDINAL_LIGHTING")
.withShaderDefine("APPLY_TEXTURE_MATRIX")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.ADDITIVE))
.withCull(false)
.withVertexFormat(DefaultVertexFormat.ENTITY, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline EYES = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/eyes")
.withVertexShader("core/entity")
.withFragmentShader("core/entity")
.withShaderDefine("EMISSIVE")
.withShaderDefine("NO_OVERLAY")
.withShaderDefine("NO_CARDINAL_LIGHTING")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.ENTITY, VertexFormat.Mode.QUADS)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline ENTITY_SHADOW = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/entity_shadow")
.withVertexShader("core/rendertype_entity_shadow")
.withFragmentShader("core/rendertype_entity_shadow")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.ENTITY, VertexFormat.Mode.QUADS)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline ITEM_CUTOUT = register(
RenderPipeline.builder(ITEM_SNIPPET).withLocation("pipeline/item_cutout").withShaderDefine("ALPHA_CUTOUT", 0.1F).build()
);
public static final RenderPipeline ITEM_TRANSLUCENT = register(
RenderPipeline.builder(ITEM_SNIPPET)
.withLocation("pipeline/item_translucent")
.withShaderDefine("ALPHA_CUTOUT", 0.1F)
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.build()
);
public static final RenderPipeline BEACON_BEAM_OPAQUE = register(
RenderPipeline.builder(BEACON_BEAM_SNIPPET).withLocation("pipeline/beacon_beam_opaque").build()
);
public static final RenderPipeline BEACON_BEAM_TRANSLUCENT = register(
RenderPipeline.builder(BEACON_BEAM_SNIPPET)
.withLocation("pipeline/beacon_beam_translucent")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline LEASH = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/leash")
.withVertexShader("core/rendertype_leash")
.withFragmentShader("core/rendertype_leash")
.withSampler("Sampler2")
.withCull(false)
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR_LIGHTMAP, VertexFormat.Mode.TRIANGLE_STRIP)
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline WATER_MASK = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/water_mask")
.withVertexShader("core/rendertype_water_mask")
.withFragmentShader("core/rendertype_water_mask")
.withColorTargetState(new ColorTargetState(Optional.of(BlendFunction.TRANSLUCENT), 0))
.withVertexFormat(DefaultVertexFormat.POSITION, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline GLINT = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET, FOG_SNIPPET, GLOBALS_SNIPPET)
.withLocation("pipeline/glint")
.withVertexShader("core/glint")
.withFragmentShader("core/glint")
.withSampler("Sampler0")
.withCull(false)
.withColorTargetState(new ColorTargetState(BlendFunction.GLINT))
.withVertexFormat(DefaultVertexFormat.POSITION_TEX, VertexFormat.Mode.QUADS)
.withDepthStencilState(new DepthStencilState(CompareOp.EQUAL, false))
.build()
);
public static final RenderPipeline CRUMBLING = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/crumbling")
.withVertexShader("core/rendertype_crumbling")
.withFragmentShader("core/rendertype_crumbling")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(new BlendFunction(SourceFactor.DST_COLOR, DestFactor.SRC_COLOR, SourceFactor.ONE, DestFactor.ZERO)))
.withVertexFormat(DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false, -1.0F, -10.0F))
.build()
);
public static final RenderPipeline TEXT = register(
RenderPipeline.builder(TEXT_SNIPPET, FOG_SNIPPET)
.withLocation("pipeline/text")
.withVertexShader("core/rendertype_text")
.withFragmentShader("core/rendertype_text")
.withSampler("Sampler0")
.withSampler("Sampler2")
.build()
);
public static final RenderPipeline GUI_TEXT = register(
RenderPipeline.builder(GUI_TEXT_SNIPPET, FOG_SNIPPET)
.withLocation("pipeline/gui_text")
.withVertexShader("core/rendertype_text")
.withFragmentShader("core/rendertype_text")
.withSampler("Sampler0")
.withSampler("Sampler2")
.build()
);
public static final RenderPipeline TEXT_BACKGROUND = register(
RenderPipeline.builder(TEXT_SNIPPET, FOG_SNIPPET)
.withLocation("pipeline/text_background")
.withVertexShader("core/rendertype_text_background")
.withFragmentShader("core/rendertype_text_background")
.withSampler("Sampler2")
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR_LIGHTMAP, VertexFormat.Mode.QUADS)
.build()
);
public static final RenderPipeline TEXT_INTENSITY = register(
RenderPipeline.builder(TEXT_SNIPPET, FOG_SNIPPET)
.withLocation("pipeline/text_intensity")
.withVertexShader("core/rendertype_text_intensity")
.withFragmentShader("core/rendertype_text_intensity")
.withSampler("Sampler0")
.withSampler("Sampler2")
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, true, -1.0F, -10.0F))
.build()
);
public static final RenderPipeline GUI_TEXT_INTENSITY = register(
RenderPipeline.builder(GUI_TEXT_SNIPPET, FOG_SNIPPET)
.withLocation("pipeline/gui_text_intensity")
.withVertexShader("core/rendertype_text_intensity")
.withFragmentShader("core/rendertype_text_intensity")
.withSampler("Sampler0")
.withSampler("Sampler2")
.build()
);
public static final RenderPipeline TEXT_POLYGON_OFFSET = register(
RenderPipeline.builder(TEXT_SNIPPET, FOG_SNIPPET)
.withLocation("pipeline/text_polygon_offset")
.withVertexShader("core/rendertype_text")
.withFragmentShader("core/rendertype_text")
.withSampler("Sampler0")
.withSampler("Sampler2")
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, true, -1.0F, -10.0F))
.build()
);
public static final RenderPipeline TEXT_SEE_THROUGH = register(
RenderPipeline.builder(TEXT_SNIPPET)
.withLocation("pipeline/text_see_through")
.withVertexShader("core/rendertype_text_see_through")
.withFragmentShader("core/rendertype_text_see_through")
.withSampler("Sampler0")
.withDepthStencilState(Optional.empty())
.build()
);
public static final RenderPipeline TEXT_BACKGROUND_SEE_THROUGH = register(
RenderPipeline.builder(TEXT_SNIPPET)
.withLocation("pipeline/text_background_see_through")
.withVertexShader("core/rendertype_text_background_see_through")
.withFragmentShader("core/rendertype_text_background_see_through")
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR_LIGHTMAP, VertexFormat.Mode.QUADS)
.withDepthStencilState(Optional.empty())
.build()
);
public static final RenderPipeline TEXT_INTENSITY_SEE_THROUGH = register(
RenderPipeline.builder(TEXT_SNIPPET)
.withLocation("pipeline/text_intensity_see_through")
.withVertexShader("core/rendertype_text_intensity_see_through")
.withFragmentShader("core/rendertype_text_intensity_see_through")
.withSampler("Sampler0")
.withDepthStencilState(Optional.empty())
.build()
);
public static final RenderPipeline LIGHTNING = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/lightning")
.withVertexShader("core/rendertype_lightning")
.withFragmentShader("core/rendertype_lightning")
.withColorTargetState(new ColorTargetState(BlendFunction.LIGHTNING))
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.QUADS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline DRAGON_RAYS = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/dragon_rays")
.withVertexShader("core/rendertype_lightning")
.withFragmentShader("core/rendertype_lightning")
.withColorTargetState(new ColorTargetState(BlendFunction.LIGHTNING))
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.TRIANGLES)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline DRAGON_RAYS_DEPTH = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/dragon_rays_depth")
.withVertexShader("core/position")
.withFragmentShader("core/position")
.withColorTargetState(new ColorTargetState(Optional.empty(), 0))
.withVertexFormat(DefaultVertexFormat.POSITION, VertexFormat.Mode.TRIANGLES)
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline END_PORTAL = register(
RenderPipeline.builder(END_PORTAL_SNIPPET).withLocation("pipeline/end_portal").withShaderDefine("PORTAL_LAYERS", 15).build()
);
public static final RenderPipeline END_GATEWAY = register(
RenderPipeline.builder(END_PORTAL_SNIPPET).withLocation("pipeline/end_gateway").withShaderDefine("PORTAL_LAYERS", 16).build()
);
public static final RenderPipeline FLAT_CLOUDS = register(
RenderPipeline.builder(CLOUDS_SNIPPET).withLocation("pipeline/flat_clouds").withCull(false).build()
);
public static final RenderPipeline CLOUDS = register(RenderPipeline.builder(CLOUDS_SNIPPET).withLocation("pipeline/clouds").build());
public static final RenderPipeline LINES = register(RenderPipeline.builder(LINES_SNIPPET).withLocation("pipeline/lines").build());
public static final RenderPipeline LINES_TRANSLUCENT = register(
RenderPipeline.builder(LINES_SNIPPET)
.withLocation("pipeline/lines_translucent")
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline LINES_DEPTH_BIAS = register(
RenderPipeline.builder(LINES_SNIPPET)
.withLocation("pipeline/lines_depth_bias")
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, true, -1.0F, -1.0F))
.build()
);
public static final RenderPipeline SECONDARY_BLOCK_OUTLINE = register(
RenderPipeline.builder(LINES_SNIPPET)
.withLocation("pipeline/secondary_block_outline")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline DEBUG_POINTS = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/debug_points")
.withVertexShader("core/debug_point")
.withFragmentShader("core/position_color")
.withCull(false)
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR_LINE_WIDTH, VertexFormat.Mode.POINTS)
.withDepthStencilState(DepthStencilState.DEFAULT)
.build()
);
public static final RenderPipeline DEBUG_FILLED_BOX = register(
RenderPipeline.builder(DEBUG_FILLED_SNIPPET).withLocation("pipeline/debug_filled_box").build()
);
public static final RenderPipeline DEBUG_QUADS = register(
RenderPipeline.builder(DEBUG_FILLED_SNIPPET).withLocation("pipeline/debug_quads").withCull(false).build()
);
public static final RenderPipeline DEBUG_TRIANGLE_FAN = register(
RenderPipeline.builder(DEBUG_FILLED_SNIPPET)
.withLocation("pipeline/debug_triangle_fan")
.withCull(false)
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.TRIANGLE_FAN)
.build()
);
public static final RenderPipeline WORLD_BORDER = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/world_border")
.withVertexShader("core/rendertype_world_border")
.withFragmentShader("core/rendertype_world_border")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.OVERLAY))
.withCull(false)
.withVertexFormat(DefaultVertexFormat.POSITION_TEX, VertexFormat.Mode.QUADS)
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, true, -3.0F, -3.0F))
.build()
);
public static final RenderPipeline OPAQUE_PARTICLE = register(RenderPipeline.builder(PARTICLE_SNIPPET).withLocation("pipeline/opaque_particle").build());
public static final RenderPipeline TRANSLUCENT_PARTICLE = register(
RenderPipeline.builder(PARTICLE_SNIPPET)
.withLocation("pipeline/translucent_particle")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.build()
);
public static final RenderPipeline WEATHER_DEPTH_WRITE = register(
RenderPipeline.builder(WEATHER_SNIPPET).withLocation("pipeline/weather_depth_write").build()
);
public static final RenderPipeline WEATHER_NO_DEPTH_WRITE = register(
RenderPipeline.builder(WEATHER_SNIPPET)
.withLocation("pipeline/weather_no_depth_write")
.withDepthStencilState(new DepthStencilState(CompareOp.LESS_THAN_OR_EQUAL, false))
.build()
);
public static final RenderPipeline SKY = register(
RenderPipeline.builder(MATRICES_FOG_SNIPPET)
.withLocation("pipeline/sky")
.withVertexShader("core/sky")
.withFragmentShader("core/sky")
.withVertexFormat(DefaultVertexFormat.POSITION, VertexFormat.Mode.TRIANGLE_FAN)
.build()
);
public static final RenderPipeline END_SKY = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/end_sky")
.withVertexShader("core/position_tex_color")
.withFragmentShader("core/position_tex_color")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.POSITION_TEX_COLOR, VertexFormat.Mode.QUADS)
.build()
);
public static final RenderPipeline SUNRISE_SUNSET = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/sunrise_sunset")
.withVertexShader("core/position_color")
.withFragmentShader("core/position_color")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT))
.withVertexFormat(DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.TRIANGLE_FAN)
.build()
);
public static final RenderPipeline STARS = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/stars")
.withVertexShader("core/stars")
.withFragmentShader("core/stars")
.withColorTargetState(new ColorTargetState(BlendFunction.OVERLAY))
.withVertexFormat(DefaultVertexFormat.POSITION, VertexFormat.Mode.QUADS)
.build()
);
public static final RenderPipeline CELESTIAL = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/celestial")
.withVertexShader("core/position_tex")
.withFragmentShader("core/position_tex")
.withSampler("Sampler0")
.withColorTargetState(new ColorTargetState(BlendFunction.OVERLAY))
.withVertexFormat(DefaultVertexFormat.POSITION_TEX, VertexFormat.Mode.QUADS)
.build()
);
public static final RenderPipeline GUI = register(RenderPipeline.builder(GUI_SNIPPET).withLocation("pipeline/gui").build());
public static final RenderPipeline GUI_INVERT = register(
RenderPipeline.builder(GUI_SNIPPET).withLocation("pipeline/gui_invert").withColorTargetState(new ColorTargetState(BlendFunction.INVERT)).build()
);
public static final RenderPipeline GUI_TEXT_HIGHLIGHT = register(
RenderPipeline.builder(GUI_SNIPPET)
.withLocation("pipeline/gui_text_highlight")
.withColorTargetState(new ColorTargetState(BlendFunction.ADDITIVE))
.build()
);
public static final RenderPipeline GUI_TEXTURED = register(RenderPipeline.builder(GUI_TEXTURED_SNIPPET).withLocation("pipeline/gui_textured").build());
public static final RenderPipeline GUI_TEXTURED_PREMULTIPLIED_ALPHA = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET)
.withLocation("pipeline/gui_textured_premultiplied_alpha")
.withColorTargetState(new ColorTargetState(BlendFunction.TRANSLUCENT_PREMULTIPLIED_ALPHA))
.build()
);
public static final RenderPipeline BLOCK_SCREEN_EFFECT = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET).withLocation("pipeline/block_screen_effect").build()
);
public static final RenderPipeline FIRE_SCREEN_EFFECT = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET).withLocation("pipeline/fire_screen_effect").build()
);
public static final RenderPipeline GUI_OPAQUE_TEXTURED_BACKGROUND = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET)
.withLocation("pipeline/gui_opaque_textured_background")
.withColorTargetState(new ColorTargetState(Optional.empty(), 15))
.build()
);
public static final RenderPipeline GUI_NAUSEA_OVERLAY = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET)
.withLocation("pipeline/gui_nausea_overlay")
.withColorTargetState(new ColorTargetState(BlendFunction.ADDITIVE))
.build()
);
public static final RenderPipeline VIGNETTE = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET)
.withLocation("pipeline/vignette")
.withColorTargetState(new ColorTargetState(new BlendFunction(SourceFactor.ZERO, DestFactor.ONE_MINUS_SRC_COLOR, SourceFactor.ZERO, DestFactor.ONE)))
.build()
);
public static final RenderPipeline CROSSHAIR = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET)
.withLocation("pipeline/crosshair")
.withColorTargetState(new ColorTargetState(BlendFunction.INVERT))
.build()
);
public static final RenderPipeline MOJANG_LOGO = register(
RenderPipeline.builder(GUI_TEXTURED_SNIPPET)
.withLocation("pipeline/mojang_logo")
.withColorTargetState(new ColorTargetState(new BlendFunction(SourceFactor.SRC_ALPHA, DestFactor.ONE)))
.build()
);
public static final RenderPipeline ENTITY_OUTLINE_BLIT = register(
RenderPipeline.builder()
.withLocation("pipeline/entity_outline_blit")
.withVertexShader("core/screenquad")
.withFragmentShader("core/blit_screen")
.withSampler("InSampler")
.withColorTargetState(new ColorTargetState(Optional.of(BlendFunction.ENTITY_OUTLINE_BLIT), 7))
.withVertexFormat(DefaultVertexFormat.EMPTY, VertexFormat.Mode.TRIANGLES)
.build()
);
public static final RenderPipeline TRACY_BLIT = register(
RenderPipeline.builder()
.withLocation("pipeline/tracy_blit")
.withVertexShader("core/screenquad")
.withFragmentShader("core/blit_screen")
.withSampler("InSampler")
.withVertexFormat(DefaultVertexFormat.EMPTY, VertexFormat.Mode.TRIANGLES)
.build()
);
public static final RenderPipeline PANORAMA = register(
RenderPipeline.builder(MATRICES_PROJECTION_SNIPPET)
.withLocation("pipeline/panorama")
.withVertexShader("core/panorama")
.withFragmentShader("core/panorama")
.withSampler("Sampler0")
.withVertexFormat(DefaultVertexFormat.POSITION, VertexFormat.Mode.QUADS)
.build()
);
public static final RenderPipeline OUTLINE_CULL = register(RenderPipeline.builder(OUTLINE_SNIPPET).withLocation("pipeline/outline_cull").build());
public static final RenderPipeline OUTLINE_NO_CULL = register(
RenderPipeline.builder(OUTLINE_SNIPPET).withLocation("pipeline/outline_no_cull").withCull(false).build()
);
public static final RenderPipeline LIGHTMAP = register(
RenderPipeline.builder()
.withLocation("pipeline/lightmap")
.withVertexShader("core/screenquad")
.withFragmentShader("core/lightmap")
.withUniform("LightmapInfo", UniformType.UNIFORM_BUFFER)
.withVertexFormat(DefaultVertexFormat.EMPTY, VertexFormat.Mode.TRIANGLES)
.build()
);
public static final RenderPipeline.Snippet ANIMATE_SPRITE_SNIPPET = RenderPipeline.builder()
.withVertexShader("core/animate_sprite")
.withUniform("SpriteAnimationInfo", UniformType.UNIFORM_BUFFER)
.withVertexFormat(DefaultVertexFormat.EMPTY, VertexFormat.Mode.TRIANGLES)
.buildSnippet();
public static final RenderPipeline ANIMATE_SPRITE_BLIT = register(
RenderPipeline.builder(ANIMATE_SPRITE_SNIPPET)
.withFragmentShader("core/animate_sprite_blit")
.withLocation("pipeline/animate_sprite_blit")
.withSampler("Sprite")
.build()
);
public static final RenderPipeline ANIMATE_SPRITE_INTERPOLATE = register(
RenderPipeline.builder(ANIMATE_SPRITE_SNIPPET)
.withFragmentShader("core/animate_sprite_interpolate")
.withLocation("pipeline/animate_sprite_interpolate")
.withSampler("CurrentSprite")
.withSampler("NextSprite")
.build()
);
private static RenderPipeline register(RenderPipeline pipeline) {
PIPELINES_BY_LOCATION.put(pipeline.getLocation(), pipeline);
return pipeline;
}
public static List<RenderPipeline> getStaticPipelines() {
return PIPELINES_BY_LOCATION.values().stream().toList();
}
}引用的其他类
-
- 引用位置:
构造调用 - 关联成员:
BlendFunction()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
ColorTargetState()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
DepthStencilState()
- 引用位置:
-
- 引用位置:
参数/字段/方法调用/返回值 - 关联成员:
RenderPipeline.builder()
- 引用位置:
-
- 引用位置:
字段
- 引用位置: