【问题标题】:Problems using camera in OpenGL在 OpenGL 中使用相机的问题
【发布时间】:2019-11-13 07:29:35
【问题描述】:

您好,我正在制作一个可以让相机围绕模型旋转的应用程序,我已经成功导入了 obj 格式的模型
但是我在旋转相机时遇到了问题,你可以看到模型会消失

gl.Perspective(180, (double)Width / (double)Height, 100, 50000f);

旋转相机键码:

Calculate the center point of the model    
currentX = Math.Sin(angle) * radius;
currentZ = Math.Cos(angle) * radius;

gl.LookAt(currentX,0,currentZ,
          centerPoint.X, centerPoint.Y, centerPoint.Z,
          0, 1, 0
);

【问题讨论】:

    标签: c# opengl sharpgl


    【解决方案1】:

    尝试修改近剪裁平面,使其更靠近相机,同时降低 FoV 角度。试试这个:

    gl.Perspective(90, (double)Width/(double)Height, 0.01f, 100.0f);  
    

    【讨论】:

    • @Cook Green 是和以前一样还是略有不同?
    • 和以前一样
    【解决方案2】:

    检查模型是否不比近剪裁平面更近。还要检查面部剔除:如果您的相机在网格内,则您正在查看多边形的背面,这可能没有被渲染。

    【讨论】:

    • 我添加了鼠标滚轮移动可以控制相机,所以即使相机在模型里面,我仍然可以找到它。最大的问题是模型总是cut 由相机远面板(或近面板?)。我希望我能把它做成 3dsmax
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多