Comments (2)
One option would be to add a flag to RafxSwapchainDef but we shouldn’t add vulkan-specific stuff to that struct. Also you’re doing something very specific and want full control so I think we should find a solution that lets you pass exactly what you want to vulkan instead of abstracting.
We could add something to RafxSwapchainVk::new() (although it would make it inconstant with other swapchain objects, so not ideal but better than nothing.)
Finally you could fork rafx-api, cargo patch it in, and hack it to do whatever you want. Obvious downsides there, but it gets you something that works immediately. It may be worth doing temporarily to give us some time to decide on a long term solution.
I guess another option would be to make the swapchain yourself directly with the vulkan API. The design of rafx is meant to expose internals to you and let you call straight into APIs, not hide them from you. Maybe there could be a way to construct that swapchain wrapper with a user-made swapchain, or have a trait object you implement that rafx can call into when a swapchain rebuild is needed.
BTW skulpin is not something I plan to do improvements on going forward, and if it ever seriously breaks I will probably just drop it. So please be prepared for that if you plan to use it for anything more than prototyping/toy usage :)
from rafx.
Thanks for your response. For now I did the cargo patch approach, and that works fine. I'll try to look into if I can somehow get the swapchain exposed through Skulpin, maybe then I can simple change the composite alpha setting as you suggest.
Thanks for the heads up about Skulpin. For now it's just toy usage, so should be alright for now.
Since I have a workaround I'll go ahead and close this now.
from rafx.
Related Issues (20)
- Investigate replacing `fnv` with `rustc-hash` for hash maps
- Skip "deduplication" code in frame packet building logic when possible
- Questions About Project HOT 2
- Runtime API Selection HOT 2
- Confusing `rafx_visibility` and `rafx_framework::visiblity` exported as `rafx::visibility` HOT 3
- Is Bincode The Best Serialization Format for Cooked Shader Packages? HOT 1
- Tag The 0.0.13 Release HOT 1
- crash when rendering wireframe with vulkan backend
- Unresolved import `ash::version` HOT 3
- Panic: Unable to load create_debug_utils_messenger_ext HOT 7
- Webgpu support HOT 1
- Demo won't run, stuck on "blocked waiting for asset to resolve demo font handle" HOT 2
- crash when running demo in Linux HOT 16
- Make distill optional in the higher level crates, abstract asset handling. HOT 1
- New crate.io release HOT 4
- Add `rafx-dynamic` feature/crate for dynamic linking HOT 2
- Support for MoltenVK in Vulkan 1.3.x SDKs HOT 5
- Framework vulkan RenderGraph misses layout transition from attachment to present_khr if no renderpass callback is registered HOT 2
- Unsound implementation in `memory::{any_as_bytes, any_slice_as_bytes}` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rafx.