tojam20-elevator/shaders/billboard.gdshader

14 lines
392 B
Text

shader_type spatial;
void vertex() {
vec3 right = normalize(cross(vec3(0.0, 1.0, 0.0), to_camera));
vec3 up = vec3(0.0, 1.0, 0.0);
vec3 forward = normalize(cross(right, up));
mat4 billboard_matrix = mat4(
vec4(right, 0.0),
vec4(up, 0.0),
vec4(forward, 0.0),
vec4(model_pos, 1.0)
);
MODELVIEW_MATRIX = VIEW_MATRIX * billboard_matrix;
}