【问题标题】:Drawing 3D triangle over scene in Irrlicht在 Irrlicht 中的场景上绘制 3D 三角形
【发布时间】:2014-07-19 16:29:19
【问题描述】:

我想在我的场景上绘制一个自定义的红色 3D 三角形。我遵循了一些教程并提出了以下代码:

while(device->run()) {
    driver->beginScene();
    driver->setTransform(ETS_WORLD, matrix4());
    driver->setMaterial(material);
    driver->draw3DTriangle(myTriangle, SColor(0,255,0,0));
    smgr->drawAll();
    driver->endScene();
}

但这仅显示我的 3D 场景,没有红色三角形的迹象。我检查了它的坐标,它们很好,我认为这只是一个渲染问题。

【问题讨论】:

    标签: irrlicht


    【解决方案1】:

    smgr->drawAll() 将清理整个屏幕并显示您的场景。因此在driver->draw3DTriangle() 之后调用它会擦除你的三角形。如果您反转渲染函数的顺序,这将正常工作。见下文:

    while(device->run()) {
        driver->beginScene();
        smgr->drawAll();
        driver->setTransform(ETS_WORLD, matrix4());
        driver->setMaterial(material);
        driver->draw3DTriangle(myTriangle, SColor(0,255,0,0));
        driver->endScene();
    }
    

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 1970-01-01
      • 2011-03-11
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 2015-03-30
      相关资源
      最近更新 更多