Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.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

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视图和矩阵_C++_Opengl - Fatal编程技术网

C++ OpenGL视图和矩阵

C++ OpenGL视图和矩阵,c++,opengl,C++,Opengl,我很难理解OpenGL中的渲染是如何工作的。 在我的渲染函数中,我想要这样的东西 void Window::render() { //Render scene //set screen center to be 0,0 (like opengl is by default) myObject.render(); //Render interface //set point 0,0 to topleft corner so that I can render this based om scre

我很难理解OpenGL中的渲染是如何工作的。 在我的渲染函数中,我想要这样的东西

void Window::render() {
//Render scene
//set screen center to be 0,0 (like opengl is by default)
myObject.render();

//Render interface
//set point 0,0 to topleft corner so that I can render this based om screensize
myInterface.render();
编辑:我的问题是,我该怎么做?我试过在以下方面做手脚:

glMatrixMode(GL_PROJECTION);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

您真的不应该使用旧的固定函数管道函数。虽然你会做的很简单,把投影矩阵从透视矩阵(3D)改为正交矩阵(“2D”)。啊,我明白了。那么现在有没有一种新的方法可以做到这一点呢?现代的方法是自己计算所有矩阵并将它们传递给着色器。如果您想避免自己计算所有矩阵,这个库应该有帮助: