2011-10-17 157 views
1

我有一個由三角形組成的立方體,因此8個頂點和相應的角色創建了三角形。我無法創建此立方體的紋理座標。我嘗試使用類似的值:紋理使用OpenGL中的2D紋理映射3D對象

float amt = 1.0f; 
m_texBuffer.push_back(Texel(0.0f, 0.0f)); 
m_texBuffer.push_back(Texel(amt, 0.0f)); 
m_texBuffer.push_back(Texel(amt, amt)); 
m_texBuffer.push_back(Texel(0.0f, amt)); 

m_texBuffer.push_back(Texel(0.0f, 0.0f)); 
m_texBuffer.push_back(Texel(amt, 0.0f)); 
m_texBuffer.push_back(Texel(amt, amt)); 
m_texBuffer.push_back(Texel(0.0f, amt)); 

我得到了具有amt變量值的奇怪視覺效果。我明白,由於一幅圖像可能比實際的對象小,因爲它並不是一對一的對應關係,所以我試圖讓它成爲一個小值,但仍然沒有成功。

+0

哪裏?我沒有看到複選框,也沒有看到答案 – Katianie

+0

我的意思是你的其他問題。我只是注意到,你沒有(當時我發佈)接受了任何答案,並讓你知道這個功能。 –

+0

@NicolBolas,我認爲他需要15個聲望。所以直到他得到那個,他不能接受答案 – Shahbaz

回答

1

對於常規紋理,每個座標中的採樣範圍爲0到1,與採樣分辨率無關。

不幸的是,你的代碼是絕對不會說的,它可能是任何東西。我們真的需要看到更多,尤其是實際的OpenGL調用。

編輯因發表評論

導入圖像數據必須告訴OpenGL在緩衝區中的數據的佈局。的基本信息是

(參數glTexImage)成分的

  • NUMER
  • 部件
  • 排列
  • 大小各成分的

(參數glPixelStore)

  • alignme NT(0用於緊密包裝,否則對準爲1,2或4字節)
  • 像素和行運行lenghts(通常是那些是0)

請參閱的glTexImageglPixelStore的文件和設置它們apropriately爲您的圖像數據。

+0

我實際上在物體上產生了彩虹迷幻效果。它幾乎像電視屏幕上的彩色雪。我不知道爲什麼會發生這種情況。 – Katianie

+0

@Katianie:然後你沒有正確加載你的紋理。完全不同的問題。請爲將來的問題添加屏幕截圖。查看我的答案編輯。 – datenwolf