-
Notifications
You must be signed in to change notification settings - Fork 3
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
Needed features to use superconductor as drop in for bevy_pbr #10
Comments
I believe your asset system is the way it is for a reason, so if the current asset system is better than bevy_asset I think there is no need to use bevy_asset |
So tbh I'm not 100% convinced on the value of being a drop-in replacement, as I think that bevy_render has made some compromises that we'd benefit from avoiding. That said, it'd be great to get rid of as many unnecessary differences in the APIs as possible.
Bevy transforms allow for non-uniform (where each axis can have a different scale) scaling: https://docs.rs/bevy/latest/bevy/prelude/struct.Transform.html#structfield.scale. Superconductor instances (we could just rename these transforms) do not: superconductor/renderer-core/src/instance.rs Lines 20 to 24 in c37edf5
The justification here is that non-uniform scaling creates all sorts of problems for proper shading of models, and isn't frequently used to be worth supporting. I'm happy to change my mind on this if a case where we want to do a lot of non-uniform scaling though. We can have a system that copies bevy Transforms to superconductor instances, with the uniform scale just being
It looks like this link has been messed up with bevy 0.8. I'm sure we could integrate bevy's camera system into the code though.
Looks possible, haven't looked into it yet. I think the most important question is whether we need to do anything fancy to let both superconductor and any render plugins use the wgpu device.
Which primitives would these be? https://docs.rs/bevy/latest/bevy/render/primitives/index.html?
The reason why I didn't do this before is that A) I already had an asset system I could use from https://github.com/expenses/mateversum and B) the asset server in bevy::asset looked a little over complicated for our needs. I also think it's beneficial for us to be able to control the assets and how they're loaded. Happy to look into this more. |
Essential:
Very Useful:
Nice to have:
The text was updated successfully, but these errors were encountered: