-
Notifications
You must be signed in to change notification settings - Fork 199
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
0.15 (sort of) #568
0.15 (sort of) #568
Conversation
Render updates.
* MaterialTilemap -> TilemapMaterial * MaterialTilemapBundle -> MaterialTilemap * StandardTilemapBundle -> StandardTilemap * TilemapBundle -> Tilemap * Deprecate bundles
thanks! your effort is much appreciated! |
I am being very slow, but hopefully I can get it to the point where someone who knows about rendering can take over! |
OK. I think that's all the low-hanging fruit. Now, how the hell do I get all this rendering working 🤔 |
@ChristopherBiscardi can I ask: does the rendering code need a bit of a re-think? Given the retained render world changes ( The deeper I dig, the more I wonder if it needs an experienced hand to say, "yep, we still need this bit", or "no, all this can be simplified". I can keep plugging away at it, just wanted to check in first to be sure I'm actually spending time on the right things. For example, as @tychedelia points out,
and I haven't really got the first idea how to solve that 🤔 General guidance and suggestions very welcome. |
In the meantime, I'm going to start by working my way through the Extract part of the pipeline, since that seems likely to be affected by retained rendering world. Edit: I note this code makes use of |
There will be some changes for the retained rendering world but I'd like to avoid large sweeping changes otherwise, at least for the migration to 0.15-compatible. We can revisit the implementation in a larger way after getting a 0.15-compatible version out. For example, things like taking advantage of Required Components would be a breaking change that I'd like to leave for after the 0.15-compatible release if possible to make it easier for users of the crate to upgrade Bevy. Re: the I'll have more time to spend on this later this week. I likely won't get to much this weekend. |
Hrm, I could also take a peek at the minimum possible changeset, sans required components... but I think there are still gonna be rendering issues. I'll investigate. |
Sorry, I'm not good at rendering at all but I also want to help you a little. Just made a little pr to @richchurcher fixing remaining issues in examples: bas-ie#2 |
Examples required components migration, part 3
fix build without render feature
Yeah, I've definitely arrived at my limit with the rendering stuff, it needs a more experienced hand! Once I see a few examples, I think I'll be able to approach it with more confidence. Please feel free to close this or cherry-pick whatever you find useful. |
Here's one possibility for migrating bevyengine/bevy#14257: rparrett@2f66d8f @ChristopherBiscardi does that seem like a reasonable strategy? edit: that branch is now migrated chronologically up to just before the retained render world commit. |
The Texture swapping in that example is broken, and some other examples are crashy, but everything compiles. I did a good amount of cherry-picking from this branch, but left out the required components refactor. |
Hi! Thanks for (mostly) fixing rendering! |
Closing in favour of #574! |
So this is what happens when you blithely decide that, since you're gonna need
bevy_ecs_tilemap
again soon, you may as well try to upgrade it for 0.15. Uh, yeah. Some of the rendering stuff is well over my head! 😅This is not a working update, but I'm leaving it here in case you can cherry pick some of the simpler commits to save you some time. I'll keep trying in the meantime, I'm learning quite a bit from it... but please don't feel the need to spend any significant time reviewing it.
It does include fixes for the following:
Component
trait impl fromHandle<T>
bevyengine/bevy#15716Handle<M>
wrapperGpuMesh
->RenderMesh
but the implementation is nowhere near done, there's quite a lot to unpack there that I don't grok yetelapsed_seconds
->elapsed_secs
get_or_spawn
bevyengine/bevy#15652get_or_spawn
deprecationAsBindGroup
to use a associatedSystemParam
. bevyengine/bevy#14909as_bind_group
args, needed charlotte's help with that one!MaterialTilemap
toTilemapMaterial
...MaterialTilemap
to replaceMaterialTilemapBundle