ProgrammingのTipなど

VBOでのテクスチャ

glBufferSubData(GL_ARRAY_BUFFER, sizeof(vx1)+sizeof(normal1)+sizeof(color1), sizeof(texUVarray1), texUVarray1);
UVの配列を渡します
void initVBO()
{
  glGenBuffers(1, &vboBuffer);
  glBindBuffer(GL_ARRAY_BUFFER, vboBuffer);
  glBufferData(GL_ARRAY_BUFFER, sizeof(vx1)+sizeof(normal1)+sizeof(color1)+sizeof(texUVarray1), 0, GL_STATIC_DRAW);
  glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vx1), vx1);
  glBufferSubData(GL_ARRAY_BUFFER, sizeof(vx1), sizeof(normal1), normal1);
  glBufferSubData(GL_ARRAY_BUFFER, sizeof(vx1)+sizeof(normal1), sizeof(color1), color1);
  glBufferSubData(GL_ARRAY_BUFFER, sizeof(vx1)+sizeof(normal1)+sizeof(color1), sizeof(texUVarray1), texUVarray1);
  glBindBuffer(GL_ARRAY_BUFFER, 0);

  glGenBuffers(1, &ixBuffer);
  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ixBuffer);
  glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(ix1), ix1, GL_STATIC_DRAW);
  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
}
描画関数
  glBindBuffer(GL_ARRAY_BUFFER, vboBuffer);
  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ixBuffer);

  glEnableClientState(GL_NORMAL_ARRAY);
  glEnableClientState(GL_COLOR_ARRAY);
  glEnableClientState(GL_TEXTURE_COORD_ARRAY);
  glEnableClientState(GL_VERTEX_ARRAY);

  glNormalPointer(GL_FLOAT, 0, (void*)sizeof(vx1));
  glColorPointer(3, GL_FLOAT, 0, (void*)(sizeof(vx1)+sizeof(normal1)));
  glTexCoordPointer(2, GL_FLOAT, 0, (void*)(sizeof(vx1)+sizeof(normal1)+sizeof(color1)));
  glVertexPointer(3, GL_FLOAT, 0, 0);

  glBindTexture(GL_TEXTURE_2D, tex1->ID);
  glDrawElements(GL_TRIANGLES, 36, GL_UNSIGNED_INT, (void*)0);

  glDisableClientState(GL_VERTEX_ARRAY);
  glDisableClientState(GL_TEXTURE_COORD_ARRAY);
  glDisableClientState(GL_COLOR_ARRAY);
  glDisableClientState(GL_NORMAL_ARRAY);

  glBindBuffer(GL_ARRAY_BUFFER, 0);
  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
ソース全文 MSYS2 mingw64用
vboTex1.cpp
https://image01.seesaawiki.jp/p/o/pascal-memo/yHzj...
Texture.hpp
https://image02.seesaawiki.jp/p/o/pascal-memo/RaXv...
makefile-vboTex1
https://image01.seesaawiki.jp/p/o/pascal-memo/hfhu...


tartan1.bmp

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー2

開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます