Why is my FOV Perspective Matrix4x4 looking Orthographic (DotNet and SkiaSharp)?

Brief overview, you can image I’m drawing points of a 3D schematic onto a Canvas, think CAD.

I have points in 3D XYZ Vector3 coordinates, and I’ve got a model, view, projection matrix all setup. I’ve done this and produced OpenGL and Metal (Mac/iOS) views and they all work great.

I now just wanted to plot points on a 2D canvas (SkiaSharp) as another view representation but I’ve run into an issue I just can’t wrap my head around.

First I did a plain Orthographic view of it and this worked fine.

I used Matrix4x4 CreateOrthographic to do the Projection matrix (https://learn.microsoft.com/en-us/dotnet/api/system.numerics.matrix4x4.createorthographic?view=net-8.0)

And I used CreateLookAt for the View matrix (https://learn.microsoft.com/en-us/dotnet/api/system.numerics.matrix4x4.createlookat?view=net-8.0)

The Camera is placed vertically above the single model center and looks down (position is Center.X, Center.Y, 10 for example and target Center.X, Center.Y, 0 with the camera Up as the unit Y vector.

This all looks fine in Orthographic.

So then I tried a Perspective projection matrix.

I used the CreatePerspectiveFieldOfView (https://learn.microsoft.com/en-us/dotnet/api/system.numerics.matrix4x4.createperspectivefieldofview?view=net-8.0) – which I used with the data for OpenGL/Metal (and that looks exactly as expected), but the more manually created on in a Skia canvas just doesn’t look right.

It still looks Orthographic???

Here’s what I’ve tried and found….

1 – The view looks orthographic. When I rotate the model, I have a large flat grid in it, and the far edge of the grid is the same size on screen as the near edge of the grid …. so seemingly orthographic but its a ‘perspective FOV matrix’.

2 – When I try and move the camera in the Z axis (either in the CreateLookAt position or after the fact with a translation)….the view doesn’t change at all. Again, something I could understand with an Orthographic view but not perspective FOV?

3 – The Aspect Ratio I input into the perspective stretches the view vertically or horizontally. I’m having to put in 1 (square) to get a non-stretched view (Red flag!)

4 – FOV doesn’t appear to do much except scale the whole view (as you’d expect, it gets smaller/larger) – but still appearing orthographic?

Does anyone have any ideas as to why/what/how you might see this sort of affect? What could I have set up wrong or interpreted wrong to result in such an output? Is there a step I’ve missed that a GPU would do in OpenGL/Metal as to why these matrices appear fine when transforming vertices into a shader, but not when manually processing Vector3’s and drawing onto Skia?

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật