#c #qt #3d
Вопрос:
Я играю Qt 3D: Basic Shapes C Example
и хотел бы установить свою собственную текстуру на плоскости. И это работает.
Но когда я помещаю камеру за плоскостью, я не вижу никакой плоскости ( никакой текстуры ). Как я могу установить текстуры на плоскости ( сзади и спереди — теперь у меня есть только спереди )?
Qt3DCore::QEntity *planeEntity = new Qt3DCore::QEntity(rootEntity);
Qt3DExtras::QPlaneMesh *planeMesh = new Qt3DExtras::QPlaneMesh(planeEntity);
planeMesh->setHeight(2);
planeMesh->setWidth(2);
Qt3DExtras::QTextureMaterial *planeMaterial = new Qt3DExtras::QTextureMaterial(planeEntity);
Qt3DRender::QTexture2D *planeTexture = new Qt3DRender::QTexture2D(planeMaterial);
Qt3DRender::QTextureImage *planeTextureImage = new Qt3DRender::QTextureImage(planeTexture);
planeTextureImage->setSource(QUrl::fromLocalFile("pathToImage/image.png"));
planeTexture->addTextureImage(planeTextureImage);
planeMaterial->setTexture(planeTexture);
Qt3DCore::QTransform *planeTransform = new Qt3DCore::QTransform();
planeTransform->setScale(1.3f);
planeTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1.0f, 0.0f, 0.0f), 90.0f));
planeTransform->setTranslation(QVector3D(0.0f, -4.0f, 0.0f));
planeEntity->addComponent(planeMesh);
planeEntity->addComponent(planeMaterial);
planeEntity->addComponent(planeTransform);