Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 private static bool IsCulled(float3 center, float radius, ref CameraMatrices cameraMatrices)
 {
     ref var frustum = ref cameraMatrices.frustum;