問題タブ [metalkit]
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.
scenekit - SCNScene から作成された MDLAsset があります。MDLMesh、MDLCamera、および MDLLight を抽出するにはどうすればよいですか?
ファイル (.scn)MDLAsset
を読み込んで作成されたインスタンスをトラバースしようとして苦労しています。SCNScene
MDLMesh
カメラとライトだけでなく、 も識別して抽出したいと考えています。それを行う直接的な方法はありません。
たとえば、MDLAsset で次のインスタンス メソッドが表示されます。
これは私が使っているものですか?
SceneKit モデラーで慎重にラベルを付けました。理想的なものを参照できませんか。確かに、私がアクセスできる ID/ラベルの辞書があります。ここで何が欠けていますか?
更新 0
Apple のドキュメントが完全に不足していたため、Xcode デバッガーでシーン グラフを追加する必要がありました。はぁ ...
いくつかのこと。私はそれを見てMDLMesh
、MDLSubmesh
それが私が求めているものです。それを取得するためのトラバーサルアプローチは何ですか? ライトやカメラも同様です。
また、シェーダーと同期できるように、頂点記述子のレイアウトを知る必要もあります。解析済みの特定の頂点レイアウトを強制できますSCNScene
か?
ios - 金属でテクスチャとテクスチャなしを同時に、乗算ブレンディングを使用
金属で 2 つの異なる頂点バッファーを描画しています。1 つはテクスチャを使用 (頂点カラー データを無視) し、もう 1 つはテクスチャを使用せず (純粋に頂点カラー データを描画):
シェーダーは次のようになります。
これを行うより良い方法はありますか?テクスチャを使用したい頂点を黒に設定すると、シェーダーは色が黒かどうかを確認し、黒の場合はテクスチャを使用し、そうでない場合は色を使用します。
また、色付きのポリゴンとテクスチャ付きのポリゴンが画面上で重なっている場合、乗算機能を使用してそれらをブレンドする方法はありますか? MTLBlendOperation には加算/減算/最小/最大のオプションしかなく、乗算はないようですか?
c++ - c++ 頂点関数に [ が 2 つあるのはなぜですか?
Apple からの Metal と MetalKit に関する紹介ビデオを見ています。
シェーダーのサンプル コードには、これらの二重括弧のような[[buffer(0)]]
引数があります。なぜブラケットが2つあるのですか?それは何か意味がありますか、それともキーワード「buffer」が続くことを示すだけですか? 標準の C++ にはそのような構造はありませんね。
また、GP-GPU の入門として、1 週間か 2 週間の楽しいプロジェクトは何でしょうか? 数学のスキルはあるが芸術的スキルのない初心者にとって扱いやすいもの。
pointers - Metalkit: Swift 3 の MTLBuffer とポインター
私は Metalkit から始めましたが、テスト ケースとして非常に単純なカーネルを使用しています。
この「計算された」データは、MTLBuffer
.
この時点で、カーネルはいくつかのテスト データをMTLBuffer
. 質問は、メイン プログラムからそのデータにアクセスする方法です。
から を取得unsafeMutableRawPointer
しbuffer.contents()
ます。他の場所 (画面に表示する、ファイルに書き込むなど) で使用できる値の迅速な配列を取得するにはどうすればよいですか?
これらのスニペットは、この非常に単純なアプリで機能しますが、正しいかどうかはわかりません。
両方ともbindMemory
働きassumingMemoryBound
ます。assumingMemoryBound
ただし、基になるバイトが既に入力されていると想定していますが、そうではありませbindMemory
ん。どちらか一方が機能するはずですが、両方は機能しないと思います。どちらにする必要がありますか?またその理由は?
ios - metalkit を使った 3D 線の描き方
iOSでmetalkitを使って3D線を引こうとしているのですが、頂点を2つ追加しました
回転角度を持つモーダル マトリックスを適用しています。
しかし、ラインは継続的に回転しています。変換マトリックスを使用してみましたが、違いはありません。
実際、私の仕事は、拡張現実のために 3D で線を描き、それらに沿ってパスを使用latitude
してマーカーを配置することです。longitude
最初のステップとして、金属を使用して 3D 線を描画しようとしています。Plz metalkit を使用して 3D 線を描画する例を参照してください。ほとんどの例は三角形です。