Class FrontendRenderPass
java.lang.Object
com.mojang.renderpearl.frontend.FrontendRenderPass
- All Implemented Interfaces:
RenderPass, RenderPass.UniformUploader, UncheckedAutoCloseable, AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from interface RenderPass
RenderPass.Draw<T>, RenderPass.RenderArea, RenderPass.UniformUploader -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final RenderPassBackendprivate @Nullable FrontendRenderPipelineprivate final List<@Nullable RenderPassDescriptor.Attachment<Optional<Vector4fc>>> private booleanprivate final GpuDeviceBackendprivate final DeviceFeaturesprivate final DeviceLimitsprivate final booleanprivate booleanprivate final Runnableprivate intprivate final @Nullable RenderPass.RenderAreaprivate final @Nullable GpuBufferSlice[]Fields inherited from interface RenderPass
INDIRECT_DRAW_SIZE, INDIRECT_INDEXED_DRAW_SIZE, MAX_VERTEX_BUFFERS -
Constructor Summary
ConstructorsConstructorDescriptionFrontendRenderPass(RenderPassBackend backend, GpuDeviceBackend device, List<@Nullable RenderPassDescriptor.Attachment<Optional<Vector4fc>>> colorAttachments, boolean hasDepthAttachment, Runnable onFinish, @Nullable RenderPass.RenderArea renderArea) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidvoiddraw(int vertexCount, int instanceCount, int firstVertex, int firstInstance) voiddrawIndexed(int indexCount, int instanceCount, int firstIndex, int vertexOffset, int firstInstance) voiddrawIndexedIndirect(GpuBufferSlice commands, int drawCount) voiddrawIndirect(GpuBufferSlice commands, int drawCount) <T> voiddrawMultipleIndexed(Collection<RenderPass.Draw<T>> draws, @Nullable GpuBuffer defaultIndexBuffer, @Nullable IndexType defaultIndexType, Collection<String> dynamicUniforms, T uniformArgument) voidenableScissor(int x, int y, int width, int height) voidvoidvoidmultiDrawIndexed(IntBuffer drawParameters, int instanceCount, int firstInstance, int drawCount) voidmultiDrawIndexed(org.lwjgl.PointerBuffer firstIndexOffsets, IntBuffer indexCounts, IntBuffer vertexOffsets, int drawCount) voidvoidpushConstants(ByteBuffer value) voidpushDebugGroup(Supplier<String> label) voidsetIndexBuffer(GpuBuffer indexBuffer, IndexType indexType) voidsetPipeline(CompiledRenderPipeline pipeline) voidsetUniform(String name, GpuBuffer value) voidsetUniform(String name, GpuBufferSlice value) voidsetUniform(String name, @Nullable GpuTextureView textureView, @Nullable GpuSampler sampler) private voidsetUniform(String name, @Nullable Object value) voidsetVertexBuffer(int slot, @Nullable GpuBufferSlice vertexBuffer) voidsetViewport(int x, int y, int width, int height) private voidvalidateDraw(Collection<String> dynamicUniforms, boolean dynamicVertexBuffer, boolean indexed) voidwriteTimestamp(GpuQueryPool pool, int index)
-
Field Details
-
backend
-
device
-
deviceFeatures
-
deviceLimits
-
onFinish
-
renderArea
-
colorAttachments
-
hasDepthAttachment
private final boolean hasDepthAttachment -
isClosed
private boolean isClosed -
pushedDebugGroups
private int pushedDebugGroups -
boundPipeline
-
vertexBuffers
-
indexBuffer
-
uniforms
-
constantsPushed
private boolean constantsPushed
-
-
Constructor Details
-
FrontendRenderPass
public FrontendRenderPass(RenderPassBackend backend, GpuDeviceBackend device, List<@Nullable RenderPassDescriptor.Attachment<Optional<Vector4fc>>> colorAttachments, boolean hasDepthAttachment, Runnable onFinish, @Nullable RenderPass.RenderArea renderArea)
-
-
Method Details
-
pushDebugGroup
- Specified by:
pushDebugGroupin interfaceRenderPass
-
popDebugGroup
public void popDebugGroup()- Specified by:
popDebugGroupin interfaceRenderPass
-
writeTimestamp
- Specified by:
writeTimestampin interfaceRenderPass
-
setPipeline
- Specified by:
setPipelinein interfaceRenderPass
-
setUniform
public void setUniform(String name, @Nullable GpuTextureView textureView, @Nullable GpuSampler sampler) - Specified by:
setUniformin interfaceRenderPass
-
setUniform
- Specified by:
setUniformin interfaceRenderPass
-
setUniform
- Specified by:
setUniformin interfaceRenderPass- Specified by:
setUniformin interfaceRenderPass.UniformUploader
-
setUniform
-
pushConstants
- Specified by:
pushConstantsin interfaceRenderPass- Specified by:
pushConstantsin interfaceRenderPass.UniformUploader
-
setViewport
public void setViewport(int x, int y, int width, int height) - Specified by:
setViewportin interfaceRenderPass
-
enableScissor
public void enableScissor(int x, int y, int width, int height) - Specified by:
enableScissorin interfaceRenderPass
-
disableScissor
public void disableScissor()- Specified by:
disableScissorin interfaceRenderPass
-
setVertexBuffer
- Specified by:
setVertexBufferin interfaceRenderPass
-
setIndexBuffer
- Specified by:
setIndexBufferin interfaceRenderPass
-
drawIndexed
public void drawIndexed(int indexCount, int instanceCount, int firstIndex, int vertexOffset, int firstInstance) - Specified by:
drawIndexedin interfaceRenderPass
-
multiDrawIndexed
public void multiDrawIndexed(IntBuffer drawParameters, int instanceCount, int firstInstance, int drawCount) - Specified by:
multiDrawIndexedin interfaceRenderPass
-
multiDrawIndexed
public void multiDrawIndexed(org.lwjgl.PointerBuffer firstIndexOffsets, IntBuffer indexCounts, IntBuffer vertexOffsets, int drawCount) - Specified by:
multiDrawIndexedin interfaceRenderPass
-
drawIndexedIndirect
- Specified by:
drawIndexedIndirectin interfaceRenderPass
-
drawMultipleIndexed
public <T> void drawMultipleIndexed(Collection<RenderPass.Draw<T>> draws, @Nullable GpuBuffer defaultIndexBuffer, @Nullable IndexType defaultIndexType, Collection<String> dynamicUniforms, T uniformArgument) - Specified by:
drawMultipleIndexedin interfaceRenderPass
-
draw
public void draw(int vertexCount, int instanceCount, int firstVertex, int firstInstance) - Specified by:
drawin interfaceRenderPass
-
multiDraw
public void multiDraw(IntBuffer drawParameters, int instanceCount, int firstInstance, int drawCount) - Specified by:
multiDrawin interfaceRenderPass
-
multiDraw
- Specified by:
multiDrawin interfaceRenderPass
-
drawIndirect
- Specified by:
drawIndirectin interfaceRenderPass
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceUncheckedAutoCloseable
-
validateDraw
private void validateDraw(Collection<String> dynamicUniforms, boolean dynamicVertexBuffer, boolean indexed)
-