Skip to content
New issue

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

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

Already on GitHub? # 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 de# 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant