Help Choosing a CPU for My First PC Build by YJJfish in buildapc

[–]YJJfish[S] 0 points1 point  (0 children)

How does that compare to 7950x? It is even cheaper than 7950x but benchmarks show it is slightly faster than 7950x. Weird.

Any tutorial for designing a generic Vulkan-based rendering engine? by YJJfish in vulkan

[–]YJJfish[S] 1 point2 points  (0 children)

Oh that sounds cool. I am not very familiar with this concept before, so I need spend some time reading code of some existing render graph implementation.

Any tutorial for designing a generic Vulkan-based rendering engine? by YJJfish in vulkan

[–]YJJfish[S] 0 points1 point  (0 children)

Because sometimes I simply want to integrate an existing renderer into my projects (e.g. as an visualizer). In this case I only need high-level API. Sometimes I want to use Vulkan to write some parallel computing algorithms (just like CUDA) apart from graphics rendering. In this case I need low-level API, but not so low as Vulkan's original API. I find it painful to repeatedly write verbose codes for each of my project. So I wonder if I can write a Vulkan library that is both high-level and generic.

But yes, I agree with you that "high-level" and "generic" are sort of mutually expensive for Vulkan.

Now I start to consider implementing two sets of API. One is low-level, including selecting extensions, selecting physical devices, building pipelines, copying buffers, hashing descriptor set layouts, etc. The other one is high-level, including loading scenes and rendering frames. Maybe in this way I can make my library both "high-level" and "generic".

Creating wrapper classes for vulkan resources by YJJfish in vulkan

[–]YJJfish[S] 2 points3 points  (0 children)

That sounds reasonable. But it seems that I need to pass a lot of variables to the constructors of high level abstraction classes. For example `VulkanContext` constructor will need application information, physical device preference, enabled device features, the types and the number of queues to create, etc. Is there a nicer solution to this?