問題タブ [glkit]

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 投票する
1 に答える
599 参照

iphone - IOS GLKit : テクスチャを動的にフェードする (OpenGL)

アイテムが遠くに表示されるにつれて、アイテムを動的にフェードさせようとしています。

これは正常に機能し、テクスチャは正常に表示されますが、フェードしません。

次に、これに変更します(いくつかのスタックオーバーフローの投稿に基づいています)。GLKTextureEnvModeModulate を有効にするか、glColor4f を追加すると、GL ERROR: 0x0502 というエラーが表示されます

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

ios - GLKit GLKVertexAttribColor:動的に変化する色

したがって、オブジェクトが私から遠ざかるにつれて、フェードを適用したいと思います。オブジェクトはテクスチャ化されています。

オブジェクトの色はこの線で制御されていると思います

頂点配列から色を取得する代わりに、これに色を挿入する方法はありますか?

glColor4などの設定と設定をしてみました

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

ios - GLKView + アルファ付き CIImage + AVFoundation = トリッピー メス

AVFoundation を使用してカメラから情報を取得し、それを CIFilter に渡して暗いピクセルをアルファ レベル 0 のピクセルに置き換え、GLKView に表示しています。

含まれているビュー コントローラーは GLKViewController ですが、プログラムの中身は次の関数で始まります。

GLKViewController では、次を使用してレンダー バッファーを初期化します。

その結果、古い画像がクリアされず、透けて見えるようになります。結果は次のようになります: http://d.pr/i/M02zこれは正常ですか? 古い文脈を一掃し、新たに始めることではないでしょうか?

私はglFlush();更新を試みましglkView:(GLKView *)view drawInRect:(CGRect)rectたが、CIContext の Image に対して nil を描画しようとしましたが、役に立ちませんでした。

足りないものはありますか?

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

iphone - GLKit の iOS で画質が悪い

このチュートリアルでシーンにスプライトを追加しました: http://www.raywenderlich.com/9743/how-to-create-a-simple-2d-iphone-game-with-opengl-es-2-0-and-glkit -パート1

しかし、画像ファイルの品質が悪いです。問題を解決する方法??

ここに画像の説明を入力

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

objective-c - 複数のGLKviewスナップショットが原因でクラッシュします。メモリの問題?

私の目標は、openglフレームの短いシーケンス(約200フレーム)からビデオを作成することです。したがって、これを行うために、次のコードを使用して画像の配列を作成します。

したがって、これはシミュレーターでは完全に正常に機能しますが、デバイス(retina iPad)では機能しません。したがって、私の推測では、デバイスはそれほど多くのUIイメージをサポートしていません(特に2048 * 1536)。クラッシュは常に38フレーム程度後に発生します。

解決策としては、10フレームごとに動画を作成し、それらをすべてまとめて添付することを考えましたが、十分なスペースがあるかどうかはいつわかりますか(自動解放プールが空になっていますか?)。

スレッドを使用して10個の画像を処理し、終了したら次の10フレームで再度起動する必要がありますか?

何か案が?

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

ios - GLKTextureLoader -textureWithCGImage:options:queue:completionHandler: malloc エラー

インスタンスを使用しGLKTextureLoaderて非同期的にテクスチャをロードしています。

このコードを初めて実行すると、正常に動作します。ただし、2 回目malloc: *** error for object 0xa0cb3c0: pointer being freed was not allocatedは、コンソールに警告が表示されます。GLKTextureLoaderバックトレースは、自身のワーカー スレッドでエラーが発生したことを示しているようです。

明らかに、テクスチャ ローダーが何かを過剰にリリースしているようです。ここで何が間違っていますか?


アップデート:

メソッドに渡される画像は、次のように取得されます。

画像生成をこれに変更すると、エラーが発生しなくなりました。

だから今、私は質問がなぜだと思いますか?キャッシュ動作が含まれていることは理解してい+imageNamed:ますが、なぜこのコードに影響するのでしょうか?


更新 2:

を使用してイメージを作成した場合も同様です[UIImage imageWithData:imageData](クラッシュが発生します)。のみ[UIImage imageNamed:imageName]が機能しているようです。理由はありますか?

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

ios - ピンチ ズーム OpenGL 正射投影行列

iOS で OpenGLES 正投影で表示された画像をズームするピンチを実装しようとすると、問題が発生します。ズームがピンチ位置の下の中心に留まるように、投影行列をスケーリングおよび変換しようとしています。

私の update: メソッドの下で、マトリックスを構成します。

ピンチ ジェスチャ レコグナイザを使用して、newScale と endPan1 の値を取得しています。(endPan2 は 2 本指のパン レコグナイザーに由来します。):

その結果、ズーム中に画像がピンチ位置の下で完全に中央にとどまりません。それはちょっと半分うまくいきます...私は近くにいるに違いないと思いますか???

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

objective-c - iOSでの連続スクロールスプライトGLKitスプライト間のギャップ

iOSでOpenGLES2.0+GLKitゲームのクラスを作成しようとしています。スクロール速度を上げると、スプライト間のギャップが大きくなります。私はグーグルでたくさんの検索をしましたが、私のために働く答えを見つけられませんでした。

私のスクロールスプライトクラスは、位置、スケール、子など(Cocos2Dに少し似ています)を持つ「ノード」から継承します。クラスにはスプライト(ノード)の配列があり、x軸上で設定された速度で移動し、画面の最後に到達すると、最後のスプライトの正しい位置に移動します。

これが私のコードの主要部分です:

誰かが私がギャップの形成を止める方法を教えてくれるなら、それは大いにありがたいです:)よろしくお願いします!

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

iphone - OpenGL ES 2.0 の Z 軸がオクルージョンに影響しない

そのため、このチュートリアルを使用して OpenGL の実験を行っていますが、問題が発生しています。何らかの理由で、頂点の深さが描画方法に関係ないようです。下のスクリーンショットでは、立方体は同じサイズですが、大きい方の立方体が画面に近くなっています。小さい立方体を塞いでいるはずですが、そうではありません。チュートリアルのコードをほぼ正確に実行しましたが、明らかに間違っている点はありますか?

http://games.ianterrell.com/opengl-basics-with-glkit-in-ios5-encapsulated-drawing-and-animation/

スクリーンショット http://dl.dropbox.com/u/2396540/image.png

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

ios - glkit、opengl es2で何千もの正方形を描くにはどうすればよいですか?

画面上に最大 200,000 の正方形を描画しようとしています。または基本的に多くの正方形。私は多くの描画呼び出しに道を譲っているだけで、アプリのパフォーマンスを損なっていると思います。正方形はボタンを押したときにのみ更新されるため、フレームごとに更新する必要はありません。

これが私が今持っているコードです: