ポイントなどのカスタム ジオメトリをユーザーが挿入できるようにする必要があります。
彼はサイズと色を指定できます。
さまざまなパラメーターがどのように機能するかを取得しようとして、プラットフォームでこれらの値を取得しました。
GL_POINT_SIZE_MIN: 33062
GL_POINT_SIZE_MAX: 33063
GL_POINT_SIZE_RANGE と GL_POINT_SIZE_GRANULARITY は、GL バージョン 1.2 以降では非推奨です。それらの機能は、GL_SMOOTH_POINT_SIZE_RANGE および GL_SMOOTH_POINT_SIZE_GRANULARITY に置き換えられました。
GL_SMOOTH_POINT_SIZE_RANGE: 2834
GL_SMOOTH_POINT_SIZE_GRANULARITY: 2835
誰かがこれらの奇妙な値を説明してくれませんか? つまり、最小値と最大値が 1 だけ異なるのはなぜでしょうか。
上記の値は、次のように取得されます。
System.out.println("max: "+GL2.GL_POINT_SIZE_MAX+" min: "+GL2.GL_POINT_SIZE_MIN);
System.out.println("range: "+GL2.GL_SMOOTH_POINT_SIZE_RANGE+" granularity: "+GL2.GL_SMOOTH_POINT_SIZE_GRANULARITY);
datenwolf と Denis Germ の提案で、次のようにパラメーターを取得しています。
float ps[] = new float[5];
gl2.glGetFloatv(GL2.GL_POINT_SIZE_MIN, ps, 0);
gl2.glGetFloatv(GL2.GL_POINT_SIZE_MAX, ps, 1);
gl2.glGetFloatv(GL2.GL_SMOOTH_POINT_SIZE_RANGE, ps, 2);
gl2.glGetFloatv(GL2.GL_SMOOTH_POINT_SIZE_GRANULARITY, ps,4);
System.out.println("min: "+ps[0]+" max: "+ps[1]);
System.out.println("range: "+ps[2]+" - "+ps[3]+" granularity: "+ps[4]);
そして今、私は得る:
最小: 0.0 最大: 63.375
範囲: 1.0 - 63.375 粒度: 0.125
見栄えは良くなりますが、範囲が 1.0 から始まるのに、なぜ min が 0.0f なのですか?