タグ付けされた質問 「opengl」

OpenGLは、デスクトップおよびワークステーション市場を対象とするグラフィック標準およびAPIです。専用のコンピューターハードウェアで簡単に加速できるように設計されているため、ほとんどの実装では、従来のソフトウェアレンダリングよりもパフォーマンスが大幅に向上しています。現在、OpenGLはCADソフトウェアやコンピューターゲームなどのアプリケーションに使用されています。また、クロスプラットフォームです。OpenGL標準は、OpenGL ESも制御するKhronosグループによって制御されています。

3
Vulkanとは何ですか。また、OpenGLとの違いは何ですか?
Khronos Group(OpenGLの背後にある標準化団体)がVulkanを発表しました: Vulkanは、最新のGPUでのグラフィックスとコンピューティングへの高効率アクセスのための新世代のオープンスタンダードAPIです。以前は次世代OpenGLイニシアチブと呼ばれていたこの基礎設計により、アプリケーションがGPUアクセラレーションを直接制御し、パフォーマンスと予測可能性を最大限に高めます。 自分のページがかなりあるmarketese / 専門用語であるとして、-heavy プレスリリースには、簡単に言えば...、何バルカンは、ゲーム開発者を意味しますか?(ゲイブ・ニューウェルは、それ以上の説明なしに、強く支持されていると引用されています。) VulkanとOpenGLの関係は正確に何ですか?以前の名前「glNext」(「Next Generation OpenGL Initiative」の略)は、代替品のように聞こえます。 更新:Vulkan 1.0仕様は2016年2月16日にリリースされました。
150 opengl  vulkan 

15
OpenGLの優れた学習リソースは何ですか?[閉まっている]
私はしばらくの間、iPhoneでOpenGL ESを使用してきましたが、基本的には、例で見たものと自分のコマンドとして採用した小さなコマンドセットの外でかなり迷っています。他のプラットフォームでOpenGLを使用して、それをよく理解したいと思います。 本を探すたびに、この巨大な聖書は初心者にとっては面白くなく、非常に難しいように見えます。OpenGLの学習に2、3週末を費やす場合、私の時間(およびお金)を費やす最良の方法は何でしょうか?
88 opengl 

9
カメラの代わりに世界を動かすのはなぜですか?
OpenGLゲームでは、プレーヤーを動かすために私たちがやることは、カメラを動かすのではなく、全世界を動かすことだと聞きました。 たとえば、このチュートリアルの抜粋は次のとおりです。OpenGLビューマトリックス 実生活では、特定のシーンのビューを変更するためにカメラを移動することに慣れていますが、OpenGLでは逆です。OpenGLのカメラは移動できず、負のZ方向に面する(0,0,0)に位置するように定義されています。つまり、カメラを移動および回転させる代わりに、カメラの周りで世界を移動および回転させて、適切なビューを構築します。 なぜそうするのですか?

7
最新のOpenGL(3.0以降)を学習するための優れたリソースですか?[閉まっている]
OpenGL(3.0以降)から始めるのに適したリソースの検索を見つけました。まあ、私はたくさんの本を見つけましたが、それらのどれも良いリソースと考えることができません! 以下に2つの例を示します。 OpenGLプログラミングガイド(第7版) http://www.amazon.com/exec/obidos/ASIN/0321552628/khongrou-20 これは非推奨の資料でいっぱいです!ほぼすべての章は、それに関するメモから始まります。 OpenGL Superbible(第5版) http://www.amazon.com/exec/obidos/ASIN/0321712617/khongrou-20 この本は、著者が作成したライブラリを使用して、主な議論を説明し、学習したいことを隠しています。ライブラリの使用方法を学びたくありません!OpenGLを学びたい! これが「ちょっとGoogleを使えない... OpenGLの学習方法を教えてください」のような質問ではないことをご理解ください。完全かつ詳細な検索を終了しましたが、廃止されたトピックを避けて「新しい」OpenGLを学習するための優れた完全なリソースが見つかりません。 誰かが正しい方向に向かってくれますか?私はC ++を知っており、開発に10年の経験があります...良いリソースを見つけることができますか?!私はそれに時間を費やし、深く学びたいです。
73 opengl  assets 

9
OpenGLに適したGUIですか?[閉まっている]
Superbibleを使用してFreeGLUTでOpenGLを学習し始め、スキルを磨くために基本的なグラフィックスから得た知識を使用しています。 この経験をさらに活用するために、FreeGLUTが使用するものを上書きするためにGUIを統合したいのですが、今私の質問は次のとおりです。 ライブラリのいくつかの特徴: オープンソース マルチプラットフォーム(LinuxおよびWindows) C / C ++ 他に推奨事項がある場合は、私の問題に対する回答とともに自由に投稿してください。

