問題タブ [caeagllayer]
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 - UIScrollView が CADisplayLink を一時停止するのはなぜですか?
UIScrollView 内にある CAEAGLLayer に基づくビューがあります。スクロールを開始すると、openGL ビューの -draw メソッドを呼び出す CADisplayLink が呼び出されなくなります。
スクロール時に runloop の start / stop メソッドが呼び出されないことを確認しました。-draw メソッドは、スクロールが開始されるとすぐには呼び出されず、スクロールが終了するとすぐに呼び出されます。
UIKit は、スクロールが開始されるとすぐに CADisplayLink の起動を停止しますか?
表示リンクは、次のように実行ループに追加されます。
この実行ループ モードと UIScrollView が競合している可能性がありますか? UIScrollView がスクロールしている場合でも CADisplayLink を起動し続ける他の実行ループ モードまたは代替ソリューションはありますか?
どのアプリケーションにも複数の CADisplayLink が存在する可能性があると考えました。それは間違っていますか?
opengl-es - iOS6マップのCAEAGLLayerの色を変更する
新しいAppleMapsを使用すると、はMKMapTileView
機能しなくなり、マップ全体の表示を担当するレイヤー(およびそのコンテンツ)を操作する方法を理解しようとします。View/Layer
関心のあるのは、であるレイヤーVKMapCanvas
ですCAEAGLLayer
。
この()のメソッドまたは実装をサブクラス化して上書き/スウィズルする機会はありますVKMapCanvas
か?
mkmapview - MKMapView & iOS6、マップの即時更新を回避
MKMapView
衛星地図を表示するために使用するアプリケーションを実装しました。私のアプリケーションでは、マップ ビューの変換と共にプログラムでマップの中心を更新する必要があります。iOS 6 より前では、これはうまく機能します。iOS 6 では、2 段階操作を結合できなくなりました。つまり、マップの中心を設定しようとすると、変換を設定する前にすぐに更新されます。一瞬、中間表現が見えてしまうのでまずいです。新しい実装の内部MKMapView
を見ると、OpenGL が使用されていることがわかります。
VKMapCanvas: 0x9d29440; frame = (0 0; 1217.57 1217.57); clipsToBounds = YES; layer = [CAEAGLLayer]: 0x9d2a610
問題は、OpenGL サーフェスがすぐに更新されることだと思います。私の質問は、とにかく更新を有効/無効にすることはありVKMapCanvas
ますか?
ios - iOS6 からの OpenGL ES の変更点
これは非常にオープンエンドの質問です。1位でごめんなさい。
Open GL ES 2.0 でのビデオ ストリーミングを示すコードがあります。iOS5 では問題なく動作しますが、デバイスを iOS6 にアップデートした後、問題が発生しました。ビデオがまったく表示されません。ストリーミングとデコードを確認したところ、iOS6 から問題なく動作しています。レンダリングだけがうまく動作しません。
CAEAGLLayer ビューとテクスチャ (glTexImage2D 関数を使用) を使用して、ビデオをレンダリングしました。
以前に同様の問題に遭遇したことがある場合は、アドバイスを求めたいと思います。どんなコメントでも、掘り下げ始めるのに役立つかもしれません。
情報不足とこの自由回答式の質問で申し訳ありません。
更新: 私と同じ問題を示す簡単なサンプル プログラムを見つけました。
http://db-in.com/blog/2011/02/all-about-opengl-es-2-x-part-23/
このサンプル プログラムは iPhone 5.1 エミュレータでは問題なく動作しますが、iPhone 6 エミュレータでは動作しません (空白の画面)。誰でもこの例をチェックして、何が問題なのか教えてもらえますか? 私と同様の問題があるはずだと思います。
BR、ウォニル。
ios - 透明な OpenGL CAEAGLLayer
私はopenglビュー(CAEAGLLayer)を透明にレンダリングしようとしているので、その背後にUIViewを置くことができます。次の設定を使用して、透明なopengl背景を実現しています。
私の問題は、opengl シーンのオブジェクトが透明になり、それらを通して見ることができるようになったことです (約 50% の透明度)。
シーン内のオブジェクトを透明にせずに、opengl シーンの背景を透明にするにはどうすればよいですか。
すべてのレイヤー、UIView、および UIWindows のアルファ値は 1.0 であり、layer.opaque が YES に設定されている場合はすべて単色であるため、シーン内のフラグメント シェーダーは問題を引き起こしていないことに注意してください。また、それが役立つ場合は、これがユニティ プロジェクトであることも付け加えておきます。
編集:
Unity セットアップのコードの一部。
iphone - iPhone5CAEAGLLayerが間違った境界を返す
何らかの理由で、iOS64インチRetinaシミュレーターで実行しているときに、OpenGLアプリがCAEAGLLayerの境界情報を誤って取得しています。
CAEAGLLayerの境界は次のように出力されます
このコードから:
その後、ウィンドウの内容が上にシフトされ、0,0が正しい位置になくなります。
CAEAGLLayerが誤った幅/高さに設定されている理由を誰かが知っていますか?
ありがとう
ios - 複数の CAEAGLLayer を iOS で使用できますか?
私はOpenGLビューを取得します
サブレイヤーを追加したい
これを考える目的は、別のレイヤーに別のものを描画して、ここで removeSubLayer:enter code を呼び出すだけで何かを削除できるようにすることです。
利用可能ですか?
ios - openGL コンテキストで CAEAGLLayer サブクラスを設定する方法: 現在の描画フレームバッファが無効です
gl コンテキストで CAEAGLLayer サブクラスをセットアップしようとしています。つまり、CAEAGLLayer を返す UIView サブクラスを作成し、UIView サブクラス内から gl コンテキストをこのレイヤーにバインドする代わりに、レイヤーを直接サブクラス化し、レイヤーの init でコンテキストをセットアップしようとしています。
その時点まではすべて問題ないようです。ただし、「パススルー」頂点/フラグメント シェーダー ペアを使用してシェーダー プログラムを作成しようとすると、プログラムをリンクしてもエラーは返されませんが、「現在の描画フレーム バッファーが無効です」というメッセージが表示されて検証に失敗します。
シェーダー プログラムをリンクして検証するコード (シェーダーをアタッチした後) は、次のようになります。
CAEAGLLayer のライフサイクルのある時点で、気づいていないかもしれない追加のセットアップがあり、init で GL をセットアップしようとしてスキップしている可能性があるのではないかと思っています。