public static float2 ViewPortPointToNearClipPoint(CameraMatrices cameraMatrices, float2 viewportPoint) { var modelViewMat = math.mul(cameraMatrices.view, float4x4.identity); var mvpMat = math.mul(cameraMatrices.projection, modelViewMat); var inverseMvpMat = math.inverse(mvpMat); var position = new float4(viewportPoint.x, viewportPoint.y, k_NearClip, 1f); position = math.mul(inverseMvpMat, position); if (position.w == 0f) { return(float2.zero); } position.w = 1f / position.w; position.x *= position.w; position.y *= position.w; position.z *= position.w; return(position.xy); }
private static bool IsCulled(float3 center, float radius, ref CameraMatrices cameraMatrices) { ref var frustum = ref cameraMatrices.frustum;