草庐IT

3DRender

全部标签

c++ - Qt3d。在三角形上绘制透明的QSphereMesh

我有一个可以通过OpenGL绘制三角形的函数我通过按下一个按钮绘制两个三角形(函数on_drawMapPushButton_clicked())。然后我在这些三角形上方绘制一个球体。现在我看到,该球体正确绘制在第一个三角形上,但是第二个三角形却绘制在该球体上,反之亦然。如果我第二次按下按钮,则会在第一个和第二个三角形上正确绘制spehere。当我第三次按下按钮时,第二个三角形再次在球体上绘制。当我第四次按下按钮时,会在第一个和第二个三角形上正确绘制spehere,依此类推。如果我在SphereMeshQPhongMaterial而不是QPhongAlphaMaterial中使用,则始终

c++ - 在 Qt3D 中访问帧缓冲区

我的任务:计算3D网格的像素坐标(例如制作快照)以从特定的相机角度找到该网格的2D形状。我目前正在使用Qt3D和QGeometryRenderer将包含网格的场景渲染到QWidget,效果很好。我尝试按照这篇文章HowtocreatescreenshotofQWidget?的建议,使用QWidget::render()将QWidget的内容渲染到Pixmap中。.将像素图保存为.jpg会生成具有默认背景颜色的空白图像,这是有道理的,因为QWidget本身并不持有网格对象。这是在我的mainwindow.cpp中设置场景的方式//setsthesceneobjects,camera,li