簡體   English   中英

訪問 Assimp 紋理坐標數據時 OpenGL 應用程序崩潰

[英]OpenGL Application crashes when accessing Assimp Texture Coordinate Data

我正在嘗試訪問在攪拌機中制作的立方體模型的紋理坐標。

for (int i = 0; i < mMesh->mNumVertices; i++) {
    std::cout << mMesh->mTextureCoords[i][0].x << " " << mMesh->mTextureCoords[i][0].y << std::endl;
}

為什么會發生這種情況。
應用程序窗口啟動,但不顯示紅色背景。
並且第一個坐標也被打印出來
0 1
我該如何解決這個問題。
刪除此代碼不會導致崩潰。

這應該是:

for (int i = 0; i < mMesh->mNumVertices; i++)
{
    std::cout << mMesh->mTextureCoords[0][i].x << " " << mMesh->mTextureCoords[0][i].y << std::endl;
}

看起來你搞砸了第一個和第二個數組參數。 此外,檢查網格是否具有紋理坐標也是一種很好的做法。 然后代碼變成

if (mMesh->HasTextureCoords(0)) //HasTextureCoords is an assimp function
{
    for (int i = 0; i < mMesh->mNumVertices; i++)
    {
        std::cout << mMesh->mTextureCoords[0][i].x << " " << mMesh- >mTextureCoords[0][i].y << std::endl;
    }
}

暫無
暫無

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

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