5
テクスチャアトラスでテクスチャブリーディングを回避する方法
私のゲームには、キューブで作られたMinecraftのような地形があります。ボクセルデータから頂点バッファーを生成し、さまざまなブロックの外観にテクスチャアトラスを使用します。 問題は、離れた立方体のテクスチャがテクスチャアトラス内の隣接するタイルで補間されることです。その結果、キューブ間に間違った色の線が表示されます(グラフィカルな欠陥を確認するには、以下のスクリーンショットをフルサイズで表示する必要がある場合があります)。 今のところ、これらの補間設定を使用しますが、すべての組み合わせを試しましたが、GL_NEARESTミップマッピングがなくてもより良い結果は得られません。 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); また、テクスチャ座標にオフセットを追加してタイルのわずかに小さい領域を選択しようとしましたが、不要な効果はカメラまでの距離に依存するため、問題を完全に解決することはできません。とにかく遠い距離でストライプが発生します。 このテクスチャのにじみをどのように解決できますか?テクスチャアトラスの使用は一般的な手法であるため、一般的なアプローチがあるかもしれません。悲しいことに、コメントで説明されているいくつかの理由により、異なるテクスチャやテクスチャ配列に変更することはできません。

1
GLSLのin / outキーワード
GLSLでin/ outキーワードを使用する方法を本当に理解しておらず、グーグルは特徴的に役に立たない。 彼らは正確に何をしますか?たとえば、頂点ごとに可変変数セットをフラグメントシェーダーに渡したい場合、どのように使用しますか? 文字通り、私が見つけたすべてのチュートリアルではvarying/ attributeキーワードを使用していますが、これは役に立ちません。
46 opengl  glsl 

2
glLinkProgramが成功した後、シェーダーを削除/デタッチする必要がありますか?
リンクされたプログラムがあり、防御的なプログラミングについて考えた後、このプログラムをリンクするために使用されたシェーダーを削除して切り離す必要がありますか? 「はい」の場合、リソースを解放しますか?または、これらのシェーダーオブジェクトはglDeleteProgram呼び出しの後にのみ解放されますか? 編集:ちょうど私がやっていることを明確にするためです(答えと一致しています): glCreateShader-> glShaderSource-> glCompileShader-> glCreateProgram-> glAttachShader-> glLinkProgram-> glDetachShader-> glDeleteShader->このシェーダープログラムを使用して描画->このシェーダーが不要になったときglDeleteProgram
45 opengl  shaders 

10
今日、OpenGL 2.1の学習は役に立ちませんか?
3D OpenGL / DirectXの世界は初めてで、OpenGL 4.1とGLSLの仕様が本日リリースされたことがわかりました。 私の友人がOGL v2.1のレッドブックをくれましたが、私が読んだ限りでは、3.xと4.xは2.xとは大きく異なり、多くのものが非推奨になりました。 この本を使用して3DおよびCGの基本を学習し始めることはできますか、それとも新しいコピーを見つける方が良いですか
44 opengl 

6
OpenGLは2Dゲームに適していますか?
私はしばらくの間OpenGLライブラリを自分で教えてきましたが、ゲームを作り始めたいです。ただし、簡単に紹介するために、トップダウンポケモンスタイルのゲームなど、2Dのものから始めたいと思います。 これは良い計画ですか、それともOpenGLは3D専用に作られていますか?
44 opengl  2d 

3
なぜチュートリアルがOpenGLレンダリングに異なるアプローチを使用するのですか?
http://www.sdltutorials.com/sdl-opengl-tutorial-basics http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/ これら2つのチュートリアルは、まったく同じ結果を得るためにまったく異なるアプローチを使用しています。最初はのようなものを使用しglBegin(GL_QUADS)ます。2つ目はvertexBufferObjects、GLEWに基づいたシェーダーなどを使用します。しかし、結果は同じです。基本的な形状が得られます。 なぜこれらの違いが存在するのですか? 最初のアプローチは理解しやすいようです。複雑な2番目のアプローチの利点は何ですか?

1
Doom 3ソースコードで、すべてのOpenGL関数呼び出しの先頭に「q」が付いているのはなぜですか?
Doom 3ソースコードですべてのOpenGL呼び出しに「q」というプレフィックスが付いているのはなぜですか?それらはカスタム関数または別のライブラリですか?その場合、OpenGLでそれを使用する理由は何ですか?Googleの検索ではQt OpenGLモジュールが使用されますが、これは関係ないと思います。
42 opengl  c++ 

