59 virtual void bind(
void) = 0;
62 virtual void uniform_float(
int location,
int comp_len,
int array_size,
const float *
data) = 0;
63 virtual void uniform_int(
int location,
int comp_len,
int array_size,
const int *
data) = 0;
82 return reinterpret_cast<GPUShader *
>(vert);
86 return reinterpret_cast<Shader *
>(vert);
90 return reinterpret_cast<const Shader *
>(vert);
struct GPUShader GPUShader
struct GPUVertBuf GPUVertBuf
virtual void uniform_int(int location, int comp_len, int array_size, const int *data)=0
void print_log(Span< const char * > sources, char *log, const char *stage, const bool error)
virtual void fragment_shader_from_glsl(MutableSpan< const char * > sources)=0
virtual bool transform_feedback_enable(GPUVertBuf *)=0
virtual int program_handle_get(void) const =0
virtual void vertex_shader_from_glsl(MutableSpan< const char * > sources)=0
virtual void unbind(void)=0
virtual void vertformat_from_shader(GPUVertFormat *) const =0
virtual void transform_feedback_names_set(Span< const char * > name_list, const eGPUShaderTFBType geom_type)=0
virtual void transform_feedback_disable(void)=0
virtual void bind(void)=0
virtual void geometry_shader_from_glsl(MutableSpan< const char * > sources)=0
const char *const name_get(void) const
virtual void uniform_float(int location, int comp_len, int array_size, const float *data)=0
virtual bool finalize(void)=0
GPUShader * immGetShader(void)
static void error(const char *str)
INLINE Rall1d< T, V, S > log(const Rall1d< T, V, S > &arg)
static GPUContext * wrap(Context *ctx)
static Context * unwrap(GPUContext *ctx)