簡體   English   中英

在OpenTK中翻譯對象

[英]Translating Object in OpenTK

您好,我目前正在使用

 Vector3 translation = new Vector3( tx, ty, tz);
        GL.Translate(translation);

在Vector3值從-1到1的OpenTK中轉換對象的方式

如何更改此設置,並使可移動對象的值朝像素方向移動,以便可以根據用戶的屏幕尺寸設置場景。

謝謝!

在舊版OpenGL 1.x中,您可以通過使用GL.Ortho設置正交投影來實現

GL.MatrixMode(MatrixMode.Projection);
GL.LoadIdentity();
GL.Ortho(0, Width, Height, 0, -1, 1);

GL.MatrixMode(MatrixMode.Modelview);
GL.LoadIdentity();
GL.Translate(1.0f, 0, 0); // translates by 1 pixel

請注意,這將使您的應用程序難以移植到高分辨率(4K)顯示器。 我建議盡可能使用與分辨率無關的方法。 例如:

GL.MatrixMode(MatrixMode.Projection);
GL.LoadIdentity();
GL.Ortho(-1, 1, 1, -1, -1, 1);

GL.MatrixMode(MatrixMode.Modelview);
GL.LoadIdentity();
GL.Translate(1.0f / Width, 0, 0); // translates by 1 pixel

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM