問題タブ [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 投票する
2 に答える
541 参照

xcode - OpenGL で逆さまにレンダリングされる (ランダムな) テクスチャがありますか?

Objective-C で GLKit (OpenGL ES2) を使用して iPhone ゲームを作成しています。

私はこれについてあまり経験がないので、何か間違ったことをしていても驚かないでしょうが、ほとんど同じオブジェクトのヒープを生成しています。実際、私はそれらにクラスを使用しており、クラスのインスタンスをさらに作成してオブジェクトを作成していますが、どういうわけか、一部のオブジェクトには逆さまにマップされたテクスチャがあります。

すべてのオブジェクトに同じコードが使用されており、一部は正しく、一部は正しくないため、これがどのように可能であるかはわかりません。

どんな助け/アイデアも大歓迎です。

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

ios - GLKitメモリリークcopywithZone

私が書いているゲームに対してinstrumentsユーティリティを実行すると、配列を循環していくつかの単純な立方体オブジェクトを描画するときに、Zoneでのコピーに関連する大量のメモリリークが表示されます。

私はOpenGLプログラミングに慣れていないので、これを追跡するための最良の方法がわかりません。私のプログラムはARCを使用しており、IOS5用にビルドするように設定されています。GLKitを初期化してOPenGl2.0を使用し、BafeEffectを使用しているので、独自のシェーダーなどを作成する必要はありません。これはロケット科学ではありません。描画関数内で何かを解放してはいけないと思います。以下は私の描画関数のコードです。皆さん、見て、問題として目立つものがあるかどうかを確認していただけますか?

もう1つ注意すべき点は、15の異なるテクスチャを使用していることです。立方体は、15の異なるテクスチャの1つにすることができます。テクスチャのキューブクラスにプロパティを設定し、配列にキューブを作成するときにプロパティを設定します。しかし、プログラムビューがロードを開始したときに15個すべてをロードします。これらはそれぞれ75k未満の小さな.jpsファイルであり、各キューブはずっと同じテクスチャを使用しているので、それほど大きな問題にはなりません。

これが私の描画関数のコードです:

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

iphone - GLKit ゲームの向きが回転しているときに iOS で touchesEnded イベントが見つからない

私は GLKitViewController を使用して iOS ゲームを作成しており、LandscapeLeft と LandscapeRight をサポートしています。デバイスを回転させているときに指を画面に置いて、回転アニメーションを再生しているときに指を画面から離すと、そのタッチの touchesEnded イベントが発生しません。

これは、回転アニメーションを実行しているときにアプリケーションが更新されていないため、イベントがディスパッチされていないためだと思います。ただし、これを処理するための最善の解決策が何であるかはわかりません。

どんなアドバイスでも大歓迎です!

ありがとう!

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

ios - GLKit:[ピクセルの描画]GLfloat配列の初期化

GLKitを使用してピクセルを描画しています。次の場合、(10、10)座標でピクセルを正常に描画できます。

しかし、実行時にピクセルを描画する数と正確な場所を決定したいので、これを試しましたが、(10、0)でピクセルを描画しています、ここで何かが間違っています:

親切に私を助けてください。

編集: 問題 実際の問題は次のとおりです。次の違いがわかりません。

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

ios - OpenGL Es 2.0 GLKit Draw Pixel

画面にピクセルを描画するのに少し助けが必要です。私が書いたコードはシミュレーターでは正常に機能しますが、デバイスにデプロイするとガベージが出力されます。これが私のコードです:

GLKViewControllerをセットアップしました。これが、viewDidLoadです。

そして、これが私がポイント/ピクセルを描いているところです:

シミュレーターで実行すると正常に動作します。つまり、それに応じてピクセルを描画しますが、iPod4に展開すると、ごみが表示されます。私は初心者なので、単純なピクセルを表示するのに助けが必要です。

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

ios5 - GLKit: GL_POINTS を使用した点の描画

私はGLKitでopengl es 2.0を取り上げています。四角形、三角形、立方体などの形を上手に描くことができます。

ポイントの描画に問題があります。デバイス (iPod 4) で動作しないコードを次に示しますが、Retina シミュレーターでポイント/ドットを確認できます。

そして、これがrefのための私の更新方法です:

以下は、効果を定義する方法です。

ポイントが白い背景に見えるようにします。

誰かがこのコードの欠陥を指摘できますか? 三角形、正方形、立方体がすべて表示されているため、デバイスに表示されない理由がわかりません。どんな助けでも大歓迎です。

編集:

これまでシェーダーを使用したことがなかったので、これが初めてです。ベンがサンプルコードについて言及したように。これが今私がやっていることです:

VertexShader.glslファイルとFragmentShader.glslファイルがあります。

VertexShader.glsl

FragmentShader.glsl

エフェクトを作成する直前と EAGLContext を設定した直後にシェーダーをセットアップしています。

createShaderWithFile メソッドは次のとおりです。

上記の drawRect メソッドも更新しました。

このプロジェクトへのリンクは次のとおりです: http://dl.dropbox.com/u/36638938/Template.zip

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

objective-c - GLKMatrixStack の使用方法

画面に多数の立方体を描画する iOS ゲームを作成していますが、立方体の配置に問題があります。

draw_voxel立方体を描画する関数があります:

を渡しGLKMatrixStackRef、現在のマトリックスを一番上にプッシュし、使用GLKMatrixStackTranslateして一番上のマトリックスを変換します。ただし、すべての立方体は引き続き (0, 0, 0) に描画されます。

私はこのように呼び出しますdraw_voxel

インターネット上で GLKit マトリックス スタックに関する有用な情報を見つけることができませんでした。キューブが変換されるようにトップ マトリックスを「適用」するにはどうすればよいですか?

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

ios - iOS 用 GLKit で VBO を使用するには?

私は GLKit (OpenGL ES 2) を使用して iOS 用のゲームを作成していますが、VBO と VAO を使用するとパフォーマンスが大幅に向上すると思われるため、VBO と VAO を使用したいと考えています (そして、Instruments はアプリをテストするときにそれを推奨しています)。

実際には位置、サイズ、テクスチャなどを変更しないテクスチャ オブジェクトがたくさんあるので、VBO が役立つと思います。

現時点では、GLKVector2 の配列を使用して頂点とテクスチャの座標データを格納していますが、ここから VBO に移動する方法がよくわかりません。

誰でもこれを手伝ってもらえますか?

乾杯、ニック。

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

iphone - GLKViewControllerDelegate がブロックされる

OpenGL の描画を処理する GLKViewController があります。メソッドとメソッドの両方を実装し、glkView:drawInRectプロパティを 30 (デフォルト) に設定しています。updatepreferredFramesPerSecond

問題は、ユーザーがアプリの他の部分と対話するときにデリゲート メソッドの起動が停止することです。これが発生する 2 つのケースは、ユーザーが UITableView をスクロールするか、MKMapView を操作する場合です。

アプリの残りの部分が何をしているかに関係なく、これらのデリゲートが常に起動するようにする方法はありますか? これらを停止したいのは、アプリがバックグラウンドに入るときだけです(これは自動的に行われます)。

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

iphone - OpenGLとGLKitを使用したタイルベースのゲームでのパフォーマンスの低下

タイルベースのゲームを作成するためにGLKitでopenGLを使用しています。ゲームでは、約1024個のタイルが画面に配置されます。問題は、drawInRectが呼び出されるたびにタイルをレンダリングしているため、パフォーマンスが大幅に低下していることです。

これが私がレンダリングする方法です(tilesArrayは静的で、ballsArrayは画面上を移動しています):

私が言ったように、tilesArrayは画面内で静的ですが、ballsArrayは(更新のたびに)画面内を非常に速く移動しています。ボールだけを置くと非常に速くなり、タイルを追加すると非常に遅くなります(シミュレーターでのみ試してみました)

これが私がレンダリングする方法です: