|
|
|
|
|
by flohofwoe
251 days ago
|
|
> but it cannot be that APIs get designed as if everyone is still coding in Assembly Why not though? In the end an API call is an API call, and everything is compiled down to machine code no matter what the source language is. FWIW, the high-level "OOP-isms" of the Metal API is also its biggest downside. Even simple create-option "structs" like MTLRenderPassDescriptor are fully lifetime-managed Objective-C objects where every field access is a method call - that's simply unnecessary overkill. And ironically, the most binding-friendly API for high-level languages might still be OpenGL, since this doesn't have any structs or 'objects with methods', but only plain old function calls with primitive-type parameters and the only usage of pointers is for pointing to unstructured 'bulk data' like vertex-buffer- or texture-content, this maps very well even to entirely un-C-like languages - and the changes that WebGL did to the GL API (for instance adding 'proper' JS objects for textures and buffers) are arguably a step back compared to native GL where those resource objects are just opaque handles. |
|
The ANARI effort was born exactly because the visualisation industry refusal to adopt Vulkan as is.