問題タブ [glkview]
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 - GLKViewControl、ストーリーボード、およびタップ イベント
GLKViewControllerで使用される (サブクラス)に問題がありStoryboardます。タップ イベントの処理を拒否します。
ストーリーボードの (サブクラス) に Tap Gesture Recognizer を追加し、GLKViewControllerそれを「tapDetected」メソッドにリンクしました。

これはまさに私が同じ方法で他のView Controllerのタップをうまく管理する方法Storyboardです。のみがGLKViewControllerイベントを受け取りません。ログもナビゲーション バーもタップの影響を受けません。
GLKViewControllers の特定のニーズを検索しましたが、見つかりませんでした。アイデアや提案はありますか?
メソッドを追加すると、touchesBeganすべてうまくいくようです。問題は、ストーリーボードのジェスチャ認識エンジンのポイントは何ですか?
ios - GLKView を使用したコア イメージ
GLKViewユーザー入力に応じて Core Image の「レシピ」をスムーズにレンダリングするためにCore Image を適切に使用する方法の例を見つけるのに苦労しました。そのため、コア イメージ プログラミング ガイドとGLKViewクラス リファレンスを読んだ後、機能するアプローチを思いつきました。ただし、それが有効かどうかはわかりませんので、誰かが問題がないことを確認するか、より良い方向に向けてくれることを願っています.
現在、私は aGLKViewと aを使用していGLKViewControllerます。はGLKView、 を実装する親ビュー コントローラに描画を委譲しますglkView:drawInRect:。描画メソッドはこれを行います:
具体的には、最後の行が気になり[context.coreImageContext drawImage:outputImage inRect:inRect fromRect:outputImage.extent]ます。内からそのメソッドを呼び出すことは有効ですglkView:drawInRect:か? 前に述べたように、このアプローチはうまく機能しているように見えますが、OpenGL ES Analysis Instruments テンプレートを実行した後、私はそれを疑うようになりました。この問題がある行にフラグを立てました:
フラッシュなしのマルチコンテキスト レンダーバッファーの使用: レンダーバッファー #2 - アプリケーションは、その後のフラッシュ操作なしで、別のコンテキストで更新されたレンダーバッファー オブジェクトを使用しました。
私のGLKViewとCIContextは両方とも同じ で設定されているEAGLContextため、エラー メッセージが何を指しているのかよくわかりません。どんな洞察も大歓迎です!
ios - GLKViewControllerDelegate に更新がないのはなぜですか?
についての例に従ってGLKViewController、次のような更新コールバックを実装しました
しかし、ソースを確認したところ、更新メッセージが定義されていないようですが、なぜ update を使用できるのでしょうか?
ios - GLKView を使用して低解像度で描画するにはどうすればよいですか?
「OpenGL ゲーム」Xcode テンプレートに基づくアプリがあります。毎日のテスト/開発のために、フルスクリーンでレンダリングしたいのですが、シミュレーターで低解像度 (1/2 または 1/4 など) でレンダリングしたいと考えています。これを配置するための効率的/賢明な方法はありますか?
(私のアプリはシミュレーターで非常に遅く実行されているため、これを実行したいので、より小さな解像度でレンダリングすると、テスト/デバッグがよりプログラマーフレンドリーになります)
ios - GLKView の背後にある UIImage
GLKView を使用してタッチ入力で署名を作成しようとしています。しかし今、私は UIImage が署名の下にある必要があります。短い: カスタム GLKView を使用して UIImage の上に線を描画したい。
問題は、不透明度を NO に設定して insertSubview: belowSubview.. に設定しても、毎回画像の下に線が描画されることです。
それ以外の場合は、テクスチャの助けを借りて試しましたが、これを行う方法がわかりません..
可能であれば GLKViewController を使用したくありません;) よろしくお願いします!
アップデート:
私は自分の問題を発見し、今、私が望んでいた結果を得ることができました。
コンストラクターの GLKView 内で、EAGLContext を開始します。コンテキストを自分自身に設定するのを忘れていました。
opaque を NO に設定することは良い解決策ではありませんが、それが私の仕事にとって唯一の効率的な解決策です。
ios - GLKView エラー 8cdd でマルチサンプル フレームバッファを作成できませんでした
私は現在、いくつかの線を描く別のビューの上にある GLKView を作成しています。しかし、私は奇妙な問題を抱えています。私の仕事では、この行で行われるマルチサンプリングを使用する必要があります
私のコンストラクタで。iOS 7.1/7/6.1 のシミュレーターでは、期待どおりの結果が得られました。iPad Mini 1 でも同じ結果が得られます。
編集: iPad 2 も動作します。
しかし、iPad 1 (5.1) または iPad 4 (7.1) を使用すると、次のエラーが発生します。
完全なマルチサンプル フレームバッファ オブジェクト 8cdd の作成に失敗しました
エラーを確認すると
iPad 4 ではError code: 8219が表示され、iPad 1 ではError code: 8cddが表示されます。
もちろん、描画は行われません。マルチサンプリングを無効にすると、エラーは発生しません。このクラスは大きなプロジェクトで使用され、サブクラス化されています。スーパークラス自体を使用しても問題は解決しません。GLK は、単純な UIView であるスーパービューのみが .xib ファイルであるコードのみで完全に行われます。
ストーリーボードでクラスとして GLKView を作成して新しいプロジェクトでクラスを使用すると、マルチサンプリングは正常に機能します。
さらに情報が必要な場合は、お気軽にお問い合わせください。前もって感謝します。
アップデート:
GLKView のフレームを設定した後に問題があるようですが、A5 チップ以外のデバイスでのみ発生します。
opengl-es - glDrawArrays を繰り返し呼び出しても、iOS の GLKView で描画されているように見えないのはなぜですか?
iOS の GLKView で glDrawArrays を使用して、同じ配列で再描画しようとしています。これらの呼び出しのいずれか 2 つをコメントアウトすると、もう一方の描画呼び出しが期待どおりに描画されます。私の最後の予感は、同じ深さで描画しようとしていたので、深さの均一性を導入し、次のように頂点シェーダーで深さを設定しています。
入ってくる深度は、値が 0、1、または 2 の lowp ベクトルです。これは何の効果もありませんでした。
ここに私の drawRect: メソッドがあります
私のGLKViewはdrawableDepthFormat = GLKViewDrawableDepthFormat24. 私が描いているのは基本的に単純なカラー ホイールなので、変換は設定していません。
ワールドまたはモデルの変換はありません。同じ正方形を、変換せずに 3 回重ねて描画するだけです。次のように、フラグメント シェーダーで重要なフラグメントをマスクするために使用される 3 つの異なるマスク イメージがあります。
glDrawArrays3 つの呼び出しすべてが期待どおりに描画されないのはなぜですか? 先に述べたように、それらのいずれかが単独で期待どおりに描画します。そのまま、3つすべてで、最初のglDrawArraysドローだけが期待どおりに描画されます。