openFrameworks で Vbo を使用してメッシュをポイントとして表示しようとしています。
すべてのポイントを異なるサイズにしたいのですが、それを行う方法はありますか?
openFrameworks で Vbo を使用してメッシュをポイントとして表示しようとしています。
すべてのポイントを異なるサイズにしたいのですが、それを行う方法はありますか?
頂点シェーダーを使用している場合は簡単にできます。具体的にgl_PointSize
は、頂点シェーダーの各頂点に一意の値を設定できます
void main()
{
gl_PointSize = <value>;
// ...
}
頂点ごとに必要な値がわかっている場合は、それを追加の頂点属性として渡すか、関数から生成できます。ポイント サイズをランダムに設定したい場合は、noise
GLSL 関数を使用するか、サポートされていない場合はGLSL シェーダーでの乱数の生成に関するこの回答をnoise
確認してください。使用している GLSL (たとえば、WebGL を使用している場合)。