建立自己的3D靜態模型檔案

2021-03-31 08:56:32 字數 1138 閱讀 6070

跟著我一步一步來吧(我的思路和過程)。

我有乙個能畫出微軟例子中tiger.x的工程,其中建立mesh的**片斷如下(**中有一些變數在.h文件中定義的):

hresult cmymesh::create( lpdirect3ddevice9 pdevice, string meshfile )

}pd3dxmtrlbuffer->release();

return s_ok;

}畫這個mesh的**如下:

void cmymesh::render( lpdirect3ddevice9 pdevice )

}我們先想辦法替換drawsubset函式,**如下:

void cmymesh::render( lpdirect3ddevice9 pdevice )

雖然meshtextures和meshmaterials處有點問題,但是我們知道了畫tiger.x的時候都需要什麼東西:

vb,ib,numbytespervertex,fvf,numvertex,faces,texture,material

那麼我們將這些東西儲存到檔案中,不就和.x檔案目的相同了麼, 並且可以繞過d3dxmesh了。那麼這些東西怎麼得到呢:我修改了create部分的**:

hresult cmymesh::create( lpdirect3ddevice9 pdevice, string meshfile )

hresult hr = d3dxcreatetexturefromfileinmemory(d3ddevice,pbuf,nlen,&meshtextures[i]);

delete pbuf;

//hresult hr = d3dxcreatetexturefromfile( d3ddevice_, d3dxmaterials[i].ptexturefilename, &meshtextures_[i] );

if( failed( hr ) )

return e_fail;}}

//下面是增加的內容

file* fp;

if( ( fp = fopen("tiger.o","w") ) != null )

//增加結束

pd3dxmtrlbuffer->release();

return s_ok;

}

建立自己的3D靜態模型檔案

跟著我一步一步來吧 我的思路和過程 我有乙個能畫出微軟例子中tiger.x的工程,其中建立mesh的 片斷如下 中有一些變數在.h文件中定義的 hresult cmymesh create lpdirect3ddevice9 pdevice,string meshfile pd3dxmtrlbuff...

關於建立3D線框模型的解答

bricscad 20 for mac 關於建立3d線框模型 3d線框模型是真實物件的邊緣或骨骼表示。3d線框模型由定義物件的邊緣或中心線的點,線,弧,圓和其他曲線組成。您可以使用3d線框模型來 強烈建議您將3d線框幾何體保留在單獨的參考層上,以便在檢查3d模型的完整性或重新建立模型的某些部分時方便...

關於3D模型中的obj檔案

obj檔案不需要任何種檔案頭,檔案由一行行文字組成,注釋行以符號 為開頭,空格和空行可以隨意加到檔案中。有字的行都由一兩個標記字母也就是關鍵字 keyword 開頭,關鍵字可以說明這一行是什麼樣的資料。多行可以邏輯地連線在一起表示一行,方法是在每一行最後新增乙個連線符 注意連線符 後面不能出現空格或...