C++ 我如何在bird';使用GLM的人眼视图?
我正试着从鸟瞰的角度来设置我的相机。我的意思是指笔直向下。到目前为止,我已经初始化了以下内容:C++ 我如何在bird';使用GLM的人眼视图?,c++,opengl,camera,glm-math,perspectivecamera,C++,Opengl,Camera,Glm Math,Perspectivecamera,我正试着从鸟瞰的角度来设置我的相机。我的意思是指笔直向下。到目前为止,我已经初始化了以下内容: glm::vec3 camPosition = glm::vec3(0.0f, 10.0f, 0.0f); // camera's position glm::vec3 camFront = glm::vec3(0.0f, 0.0f, 0.0f); // where the camera is pointing glm::vec3 camUp = glm::vec3(0.0f, 0.0f, 1.0
glm::vec3 camPosition = glm::vec3(0.0f, 10.0f, 0.0f); // camera's position
glm::vec3 camFront = glm::vec3(0.0f, 0.0f, 0.0f); // where the camera is pointing
glm::vec3 camUp = glm::vec3(0.0f, 0.0f, 1.0f);
我将其传递到glm::lookat
函数中,但这根本不起作用。也许我还不太明白
我正试着从鸟瞰的角度来设置我的相机
我建议做以下几点。定义2个向量
glm::vec3世界杯(0.0f,0.0f,1.0f);
glm::vec3北半球(0.0f、1.0f、0.0f);
camPosition
是“鸟”的位置。天空中的一个高点:
浮动高度=10.0f;
glm::vec3 camPosition=world_up*10.0f;
camTraget
它是“鸟”正在看的位置。地面上的一点:
glm::vec3 camTraget=glm::vec3(0.0f,0.0f,0.0f);
camUp
垂直于从camPosition
到camTraget
的向量。因为“鸟”看地面,所以它是鸟的飞行方向(例如向北):
glm::vec3-camUp=world\u-north;
glm::mat4 view=glm::lookAt(camPosition、camTraget、camUp);
你知道OpenGL是如何工作的吗?你知道glm::lookat
的返回类型是矩阵4x4,你需要用这个矩阵做什么吗?是的(至少我想我知道…)。我把这个矩阵和我的物体的位置矩阵相乘。我不是专家,但也许你需要把你从lookat
hmm.得到的矩阵倒过来。。似乎不起作用什么是不起作用?这段代码应该为您提供一个正确的视图矩阵。