問題タブ [opengl-es]
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.
iphone - OpenGL ES 1.x の学習
OpenGL ES 1.x を使いこなすための最速の方法は何ですか?
私は OpenGL について何も知らないと仮定しましょう (これは完全に正しいわけではありませんが、最後に OpenGL を使用してからしばらく経っています)。私は iPhone 関連の開発についてこれを学ぶことに最も興味がありますが、他のプラットフォームでも同様にどのように機能するかを学ぶことに興味があります。
OpenGL ES 2.0 Programming Guideという本を見つけましたが、1.x ではなく 2.0 に焦点を当てているため、最善のアプローチではないのではないかと心配しています。私の理解では、2.0 は 1.x と下位互換性がないため、いくつかの重要な概念を見落としている可能性があります。
注: 一般的な OpenGL の学習に関する回答については、https: //stackoverflow.com/questions/62540/learning-opengl を参照してください。
私が見つけたいくつかのリソース:
- http://khronos.org/opengles/1_X/
- http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp
- OpenGL Distilled by Paul Martz (OpenGL の基礎を復習するのに最適)
android - Android Phone Emulator はパフォーマンスをどの程度反映していますか?
私はOpenGL ES
Androidでの開発をいじっています。OpenGL ES
開発マシンのエミュレータでアプリケーションの実行が遅いようです。これは、実際のハードウェアのパフォーマンスを反映していますか? グラフィックスのパフォーマンスが低下すると、アプリケーションの開発に時間がかかりすぎることが懸念されます。
iphone - iPhoneのOpenGLESでズーム効果を作成するにはどうすればよいですか?
一緒にハッキングしているOpenGLESゲームがあります。その一部には、大きな「地図のような」領域を見てから、一部をダブルタップして「ズームイン」することが含まれます。OpenGL ESをどのように使用してこの効果を提供しますか(マップのさまざまな部分にズームインする必要がある場合があります)。
glScaleとglOrthoについて聞いたことがありますが、openGLの世界全体が私にとって非常に新しいため、それらが実際にどのように機能するかはわかりません。
iphone - OpenGL ES 1.1 を使用して海面効果を実装するには?
私は海面で行われる iPhone ゲームに取り組んでいます。OpenGL でウェーブまたはリップルを実装するためのサンプル コードまたはチュートリアルを推奨できますか?
これを書いている時点では、iPhone は OpenGL ES 1.1 のみをサポートしているため、シェーダーやその他の派手な効果はサポートされていません。
派手すぎるものはいらない。たとえば、反射は必要ありません。デバイスに過度の負担をかけたくありません。海のように見えるものが必要なだけです。(でも、鯉の池みたいに綺麗だったらいいのになぁ。)
iphone - iPhone アプリでの OpenGL ES の奇妙な動作
iPhone用のシンプルな2Dゲームを作っています。CrashLanding に基づいています。つまり、基本的には背景テクスチャといくつかの長方形のテクスチャが動き回っています。
私はこの奇妙な小さなグラフィックの問題を抱えています: いくつかの小さな 2D アイテム (単なる長方形と見なすことができます) が動き回ると、その上にこの小さな点滅する黒いバーが表示されます (背景テクスチャはほぼ完全に白であるため、小さなバーが目立ちます)。
私が使用しているテクスチャは小さい (~1Kb) png です。
他の誰かがこれに遭遇しましたか?これは一般的な openGL の問題ですか?
ところで、これはシミュレータと実際のデバイスの両方で発生します。
opengl-es - グーローシェーディングされた頂点カラーのポリゴンをディザリングして、バンディングを削除します
低解像度の組み込みデバイスでOpenGLESを使用しています。
レンダリングされたシーンの背景として機能する大きなポリゴンに、頂点カラーリングを使用して垂直方向のカラーグラデーションを適用しました。カラーグラデーションではっきりと見えるバンディングアーティファクトを見ることができます。
私の主な経験は、ソフトウェアレンダラーを使用することです。ソフトウェアレンダラーでは、マッハバンドやその他のバンディングアーティファクトをディザリングするのが一般的です。これは、フレームをレンダリングする量子化ステップでよく行われます。ここでは、浮動小数点の高精度の色表現が低精度の出力に変換されます(通常は整数成分を使用)。最終的な整数成分をランダムに上下に丸めてディザリングを実現し、画像にごくわずかなノイズを挿入して、目をだまして連続体を見て色をスムーズにブレンドします。
私の質問は、OpenGLESを使用してこれを達成できるかどうかです。この種のディザリングはOpenGLパイプラインの一部ですか、それとも頂点の色付けをスキップしてグラデーションをテクスチャにレンダリングし、それに少しノイズを適用する必要がありますか?
android - 3D モデルを Android にインポートする方法はありますか?
シンプルな 3D モデル (3DS MAX など) を作成し、それを Android にインポートすることはできますか?
iphone - 最初に電話をオンにしたときに、OpenGL ES iPhoneゲームがちらつくのはなぜですか?
OpenGLESを使用してiPhone用の簡単なゲームを作成しました。この問題を除いて、すべて正常に動作します。
電話を完全にオフにしてからオンに戻し、アプリを起動すると、この奇妙なちらつきが発生します。他のすべてのフレームは正しいです...間違ったフレームは同じフレームを何度も繰り返します。アプリを終了したら、もう一度起動してください。すべて問題ありません。終了して10回続けて再起動すると、毎回すべてが正常になります。
しかし、電話をオフにしてから再びオンにしてからアプリを起動すると、アプリを初めて起動したときに同じちらつきが発生します。
なぜこうなった?!
他の誰かがこの問題を抱えていましたか?
乾杯!
iphone - OpenGL ES の大きなスクロール背景
私はiPhone用の2Dスクロールゲームに取り組んでいます。たとえば 480×6000 ピクセルの大きな画像の背景がありますが、一部しか表示されません (ちょうど 1 画面分、480×320 ピクセル)。このような背景を画面に表示する最良の方法は何ですか?
現在、背景を複数のテクスチャに分割し (最大テクスチャ サイズの制限を回避するため)、各フレームの背景全体をテクスチャ付きの三角形のストリップとして描画します。スクロールは、モデル ビュー マトリックスを変換することによって行われます。シザー ボックスのウィンドウ サイズは 480×320 ピクセルに設定されています。これは高速であることを意図したものではありません。最適化を行う前に、動作するコードが欲しかっただけです。
おそらく OpenGL の実装は、背景の見えない部分を破棄するのに十分スマートであると考えていましたが、私が書いたいくつかの測定コードによると、背景の描画には平均で 7 ミリ秒、最大で 84 ミリ秒かかるようです。(これはシミュレーターで測定されます。) これは、レンダリング ループ全体の約半分です。私にとってはかなり遅いです。
背景の描画は、VRAM のある部分から別の部分に 480 x 320 ピクセルをコピーするのと同じくらい簡単です。つまり、非常に高速です。そのようなパフォーマンスに近づくための最良の方法は何ですか?
iphone - OpenGL でテクスチャの不透明度を変更する
これは単純な質問であるといいのですが: OpenGL テクスチャがあり、その不透明度を変更できるようにしたいのですが、どうすればよいですか? テクスチャには既にアルファ チャネルがあり、ブレンドは正常に機能しますが、テクスチャ全体の不透明度を下げて背景にフェードできるようにしたいと考えています。をいじりましglBlendFunc
たが、うまくいきませんでした。利用できない のようなものが必要なようGL_SRC_ALPHA_MINUS_CONSTANT
です。OpenGL ESを使用してiPhoneで作業しています。