-
Notifications
You must be signed in to change notification settings - Fork 39
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
Draft: Update to Bevy 0.12 #42
Draft: Update to Bevy 0.12 #42
Conversation
Atlantis commands can't be run on fork pull requests. To enable, set --allow-fork-prs or, to disable this message, set --silence-fork-pr-errors |
|
@Weasy666 I'm not sure if you fixed your crashing issue yet, but I have a branch of this crate that is upgraded to 0.12. Everything works except shadows, which was enough for my use-case. Feel free to incorporate any of the changes into your PR. elodin-sys@4ad4daf |
Nice, thanks! No, i didn't find time to take a deeper look at it, but i should be able to do that tomorrow. This time for real 😅. I did take a cursory look at your code, and doesn't look that much different. Well, i'll hopefully figure out tomorrow which of my changes brake it, when i compare it to your working code. 🙂 |
Without doing this, the app would crash. Thanks @sphw (Sascha Wise) for helping out here!
Atlantis commands can't be run on fork pull requests. To enable, set --allow-fork-prs or, to disable this message, set --silence-fork-pr-errors |
|
Got it working after replacing the |
Doesn't work for me either unfortunately. :(
|
That's the error with the shadow. If you uncomment |
I have fixed the shadow issue @Weasy666 opened a PR on your fork |
Nice, thank you! I'll take a look and merge it in a few hours 🙂 |
Hm... funnily, my last commit seems to work now with Bevy 0.12.1. At least it doesn't panic, but no shadow is being rendered. |
This didn't work for me, but my own PR #43 works. |
Closing this since it was done in #43 |
Updates the crate to Bevy 0.12.
I am currently still getting a crash when i run the example:
the actual bevy code which breaks this is here:
impl<P: PhaseItem, C: RenderCommand<P> + Send + Sync + 'static> Draw<P> for RenderCommandState<P, C> where C::Param: ReadOnlySystemParam, { /// Prepares the render command to be used. This is called once and only once before the phase /// begins. There may be zero or more [`draw`](RenderCommandState::draw) calls following a call to this function. fn prepare(&mut self, world: &'_ World) { self.state.update_archetypes(world); self.view.update_archetypes(world); self.entity.update_archetypes(world); } /// Fetches the ECS parameters for the wrapped [`RenderCommand`] and then renders it. fn draw<'w>( &mut self, world: &'w World, pass: &mut TrackedRenderPass<'w>, view: Entity, item: &P, ) { let param = self.state.get_manual(world); + let view = self.view.get_manual(world, view).unwrap(); let entity = self.entity.get_manual(world, item.entity()).unwrap(); // TODO: handle/log `RenderCommand` failure C::render(item, view, entity, param, pass); } }
If anyone has an idea, you are very welcome. Otherwise, i will take a look at it tomorrow, i don't have any more time today.