Class AdvancedFboImpl
java.lang.Object
foundry.veil.impl.client.render.framebuffer.AdvancedFboImpl
- All Implemented Interfaces:
AdvancedFbo
,AutoCloseable
,org.lwjgl.system.NativeResource
- Direct Known Subclasses:
DSAAdvancedFboImpl
,LegacyAdvancedFboImpl
Default implementation of
AdvancedFbo
.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A vanillaRenderTarget
wrapper of theAdvancedFboImpl
.Nested classes/interfaces inherited from interface foundry.veil.api.client.render.framebuffer.AdvancedFbo
AdvancedFbo.Builder
-
Field Summary
Modifier and TypeFieldDescriptionprotected final int
protected final AdvancedFboAttachment[]
protected int[]
protected final AdvancedFboAttachment
protected final int[]
protected int
protected int
static final Supplier
<AdvancedFbo> protected int
protected final Supplier
<AdvancedFboImpl.Wrapper> -
Constructor Summary
ConstructorDescriptionAdvancedFboImpl
(int width, int height, AdvancedFboAttachment[] colorAttachments, @Nullable AdvancedFboAttachment depthAttachment) -
Method Summary
Modifier and TypeMethodDescriptionvoid
bind
(boolean setViewport) Binds this framebuffer for read and draw requests.void
bindDraw
(boolean setViewport) Binds this framebuffer for draw requests.static AdvancedFbo.Builder
copy
(com.mojang.blaze3d.pipeline.RenderTarget parent) void
free()
int
getColorAttachment
(int attachment) Checks the attachments for the specified slot.int
int[]
int
int
getId()
int
getWidth()
boolean
hasColorAttachment
(int attachment) Checks to see if the provided attachment has been added to this framebuffer.boolean
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface foundry.veil.api.client.render.framebuffer.AdvancedFbo
bindRead, clear, clear, clear, clear, create, drawBuffers, getColorRenderAttachment, getColorTextureAttachment, getDepthRenderAttachment, getDepthTextureAttachment, isColorRenderAttachment, isColorTextureAttachment, isDepthMutableTextureAttachment, isDepthRenderAttachment, isDepthTextureAttachment, isMutableColorTextureAttachment, resetDrawBuffers, resolveToAdvancedFbo, resolveToAdvancedFbo, resolveToFbo, resolveToRenderTarget, resolveToRenderTarget, resolveToScreen, resolveToScreen, setColorAttachmentTexture, setColorAttachmentTexture, setDepthAttachmentTexture, setDepthAttachmentTexture
Methods inherited from interface org.lwjgl.system.NativeResource
close
-
Field Details
-
ERRORS
-
MAIN_WRAPPER
-
id
protected int id -
width
protected int width -
height
protected int height -
colorAttachments
-
depthAttachment
-
clearMask
protected final int clearMask -
drawBuffers
protected final int[] drawBuffers -
currentDrawBuffers
protected int[] currentDrawBuffers -
wrapper
-
-
Constructor Details
-
AdvancedFboImpl
public AdvancedFboImpl(int width, int height, AdvancedFboAttachment[] colorAttachments, @Nullable @Nullable AdvancedFboAttachment depthAttachment)
-
-
Method Details
-
bind
public void bind(boolean setViewport) Description copied from interface:AdvancedFbo
Binds this framebuffer for read and draw requests.- Specified by:
bind
in interfaceAdvancedFbo
- Parameters:
setViewport
- Whether to set the viewport to fit the bounds of this framebuffer
-
bindDraw
public void bindDraw(boolean setViewport) Description copied from interface:AdvancedFbo
Binds this framebuffer for draw requests.- Specified by:
bindDraw
in interfaceAdvancedFbo
- Parameters:
setViewport
- Whether to set the viewport to fit the bounds of this framebuffer
-
free
public void free()- Specified by:
free
in interfaceorg.lwjgl.system.NativeResource
-
getId
public int getId()- Specified by:
getId
in interfaceAdvancedFbo
- Returns:
- The id of this framebuffer or -1 if it has been deleted
-
getWidth
public int getWidth()- Specified by:
getWidth
in interfaceAdvancedFbo
- Returns:
- The width of this framebuffer
-
getHeight
public int getHeight()- Specified by:
getHeight
in interfaceAdvancedFbo
- Returns:
- The height of this framebuffer
-
getColorAttachments
public int getColorAttachments()- Specified by:
getColorAttachments
in interfaceAdvancedFbo
- Returns:
- The number of color attachments in this framebuffer
-
getClearMask
public int getClearMask()- Specified by:
getClearMask
in interfaceAdvancedFbo
- Returns:
- The mak used while clearing the buffer
-
getDrawBuffers
public int[] getDrawBuffers()- Specified by:
getDrawBuffers
in interfaceAdvancedFbo
- Returns:
- The names of the default draw buffer state
-
hasColorAttachment
public boolean hasColorAttachment(int attachment) Description copied from interface:AdvancedFbo
Checks to see if the provided attachment has been added to this framebuffer.- Specified by:
hasColorAttachment
in interfaceAdvancedFbo
- Parameters:
attachment
- The attachment to check- Returns:
- Whether there is a valid attachment in the specified slot
-
hasDepthAttachment
public boolean hasDepthAttachment()- Specified by:
hasDepthAttachment
in interfaceAdvancedFbo
- Returns:
- Whether there is a depth attachment added to this framebuffer
-
getColorAttachment
Description copied from interface:AdvancedFbo
Checks the attachments for the specified slot. If the amount of attachments is unknown, useAdvancedFbo.hasColorAttachment(int)
to verify before calling this.- Specified by:
getColorAttachment
in interfaceAdvancedFbo
- Parameters:
attachment
- The attachment to get- Returns:
- The attachment in the specified attachment slot
-
getDepthAttachment
- Specified by:
getDepthAttachment
in interfaceAdvancedFbo
- Returns:
- The depth attachment of this framebuffer
-
toRenderTarget
- Specified by:
toRenderTarget
in interfaceAdvancedFbo
- Returns:
- A
RenderTarget
that uses this advanced fbo as the target
-
copy
-