Package icyllis.arc3d.engine
Class FramebufferDesc
java.lang.Object
icyllis.arc3d.engine.FramebufferDesc
Descriptor to create a framebuffer.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
static final class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
This is a OpenGL only flag.static final int
This means the render target is multi-sampled, and internally holds a non-msaa image for resolving into.static final int
This is a Vulkan only flag.int
final int
If there are any attachments, then framebuffer bounds must be the intersection of all attachment bounds.final int
final int
If there are any attachments, then framebuffer bounds must be the intersection of all attachment bounds.static final FramebufferDesc.ColorAttachmentDesc[]
static final FramebufferDesc.DepthStencilAttachmentDesc
-
Constructor Summary
ConstructorDescriptionFramebufferDesc
(int width, int height, int sampleCount, FramebufferDesc.ColorAttachmentDesc[] colorAttachments, FramebufferDesc.DepthStencilAttachmentDesc depthStencilAttachment) FramebufferDesc
(int width, int height, int sampleCount, FramebufferDesc.ColorAttachmentDesc colorAttachment, FramebufferDesc.DepthStencilAttachmentDesc depthStencilAttachment) -
Method Summary
-
Field Details
-
FLAG_GL_WRAP_DEFAULT_FB
@Internal public static final int FLAG_GL_WRAP_DEFAULT_FBThis is a OpenGL only flag. It tells us that the internal render target wraps the OpenGL default framebuffer (id=0) that preserved by window. RT only.- See Also:
-
FLAG_MANUAL_MSAA_RESOLVE
@Internal public static final int FLAG_MANUAL_MSAA_RESOLVEThis means the render target is multi-sampled, and internally holds a non-msaa image for resolving into. The render target resolves itself by blit-ting into this internal image. (It might or might not have the internal image access, but if it does, we always resolve the render target before accessing this image's data.) RT only.- See Also:
-
FLAG_VK_WRAP_SECONDARY_CB
@Internal public static final int FLAG_VK_WRAP_SECONDARY_CBThis is a Vulkan only flag. It tells us that the internal render target is wrapping a raw Vulkan secondary command buffer. RT only.- See Also:
-
mColorAttachments
-
NO_COLOR_ATTACHMENTS
-
mDepthStencilAttachment
-
NO_DEPTH_STENCIL_ATTACHMENT
-
mWidth
public final int mWidthIf there are any attachments, then framebuffer bounds must be the intersection of all attachment bounds. -
mHeight
public final int mHeightIf there are any attachments, then framebuffer bounds must be the intersection of all attachment bounds. -
mSampleCount
public final int mSampleCount -
mFramebufferFlags
public int mFramebufferFlags
-
-
Constructor Details
-
FramebufferDesc
public FramebufferDesc(int width, int height, int sampleCount, @Nullable FramebufferDesc.ColorAttachmentDesc colorAttachment, @Nullable FramebufferDesc.DepthStencilAttachmentDesc depthStencilAttachment) -
FramebufferDesc
public FramebufferDesc(int width, int height, int sampleCount, @Nullable FramebufferDesc.ColorAttachmentDesc[] colorAttachments, @Nullable FramebufferDesc.DepthStencilAttachmentDesc depthStencilAttachment)
-
-
Method Details
-
isStale
public boolean isStale()Should the framebuffer keyed by this be deleted now? Used to delete framebuffers if one of the attachments has already been deleted.- Returns:
- true to delete, false to keep
-
hashCode
public int hashCode() -
equals
-