电竞比分网-中国电竞赛事及体育赛事平台

分享

使用Coin3D VS2010 Qt 5.3.1構(gòu)建三維圖形開(kāi)發(fā)環(huán)境

 大海tpz789 2017-11-05
oin3D VS2010 Qt 5.3.1構(gòu)建方便的三維圖形開(kāi)發(fā)環(huán)境

【1】請(qǐng)使用baidu或者google搜索并下載各個(gè)軟件包
VS 2010
Qt 5.3.1              qt-opensource-windows-x86-msvc2010_opengl-5.3.1.exe
Qt Addin 1.2.3      qt-vs-addin-1.2.3-opensource.exe
Coin3D 3.1.3      Coin-3.1.3-QT5.1.1-VS2010

【2】安裝軟件包
安裝順序:VS2010 》 Qt 5.3.1 》 QtAddin 1.2.3 》 Coin3D 3.1.3

除Vs2010外,其他軟件最好統(tǒng)一安裝到自定義的路徑中,便于后面學(xué)習(xí)或者開(kāi)發(fā)時(shí)的操作,如統(tǒng)一安裝到C:\Develop\Qt531、C:\Develop\QtAddin123、C:\Develop\Coin3D313等。

【3】配置Qt開(kāi)發(fā)環(huán)境
安裝軟件包后,打開(kāi) VS2010 后,單擊 Qt5 > Launch Designer 時(shí),如果提示沒(méi)有設(shè)置Qt版本,則可以依次操作 Qt5 > Qt Options > Qt Versions > Add > 單擊 Path 后的  ... > 在對(duì)話框中找到Qt安裝路徑C:\Develop\Qt531\5.3\msvc2010_opengl —— 注意,不要添加bin,否則提示無(wú)法找到qmake.exe !

【4】配置Coin3D開(kāi)發(fā)環(huán)境
由于在VS2010中的環(huán)境配置只對(duì)當(dāng)前工程有效,而我們的Coin3D則需要在每個(gè)工程中進(jìn)行配置。

按照以下操作來(lái)使VS2010能夠?qū)崿F(xiàn)“一次性配置”:
首先,任意創(chuàng)建一個(gè)任意類型的工程項(xiàng)目,如名字為adadad。用鼠標(biāo)點(diǎn)擊vs工作區(qū)  左側(cè)  解決方案資源管理器 中的 項(xiàng)目名字adadad ——

1、執(zhí)行菜單欄“視圖—屬性管理器”;

2、點(diǎn)擊adadad項(xiàng)目名字前的三角符號(hào),雙擊Debug | Win32下的“Microsoft.Cpp.Win32.user“,在彈出的配置框中配置所需環(huán)境;

3、這個(gè)設(shè)置是對(duì)所有工程有效的。你可以打開(kāi)其他的工程或者新建新的工程,可以看到都繼承了此配置。

然后,我們?cè)诋?dāng)前這個(gè)工程中配置Coin3D的開(kāi)發(fā)環(huán)境(這里的配置同樣會(huì)直接在我們后面創(chuàng)建的開(kāi)發(fā)工程中應(yīng)用到):

視圖 》 屬性管理器 》 單擊 adadad 項(xiàng)目名字前的三角符號(hào) 》 Debug | Win32 》 雙擊 
Microsoft.Cpp.Win32.user 》 

VC++目錄   》可執(zhí)行文件目錄 》 添加 C:\Develop\Coin3D313\bin;C:\Develop\Qt531\5.3\msvc2010_opengl\bin;
》包含目錄 》 添加  C:\Develop\Coin3D313\include;C:\Develop\Qt531\5.3\msvc2010_opengl\include;
》庫(kù)目錄 》 添加  C:\Develop\Coin3D313\lib;C:\Develop\Qt531\5.3\msvc2010_opengl\lib;

C/C++ 》預(yù)處理器 》定義》添加 SOQT_DLL;COIN_DLL;SOWIN_DLL
代碼生成 》運(yùn)行庫(kù) 》 多線程調(diào)試 DLL (/MDd)
鏈接器 》輸入 》添加 coin3d.lib;soqt1d.lib;sowin1d.lib;

