+class AddUniform(bpy.types.Operator):
+ bl_idname = "material.add_uniform"
+ bl_label = "Add Uniform"
+ bl_description = "Add a new uniform value to the material"
+
+ def execute(self, context):
+ mat = context.active_object.active_material
+ mat.uniforms.add()
+ mat.active_uniform_index = len(mat.uniforms)-1
+
+ return {"FINISHED"}
+
+class RemoveUniform(bpy.types.Operator):
+ bl_idname = "material.remove_uniform"
+ bl_label = "Remove Uniform"
+ bl_description = "Remove the selected uniform from the material"
+
+ def execute(self, context):
+ mat = context.active_object.active_material
+ mat.uniforms.remove(mat.active_uniform_index)
+ mat.active_uniform_index = min(mat.active_uniform_index, len(mat.uniforms)-1)
+
+ return {"FINISHED"}
+