// shader standard_shader( point a_position = vector(0, 0, 0) [[ string attribute="POSITION"]], vector a_normal = vector(0, 1, 0) [[ string attribute="NORMAL"]], float a_uv[2] = {0,0} [[ string attribute="TEXCOORD_0"]], output point v_position = point(0, 0, 0) [[ string attribute="POSITION"]], output vector v_normal = vector(0,1,0) [[ string attribute="NORMAL"]], output float v_uv[2] = {0, 0} [[ string attribute="TEXCOORD_0"]], output vector v_toCamera = vector(0, 0, 0), output vector v_toLight = vector(0, 0, 0) ) { matrix mat_world; getattribute("self:world_transform", mat_world); //matrix mat_normal; //getattribute("self:normal_transform", mat_normal); matrix mat_camera_view_proj; getattribute("camera:view_proj", mat_camera_view_proj); point camera_position; getattribute("camera:eye_pos", camera_position); point light0_position; getattribute("light0:position", light0_position); v_position = transform(mat_camera_view_proj, transform(mat_world, a_position)); v_normal = a_normal; v_uv = a_uv; v_toCamera = normalize(camera_position-v_position); v_toLight = normalize(light0_position-v_position); }