問題タブ [powervr-sgx]
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.
ios - コンバイナで以前と現在以外のテクスチャユニットを参照できますか?
たとえば、PowerVR SGXプラットフォームは、シェーダーなしで直接アクセスできる8つのテクスチャユニット(TEXTURE0 ... TEXTURE7)をサポートしています。
テクスチャコンバイナを使用して、前のテクスチャステージ(GL_PREVIOUS)または現在バインドされているテクスチャ(GL_TEXTURE)などの値にアクセスできます。直前のステージの前のステージから何かにアクセスする方法はありますか?
たとえば、本質的に複数の独立した処理スレッドを設定し、最終的な結果を組み合わせて出力したい場合、これは可能ですか?n
または、からn+1
のみへのデータのフローに制限されていますか?
android - OpenGL ES 2でテクスチャのアップロードが成功したかどうかを判断するにはどうすればよいですか?
通常のOpenGLの古き良き時代には、テクスチャのアップロードが成功したかどうかを判断するのはかなり簡単でした。glTexImage2Dを呼び出した後、GL_TEXTURE_WIDTHとGL_TEXTURE_HEIGHTをパラメータとしてglGetTexLevelParameterivを使用できました。ただし、GLESはこれを許可していないようであり、私が知る限り、テクスチャが実際にカードに正常に提供されたかどうかを判断するメカニズムはありません(たとえば、glGetErrorは、成功しないものに対してのみ設定されます。成功しなかったものとは対照的に)。
私が取り組んでいるアプリケーションは、十分なVRAMを使用できるかどうかの障壁を常に越えています(動的に割り当てられたFBOなどが飛び交うことが多く、問題がさらに複雑になります)。重要なテクスチャのアップロードが失敗した場合は、重要でないテクスチャを削除して再試行する必要があるかどうかを確認します。
android - FBO のプリミティブの最大数
フレームごとに FBO でレンダリングされるプリミティブの最大数に制限はありますか? もしそうなら、フレームごとに許可されるプリミティブの最大数を見つけるための glGet またはその他の API はありますか?
FBO を使用して一連の三角形をテクスチャに描画します。三角形の数が一定の制限を超えると、そのフレームのレンダリングは失敗します。私のコードはカードによって動作が異なるため、グラフィックカードに依存していると思います。
PowerVR SGX 540 の Galaxy タブでは機能しますが、PowerVR SGX 530 の Milestone では機能しません。
編集:このスレッドで同じ問題が議論されていることがわかりました http://www.khronos.org/message_boards/viewtopic.php?f=4&t=1276 ただ、タイムラグの代わりに、アプリケーションはそのフレームを私の場合。詳細については、スレッドを調べてください。誰かが私にこれに対する答えを教えてもらえますか?
java - PowerVR の長所と短所は何ですか?
最近、私のゲーム エンジンに PowerVR (PVR) のサポートが追加されました。Google とウィキペディアで検索したところ、PVR の定義しかわかりませんが、何に使用されるのか、その利点と欠点は何なのかわかりません。Android 用のゲームを開発していますが、PNG と PVR のどちらを使用すればよいですか?
ios - PVRTexTool を使用して、iOS OpenGL ES で使用する PC 上にテクスチャ データを構築する
Apple は、テクスチャを PowerVR 圧縮テクスチャ フォーマットにクックするための texturetool ツールを提供しています。私のツールチェーンは Windows で動作するため、このテクスチャ データを Windows PC で作成したいと考えています。Imagination が Windows 上で動作するツールと SDK を提供しているため、これは簡単そうです。PVRTexTool をダウンロードしたので、既存の社内テクスチャ クッキング ツールで使用します。誰もこれを試しましたか?これと iOS OpenGL ES 実装の間に既知の非互換性があるかどうか疑問に思っています。
glsl - OpenGL ES 2.0のスウィズリングを正確に構成するものは何ですか?(特にPowerVR SGX。)
PowerVRは言う
lowpベクトルのコンポーネントをスウィズリングすることはコストがかかるため、避ける必要があります。
スウィズリングとは正確には何ですか?
しかし、色がvec4の場合vec3(color.b, color.r, color.g)
、またははどうでしょうか。vec3(color)
単一のコンポーネントにアクセスまたは変更することは、スウィズルを構成しますか?私は本当にそうは思いませんが、そうでない場合は、手動でさらにいくつかの代入操作を行うだけで、スウィズリングを回避できます。私はそれを行うのに問題はありませんが、スウィズル表記なしでコードを書くだけで同じ効果をより速い速度で得ることができれば、それは私には魔法のように思えます。
android - PowerVRSGXGPUでのOpenGLESの問題
PowerVRSGXシリーズを除くすべての電話で正常に動作するOpenGLライブ壁紙があります。これには、ほぼすべてのSamsung電話とMotorolaDroidシリーズが含まれます。壁紙は、PowerVRGPU電話の黒い画面に他なりません。私はこの問題を理解しようとして1週間頭を悩ませてきましたが、運がありませんでした。
異なるGPUの違いの1つは、テクスチャ圧縮です。その点で私が行ったことのいくつかは、テクスチャ画像を256x256の正方形に変更したことです。それを8ビットから16ビットのrgbaに変更し、インデックスを作成してみました。
PowerVRで利用できるすべての拡張機能とAdrenoで利用できる拡張機能のリストがあります。利用可能な拡張機能にはかなりの違いがあるようですが、どの機能がどの拡張機能に対応しているかはわかりません(多少推測できますが)。これが私が使用する関数のリストです:
- glLightfv
- glMaterialfv
- glDepthFunc
- glEnableClientState
- glViewport
- glMatrixMode
- glLoadIdentity
- gluPerspective
- glclearcolor
- glclear
- glTranslatef
- glRotatef
- glVertexPointer
- glTexCoordPointer
- glColor4f
- glNormal3f
- glDrawArrays
- glTexParamterx
私はRobertGreenのGlWallPaperServiceを使用しており、デバイスでテクスチャ三角形を描画しようとしてこのソリューションを試しましたが、エミュレータは機能します。なんで?。PowerVRチップがなぜ私にそんなに苦労しているのか、そして私がそれについて何ができるのか、誰かが知っていますか?
qt - Qt PowerVR ドライバーのマウス ポインターが使用できない
PowerVR で Qt マウス ポインターが使用できないという問題について、より具体的に説明したいだけです。だから、誰かが私の質問に答えてくれることを願っています。
Qt PowerVR ドライバーは、QT_NO_QWS_CURSOR を指定してコンパイルする必要があります。これにより、マウスの使用は停止しますが、タッチ スクリーンの余地は残ります。
なぜこれが必要なのかを知りたいのですが、それはハードウェアの制限によるものなのか、それとも単に不完全なドライバーなのかです。
事前にご支援いただき、誠にありがとうございました。
opengl-es - ユーザー空間メモリへの OpenGL ES レンダリング
PowerVR SGX ハードウェアを搭載した ARM デバイスのテクスチャにオフスクリーン レンダリングを実装する必要があります。
すべてが完了しました (ピクセルバッファと OpenGL ES 2.0 API が使用されました)。未解決の唯一の問題は、機能が非常に遅い glReadPixels
ことです。
私は OpenGL ES の専門家ではないので、コミュニティに質問しています: テクスチャをユーザー空間メモリに直接レンダリングすることは可能ですか? または、テクスチャのメモリ領域のハードウェア アドレスを取得する方法があるのでしょうか? 他の手法 (EGL 拡張機能) はありますか?
ユニバーサル ソリューションは必要ありません。PowerVR ハードウェア用に機能するだけです。
更新:「遅い関数」に関するもう少しの情報glReadPixels
。512x512 RGB テクスチャ データを CPU のメモリにコピーします。
glReadPixels(0, 0, WIDTH, HEIGHT, GL_RGBA, GL_UNSIGNED_BYTE, &arr)
210ミリ秒かかり、glReadPixels(0, 0, WIDTH, HEIGHT, GL_BGRA, GL_UNSIGNED_BYTE, &arr)
24 ミリ秒かかります (GL_BGRA
glReadPixels の標準ではなく、PoverVR 拡張機能です)。memcpy(&arr, &arr2, WIDTH * HEIGHT * 4)
5ミリ秒かかります
テクスチャが大きいほど、差も大きくなります。
ios - pvrtextoolclが標準ヘッダーを生成しない
今日ダウンロードした最新のpvrtextoolCLを使用しています。
問題は、アップルのtexturetoolまたはオンラインドキュメントにあるものと同じヘッダーを生成していないことです。GUIツールでレガシーセーブアウトを使用すると機能しますが、コマンドラインツールのオプションが必要です。
この問題を抱えている人は他にいますか?それを修正するにはどうすればよいですか?