Expand description
§Mepeyew
§Introduction
Mepeyew is a rendering abstraction layer created for mewo
.
Essentially, Mepeyew allows you to draw graphics on the GPU without having to
worry about the platform specific details.
Additionally, Mepeyew has zero unnecessary dependencies, perfect for people who have
bundlephobia (like me).
For more details, see the Github page.
§Usage
Graphics programming is complicated…
For this reason, my best advice for you is to have a look at the examples on the Github page.
§Platform Dependent Nastiness
Unfortunately, not everything can be fully abstracted.
Here’s the list of oddities to look out for.
§Uniform Padding
Both Vulkan and WebGPU have very specific alignment requirements for uniform buffers (of any kind). Failing to conform with these requirements leads to strange shader behaviour. You can read this blog for a good explanation.
§Step Dependencies
Certain methods such as PassStep::set_wait_for_depth_from_step
don’t have an effect on all APIs.
However, on backends that do utilize these methods, they are indispensable.
For this reason, you should always use these methods even if you code appears
to work without it.
Re-exports§
pub use context::extensions;
pub use context::extensions::*;
pub use context::*;
Modules§
Macros§
Structs§
- Errors in mepeyew are always strings since each platform can fail in its own way. Note that most errors are NOT validated meaning that misuse of anything can cause undefined behavior, crashes, and graphical glitches.
Type Aliases§
- All returned errors are wrapped in
GResult
.