-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
Write Rendy backend for Turbine-Scene3D #89
Conversation
winit_window 0.12.0 is now published. |
Thanks, updated |
|
I've been trying to install Vulkan on Ubuntu to test this PR, but without success so far (got problems with NVidia graphics drivers). |
Possibly related, but a lot of people using Rendy reported having trouble with Vulkan validation layers on multiple SDK versions. I was on 1.1.108.0 and the validation layers crashed completely. I updated to 1.1.114.0 and was able to run it, but also got an error about |
I got problems installing graphics drivers. Adding I think this is a fine starting point. Merging. |
Thanks! |
This is a follow up to issue #70. My goal for this implementation was to leave as much of the original API the same as possible, which I've achieved for the most part aside from some quirks.
In terms of dependencies, there are more crates introduced in this PR than I wanted (serde_json
andspirv-reflect
). The reason for that is, Rendy's exposure of SPIR-V reflection is minimal, leading to having to perform the reflection manually. I will probably open an issue on their repo addressing this. (amethyst/rendy#188)Since Rendy/gfx-hal uses Winit, I used Piston's winit_window package but modified to be updated and work nicely with the
WindowSettings
builder. I will submit a PR on that repo so the dependency is an actual crate. (PistonDevelopers/winit_window#12)Quirks:
Scene
manages the window by passing inWindowSettings
UBOS_PER_FRAME_SIZE
constant determines how many draw calls (likeDrawTriangles
) there can be between frames. It's4
for debugging but can be increased to something much larger.Examples can be run at scene3d root as such
cargo run --example colored_cube --features vulkan