読者です 読者をやめる 読者になる 読者になる

not good but great

プログラミング、アート、映画・本の感想について書きます。

Three.jsのPointCloudを使ってGL_POINTSを大量に描画する

See the Pen 450,000 GL_POINTS by naoyashiga (@naoyashiga) on CodePen.


Three.jsのPointCloudを使って、四角をたくさん描画してみました。この四角はGL_POINTSと呼ばれるもので、WebGLにおいて頂点の役割を果たしています。PointCloudはこのGL_POINTSの集合を扱いやすくしたものです。
http://threejs.org/docs/#Reference/Objects/PointCloud

GL_POINTSは立方体のような図形を作るよりも描画が楽なのか、たくさん描画しても描画速度が落ちません。

PointCloudの良いところ

大量のGL_POINTSを操作できる

PointCloudのイマイチなところ

GL_POINTSなので四角(点)しか描画できない。丸が描画できたらもう少し、綺麗なものが作れるかもしれません。
1個1個のGL_POINTSに異なるサイズを割り当てるのが面倒。PointCloud一つに一つのサイズを割り当てるので、サイズの数だけ、PointCloudのインスタンスを作成する必要があります。


下の例をかなり参考にしました。
・参考
http://threejs.org/examples/#webgl_particles_random