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

0 投票する
0 に答える
147 参照

ios - GLKViewControl、ストーリーボード、およびタップ イベント

GLKViewControllerで使用される (サブクラス)に問題がありStoryboardます。タップ イベントの処理を拒否します。

ストーリーボードの (サブクラス) に Tap Gesture Recognizer を追加し、GLKViewControllerそれを「tapDetected」メソッドにリンクしました。

ここに画像の説明を入力

これはまさに私が同じ方法で他のView Controllerのタップをうまく管理する方法Storyboardです。のみがGLKViewControllerイベントを受け取りません。ログもナビゲーション バーもタップの影響を受けません。

GLKViewControllers の特定のニーズを検索しましたが、見つかりませんでした。アイデアや提案はありますか?


メソッドを追加すると、touchesBeganすべてうまくいくようです。問題は、ストーリーボードのジェスチャ認識エンジンのポイントは何ですか?

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

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 - アプリケーションは、その後のフラッシュ操作なしで、別のコンテキストで更新されたレンダーバッファー オブジェクトを使用しました。

私のGLKViewCIContextは両方とも同じ で設定されているEAGLContextため、エラー メッセージが何を指しているのかよくわかりません。どんな洞察も大歓迎です!

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

ios - GLKViewControllerDelegate に更新がないのはなぜですか?

についての例に従ってGLKViewController、次のような更新コールバックを実装しました

しかし、ソースを確認したところ、更新メッセージが定義されていないようですが、なぜ update を使用できるのでしょうか?

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

ios - GLKView を使用して低解像度で描画するにはどうすればよいですか?

「OpenGL ゲーム」Xcode テンプレートに基づくアプリがあります。毎日のテスト/開発のために、フルスクリーンでレンダリングしたいのですが、シミュレーターで低解像度 (1/2 または 1/4 など) でレンダリングしたいと考えています。これを配置するための効率的/賢明な方法はありますか?

(私のアプリはシミュレーターで非常に遅く実行されているため、これを実行したいので、より小さな解像度でレンダリングすると、テスト/デバッグがよりプログラマーフレンドリーになります)

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

ios - GLKView の背後にある UIImage

GLKView を使用してタッチ入力で署名を作成しようとしています。しかし今、私は UIImage が署名の下にある必要があります。短い: カスタム GLKView を使用して UIImage の上に線を描画したい。

問題は、不透明度を NO に設定して insertSubview: belowSubview.. に設定しても、毎回画像の下に線が描画されることです。

それ以外の場合は、テクスチャの助けを借りて試しましたが、これを行う方法がわかりません..

可能であれば GLKViewController を使用したくありません;) よろしくお願いします!

アップデート:

私は自分の問題を発見し、今、私が望んでいた結果を得ることができました。

コンストラクターの GLKView 内で、EAGLContext を開始します。コンテキストを自分自身に設定するのを忘れていました。

opaque を NO に設定することは良い解決策ではありませんが、それが私の仕事にとって唯一の効率的な解決策です。

0 投票する
0 に答える
663 参照

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 チップ以外のデバイスでのみ発生します。

0 投票する
0 に答える
220 参照

opengl-es - glDrawArrays を繰り返し呼び出しても、iOS の GLKView で描画されているように見えないのはなぜですか?

iOS の GLKView で glDrawArrays を使用して、同じ配列で再描画しようとしています。これらの呼び出しのいずれか 2 つをコメントアウトすると、もう一方の描画呼び出しが期待どおりに描画されます。私の最後の予感は、同じ深さで描画しようとしていたので、深さの均一性を導入し、次のように頂点シェーダーで深さを設定しています。

入ってくる深度は、値が 0、1、または 2 の lowp ベクトルです。これは何の効果もありませんでした。

ここに私の drawRect: メソッドがあります

私のGLKViewはdrawableDepthFormat = GLKViewDrawableDepthFormat24. 私が描いているのは基本的に単純なカラー ホイールなので、変換は設定していません。

ワールドまたはモデルの変換はありません。同じ正方形を、変換せずに 3 回重ねて描画するだけです。次のように、フラグメント シェーダーで重要なフラグメントをマスクするために使用される 3 つの異なるマスク イメージがあります。

glDrawArrays3 つの呼び出しすべてが期待どおりに描画されないのはなぜですか? 先に述べたように、それらのいずれかが単独で期待どおりに描画します。そのまま、3つすべてで、最初のglDrawArraysドローだけが期待どおりに描画されます。