Example

Undocumented in source.
class Example : Disposable {}

Constructors

this
this(string title, string[] args)
Undocumented in source.

Members

Classes

FrameData
class FrameData

Data that is duplicated for every frame in the swapchain This typically include framebuffer and command pool.

GarbageEntry
class GarbageEntry
Undocumented in source.
RaiiCmdBuf
class RaiiCmdBuf

Utility command buffer for a one time submission that automatically submit when disposed. Generally used for transfer operations, or image layout change.

Functions

bindImageMemory
bool bindImageMemory(Image img, MemProps props)
Undocumented in source. Be warned that the author may not have intended to support it.
collectGarbage
void collectGarbage()
Undocumented in source. Be warned that the author may not have intended to support it.
copyBuffer
void copyBuffer(Buffer srcBuf, Buffer dstBuf, size_t size, CommandBuffer cmdBuf)

copy the content of one buffer to another srcBuf and dstBuf must support transferSrc and transferDst respectively.

copyBufferToImage
void copyBufferToImage(Buffer srcBuf, Image dstImg, CommandBuffer cmdBuf)

copy the content of one buffer to an image. the image layout must be transferDstOptimal buffer the call

createBuffer
Buffer createBuffer(size_t dataSize, BufferUsage usage, MemProps props)

Create a buffer for usage, bind memory of dataSize with memProps Return null if no memory type can be found

createDepthImage
Image createDepthImage(uint width, uint height)

Create an image for depth attachment usage

createDynamicBuffer
Buffer createDynamicBuffer(size_t dataSize, BufferUsage usage)

Create a buffer, binds memory to it, and leave content undefined The buffer will be host visible and host coherent such as content can be updated without staging buffer

createStaticBuffer
Buffer createStaticBuffer(const(void)[] data, BufferUsage usage)
Buffer createStaticBuffer(const(T)[] data, BufferUsage usage)
Buffer createStaticBuffer(T data, BufferUsage usage)

Create a buffer, and bind it with memory filled with data. The bound memory will be deviceLocal, without guarantee to be host visible.

createStencilImage
Image createStencilImage(uint width, uint height)

Create an image for stencil attachment usage

createTextureImage
Image createTextureImage(const(void)[] data, ImageInfo info)

create an image to be used as texture

dispose
void dispose()
Undocumented in source. Be warned that the author may not have intended to support it.
findDepthFormat
Format findDepthFormat()

Find a supported depth format

findMemType
uint findMemType(MemoryRequirements mr, MemProps props)

Return the index of a memory type supporting all of props, or uint.max if none was found.

findStencilFormat
Format findStencilFormat()

Find a supported stencil format

findSupportedFormat
Format findSupportedFormat(Format[] candidates, ImageTiling tiling, FormatFeatures features)

Find a format supported by the device for the given tiling and features

frameTick
void frameTick()
Undocumented in source. Be warned that the author may not have intended to support it.
gc
void gc(IAtomicRefCounted resource, Fence fence)
Undocumented in source. Be warned that the author may not have intended to support it.
makeFrameData
FrameData makeFrameData(ImageBase swcColor, CommandBuffer tempBuf)

Instantiate FrameData implementation for the given swapchain color image. tempBuf is a helper that can be used to transfer data, change images layout... it is submitted and waited for shortly after FrameData is built.

prepare
void prepare()
Undocumented in source. Be warned that the author may not have intended to support it.
prepareDevice
void prepareDevice()
Undocumented in source. Be warned that the author may not have intended to support it.
prepareFramebuffers
void prepareFramebuffers()
Undocumented in source. Be warned that the author may not have intended to support it.
prepareRenderPass
void prepareRenderPass()
Undocumented in source. Be warned that the author may not have intended to support it.
prepareSwapchain
void prepareSwapchain(Swapchain former)
Undocumented in source. Be warned that the author may not have intended to support it.
prepareSync
void prepareSync()
Undocumented in source. Be warned that the author may not have intended to support it.
rebuildSwapchain
void rebuildSwapchain()
Undocumented in source. Be warned that the author may not have intended to support it.
recordCmds
Submission[] recordCmds(FrameData frameData)

Record buffer implementation for the current frame. Returns the submissions for the graphics queue the first submission that renders to the swapchain image must wait for imageAvailableSem the last submission must signal renderingFinishSem

recordImageLayoutBarrier
void recordImageLayoutBarrier(CommandBuffer cmdBuf, ImageBase img, Trans!ImageLayout layout)
Undocumented in source. Be warned that the author may not have intended to support it.
render
void render()
Undocumented in source. Be warned that the author may not have intended to support it.
simpleSubmission
Submission[] simpleSubmission(PrimaryCommandBuffer[] cmdBufs)

build a submission for the simplest cases with one submission

timeElapsed
Duration timeElapsed()
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

maxFcAge
enum maxFcAge;
Undocumented in source.

Variables

args
string[] args;
Undocumented in source.
device
Rc!Device device;
Undocumented in source.
display
Rc!Display display;
Undocumented in source.
frameDatas
FrameData[] frameDatas;
Undocumented in source.
frameNumber
uint frameNumber;
Undocumented in source.
garbageEntries
GarbageEntry garbageEntries;
Undocumented in source.
graphicsQueue
Queue graphicsQueue;
Undocumented in source.
hasAlpha
bool hasAlpha;
Undocumented in source.
imageAvailableSem
Rc!Semaphore imageAvailableSem;
Undocumented in source.
instance
Rc!Instance instance;
Undocumented in source.
lastGarbageEntry
GarbageEntry lastGarbageEntry;
Undocumented in source.
ndc
NDC ndc;
Undocumented in source.
physicalDevice
PhysicalDevice physicalDevice;
Undocumented in source.
presentQueue
Queue presentQueue;
Undocumented in source.
probe
FpsProbe probe;
Undocumented in source.
renderingFinishSem
Rc!Semaphore renderingFinishSem;
Undocumented in source.
surfaceSize
uint[2] surfaceSize;
Undocumented in source.
swapchain
Rc!Swapchain swapchain;
Undocumented in source.
title
string title;
Undocumented in source.
window
Window window;
Undocumented in source.

Inherited Members

From Disposable

dispose
void dispose()

Dispose the underlying resource

Meta