3DCG

Metal と OpenGL

OpenGL はネット上で独学できるリソースが転がっているのがいいなあ。

独学で一ヶ月間 OpenGL を学んで得た基礎知識のまとめ

このシリーズは、初学者向け。軽快な口調で読みやすい。

Metal はなあ・・・(遠い目)。

メモ

某プロジェクトでキモになるのはシェーダーへの頂点データの渡し方。

具体的には、以下の for in ループで以下のように渡している。

      for mesh in model.meshes {
        let vertexBuffer = mesh.mtkMesh.vertexBuffers[0].buffer
        renderEncoder.setVertexBuffer(vertexBuffer, offset: 0,
                                      index: 0)

        for submesh in mesh.submeshes {
          let mtkSubmesh = submesh.mtkSubmesh
          renderEncoder.drawIndexedPrimitives(type: .triangle,
                                              indexCount: mtkSubmesh.indexCount,
                                              indexType: mtkSubmesh.indexType,
                                              indexBuffer: mtkSubmesh.indexBuffer.buffer,
                                              indexBufferOffset: mtkSubmesh.indexBuffer.offset)
        }
      }

mtkMesh が良い感じに効いていると思うのだが、なんらかの事情でこれが使えない場合はどうするのか???

たまにはリアル勉強会にも参加しよう

・・・などと Metal 関係については、たいそう歯切れ悪く書いていたが、現在は、いくらか改善された。

というのはたまたま参加した iOS/MacOS の勉強会で、軽くレクチャーを受けたらこの分野の理解がかなり深まったから。

それまでは、これまで同様、ある程度理解した後に、サンプル作成して理解を深めようと思っていたのだが、こと、この分野に関してはそれでは効率的でないようだ。

画像処理、特に 3DCG の領域では、プログラミング的な能力より、数理的な理論の理解の方が重要なので、理解度が足踏みしていると感じたら、分かっている人に聞くのも一つの手でしょう。

 

クリックclose

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です