問題タブ [opengl-3]
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.
c++ - OpenGL 3.2 コア プロファイル ガイド
OpenGL 3.2 コア プロファイルを学習するためのガイドを提案できる人はいますか?
SDK は読みにくく、私が見たほとんどのガイドは古い方法しか教えていませんでした。
opengl - ビュー、プロジェクション、OpenGL の「仮想カメラ」またはグラフィックス全般を理解するためのリソース
私は、ほとんどのリソースが、あなたがすでに多くのことを知っていることを前提としているか、プロレベルの数学を知っていることを前提としているか、ギャップを埋めるために他のリソースを見つけるつもりであると想定していることに気付きました.
グラフィックスのビュー行列に関する知識がなくても、その方法を完全に理解できるリソースはありますか?
- 「仮想カメラ」をセットアップするには
- オブジェクトを移動する
- オブザーバーを移動する
- 等
OpenGL上にあれば理想的です。
私は OpenGL での自動化には興味がないことに注意してください。
- それらは廃止され、仕様の最新バージョンで削除されました。手動で設定する必要があります
- それは理解していません。
opengl - 古いラップトップハードウェアでのOpengl-3プログラミング
OpenGL 3を対象とした初期開発に興味があります。残念ながら、私のハードウェアは6年前のものであり、ATIが新しいOpenGLAPIをサポートするビデオカード用のドライバーを提供していないようです。
OpenGL 3 APIのソフトウェア実装はありますか?パフォーマンスがひどく遅くなる可能性があることは承知していますが、新しいラップトップを購入できるようになるまで、私を引き留めるのに十分です:)
opengl - OpenTK(.Glu.Cylinder)で円柱を描画するにはどうすればよいですか?
OpenTKでOpenGLを使用して円柱を描画するにはどうすればよいですか?
opengl - OpenGL 3、OpenGL4実装の既知のバグ
私たち全員が最終的に知るようになると、仕様は1つであり、実装は別のものです。ほとんどのバグは私たち自身が引き起こしますが、そうでない場合もあります。
以下の小さなリストを作成すると便利だと思います。
OpenGLおよびGLSLの最近のバージョンの実装に関連して、GPUドライバーで現在知られているバグは何ですか?
関連するグラフィックカードとドライバのバージョンを常に投稿することを忘れないでください。
opengl - OpenGL 3.x: 頂点バッファー オブジェクトと glDrawElements(...) を使用するとアクセス違反が発生する
頂点バッファ オブジェクトを使用して一部のジオメトリをレンダリングする際に問題が発生しました。ポイントの平面を描画するつもりなので、基本的には、空間内のすべての個別の位置に 1 つの頂点を配置します。ただし、glDrawElements(...) を呼び出すたびに、アプリケーションがクラッシュしてアクセス違反の例外が返されるため、そのプレーンをレンダリングできません。初期化中に何らかの間違いがあったに違いないと思います。
これは私がこれまでに持っているものです:
opengl - 非推奨の機能を使用していないオンラインの OpenGL 3.0 チュートリアルはどこにありますか?
OpenGL SuperBible の第 5 版を購入しました。彼らが非推奨の機能の使用を避けたことを非常に嬉しく思いますが、彼らの例ではGLTools
. GLTools
シンプルな 3D オブジェクトをレンダリングし、視錐台、カメラ、および変換マトリックスを管理するための便利な関数を多数提供します。
これはすべて素晴らしいことですが、提供された抽象化によって低レベルの詳細が隠され、使用できないコードに移動するのに苦労していGLTools
ますpyopengl
。私がオンラインで見たチュートリアルの大部分は、私が避けようとしている即時モードを利用しています。を使用glDrawArrays
する人は を利用しますがglEnableClientState
、これも避けようとしています。
私が探しているのは、OpenGL 3.x に完全に準拠した入門チュートリアルです。注文が多すぎる場合は、おそらく、ランドリー リストの適切な「出発点」機能が適切です。
opengl - 最新のOpenGLシェーダーは、相互に互換性を持たせるためにどのように作成する必要がありますか?
OpenGLの新しいバージョン(3.0および4.0以降)では、gl_Vertexなどの組み込みの頂点属性は非推奨になっています。実際に何かをレンダリングする「新しい方法」は、位置や色などの独自の頂点属性を指定してから、これらのカスタム属性をバッファーにバインドすることです。
私の質問はこれです:レンダリングコードとシェーダーを密接に結合せずにこれを行うにはどうすればよいですか?頂点の位置として「position」を使用するシェーダーを作成する場合、シェーダーを使用するホストコードはそれを認識し、頂点データを「position」として渡す必要があります。「vertex_pos」で頂点データを取得するために作成された別のシェーダーを使用する場合は、最初にそのシェーダーを書き直すか、代わりに頂点データを「vertex_pos」として送信するようにホストコードを変更する必要があります。
すべてのシェーダーが使用する必要がある標準の頂点属性とフラグメント属性のベストプラクティス名のセットはありますか?または、あるエンジン用に作成されたシェーダーが変更なしで別のエンジンで動作できないように、バルカニゼーションされたエンジン固有の標準がありますか?または、一般に、すべてのオブジェクトがカスタムシェーダーに一致する独自のカスタムレンダリングコードを必要とするような標準はまったくありませんか?
.net - OpenGL 3 と Radeon HD 4850x2
少し前に、私は OpenGL SuperBible の第 5 版のコピーを手に取り、学校から 1.0 の方法に慣れていた後、ゆっくりと苦痛を伴いながら 3.3 の方法で OpenGL を独学し始めました。さらに難しいことに、私は主に .NET 開発者であるため、OpenTK OpenGL ラッパーを使用して Mono で作業していました。私のラップトップで、頂点ごとのカラーリングとライティング、およびテクスチャ マッピングを実装したいくつかのシェーダーを使用して、ユーザーが単純なランドスケープを歩き回ることができるようにするプログラムをまとめました。デスクトップで同じプログラムを実行するまで、すべてがうまく機能していました。
災害!何もレンダリングされません! カメラが原点の近くに位置し、原点を指し、正方形 (技術的には三角形のファン) をレンダリングするようにプログラムを切り詰めました。四角形は、私のラップトップ、カラーリング、照明、テクスチャリングなどすべてで完全にレンダリングされますが、デスクトップでは、間違って色付けされ、ライトの影響を受けず、テクスチャリングされていない小さな歪んだ非正方形の四角形がレンダリングされます。
Ubuntu 10.10またはWin XPのどちらで起動しても同じ結果が得られるため、グラフィックカードに障害があると思われます。頂点シェーダーを縮小して位置データのみを出力し、フラグメント シェーダーをソリッド カラー (白) のみを出力するようにすると、クワッドが正しくレンダリングされることがわかりました。しかし、(フラグメント シェーダーで使用するかどうかに関係なく) カラー データを渡し始めるとすぐに、頂点シェーダーからの出力が再び歪んでしまいます。シェーダーが続きます。既存のコードは残しましたが、何をしようとしているのかを理解できるようにコメントアウトしました。私は glsl の初心者なので、コードはおそらくもっと良くなるでしょう。
私のラップトップは、Ubuntu 10.10 を実行する Centrino (Core 2) Duo と nVidia Quadro グラフィックス カードを搭載した古い lenovo T61p です。 WindowsXP. この問題は、XP と Ubuntu の両方で発生します。
私が見逃している何かが間違っているのを誰かが見ることができますか? 私の HD 4850x2 の「特別」とは何ですか?
このコードでは、カラー データは受け入れられますが、実際には使用されないことに注意してください。フラグメント シェーダが VariousColor を使用するかどうかに関係なく、ジオメトリは同じ (間違った) 出力されます。行をコメントアウトした場合にのみvaryingColor = in_color;
、ジオメトリが正しく出力されます。元々、シェーダーは vec3 入力を使用していましたが、トラブルシューティング中に vec4 を使用するように変更しただけです。
opengl - ある種のエンジンを使用する必要がありますか、それとも最初から開始する必要がありますか?
照明、影、水などのクールなグラフィックの作り方を学びたいです。また、最終的にはゲームに変えたいと思っています。ただし、ゲームの作成はリストの2番目であり、私は本当に最初に優れたグラフィックスの作成に集中したいと思っています。
とにかく、これを行うための最良の方法は何ですか?古いものを使用するのが好きではないので、OpenGL 3.0+を使用したいと思います。また、LinuxとWindows 7の間で同じコードを転送し、何も変更せずに実行できる必要があります。
私はこれまでゼロから始めようと考えてきましたが、クロスプラットフォームである最新のOpenGL3.0+コンテキストを作成するための良い方法を見つけることができないようです。私はずっと検索して、プラットフォームに依存しないようにするためにSDLのようなものを試してきましたが、WindowsではLinuxとはバージョンがほとんどすべて異なることがわかったので、重要なことをしなくてもクロスプラットフォームにすることはほとんど不可能です。コードが変更されました。
それで私はある種のエンジンを使うことを考え始めました。エンジンに何を求めているのかよくわかりませんが、同じコードでクロスプラットフォームになりやすいエンジンが見つかるといいなと思っていました。OGREを使うことを考えていましたが、照明や影などすべてを処理してくれるようです。プラットフォームに依存せずにクールなグラフィックスの作成に集中できるようなエンジンは他にありますか?
誰かが私が何をすべきか、または使用すべきかについて何か提案がありますか?