Package net.minecraft.client.renderer
Class ShaderManager
java.lang.Object
net.neoforged.neoforge.resource.ContextAwareReloadListener
net.minecraft.server.packs.resources.SimplePreparableReloadListener<ShaderManager.Configs>
net.minecraft.client.renderer.ShaderManager
- All Implemented Interfaces:
AutoCloseable,PreparableReloadListener
public class ShaderManager
extends SimplePreparableReloadListener<ShaderManager.Configs>
implements AutoCloseable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classstatic classstatic final record(package private) static final recordNested classes/interfaces inherited from interface net.minecraft.server.packs.resources.PreparableReloadListener
PreparableReloadListener.PreparationBarrier -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ShaderManager.CompilationCache(package private) static final org.slf4j.Loggerstatic final intprivate static final FileToIdConverter(package private) final CachedOrthoProjectionMatrixBufferprivate static final Stringstatic final String(package private) final TextureManager -
Constructor Summary
ConstructorsConstructorDescriptionShaderManager(TextureManager pTextureManager, Consumer<Exception> pRecoveryHandler) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapply(ShaderManager.Configs pObject, ResourceManager pResourceManager, ProfilerFiller pProfiler) voidclose()private static GlslPreprocessorcreatePreprocessor(Map<ResourceLocation, Resource> pShaderResources, ResourceLocation pShaderLocation) getName()getPostChain(ResourceLocation pId, Set<ResourceLocation> pExternalTargets) getShader(ResourceLocation pId, ShaderType pType) private static booleanisShader(ResourceLocation p_366565_) private static voidloadPostChain(ResourceLocation pLocation, Resource pPostChain, ImmutableMap.Builder<ResourceLocation, PostChainConfig> pOutput) private static voidloadShader(ResourceLocation pLocation, Resource pShader, ShaderType pType, Map<ResourceLocation, Resource> pShaderResources, ImmutableMap.Builder<ShaderManager.ShaderSourceKey, String> pOutput) protected ShaderManager.Configsprepare(ResourceManager pResourceManager, ProfilerFiller pProfiler) Performs any reloading that can be done off-thread, such as file IOprivate voidtryTriggerRecovery(Exception pException) Methods inherited from class net.minecraft.server.packs.resources.SimplePreparableReloadListener
reloadMethods inherited from class net.neoforged.neoforge.resource.ContextAwareReloadListener
getContext, getRegistryLookup, injectContext, makeConditionalOps, makeConditionalOps
-
Field Details
-
LOGGER
static final org.slf4j.Logger LOGGER -
MAX_LOG_LENGTH
public static final int MAX_LOG_LENGTH- See Also:
-
SHADER_PATH
- See Also:
-
SHADER_INCLUDE_PATH
- See Also:
-
POST_CHAIN_ID_CONVERTER
-
textureManager
-
recoveryHandler
-
compilationCache
-
postChainProjectionMatrixBuffer
-
-
Constructor Details
-
ShaderManager
-
-
Method Details
-
prepare
Performs any reloading that can be done off-thread, such as file IO- Specified by:
preparein classSimplePreparableReloadListener<ShaderManager.Configs>
-
loadShader
private static void loadShader(ResourceLocation pLocation, Resource pShader, ShaderType pType, Map<ResourceLocation, Resource> pShaderResources, ImmutableMap.Builder<ShaderManager.ShaderSourceKey, String> pOutput) -
createPreprocessor
private static GlslPreprocessor createPreprocessor(Map<ResourceLocation, Resource> pShaderResources, ResourceLocation pShaderLocation) -
loadPostChain
private static void loadPostChain(ResourceLocation pLocation, Resource pPostChain, ImmutableMap.Builder<ResourceLocation, PostChainConfig> pOutput) -
isShader
-
apply
protected void apply(ShaderManager.Configs pObject, ResourceManager pResourceManager, ProfilerFiller pProfiler) - Specified by:
applyin classSimplePreparableReloadListener<ShaderManager.Configs>
-
getName
- Specified by:
getNamein interfacePreparableReloadListener
-
tryTriggerRecovery
-
getPostChain
@Nullable public PostChain getPostChain(ResourceLocation pId, Set<ResourceLocation> pExternalTargets) -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
getShader
-