Skip to content
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

Update book to vulkano 0.35 #43

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

YouSafe
Copy link
Contributor

@YouSafe YouSafe commented Feb 7, 2025

This is still work in progress.

I already updated the chapter code and most of the chapters of the book.

I did not update any of the code in the wip folder because I couldn't figure out yet, how to get errors from the compiler for this code.

@YouSafe
Copy link
Contributor Author

YouSafe commented Feb 7, 2025

I'm not sure how to update the windowing chapter. Before winit 0.30, you could just create a window without running the event_loop, so it terminates immediately and closes the window. This was a nice checkpoint in the guide and avoided potential confusion due to missing event handling and swapchain creation (concepts that are covered later in the chapter). But now I believe you have to run an ApplicationHandler and create the window in resume function to even see a window.

I'm unsure if documenting the expected behaviour of the created window without event handling and a swapchain is enough to avoid confusion, or if a bigger rewrite is requrired.

@YouSafe
Copy link
Contributor Author

YouSafe commented Feb 7, 2025

The idea of the updated windowing introduction is to give users a minimal starting point for creating rendering applications. It is explained what kind of objects should be stored in the App struct and in the RenderContext struct. These structs will be extended later in the book with the necessary objects for rendering. To address the "issue" I mentioned before, I included the event handling for closing the window, as it is just a few lines.

@marc0246
Copy link
Contributor

marc0246 commented Feb 7, 2025

The wip folder was me moving Zak's WIP writings somewhere where the compiler doesn't look, because there's no point updating something that was never finished to begin with. And Zak hasn't been active in years, so I think it's best to remove it to avoid further confusion.

@marc0246
Copy link
Contributor

marc0246 commented Feb 7, 2025

And the windowing chapter is very wrong anyway. I was putting off rewriting it because we were supposed to have a finished task graph by now. But since we need to rewrite it anyway, now's the time. In particular, the way GpuFutures are used here is UB. It's supposed to be done like in the examples. I really like what you have going so far.

@YouSafe
Copy link
Contributor Author

YouSafe commented Feb 12, 2025

We should probably specify why drawing/dispatching is marked as unsafe now (since a few people asked).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants