簡體   English   中英

Assimp無法加載PLY模型的頂點顏色

[英]Assimp cannot load vertices color of PLY model

我在帶有OpenGL的Windows上使用assimp3.0。 我嘗試通過以下幾行加載並顯示層板模型:

Assimp::Importer importer;
const aiScene* scene = NULL;
scene = importer.ReadFile('filename', 0);

我建立頂點緩沖器與scene->mMeshes[0]->mVertices和顏色用緩沖液scene->mMeshes[0]->mColors然而,當我調試代碼,只scene->mMeshes[0]->mColors[0]得到了顏色, scene->mMeshes[0]->mColors[1] ,下面的元素保留為NULL,下面是一個簡短的示例II:

ply
format ascii 1.0
comment VCGLIB generated
element vertex 3
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
property uchar alpha
element face 1
property list uchar int vertex_indices
end_header
0.0 0.0 0.0 219 227 248 255
1.0 0.0 0.0 220 230 212 255
2.0 0.0 2.0 160 122 221 255
3 0 1 2

我目前在想這是否是由於importer.ReadFile(pFile,pFlags) pFlags參數錯誤引起的。

誰能幫我找出哪一部分出了問題。

我想我明白這個問題。

您正在閱讀這樣的顏色

for (int i = 0; i < vertexCount; i++)
    vertexColor = scene->mMeshes[0]->mColors[i];

但是,AssImp可以存儲多個頂點顏色通道,因此您應該像這樣讀取它。

for (int i = 0; i < vertexCount; i++)
    vertexColor = scene->mMeshes[0]->mColors[0][i];

這將讀取第0個頂點顏色通道中的顏色

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM