Hello everyone.

We have decided to phase out the Mixed Reality Forums over the next few months in favor of other ways to connect with us.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

The plan between now and the beginning of May is to clean up old, unanswered questions that are no longer relevant. The forums will remain open and usable.

On May 1st we will be locking the forums to new posts and replies. They will remain available for another three months for the purposes of searching them, and then they will be closed altogether on August 1st.

So, where does that leave our awesome community to ask questions? Well, there are a few places we want to engage with you. For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality. If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers. And always feel free to hit us up on Twitter @MxdRealityDev.

Coordinate Systems and Matrices problems

We are working on a mixed reality application, written in C# UWP.
Obviously, we read many of the discussion in this forum, but still did not find any solution to our problem.

Our objective is to relocate the Hololens scene rendering on an external server. For this purpose, the Hololens camera position and orientation must be reproduced in our scene. The latter has a right handed Coordinate System (CS) similar to the one in OpenGL, while the Hololens camera CS (similar to DirectX) is left handed.

Based on this information, how can we get Hololens camera position and orientation of each eye?

Do we have to manipulate transform matrices, or can we deal with position vectors only?

Your help will be really appreciate!


  • edited August 2016

    Typically to switch between LH and RH coords just take only 1 axis and change it's signedness.

    In other words take just the Y axis from the LH coordinates, and what ever it's value is, flip the sign. If it's positive, change it to negative and vice versa. Only flip one axis, don't change the X, or Z. Then rotate the coordinates from the other axis to what ever standard coordinate system you're using. Note, it doesn't matter which axis you flip the signedness, but just choose one is the important piece

    Unless I'm missing something is this what you need?

    Dwight Goins
    CAO & Founder| Independent Architect | Trainer and Consultant | Sr. Enterprise Architect
    MVP | MCT | MCSD | MCPD | SharePoint TS | MS Virtual TS |Windows 8 App Store Developer | Linux Gentoo Geek | Raspberry Pi Owner | Micro .Net Developer | Kinect For Windows Device Developer

  • Hi, and sorry for the delay.
    I really appreciate the time you took to answer our questions.

    Actually, I think our main problem was related to the matrix type (column or row). We now solved it and our app works great!

    Thanks again

Sign In or Register to comment.