-
Notifications
You must be signed in to change notification settings - Fork 14
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
Bevy v0.15.0 #87
Bevy v0.15.0 #87
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR looks great!
A few questions, I'm still trying to answer:
- Instead of
<MyHandleComponent>.0
everywhere, I think it would be nicer to use.id()
. This requiresMyComponentHandle
to deriveDeref
andDerefMut
- Is there yet a convention on what to name these newtypes for Handles? I've seen several cases where Bevy renamed them to have "2d" at the end, e.g.
MeshMaterial2d
Another note, which is somewhat unrelated, is that certain logic should be able to be eliminated or optimized with new features in 0.14/0.15. Specifically, the |
AH, one more catch: The |
Regarding the As for the migration to bevy 0.15 features, you're obviously right! However I didn't want to make the PR too big. I figured a first PR could make it work with 0.15 and a second PR could make it more idiomatic :) |
Yes I have the same errors when I run |
I thought I'd chip in a little as I dabbled with this during 0.15 release candidate process, and I remember I was stuck for a few hours on why extracted entities kept piling up duplicates in the render world; As I did not know about this new retained render world feature in 0.15. Unless 1) some sort of resource structure is implemented to keep app world entities and render world entities in sync or 2) spawn extracted entities with the Edit: Deriving ExtractComponent onto VelloScene and VelloTextSection and using the ExtractComponentPlugin might be enough to make it work with minimal effort. Hope it helps! |
linebender/rfcs#5 led to the agreement that we would commit Cargo.lock. |
Hey, what’s the state of this PR? Is anyone pushing it forward? |
Yes, there is a longer-than-expected delay in vello 0.4.0 coming out which is holding this PR up. Bevy 0.15 depends on wgpu 23, and the last version of vello (0.3) uses a prior version of wgpu. |
I've been playing around a bit more with a fork and at the time of writing, we have to update the specialize function to get transparent base_color working; Relates to linebender/vello#549 which is not in the 0.4.0 milestone any more for some reason. fn specialize(
descriptor: &mut RenderPipelineDescriptor,
_layout: &MeshVertexBufferLayoutRef,
_key: Material2dKey<Self>,
) -> Result<(), SpecializedMeshPipelineError> {
if let Some(target) = descriptor.fragment.as_mut() {
let mut_targets = &mut target.targets;
if let Some(Some(target)) = mut_targets.get_mut(0) {
target.blend = Some(vello::wgpu::BlendState::ALPHA_BLENDING);
}
}
let formats = vec![
// Position
VertexFormat::Float32x3,
VertexFormat::Float32x2,
];
let vertex_layout =
VertexBufferLayout::from_vertex_formats(VertexStepMode::Vertex, formats);
descriptor.vertex.buffers = vec![vertex_layout];
Ok(())
} |
Velato is very close, which will unblock this. |
Noted! Looking into it. |
Co-authored-by: Robert Brewitz <[email protected]>
After some digging Im still not sure why the frame buffer doesnt clear |
Is it that you are not adding Edit: this would be the quick fix I suppose |
Infact this was the issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks ready to me (there seems to be a new CI issue though)
Builds upon #87. Merge that first. Closes #89. --------- Co-authored-by: Elie Génard <[email protected]>
#86