KhronosGroup / KhronosGroup/Vulkan-Hpp

Provide clearer examples on naming rules, symbol types, enum values in Vulkan-Hpp versus C API

Open
#2,671 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
3.8k
Forks
374
Avg merge
23h 4m
Merged PRs (30d)
32

Description

This has been a repeated topic by consumers over the years:

- https://www.reddit.com/r/vulkan/comments/1t5vvfg/vulkanhpp_documentation/
- https://www.reddit.com/r/vulkan/comments/klavw6/vulkan_hpp_cheatsheet/
- https://www.reddit.com/r/vulkan/comments/9ltcgt/valid_documentation_for_vulkanhpp/
- https://discord.com/channels/427551838099996672/530530428621160448/1540511372238913566

I think we need to augment the documentation with more concrete examples illustrating how Vulkan-Hpp naming rules differ from their C counterparts, as well as how their usages is different. The C API makes heavy use of macros, even for enum constants; these are typed and need to be collated in one place. We have not documented that constant macros are `constexpr` typed constants, and function-like macros such as `VK_MAKE_API_VERSION` are now (possibly `constexpr`) _functions_.

Contributor guide

Open the contributing guide

Research direction

Review the existing Vulkan-Hpp documentation and the linked consumer discussions first; the issue does not name a specific documentation file or test. Add concrete comparisons covering naming rules, symbol and enum types, typed constant macros, and function-like macros, with examples showing how Vulkan-Hpp usage differs from the C API.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.