private void openGLControl1_Resized(object sender, EventArgs e)
{
// Get OpenGL.
var gl = openGLControl1.OpenGL;
// Set the projection matrix.
gl.MatrixMode(MatrixMode.Projection);
gl.LoadIdentity();
gl.Perspective(45, (double)Width / (double)Height, 1.0, 100.0);
// Back to modelview.
gl.MatrixMode(MatrixMode.Modelview);
}
该程序段是OpenGL控件的窗口大小调整事件处理方法(openGLControl1_Resized),用于在窗口大小发生变化时调整OpenGL的投影矩阵,以确保场景能够正确渲染。以下是该方法的详细解析:
程序概述
该方法在OpenGL控件大小发生变化时被调用,主要完成以下任务:
设置投影矩阵以适应新的窗口大小。
确保场景的透视投影正确。
代码解析
1. 获取OpenGL实例
var gl = openGLControl1.OpenGL;
获取OpenGL控件的OpenGL实例,用于后续的OpenGL操作。
2. 设置投影矩阵
gl.MatrixMode(MatrixMode.Projection);
gl.LoadIdentity();
gl.Perspective(45, (double)Width / (double)Height

最低0.47元/天 解锁文章
1629

被折叠的 条评论
为什么被折叠?



