These are chat archives for bjz/gfx-rs
device::target::Planewill look like with multiple types, or
ShaderParamimplementation. Once macro is done, the structure is extremely safe and simple to use. There is no way to "forget" about some parameter as well as to provide incorrect type.
Datastruct example contains a texture and uniform, correct?
create_linkat run time, the code for which is generated.
#[shader_param]is going to work. Does it just have hardcoded knowledge of legal types, or will all fields of the struct have to implement a trait?
Environmentgoes away with that, with
envir.rsfile going down in favor of
#[shader_param]macro to get an idea of what this actually looks like. But this is very neat.
ShaderParamtrait is there (note multiple files), and the macro is just going to auto-implement it.
Uploaderis perhaps the weakest part of the interface here. It's a visitor from the
Rendererside that will translate the incoming assignments from the
ShaderParaminto device cast messages.
channelis implemented is always like :O for me. They have done a pretty crazy good job of optimizing it.
GL_TEXTURE_MAX_ANISOTROPY_EXTuseful? It'd be nice to keep it to a u8 size, instead of a huge f32
64bytes => ~100ns,
256bytes => ~150nsand
1024 => ~275ns
64 => 640MB/s
256 => 1700MB/s
1024 => 3700MB/s
ApiBackEndimplemented for all of these, what type does
gfx-rscontaining support for multiple backends.