問題タブ [glpointsize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2078 参照

ios - iPhone / iPadデバイスでのOpenGLレンダリングGL_POINTSはひどいように見えます(ただし、シミュレーターでは完全に正常に見えます)

iOSでGLKViewを使用してレンダリングされるOpenGLESゲームを作成しました。また、GLKViewの上に配置されるカスタムUIButtonをいくつか追加しました。GL_POINTSレンダリングでは、レンダリングモードを使用していくつかの星を描画しています。シミュレーターではすべてが正常にレンダリングされますが、デバイスではひどく見えます。

正しいレンダリング画像を取得するためにセットアップが必要になる可能性のあるデバイスで構成/監視する必要があることについて、誰かがアドバイスを持っているかどうか疑問に思いました。

結果の画像をいくつか示します。

シミュレーター

iPhoneシミュレーターで実行されているゲームのスクリーンショット。

端末

ここに画像の説明を入力してください

(カスタムボタンのスケーリングの違いは無視してください-デバイスのスクリーンショットはiPadで撮影されました)。

0 投票する
1 に答える
973 参照

qt - Qt OpenGLでglPointSize(float)を適用するには?

Qt OpenGLの作業を始めたばかりです。これで画面上に簡単な形を描くことができました。QWidget で画面上にさまざまなサイズのポイントを描画する必要があります。そのために標準を使用glPointSize(float)しました。これはうまくいかないようです。そのためのコマンドラインプログラムを作成しましたが、問題なく動作します。誰でも助けることができますか?

0 投票する
2 に答える
847 参照

opengl - ATIglslポイントスプライトの問題

レンダリングコードをラップトップに移動しましたが、openglとglslで問題が発生しています。

私はこのような頂点シェーダーを持っています(簡略化):

また、gl_Pointcoordを使用してテクスチャを読み取り、フラグメントの色を設定するフラグメントシェーダー。私のC++プログラムでは、次のようにtile_sizeをバインドしようとしています。

(明確にするために、glUseProgramを使用してプログラムを既にセットアップしました。示されているのは、この特定のユニフォームに関するスニペットです)

このように設定すると、1ピクセルのポイントが得られ、openglがunif_tilesizeのバインドに失敗していることがわかりました(-1に設定されます)。

頂点シェーダーでコメントを入れ替えると、12pxのポイントスプライトが正常に表示されます。

奇妙なことに、他のコンピューターのまったく同じコードは完全に正常に機能します。私のラップトップのopenglバージョンは2.1.8304で、ATI radeon x1200を実行しています(デスクトップのnvidia 8800gtを参照)(これが関連する場合...)。

編集私は問題をよりよく反映するために質問のタイトルを変更しました。

0 投票する
1 に答える
494 参照

opengl - 異なるポイント サイズでメッシュを Vbo に表示しますか?

openFrameworks で Vbo を使用してメッシュをポイントとして表示しようとしています。

すべてのポイントを異なるサイズにしたいのですが、それを行う方法はありますか?

0 投票する
1 に答える
5679 参照

opengl - gl_PointSize はどのように機能しますか

DX のバックグラウンドから来て、gl_PointSize と gl_PointCoord がどのように機能するかを正確に理解しようとしています。私はオンラインとマニュアルページを検索しましたが、それらについて本当に良い説明がありませんでした. 300x300 の出力バッファーがあり、300x300 バッファー内のすべての位置に対応する 90,000 ポイントの頂点シェーダーを定義したとします (各次元で 1 ずつ増加)。頂点シェーダーで gl_PointSize を 2 に定義すると、フラグメント シェーダーが 90,000 回または 360,000 回呼び出されますか?? 36万回ならgl_PointCoordが何を表しているか理解できます。しかし、90,000 回しかない場合、各フラグメント出力は 4 ピクセルを表すということですか? この場合、gl_PointCoord は何を表しているのでしょうか? それは常に 0.5,0.5 であり、あまり役に立ちませんか??

ありがとう

0 投票する
2 に答える
1332 参照

opengl - GL_POINT からカメラまでの距離から gl_PointSize を決定する

を使用して GL_POINTS を描画し ています。glDrawArrays(GL_POINTS, 0, numberOfPoints) 各ポイントのサイズは、を使用して頂点シェーダーで設定されgl_PointSizeます。からビュー マトリックスを取得します。glm::lookAt(origin, eye, up)ポイントの xyz 位置はgl_Position = view * proj * vec4(position, 1.0)、頂点シェーダーで使用して設定されます。カメラの原点までの距離が短くなるにつれてポイント サイズを大きくし、カメラの原点からの距離が大きくなるにつれてサイズを小さくしたいと思います。通常の視点と同じように。カメラまでの距離からポイントの大きさを判断するにはどうすればよいですか?

0 投票する
0 に答える
126 参照

opengl - 知覚投影で一定サイズの円をレンダリングする方法は?

アイテムの深さに関係なく、ピクセル単位で一定のサイズの円をレンダリングしたい (透視投影)。

glPointSize を使用すると、深さに相関するサイズに小さな違いがあります (近くのオブジェクトは遠くのものよりも大きくなります)。

関数の説明には次のように記載されています。

指定されたポイント サイズに距離減衰係数が乗算され、指定されたポイント サイズ範囲にクランプされます。さらに、実装に依存するポイント サイズ範囲にクランプされて、 を使用して派生ポイント サイズが生成されます。

ポイントを完全にラスタライズする方法はありますか?