問題タブ [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.

0 投票する
5 に答える
5720 参照

iphone - コア アニメーションまたは OpenGL ES?

私は次のことをしたい:

画面をタップし、タップしたポイントの周りにクリクルを 3 つ描きます。Core Animation と OpenGL ES のどちらでこれを行う方が良いですか?

どこから始めればよいですか?

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

android - Android が android.graphics.OpenGLContext を見つけられないのはなぜですか?

SDK 1.5 でネット上で入手可能ないくつかの OpenGL サンプルをコンパイルしようとしています。しかし、 android.graphics.OpenGLContext の import ステートメントでは、クラスが見つからないというエラーが表示されます。

このクラスの場所を教えてください。また、Android SDK でサポートされなくなった場合、サンプルを 1.5 に移植するにはどうすればよいですか。

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

android - T-Mobile G1 (MSM7200) GPU メモリ

T-Mobile G1 で利用可能な GPU (OpenGL 用) メモリに関する情報を探しています。

この電話には、ATI Imageon GPU を搭載した MSM7200 Qualcomm チップが搭載されています。

残念ながら、GPU メモリ使用量の詳細に関する情報を掘り下げることはできません。

テクスチャに使用できるメモリは合計でどれくらいですか? メモリは CPU メモリと共有されていますか?

0 投票する
3 に答える
8422 参照

iphone - glError: iPhone で OpenGL ES を使用して大きなテクスチャをロードすると 0x0501 になりますか?

テクスチャをロードするために使用するコードは次のとおりです。画像は CGImageRef です。このコードで画像を読み込んだ後、最終的に glDrawArrays() で画像を描画します。

これは、画像が 320x480 の場合は問題ないように見えますが、画像が大きい場合 (たとえば、picSize = 2048) には失敗します。

Debugger Console に表示される内容は次のとおりです。

このエラーの意味は何ですか? 最善の回避策は何ですか?

0 投票する
5 に答える
4860 参照

iphone - タイリングにもかかわらず、512x512 テクスチャが iPhone で大きな GPU ストレスを引き起こす

シンプルな OpenGL ES 実装 (2D ゲーム) を iPhone でテストしていますが、プロファイラーの使用中にレンダリングの使用率が高いことに気付きました。これらは事実です:

  • プリロードされた大きなテクスチャ( 512x512 ピクセル) を 1 つだけ 60fps で表示しており、レンダリングの使用率は約 40% です。
  • 私のテクスチャは、私が使用している唯一の GL 関数である をGL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA使用してブレンドされています。
  • テクスチャを小さくしてタイリングしようとしましたが、違いはありませんでした。
  • 1024x1024 ピクセルの PNG テクスチャ アトラスを使用しています

この1 つのテクスチャがこれほど激しい GPU 使用率を引き起こしているのは非常に奇妙です。

これは予想されることですか?私は何を間違っていますか?

編集:私のコード:

編集:いくつかの改善を行いましたが、レンダリングの使用率を下げることはできませんでした。テクスチャを 32x32 の部分に分割し、座標のタイプとテクスチャ座標を GLfloat から GLshort に変更し、縮退三角形の頂点を追加しました。

アップデートは次のとおりです。

initState: (頂点とテクスチャ ポインターは GL_SHORT になりました)

drawView:

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

iphone - glClearColor()が27%のレンダリング使用率でiPhoneをプッシュ

この質問の答えを探した結果、私はかなり不快な発見に遭遇しました。

glClearColor()60 fpsでのみレンダリングすると、iPhoneのレンダリング使用率が27%になるようです。

つまり、ほとんど何もしない(画面を更新するだけ)と、iPhoneはレンダリング容量の4分の1以上を使用することになります。

これは予想されることですか?

ドキュメントによると、POWERVRは少なくとも約270メガピクセル/秒に達するはずです。以下に正しく説明されているように、60 fpsでの480×320は約9.2メガピクセル/秒に相当し、全体のパフォーマンスは約40メガピクセル/秒になりますが、これは疑わしいことです。

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

iphone - Opengl ES - z 軸のレンダリングが正しくありませんか?

.obj ファイルから読み込んでいる雪だるまのモデルがあります。glRotatef() を使用してモデルを回転させると、雪だるまの頭が常に体の前にレンダリングされることを除いて、すべてがうまく機能します。雪だるまの鼻も常に頭の後ろにレンダリングされます。これにより、雪だるまが回転しながら方向を変える効果が生まれますが、実際にはパーツが正しい z オーダーでレンダリングされません。なぜこれが起こっているのですか?

注: 雪だるまのすべてのパーツは、blender を使用して作成された同じ .obj ファイルからのものです。

このようにモデルをレンダリングします(描画ループ内)

このように回転します (in touchesMoved)

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

opengl-es - 任意のサイズのピクセル ブロックを OpenGL ES テクスチャにコピーする...どういうわけか?

私は描画アプリケーションを作成しており、描画キャンバスは OpenGL テクスチャです。キャンバスに描画すると、キャンバス テクスチャのどの領域が変更されたかが判断され、変更を適用する前にそのピクセル データが (glReadPixels を使用して) コピーされます。

元に戻すには、コピーしたピクセル データを使用して以前のテクスチャの状態に戻したいだけです。ただし、OpenGL ES は glDrawPixels コマンドを提供しません。それを行う最良の方法は何ですか?

2 つのオプションを検討しましたが、どちらが優れているかはわかりません。

  1. コピーしたピクセルを使用して一時的なテクスチャを作成し、それを描画します (ただし、コピーされた領域は 2 のべき乗ではありません!)。

  2. 大きなキャンバス テクスチャを完全にバインド解除し、テクスチャのバイトを手動で変更してから、OpenGL に戻します。私はいかなる種類の圧縮も使用していないので、これはそれほど悪くないかもしれません. しかし、それはハックのようですか?

誰にもアイデアはありますか?本当に感謝します!

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

iphone - iPhone : 64x64より大きいテクスチャ?

私はGLPaintの例を取り上げました...「PaintingView」に背景を入れようとしているので、背景の上に描画して、最終的に画像をファイルとして保存できます.....私は迷っています。

PNG (512x512) を読み込んで、プログラムの最初で「ペイント」しようとしましたが、512x512 ではなく 64x64 としてペイントされました...

前に、ペイント ビューのサブビューとしてロードしようとしましたが、glReadPixels が期待どおりに機能しません (サブビューではなく、PaintingView のみが考慮されます)。また、PaintingView には initWithImage のようなメソッドがありません... 画像 (および変更) で glReadPixels が機能する必要がありますが、ロード時にテクスチャのサイズが 64x64 になる理由が本当にわかりません..

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

iphone - OpenGL でサーフェス全体のテクスチャをアニメーション化する

私は iPhone OpenGLES 実装で作業しており、単純な表面 (長方形を構成する 2 つの三角形) でテクスチャを際限なくスクロールしたいと考えています。これは簡単なはずですが、これは私が以前に行ったことではなく、何かが欠けているに違いありません。テクスチャをうまく回転できますが、変換はまったく機能しません。マイナーな実装上の問題がありますか、それとも何か根本的に間違っていますか?