Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition graphics backend from vulkano to rendy #438

Closed
10 of 25 tasks
mitchmindtree opened this issue Dec 23, 2019 · 0 comments · Fixed by #452
Closed
10 of 25 tasks

Transition graphics backend from vulkano to rendy #438

mitchmindtree opened this issue Dec 23, 2019 · 0 comments · Fixed by #452
Labels

Comments

@mitchmindtree
Copy link
Member

mitchmindtree commented Dec 23, 2019

This issue is for tracking progress on the transition from vulkano to rendy for nannou's graphics backend.

The following is a roughly ordered overview of the steps involved:

  • Create a rendy backend for conrod (WIP branch here):
    • Geometry
    • Text
    • Images (Almost done - need to work out how to switch between images for a single sampler).
    • Perhaps change ConrodAux to a trait to allow for adding ConrodPipeline nodes within Graphs implemented for different "auxiliary" types.
    • Allow for specifying size of glyph cache dimensions.
    • Remove GLSL shader compilation feature in favour of including pre-compiled SPIR-V shader.
    • Ensure resizing behaves properly.
    • Remove shader-reflection feature in favour of manually specifying layout if possible.
    • Move winit conversion updates into conrod_winit
    • Remove image crate dependency in favour of using in example directly.
    • PR + request review from rendy devs.
    • Publish new version of conrod along with conrod_rendy
  • Update nannou:
    • Create a nannou/rendy branch that compiles with all graphics related stuff commented out / removed.
    • Use winit via rendy rather than a separate import.
    • Update app and window modules to manage windows and swapchains via rendy rather than gfx.
    • Re-write the run_loop for changes to winit::EventLoop. We should no longer use poll_events, but instead use EventsCleared along with some timer. This will likely require a full re-write. May be easiest to introduce one LoopMode at a time.
    • Update the frame.rs module. We may want to re-think the Frame design in terms of rendy's Graph?
    • Update ui.rs module to use conrod_rendy rather than conrod_vulkano.
    • Update draw.rs module. Update draw.rs module #440.
    • Change vk examples directory to rendy and update all examples.
    • Remove vk.rs module.
    • Create screenshot.rs example.
    • Ensure CHANGELOG is up-to-date.
    • Publish new version of nannou.
    • Update the guide installation instructions (remove shaderc and macOS vulkan stuff).

To read more about the reasoning behind the change, see #374 and its related issues.

cc @freesig, @DavidPartouche, @JoshuaBatty

mitchmindtree added a commit to mitchmindtree/conrod that referenced this issue Dec 24, 2019
This should allow for adding UI pipeline nodes to graphs consisting of
other kinds of pipeline nodes.

Also renames some `Conrod*` types to `Ui*`.

Related to nannou-org/nannou#438
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant