Crate mepeyew

source ·
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§

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§