示例#1
0
        public static void VSSkinnedInstanced(
            VertexInput input,
            out Vector4 position,
            out Vector3 worldPosition,
            out Vector3 worldNormal,
            out Vector2 cloudUV,
            Matrix4x4 world,
            Matrix4x4 viewProjection,
            Matrix4x4 cloudShadowMatrix,
            float timeInSeconds)
        {
            VSSkinnedInstancedPositionOnly(
                input,
                out position,
                out worldPosition,
                world,
                viewProjection);

            worldNormal = TransformNormal(input.Normal, world);

            cloudUV = CloudHelpers.GetCloudUV(
                worldPosition,
                cloudShadowMatrix,
                timeInSeconds);
        }
示例#2
0
        public static void VSSkinnedInstanced(
            VertexInput input,
            out Vector4 position,
            out Vector3 worldPosition,
            out Vector3 worldNormal,
            out Vector2 cloudUV,
            Matrix4x4 world,
            Matrix4x4 viewProjection,
            Matrix4x4 cloudShadowMatrix,
            float timeInSeconds)
        {
            var worldPositionHomogeneous = Vector4.Transform(input.Position, world);

            position = Vector4.Transform(worldPositionHomogeneous, viewProjection);

            worldPosition = worldPositionHomogeneous.XYZ();

            worldNormal = TransformNormal(input.Normal, world);

            cloudUV = CloudHelpers.GetCloudUV(
                worldPosition,
                cloudShadowMatrix,
                timeInSeconds);
        }