}
#pragma GCC diagnostic pop
-#define SHADER_UNIFORM( NAME, U ) NAME##_auto_uniforms[ STR_STATIC_INDEX( NAME##_auto_names, U ) ]
-#define SHADER_UNIFORM_NAME( NAME, UID ) NAME##_auto_names[ UID ]
+#define SHADER_NAME( NAME ) (NAME##_static_shader.program)
+#define SHADER_USE( NAME ) glUseProgram( NAME##_static_shader.program )
+
+#define SHADER_UNIFORM( NAME, U ) NAME##_shader_uniforms[ STR_STATIC_INDEX( NAME##_shader_names, U ) ]
+#define SHADER_UNIFORM_NAME( NAME, UID ) NAME##_shader_names[ UID ]
#define STR_STATIC_INDEX( LIST, STR ) static_str_index( LIST, vg_list_size(LIST), STR )
#define UNIFORMS(...) __VA_ARGS__