問題タブ [glkbaseeffect]

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 に答える
925 参照

ios5 - GLKBaseEffect:ライト+テクスチャ

テクスチャを使用して単純なオブジェクトを表示し、シーンでスポットライトを有効にしようとしています。GLKBaseEffect'sテクスチャー&ライトを使用しています。

テクスチャが無効になっている場合-光の効果が見られます(オブジェクトを回転させると、予想どおり、部分的に暗くなります)。しかし、テクスチャを有効にすると(テクスチャをロードしてGLKTextureInfoバインドすると-(void)glkView:drawInRect:)、ライト効果が消えます。

Googleで検索して、Appleのドキュメントを読み直そうとしましたが、それでも答えが見つかりません。

アップデート:

これが私がライトをセットアップするために使用するコードです:

このコードを2回呼び出すと、ライトがどういうわけか無効になります。テクスチャがなくても-セカンドコール-私はまったく光がありません。

0 投票する
2 に答える
1309 参照

ios - メモリ使用量が時間とともに増加し続ける (GLKit - iOS)

アプリをほぼ完成させました。ビューの 1 つは GLKit を使用します。記憶に問題があるだけです。基本的に何が起こるかというと、GLKView が表示されると、メモリ消費量が常に増加します (Instruments で見られます)。ある時点で明らかにクラッシュします。GLKit についてはよくわからないので、お役に立てれば幸いです。

問題は、表示している 3D 矢印です。私が描かなければ、他のすべてのことは問題になりません。これは、矢印の頂点データを含むヘッダー ファイルです。

そして、これは描画コードです:

なにか提案を?助けてくれてどうもありがとう!

0 投票する
2 に答える
558 参照

glkit - GLKBaseEffect を使用した Const ポジショニング ライト

GLKBaseEffect で const スポット ライトの位置を設定する必要があるため、モデルビューを変更してもライトは同じ場所にとどまります。どうすればこれを達成できますか?

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

iphone - OpenGL ES テクスチャ ブレンディングは影響を受けていません

注: GLKBaseEffect を使用しています。

何が間違っているのかわかりません。基本的に、私の GLKBaseEffect では、2 つのテクスチャを設定しています。しかし、レンダリングされた最初のテクスチャ (texture2d0) しか表示されません。2 番目のテクスチャ (texture2d1) を 1 番目のテクスチャとブレンドしたいと考えています。

おそらく、私のブレンド関数が正しくないか、GLKBaseEffect を不適切に使用しています。私が間違っていることは明らかですか?

ところで、私の画像は両方ともアルファチャンネルのない RGB (.PNG 形式) です。私の texture2d1 画像 (下) は、最初のテクスチャにブレンドしたいテクスチャです。ブレンドの50%オーバーレイタイプのように。 ここに画像の説明を入力

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

opengl-es-2.0 - GLKBaseEffect セット コンスタント カラー

3DModel の色付けに GLKBaseEffect を使用します。GLKBaseEffect のサンプルを作成しました

OpenGLをセットアップするとき、私は書きます:

フィギュアを描くときはエフェクトを使用します:

色の設定には ConstantColor を使用します。

しかし、モデルの色は変わりません。私が逃したものは何ですか?

0 投票する
2 に答える
308 参照

opengl-es - GLKit で light0 を有効にすると色が失われる

OpenGL ES 2 チュートリアルのサンプル コードをいくつか変更しています。一定の色を使用するように GLKBaseEffect を設定できます。ここで、シーンにライトを追加しようとすると、色が失われ、2 つの黒い立方体が残ります。

以下は描画方法です。

初期化静的メソッドでライトを有効にします。

以下は、照明が無効になっているとき (赤色) と無効になっているとき (黒色) のスクリーンショットです。

ここに画像の説明を入力

ここに画像の説明を入力

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

ios - iOS7.1 から iOS8.1 へのアップグレード後、OpenGL アプリのフレームレートが低下しました

このアプリは、OpenGL ES2 と GLKit フレームワーク、および GLKitViewController によって提供されるレンダリング/更新ループを使用します。以前は iOS7.1 の iPad2 で安定した 60 fps で実行されていましたが、iPad2 を iOS8.1 に更新すると、まったく同じコードが 56 ~ 59 FPS の間で変動するようになりました。(ただし、CPU 使用率は以前のように 40 ~ 60% のままです)。

プロファイリングにより、OpenGL 描画コマンドが以前よりもはるかに多くの CPU 時間を使用していることが明らかになりました。最大の変更点は、"GLKBaseEffect prepareToDraw" の呼び出しに以前よりもはるかに時間がかかることです。

(このアプリは、レンダリング ループ中のさまざまな時点で再構成される単一の GLKBaseEffect を使用するため、毎回 prepareToDraw を呼び出す必要があります。GLKBaseEffect の複数のインスタンスを使用することで最適化できる可能性があることに気付きました。これについては後で検討していました。 、しかし、iOS7.1でのパフォーマンスはそのままでした)

現在、Instruments の OpenGL ES アナライザー トレースを調べて、"GLKBaseEffect prepareToDraw" によって生成された OpenGL 呼び出しを特定し、異常と思われるものがあるかどうかを確認しています。

この時点でどのように進行するかについてのガイダンスに非常に感謝しています-iOS8.1でGLKBaseEffect prepareToDrawの呼び出しに時間がかかるのはなぜですか?