class final
material_tclass that creates a bindable collection of resources that can be used in conjuction with a surface to render.
The material class is a container of various resources that can, together, describe what should happen to a surface in the render pipeline on the GPU, and what is all needed. The material class also can contain instance data and will manage this for you. Together with a core::
constructors, destructors, conversion operators
member-functions
Function documentation
core:: ivk:: material_t:: material_t(core:: resource:: cache_t& cache,
const core:: resource:: metadata& metaData,
psl:: meta:: file* metaFile,
core:: resource:: handle<core:: ivk:: context> context,
core:: resource:: handle<core:: data:: material_t> data,
core:: resource:: handle<core:: ivk:: pipeline_cache> pipelineCache,
core:: resource:: handle<core:: ivk:: buffer_t> materialBuffer)
Brief
the constructor that will create and bind the necesary resources to create a valid pipeline.
Parameters | |
---|---|
cache in | resource cache that is constructing this material. |
metaData in | metadata associated with the material. |
metaFile in | metafile associated with the material's instance. |
context in | a handle to a graphics context (needs to be valid and loaded) which will own the material. |
data in | the material data this instance will be based on. |
pipelineCache in | the cache this instance can request a pipeline from. |
materialBuffer in | a GPU buffer that can be used by this instance to upload data to (if needed). |
core:: resource:: handle<core:: data:: material_t> core:: ivk:: material_t:: data() const
Brief
returns a handle to the material data used to construct this object.
Details
bool core:: ivk:: material_t:: bind_pipeline(vk::CommandBuffer cmdBuffer,
core:: resource:: handle<core:: ivk:: framebuffer_t> framebuffer,
uint32_t drawIndex)
Brief
prepares the material for rendering by binding the pipeline.
Details
Parameters | |
---|---|
cmdBuffer in | the command buffer you'll be recording to |
framebuffer in | the framebuffer the pipeline will be bound to. |
drawIndex in | the index to be set in the push constant. |
bool core:: ivk:: material_t:: bind_pipeline(vk::CommandBuffer cmdBuffer,
core:: resource:: handle<core:: ivk:: swapchain> swapchain,
uint32_t drawIndex)
Brief
prepares the material for rendering by binding the pipeline.
Details
Parameters | |
---|---|
cmdBuffer in | the command buffer you'll be recording to |
swapchain in | the swapchain the pipeline will be bound to. |
drawIndex in | the index to be set in the push constant. |
core:: resource:: handle<core:: ivk:: pipeline> core:: ivk:: material_t:: get(core:: resource:: handle<core:: ivk:: framebuffer_t> framebuffer) private
Details
tries to find, and return a core::
Parameters | |
---|---|
framebuffer in | the framebuffer to bind to. |
Returns | the pipeline this material instance uses for the given framebuffer. |
core:: resource:: handle<core:: ivk:: pipeline> core:: ivk:: material_t:: get(core:: resource:: handle<core:: ivk:: swapchain> swapchain) private
Details
tries to find, and return a core::
Parameters | |
---|---|
swapchain in | the swapchain to bind to. |
Returns | the pipeline this material instance uses for the given framebuffer. |