Ipotrick / Daxa

Daxa is a convenient, simple and modern gpu abstraction built on vulkan
MIT License
365 stars 27 forks source link

API Consistency #50

Closed Ipotrick closed 1 year ago

Ipotrick commented 1 year ago

Daxa has inconsistencies within itself. But it is also inconsistent witth vulkan and glsl naming. This causes confusion for new and even old users. To improve this I propose changes to align daxas naming more to vulkan and glsl/hlsl.

Ipotrick commented 1 year ago

First thing i would like to tackle is shader resource handles. Currently daxa has Buffer, ImageView and Sampler ids as well as BufferPtr's for buffers and typed image handles for image views. The Typed Image views have a naming sheme that does not align with any common format but is made up for daxa specifically.

This naming could be adapted to closer reflect glsl names. An example would be that daxa_Image2df32 would be renamed to daxa_texture2D (this is the glsl name with the daxa prefix).

Even furthor, i see many struggle to use bindless in vulkan with glsl syntax. Maybe it would be smart to move the shader integration into its own library that is consumed by daxa at some point.

Ipotrick commented 1 year ago

Inconsistencies got resolved in preparation for daxa 2.0