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

objective-c - 複数の単純な OpenGL キューブを 1 つのコンテキストに追加し、個々のキューブのパースペクティブを設定します

GLKView にある単一のコンテキストに追加するキューブ型のオブジェクトがいくつかあります。すべてのキューブは NSObject のサブクラスであり、それぞれ独自の基本効果があります。次のように、すべてのキューブに対して射影行列と基本効果を設定します。

今、あたかもすべてが接続された投影を持っているかのように見えます。全部正面から見てみたいです。ただし、少しずらして配置すると、立方体の下部または上部が見えます。

上記のコード行に関するもう 1 つの点は、モデル ビュー マトリックスを z 軸に沿って少し移動して、適切にフレーム化する必要があることです。射影行列を少し戻すことはできませんか? いくつかの値を試しましたが、役に立ちませんでした。

コンテナのセットアップは次のようになります。

メソッドのキューブ配列では、配列に- (void)glkView:drawInRect:追加されたすべてのキューブにメソッドを実行させ-drawます。

誰かがこの問題に光を当てることができますか?

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

ios - iOS で 2 つの OpenGLES ビューを並べて表示する

私はiosでのopenglプログラミングが初めてです。そこで、Xcode に付属する opegles ゲーム テンプレートから始めました。それはそのまま機能します。ただし、2 つの opengles ビューを並べて設定するのに苦労しています。これが私の実装です。

ViewController は GLKViewController から派生します。私は現在、次のように VC で 2 つのビューを並べて配置するために、ひどく大雑把な方法を使用しています。

iPad でこのコードを実行すると、glkView:(GLKView*) drawInRect:(CGRect) が呼び出されたときに次のエラーが発生します: OpenGLGame[1183:907] Failed to make complete framebuffer object 8cd6.

最初のビューは正しく表示されますが、フルスクリーンです。

誰かが私がここで欠けているものを理解するのを手伝ってくれますか?

ありがとう

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

ios - GLKit の -drawRect: は画面の回転中に呼び出されません

シンプルなオブジェクトが表示されたGLKitベースのアプリがあります。

GLKViewが更新されない (-drawRect:が呼び出されない)画面の回転を除いて、すべて正常に動作します。そのため、回転中、投影マトリックスは動的に変化する画面サイズに応じて更新されず、オブジェクトは見栄えが悪くなります (引き伸ばされます)。

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

objective-c - GLKViewController をサブビューに追加 - GLKView コンテキストがクラッシュを引き起こす

その上にGLKViewControllerを持つmainViewControllerを持つ、非常に単純なセットアップを念頭に置いています。アイデアは、mainViewController で、画面の 1/3 を占めるボックスに GLKViewController を配置することです。これは以下で見ることができます:

ここに画像の説明を入力

その白いボックスは、次のコードを持つ私自身のカスタム GLKViewController です。

boxViewController.h

boxViewController.m

mainViewControllerの場合、次のviewDidLoadように boxViewController を呼び出すだけです。

これは完璧に機能します。

boxViewController.m でview.context = self.contextコメントアウトしたことに注意してください。コメントを外すと、私のアプリケーションはエラー メッセージなしでクラッシュします (アセンブリ コードEXC_BAD_ACCESSの [具体的には 8 行目] で壊れます)。objc_msgSend

コンテキストを設定するとアプリケーションがクラッシュするという、間違っていることは何ですか? すべてのチュートリアルから、コントローラーを別のコントローラーに設定しないことを除いて、同じ設定になっていることに気付きました。GLKViewController を別のコントローラーでフレーム化できなかった理由はわかりませんが、それは問題ではないと思います。

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

iphone - UIViewController - IOS を使用して GLKView で UIButton を表示する方法は?

私は OpenGL を初めて使用します。GLKView の上にボタンを表示しようとしましたが、ボタンが表示されません。これが私がやったことです...

編集:

