Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Multiple renderpass/subpass support #8

Copy link
Copy link
@SpinnerX

Description

@SpinnerX
Issue body actions

Renderpasses are core fundamentals for Vulkan or any computer graphics in general. One of the things that I am thinking about is how are multiple renderpasses executed.

I have seen fair examples for executing multiple renderpasses. They are relatively straight forward.

What I am wanting to look into more are other parameters involved extensively when doing render-passes, including flag and attachment configurations.

RenderPass Code Example (pseudo-code)

This code example is roughly how the renderpass would be executed, if we were to have multiple renderpass that focus in specific rendering operations that are expensive such as lighting, shadows, and other operations.

// create a final main renderpass
vk::renderpass geometry_pass = /*...*/;
vk::renderpass lighing_pass = /*...*/;
vk::renderpass shadow_pass = /*...*/;


// Executing these renderpass

// apply the geometry surface operations
geometry_pass.bind(...);

// apply lighting to normals for that specific surface
lighing_pass.bind(...);

// apply shadows using lighting to apply that onto the specific surface
shadow_pass.bind(...);

/* draw calls here afterwards to apply the renderpass attachment information */

Subpasses

Considering renderpass can have other sub-operations that are sub-passes operated under a single renderpass. These are something I need to consider in how we can specify multiple subpasses.

API Design

TBD

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.