【问题标题】:Q3D Setting aspect ration has no effect on an imageQ3D 设置纵横比对图像没有影响
【发布时间】:2021-07-11 14:39:48
【问题描述】:

再次尝试制作一些不是开箱即用的东西。我面临以下问题: 我试图改变相机的纵横比,比如

Qt3DRender::QCamera *camera = view.camera();
    camera->lens()->setPerspectiveProjection(45.0f, 100.0f/*16.0f/9.0f*/, 0.1f, 1000.0f);
    camera->lens()->setProjectionType(Qt3DRender::QCameraLens::ProjectionType::PerspectiveProjection);
    camera->setPosition(QVector3D(0, 0, 40.0f));
    camera->setViewCenter(QVector3D(0, 0, 0));

但显然它没有任何效果。就像这个参数与图像形成完全无关。 有人可以解释一下我如何设置纵横比或任何其他方法来设置“uniform mat4 mvp;”如果我必须使用着色器。

是否有关于 CameraLens 如何将其值传递给着色器的简明参考?代码很大而且很复杂,我不想太深入。

【问题讨论】:

    标签: opengl 3d qt5 aspect


    【解决方案1】:

    研究 Q3D 的源代码后,我发现纵横比是由引擎动态更改的。阻止它的唯一方法是使用“setProjectionMatrix”函数,该函数将停止投影矩阵的自动更新,一切都将由您自己处理(包括剔除计算和正确的投影矩阵形成)。

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 2019-04-02
      • 2012-05-06
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多