我在 OpenGL 中有一个投影类,用户可以按如下方式使用它:
//inside the draw method
customCam1.begin();
//draw various things here
customCam1.end();
我班级中的begin
andend
方法现在是简单的方法,如下所示:
void CustomCam::begin(){
saveGlobalMatrices();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-hParam,hParam,-tParam,tParam,near,far);//hParam and tParam are supplied by the user of the class
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void CustomCam::end(){
loadGlobalMatrices();
};
我希望用户能够创建上述类的多个实例(为这些类中的每一个提供不同的参数lParam
)tParam
,然后在屏幕上绘制所有三个。本质上,这就像三个不同的摄像机用于场景,它们是两个被绘制在屏幕上。(例如,考虑在屏幕上绘制的顶部、右侧、底部视图,屏幕分为三列)。
现在由于只有一个投影矩阵,我如何同时实现三个不同的自定义凸轮视图?