Retreives the glsl_type that corresponds to the base type of a numeric scalar /
vector / matrix type. So vec4 returns float, etc.
return glsl_error_type;
}
}
+
+
+const glsl_type *glsl_type::get_base_type() const
+{
+ switch (base_type) {
+ case GLSL_TYPE_UINT:
+ return glsl_uint_type;
+ case GLSL_TYPE_INT:
+ return glsl_int_type;
+ case GLSL_TYPE_FLOAT:
+ return glsl_float_type;
+ case GLSL_TYPE_BOOL:
+ return glsl_bool_type;
+ default:
+ return glsl_error_type;
+ }
+}
}
/**
+ * For numeric and boolean derrived types returns the basic scalar type
+ *
+ * If the type is a numeric or boolean scalar, vector, or matrix type,
+ * this function gets the scalar type of the individual components. For
+ * all other types, including arrays of numeric or boolean types, the
+ * error type is returned.
+ */
+ const glsl_type *get_base_type() const;
+
+ /**
* Query whether or not a type is a scalar (non-vector and non-matrix).
*/
bool is_scalar() const