問題タブ [opengl-compat]

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 に答える
55 参照

c - 発射物のシミュレーションを 3D に変換すると、描画が消えますか?

発射体を 2D で正常に描画するコードがありますが、3D で作成するには変更を適用する必要があります。

3D にするために、glVertex2d を glVertex3d に変更し、変数 z を設定して glVertex3d に追加しました。私が持っている最終的なコード:

しかし、それは間違いを示していません。黒いウィンドウが表示されているだけです。

PS私はOpenGLとfreeglutを使用しています

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

c++ - glVertex2i() でグラフをプロットすると、glScaled() でスケーリングするとアーティファクトが表示される

OpenGL を使用して RGB 画像のヒストグラムをプロットしています。これは 8 ビットの画像ヒストグラムであるため、データセットには 0 から 255 までのデータ ポイントが含まれています。

glScaled() を使用せずにヒストグラムをプロットすると、グラフは期待どおりにプロットされますが、もちろん、割り当てられた領域を埋めません (幅は可変、高さは定数)。ただし、glScaled() を使用すると、グラフに奇妙なアーティファクトが表示されます。

問題の例を確認するには、次の画像を参照してください。

glScale なしのヒストグラム

上の画像は、glScaled() でスケーリングせずに 256 データ ポイントでプロットしたヒストグラムを示しています。

glScale を使用したヒストグラム プロット

上記と同じですが、スケールが大きくなります

上の 2 つの画像は、256 のデータ ポイントでプロットされ、glScaled() でスケーリングされたヒストグラムを示しています。奇妙なアーティファクトは明らかです (データが欠落していますか?)。3 番目のヒストグラムは、光のレベルが変化するため、形状がわずかに異なることに注意してください。

私のOpenGL初期化コードの関連部分は次のとおりです。

そして、ここに私のプロットコードの関連部分があります:

この段階で、私は OpenGL を初めて使用することを述べなければならないと感じているので、多くの OpenGL のことを誤解している可能性があります...

私の質問は: OpenGL でこの問題を修正することは可能ですか、それとも何らかの補間によってデータ ポイントの数を増やし、スケーリングせずにプロットする必要がありますか?

提供されたヘルプに感謝します。