簡體   English   中英

glDrawElements只繪制了半個四邊形

[英]glDrawElements only draws half a quad

這是我的功能:

void Object::draw2()
{

if(!mIsInitialised) { return; }

//Tell OpenGL about our vertex and normal data
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, &Vertices.front());

glEnableClientState(GL_NORMAL_ARRAY);
glNormalPointer(GL_FLOAT, 0, &Temp2.front());

//draw the .txt-file
glDrawElements(GL_TRIANGLES, Indices.size(), GL_UNSIGNED_INT, &Indices.front());

//restore the state GL back
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
}

我的指數 - 矢量包含:1 2 3 1 3 4

我的頂點向量包含:-1 -1 0 1 -1 0 1 1 0 -1 1 0

當我運行程序時,它只繪制了半個四邊形 - 即一個三角形。

結果 - > http://i.stack.imgur.com/jZALG.png

您的索引向量應包含:

0 1 2 0 2 3

否則,您永遠不會觸摸頂點編號0並最終使用四邊形的一半。

暫無
暫無

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

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