Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
https://github.com/20k/geodesic_raytracing/blob/5aab3fe471983e2568746db56e2c0329e09cf6a5/dual_value.hpp is the expression side of things
Could this approach work for compute shaders (GPGPU) as well? So far, I think https://github.com/EmbarkStudios/rust-gpu is the state of the art in that area, but it adds a specific Rust compiler backend for generating SPIR-V rather than leaving that up to the driver. That seems more complicated than it needs to be... but maybe it has advantages too? Thoughts?
However, if we accept these disadvantages, there is obviously a lot to be gained from a proc macro. I highly recommend checking out Shades, which is more powerful than posh with respect to the types of shaders that can be written (e.g., it supports mutable variables and loops).
gives me same vibes as https://github.com/phaazon/luminance-rs
https://github.com/20k/numerical_sim/blob/lr-tests/bssn.cpp is how I use it. Very little of this is actually single source yet, this is used to create #defines that are passed into fairly bare bones OpenCL kernels that handle control flow, eg here https://github.com/20k/numerical_sim/blob/lr-tests/cl.cl#L548