Transform Feedback

transform-feedback.png

頂点シェーダジオメトリシェーダの計算結果を、CPUを介さずに
頂点バッファオブジェクトに格納する機能のこと。
頂点属性(attribute)の計算をGPU単独で出来る。

これを使うメリット

  • これまで頂点属性の計算に要していた CPU の計算負荷の多くを GPU に委譲できる
  • CPU から GPU へのデータの転送量を大幅に削減できる

主な用途

どうやらパーティクルのレンダリングに使用されるようだ。

使い方

 glUnmapBuffer(GL_ARRAY_BUFFER);
 
  // Transform Feedback による計算結果の格納先としての頂点バッファオブジェクト
  glBindBuffer(GL_ARRAY_BUFFER, buffer[1]);
 
  // 二つ目の頂点バッファオブジェクトのメモリを確保
  glBufferData(GL_ARRAY_BUFFER, sizeof (GLfloat[3]) * POINTS, 0, GL_STATIC_DRAW);
 
  // 頂点バッファオブジェクトの指定の解除
  glBindBuffer(GL_ARRAY_BUFFER, 0);

opengl3 opengl-es3 particle

サポートサイト Wikidot.com opengl3opengl-es3particle