#ifndef _LOOK_AT_MATRIX_ #define _LOOK_AT_MATRIX_ float4x4 look_at_matrix(float3 at, float3 eye, float3 up) { float3 zaxis = normalize(at - eye); float3 xaxis = normalize(cross(up, zaxis)); float3 yaxis = cross(zaxis, xaxis); return float4x4( xaxis.x, yaxis.x, zaxis.x, 0, xaxis.y, yaxis.y, zaxis.y, 0, xaxis.z, yaxis.z, zaxis.z, 0, 0, 0, 0, 1 ); } #endif