我必須創建動畫,在那裏加特林槍將會被射擊(它不一定是複雜的,因爲它只是一種練習)。我拔出槍的基本版本,看起來像這樣:opengl - 如何將紋理放在3D不規則物體上
不要打擾顏色 - 我讓他們一樣,要能看到有槍的特定部分的egdes。現在我想通過使用一些紋理 - 摩洛或類似金屬色 - example 1或example2使其看起來更好。我知道如何加載紋理以及如何將其用於2d對象,但我不知道是否有可能爲我的整個繪圖使用此紋理,或者是否必須分別爲每個部分使用紋理?這是我的代碼對應於從BMP文件加載紋理,並使其能夠使用:
void initTexture(string fileName)
{
loadBmp(fileName.c_str());
textureId = 13;
glBindTexture(GL_TEXTURE_2D, textureId); //Tell OpenGL which texture to edit
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
//Map the image to the texture
glTexImage2D(GL_TEXTURE_2D, //Always GL_TEXTURE_2D
0, //0 for now
GL_RGB, //Format OpenGL uses for image
tex.info.biWidth, tex.info.biHeight, //Width and height
0, //The border of the image
GL_RGB, //GL_RGB, because pixels are stored in RGB format
GL_UNSIGNED_BYTE, //GL_UNSIGNED_BYTE, because pixels are stored
//as unsigned numbers
tex.px); //The actual pixel data
}
loadBmp()是函數加載位圖文件。我試圖在互聯網和計算器中搜索某些東西,但所有關於立方體或球體的例子都不幫助我。我怎樣才能把紋理放在這張圖上?
我知道這是錯誤的,但這是我的做法。我必須使用OpenGL繪製所有這些,而無需加載任何模型。我知道這是愚蠢的,但我能說什麼 - 我只需要做這個... :( – Blood
@血液:家庭作業的任務?那麼告訴他們教你什麼在現實世界的預期 - 沒有人硬編碼模型。他們不能指望大學生解決問題,這些問題仍然是積極的學術研究,你當然可以使用一些技巧,比如給每個桶提供自己的紋理,並使用圓柱形紋理座標 – datenwolf
你是不對的我已經發布回答這個問題。檢查出來 – Blood