UIViewController を作成し、GLKView をサブビューとして self.view に追加しました。上記の問題以外はすべて正常に動作しています (glkview に UIbutton が表示されません)。それを行う方法についてのアイデア。

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

nested - GLKView のネストされたサブビュー フレーム サイズと境界サイズが正しくない

これは、Xcode 4.5 の OpenGL Game サンプル プロジェクトに基づいて、私が作成した "GLKView Subview" アプリの例です。両方の OpenGL ES 2 ビューが 1 つのコントローラーによって制御されるように、デリゲートをファイル所有者の GLKViewController に設定して GLKView サブビューを作成します。

http://dh.st/7R1

これがスクリーンショットです。コントラストのためにサブビューの背景を赤くしています。

http://dh.st/om4

フレームサイズが壊れていることに気付くまで、(テクスチャなどを共有するために)1つのGLKViewControllerとEAGLContextの下に複数のGLKViewを追加する簡単な方法があることに興奮しました。

iPhone 4" Retina を使用した iOS シミュレーターでの出力:

サブビューのフレームは {100, 100} のはずですが、何らかの理由で {248, 100} になっています。メインのGLKViewがその親である場合、おそらくその自動サイズ変更の制約が間違って設定されていると考えて、UIViewに埋め込むことさえ、私が考えることができるすべてを試しました。ご覧のとおり、UIView のサイズは正しいのですが、子 GLKView のサイズが壊れています。

開発者としては、これが最初に試すことのように思えましたが、Apple には通常、他のアイデアがあります。自動サイズ変更なしでは、GLKView は、任意のデバイス サイズで動作するフリーフォーム レイアウトには役に立ちません。

別のプロジェクトで子コントローラーとして機能する単一の EAGLContext を共有する複数の GLKViewControllers を取得することができました。しかし、GLKView を画面に追加するたびに GLKViewController を作成するという荷物を背負わなければならない理由がわかりません。私の推測では、GLKViewController が独自のビューではない GLKView のデリゲートである場合、GLKViewController は混乱します。

glViewport() を使用するだけでビューを手動で機能させることもできました.GLKViewの問題で2日を失った後、これを読んでいる人にはそのルートに行くことをお勧めします(クロスプラットフォームの利点も得られます)。

「GLKViewごとにGLKViewControllerを作成する必要がある」だけであっても、簡単な説明/修正があることを願っています。それを機能させることができた人に前もって感謝します。そうでない場合は、このバグ機能の例が誰かを助けるかもしれません。

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

iphone - glDrawArray は動的頂点に適した方法ですか?

私は現在、glDrawElements を使用してメッシュ (地形) をレンダリングしていますが、メッシュ (地形) は時々更新されます (地形モーフィング)。技術的に glDrawArrays を使用する必要があるかどうか疑問に思っていますか?

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

iphone - 一度だけ呼び出される glkview drawinrect デリゲート メソッド

GLKViewController を UserInterfaceViewController に追加しようとしています。raywenderlich チュートリアル ( http://www.raywenderlich.com/5235/beginning-opengl-es-2-0-with-glkit-part-2 )のサンプル プロジェクトを使用しています。

ここに私のコードスニペットがあります

上記のコードは、私が期待している前述のフレームの UserInterfaceViewController ビューでコンテキストを描画しています。 .

GLKViewControllerDelegate update メソッドを呼び出すにはどうすればよいですか。

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

iphone - cube-openGL のサイズを大きくする方法

立方体を表示して回転させようとしています。このglkview drawinrect デリゲート メソッドを 1 回だけ呼び出すことに成功しました。

上記の参照リンクで言及したhttp://www.raywenderlich.com/5235/beginning-opengl-es-2-0-with-glkit-part-2からキューブをセットアップするコードを取得しました。

今私の問題は、キューブのサイズを大きくしたいということです。

私のコードを回転させるコードは次のとおりです。

キューブを増やす方法を教えてもらえますか? 前もって感謝します。