最后,點(diǎn)擊 確定 退出對(duì)話框(為了確保上述值的正確性,請(qǐng)?jiān)俅未蜷_(kāi)這個(gè)對(duì)話框核對(duì)下,尤其是要確保上述安裝路徑務(wù)必要與你自己的真實(shí)安裝路徑一致)。
提示:注意上述路徑中英文分號(hào) ; 的用法??!

【5】測(cè)試開(kāi)發(fā)環(huán)境
新建一個(gè)工程項(xiàng)目,或者清空當(dāng)前工程項(xiàng)目中的main.cpp文件,然后直接粘貼以下代碼——

#include   這些顯示不出來(lái),見(jiàn)樓下評(píng)論部分的內(nèi)容
#include

#include
#include
#include
#include

int main(int argc, char *argv[])
{
QWidget *myW = SoQt::init("");
SoQtExaminerViewer *viewer = new SoQtExaminerViewer(myW);

SoSeparator *root = new SoSeparator;
SoCone *cone = new SoCone;
root->ref();

root->addChild(cone);

viewer->setSceneGraph(root);
viewer->show();

SoQt::mainLoop();
delete viewer;
}

按下F5運(yùn)行工程,此時(shí)應(yīng)該會(huì)提示  無(wú)法啟動(dòng)此程序,因?yàn)橛?jì)算機(jī)中丟失……   

將 C:\Develop\Coin3D313\bin 目錄下的coin3.dll,coin3d.dll,simage1.dll,simage1d.dll,simvoleon2.dll,simvoleon2d.dll,soqt1.dll,soqt1d.dll,sowin1.dll,sowin1d.dll拷貝到自己的工程目錄下,再次點(diǎn)擊就可以運(yùn)行了。
暫時(shí)還不清楚如何通過(guò)設(shè)置項(xiàng)目屬性的方法來(lái)自動(dòng)包含這些文件包,很奇怪,而不是復(fù)制到工程當(dāng)中來(lái)。

解決這個(gè)問(wèn)題的麻煩通知我一下,謝謝。

運(yùn)行效果:
使用Coin3D <wbr>VS2010 <wbr>Qt <wbr>5.3.1構(gòu)建三維圖形開(kāi)發(fā)環(huán)境

修改以下代碼:


SoSeparator *pTriSep = new SoSeparator;
r->addChild(pTriSep);

SoTranslation *ts = new SoTranslation;
ts->translation.setValue(3.50f,4.60f,3.60f);
pTriSep->addChild(ts);

SoMaterialBinding *tmb = new SoMaterialBinding;
tmb->value = SoMaterialBinding::PER_VERTEX;
pTriSep->addChild(tmb);

//設(shè)置三角形顏色
const float triColors[][3] = {
{ 1.0f, 0.0f, 0.0f}, { 0.0f,1.0f,0.0f}, { 0.0f,0.0f,1.0f},
{ 1.0f, 0.0f, 0.0f}, { 0.0f,0.0f,1.0f}, { 0.0f,1.0f,0.0f},
{ 1.0f, 0.0f, 0.0f}, { 0.0f,1.0f,0.0f}, { 0.0f,0.0f,1.0f},
{ 1.0f,0.0f,0.0f}, { 0.0f,0.0f,1.0f},{ 0.0f,1.0f,0.0f}
};

SoMaterial *tmat = new SoMaterial;
tmat->diffuseColor.setValues(0, 12, triColors);
pTriSep->addChild(tmat);

// 畫(huà)三角形
float tVer[][3] = {
{0.0f, 0.0f, 0.0f}, //vertex 1
{0.0f, 1.0f, 0.0f}, //vertex 2
{1.0f, 0.0f, 0.0f}, //vertex 3
{1.5f, 1.0f, 0.0f}
};

SoCoordinate3 *tco = new SoCoordinate3;
tco->point.setValues(0, 12, tVer);
pTriSep->addChild(tco);

SoFaceSet *pFaceSet = new SoFaceSet;
pTriSep->addChild(pFaceSet);

v->viewAll();

效果應(yīng)該是這樣的
使用Coin3D <wbr>VS2010 <wbr>Qt <wbr>5.3.1構(gòu)建三維圖形開(kāi)發(fā)環(huán)境

這里有相關(guān)商業(yè)公司最新的改版書(shū):
http://oivdoc90./node/15927


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多