Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在OpenGL中根据不同的屏幕大小/分辨率重新计算线条的x、y值?_C#_Opengl - Fatal编程技术网

C# 如何在OpenGL中根据不同的屏幕大小/分辨率重新计算线条的x、y值?

C# 如何在OpenGL中根据不同的屏幕大小/分辨率重新计算线条的x、y值?,c#,opengl,C#,Opengl,我将x,y值作为大值,因此无法绘制直线,因为坐标位于相应窗口坐标之外。如何在OpenGL中根据不同的屏幕大小/分辨率重新计算x、y值 提前谢谢 在openGL中,这是使用所谓的“投影矩阵”来完成的。这将定义“世界坐标”如何映射到屏幕上 如果您仍然使用“old”OpenGL的固定函数管道,那么可以通过选择它“glMatrixMode(GL_PROJECTION);”然后将其上的操作应用于所需的映射(glLoadIdentity、glScale、glRotate、glTranslate、glOrth

我将x,y值作为大值,因此无法绘制直线,因为坐标位于相应窗口坐标之外。如何在OpenGL中根据不同的屏幕大小/分辨率重新计算x、y值


提前谢谢

在openGL中,这是使用所谓的“投影矩阵”来完成的。这将定义“世界坐标”如何映射到屏幕上

如果您仍然使用“old”OpenGL的固定函数管道,那么可以通过选择它“glMatrixMode(GL_PROJECTION);”然后将其上的操作应用于所需的映射(glLoadIdentity、glScale、glRotate、glTranslate、glOrtho等)

如果您使用的是着色器,那么实际使用制服来设置该矩阵并将其应用到顶点着色器中的所有顶点坐标取决于您


请参见

OpenGL没有获取“线的x,y值”的机制。我想知道的是,如何根据我的屏幕大小/分辨率重新调整x,y值的大小(假设我的x,y值很大)。