layout(set=0) uniform samplerCube environment_map;
layout(set=0) uniform samplerCube irradiance_map;
+layout(constant_id=auto) const bool use_instancing = false;
layout(constant_id=auto) const bool use_normal_map = false;
#pragma MSP stage(vertex)
virtual mat4 get_vertex_transform()
{
- return world_obj_matrix;
+ if(use_instancing)
+ return transpose(mat4(instance_transform[0], instance_transform[1], instance_transform[2], vec4(0.0, 0.0, 0.0, 1.0)));
+ else
+ return world_obj_matrix;
}
virtual mat3 get_normal_transform()
{
- return world_obj_normal_matrix;
+ if(use_instancing)
+ return transpose(mat3(instance_transform[0].xyz, instance_transform[1].xyz, instance_transform[2].xyz));
+ else
+ return world_obj_normal_matrix;
}
void standard_transform()