問題タブ [metal]
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.
ios - UIView.drawRect をオーバーライドすると、「-display を呼び出しても効果がありません」というメッセージが表示されるのはなぜですか?
注意: 私は実用的な問題を解決しようとはしていません。好奇心から尋ねます。
アプリケーションのメイン ビューで使用するカスタムUIView
サブクラスがあります。金属層クラスがあります。
-(void)drawRect:(CGRect)rect
メソッドをオーバーライドすると、エラー メッセージが表示されるようになることに気付きました。
<CAMetalLayer: 0x17005dc70>: calling -display has no effect.
さらに興味深いのは、次のようにオーバーライドしても表示されることです。
OOPの基本原則によれば、そのようなオーバーライド(基本クラスを呼び出すだけ)はプログラムの動作を変更するべきではないため、私が理解している限り、これはまったく違いを生むことはできませんでした。
このエラー メッセージは正確には何を意味するのでしょうか? そして、なぜそれが現れるのですか?
cocoa-touch - UIView.touchesMoved: locationInView は常に 0,0 を返します
これはばかげた間違いに違いありませんが、 がlocationInView
常に(0.0, 0.0)
myViewController
のtouchesBegan
ortouchesMoved
メソッドで返される理由は何でしょうか?
userInteractionEnabled
は true に設定されているため、これが理由になることはありません。
私はSwiftでMetalプロジェクトに取り組んでいます。ビューの唯一のサブビューはUIImageView
(その.image
プロパティには、Metal GPU レンダリングの結果が含まれています。
編集:これは私の iPhone 6 でのみ発生し、他のプロジェクトでも発生しています。シミュレーターでは、すべて正常に動作しています。
何か案は?
ios - iPhone 5s で Metal と Swift を実行する
Metal と Swift を使用したWarren Moore のサンプル プロジェクトを見つけて本当に興奮しましたが、自分のデバイス (5s、8.2、XCode 6.2) で実行しようとすると、Info.plist [...] specifies device capability requirements, which are not met by Davis's iPhone
.
私が知る限り、関連する唯一Key
の s は次のplist
とおりです。
armv7
私はそれを意味するarmv7
か後で仮定しなければなりません. とにかく、WWDCでは、5s で導入された A7 でも動作すると言い続けていました。
私が試したこと:
- 私は要件を削除しました(悪い考えのように感じました)
fatal error: unexpectedly found nil while unwrapping an Optional value
. 少し掘り下げてみると、MTLCreateSystemDefaultDevice()
が戻ってきていることがわかりnil
ます。 - これにより、解決策はiOSを更新することでしたが、XcodeとiOSの両方が最新であるという同様の質問につながりました。
ios - iOS-Metal: 深度バッファをクリアするには? OpenGL の glClear(GL_DEPTH_BUFFER_BIT) に似ています
OpenGLで使用する深度バッファをクリアする必要がありglClear(GL_DEPTH_BUFFER_BIT)
ますが、金属で行うにはどうすればよいですか? 私はアップルのドキュメントを調べましたが、それについてのヒントはありません。
ios - Metal の頂点の色を動的に変更する適切な方法は何ですか?
私はメタルに入ろうとしています。私は OpenGL を少しやったことがありますが、何年も経っているので、これを行うための適切な方法が思いつきません。Ray Wenderlich ( http://www.raywenderlich.com/81399/ios-8-metal-tutorial-swift-moving-to-3d )のメタル チュートリアルのイントロを使用してきました。
私は頂点構造体を持っています:
および頂点バッファー クラス:
他のアプリケーションの状態に基づいて、1 つまたは複数の頂点の RGBA を更新したいと考えています。メソッドを使用してVertexBuffer.updateColor...
、対応する RGBA 値を で更新していますVertexBuffer.vertexData
。以下の関数に接続された CADisplayLink があります。
問題は、これが正しい方法であるかどうかわからないことです。私の目的は、特定の頂点の色を頻繁に更新することですが、頂点データを変更して毎回 MTLBuffer を作成するのが答えですか? または、他の何か?
どんな助けでも大歓迎です!