翻譯|使用教程|編輯:鮑佳佳|2021-02-07 10:19:01.057|閱讀 456 次
概述:顯示Qt 3D提供的四個基本形狀,并為每個形狀設置一個網格。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Qt自帶集成開發環境(IDE),名為Qt Creator。它可以在Linux、OS X和Windows上運行,并提供智能代碼完成、語法高亮、集成幫助系統、調試器和剖析器集成,還集成了所有主要的版本控制系統(如git、Bazaar)。除了Qt Creator外,Windows上的開發人員還可以使用Qt的Visual Studio插件。也可以使用其他的IDE(如KDE上的KDevelop)。但當然絕不是必須使用任何IDE。
Qt 3D:基本形狀C ++示例
Qt相關組件:
顯示Qt 3D提供的四個基本形狀,并為每個形狀設置一個網格。
基本形狀顯示了Qt 3D提供的四種基本形狀:圓環,圓柱體,立方體和球體。該示例還顯示了如何將Qt 3D場景嵌入到小部件中以及如何與其他小部件連接。
運行示例
要從Qt Creator運行示例,請打開“歡迎”模式,然后從“示例”中選擇示例。
設置環面網格
例如,我們介紹了如何設置環面網格。首先,我們實例化QTorusMesh,然后設置特定于網格的參數,對于圓環來說,它們是半徑,次半徑以及環和切片的數量。
m_torus = new Qt3DExtras::QTorusMesh(); m_torus->setRadius(1.0f); m_torus->setMinorRadius(0.4f); m_torus->setRings(100); m_torus->setSlices(20);
圓環的大小和位置可以使用變換組件進行調整。我們創建比例,平移和旋轉組件并將其添加到QTransform組件中。
Qt3DCore::QTransform *torusTransform = new Qt3DCore::QTransform(); torusTransform->setScale(2.0f); torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(0.0f, 1.0f, 0.0f), 25.0f)); torusTransform->setTranslation(QVector3D(5.0f, 4.0f, 0.0f));
要更改網格的漫反射顏色,我們創建一個QPhongMaterial并設置其漫反射顏色。
Qt3DExtras::QPhongMaterial *torusMaterial = new Qt3DExtras::QPhongMaterial(); torusMaterial->setDiffuse(QColor(QRgb(0xbeb32b)));
最后一步是將圓環添加到實體樹中,然后通過QEntity使用父實體創建一個,然后添加先前創建的網格,材質并將組件轉換到其中來完成。
m_torusEntity = new Qt3DCore::QEntity(m_rootEntity); m_torusEntity->addComponent(m_torus); m_torusEntity->addComponent(torusMaterial); m_torusEntity->addComponent(torusTransform);
我們可以通過定義實體是否具有父實體來控制實體的可見性。也就是說,它是否是實體樹的一部分。
void SceneModifier::enableTorus(bool enabled) { m_torusEntity->setEnabled(enabled); }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: