andy-thomason / Vookoo

A set of utilities for taking the pain out of Vulkan in header only modern C++
MIT License
524 stars 52 forks source link

many general changes & enhancements #50

Open Carandiru0 opened 2 years ago

Carandiru0 commented 2 years ago

many changes, some specialized for application specific (minCity development), many general changes / enhancements not all changes can be merged, so if you "pick-and-choose" what to keep and what to ignore of the changes I've made, there's some nice stuff in here. It's all in the fork I've made under "initial commit"

vku.hpp vkuframework.hpp vkuaddon.hpp vkudoublebuffer.h

Thanks for Vookoo!

Cheers!!

pocdn commented 2 years ago

I have successfully used vookoo on both my linux and windows (gcc on mingw64) prior to this proposed branch. This branch appears to inject non-standard cross-platform dependencies to the point where I can't get it to compile. In particular, I'm getting errors "no such file" on the includes for <Utility/mem.h>, <fmt/fmt.h>, <Utility/enum.h> if not others. What compiler and OS was this branch tested on? Hopefully we can find away to keep vookoo cross-platform and compiler/OS agnostic.

Carandiru0 commented 2 years ago

@pocdn Take what you actually want to use out of it and not use what you don't want to use. No automatic merge here, these changes can be compatible in some cases but in others not (like integration and usage of the vma allocator lib). There are also a lot of specialization to support what I'm using it for. But I'd rather make a contribution where you can pick and choose what you'd like to keep, improvements, etc. vs not making any contribution at all right? So maybe the implementation of Specialization Constants could be used, or the extended image classes, etc. Multisampling?

lhog commented 2 years ago

Thanks for sharing your work. As @pocdn witnessed and you suggested it's going to be hard to merge the whole scope.

I think we can leave this PR open "forever", and you can add new stuff you're developing in-house too. This might serve as a good source of code for those trying to implement things similar to what you have done.

As far as merging I can suggest breaking this PR into parts (if possible), so each such improvement can be reviewed and merged individually.

pocdn commented 2 years ago

Definitely thanks for sharing the code. I understand now the idea is to use this PR to learn from and pick/choose parts from your contributed code.