1
アウトライングロー効果のエイリアシングを減らすにはどうすればよいですか?
Left 4 Deadゲームで輝くアウトライン効果を再現しようとしています。この効果により、オブジェクトが隠されている場合でも、オブジェクトの輪郭が輝きます。効果のスクリーンショットは次のとおりです。 OpenGLベースのプログラムでこの効果をある程度再現できます。これは私が現在やっていることです: 輝くオブジェクトをレンダリングするための画面サイズの半分の色と深さのテクスチャを作成します グローカラー/深度テクスチャをクリアします。色は黒にクリアされます。 輝くオブジェクトごとに、単色としてグローテクスチャにレンダリングします。 グローテクスチャで分離可能なガウスぼかしを実行する 通常どおりフル解像度のシーンをレンダリングする グローテクスチャを通常のシーンに追加的にブレンドしますが、グロー深度テクスチャを使用してオブジェクトをマスクし、輪郭をぼかすだけにします。 これが私のアプローチのスクリーンショットです。 グローテクスチャとシーンを組み合わせるフラグメントシェーダーを次に示します。 uniform sampler2D glowColorTex; uniform sampler2D glowDepthTex; uniform sampler2D sceneColorTex; void main() { vec2 uv = gl_TexCoord[0].st; vec4 color = texture2D( sceneColorTex, uv); float depth = texture2D( glowDepthTex, uv).r; if(depth == 1.0) { color += 2.0 * texture2D( glowColorTex, …
42 opengl  shaders  glsl  glow 

5
アルファブレンディングとパーティクルを使用して、どのように優れた火災効果を達成できますか?
OpenGLパーティクルエフェクトに次の設定を使用します。 SRC: GL_SRC_ALPHA DST: GL_ONE 添加剤ブレンドを作成します。黒の背景では壮観に見えますが、白にフェードし始めると、明るい色ではひどく見えます。 次に、アルファブレンディングを使用しました。 SRC: GL_SRC_ALPHA DST: GL_ONE_MINUS_SRC_ALPHA これにより、粒子の色に影響を与えることなく他の背景を使用できますが、粒子自体は添加剤ブレンドと比較して鈍く見えます。アルファブレンディングとパーティクルを使用して、どのように優れた火災効果を達成できますか? 添加剤: アルファ: 更新: 以下のDavidのアドバイスに従って、個別のテクスチャを作成し、テクスチャに描画する前にパーティクルエフェクトに加算ブレンドを使用しました。それに伴う問題は、alpha = 0のテクスチャに描画すると、通常は代わりに黒い背景があるため、パーティクルの色付きの部分が世界地図の前に表示されることです。トリックは、2つのテクスチャを使用することでした。黒いテクスチャを作成し、その上に粒子を描きました。次に、このテクスチャからパーティクルのアルファレイヤーを削除し、周囲のすべてのソリッドブラックを効果的に削除し、部分的に表示されているパーティクルをフェードアウトさせます。要するに、厳しいプロセスですが、最終的にそこに着きました: プロセスを投稿したスレッドは次のとおりです。http://www.cocos2d-iphone.org/forum/topic/28707?replies = 8#post-141528 ビデオ:http : //www.youtube.com/watch?v=JptGbEO3b5E

5
ゲームの俳優は自分自身を描く責任がありますか?
私はゲーム開発は初めてですが、プログラミングは初めてです。 私は(再び)JavaScriptのcanvas要素を使用してPongタイプのゲームで遊んでいます。 Paddle次のプロパティを持つオブジェクトを作成しました... width height x y colour 次のPongようなプロパティを持つオブジェクトもあります... width height backgroundColour draw()。 draw()現在、メソッドはをリセットしてcanvasおり、そこで問題が発生しました。 必要があるPaddleオブジェクトが持つdraw()その描画方法は責任、または必要があるdraw()のPongオブジェクトがその役者を描くための責任がある(私が間違ってる場合、私はそれが正しい用語であると仮定し、私を修正してください)。 私はのためにそれがadvantagousだろうと考え出しPaddle自体を描画するために、私は2つのオブジェクトをインスタンス化するように、PlayerとEnemy。それはでなかった場合Pongのdraw()、私は二度同様のコードを記述する必要があると思います。 ここでのベストプラクティスは何ですか? ありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.