私はユニティを使用しています、そして、私はバイト配列をHLSLを使ってGPUに送りたいと思います。私はByteAddressBufferについて知っていますが、私はそれをどのように使用するか考えていません。私はちょうど "バイト"をGPUに送る方法を知りたがっています。私は計算シェーダにStructuredBuffer<byte>
を持っています。バイト[]をGPUに送信していますか?
答えて
シェーダ部分では、StructuredBuffer
を使用できます。 HLSLにバイトデータ型があるかどうかは正確に分かりませんので、この例では整数だけを使用します。
シェーダコード:C#の側で
Shader "Name" {
SubShader {
...
StructuredBuffer<int> _Data;
...
}
}
、あなたのシェーダに対応素材を持っている、mat
それを呼び出すと、あなたのバイト配列bArr
することができます。さらに、gpuバッファを作成してシェーダにバインドする必要があります:ComputeBuffer dataBuf = new ComputeBuffer(bArr.Length, sizeof(int))
。
最後に、GPU dataBuf.SetData(bArr)
にあなたの配列をロードし、私は私のコンピュートシェーダでStructuredBuffer <バイト>を持つようにしたいあなたのシェーダmat.SetBuffer("_Data", dataBuf);
編集
にバッファをバインドします。
私が読んだことから、あなたはできません。 HLSLにはbyte
というデータ型はありません(また、1つの単位で使用されるCGもありません)。上記の例は、標準的な頂点/フラグメントシェーダです。計算シェーダを使用する場合は、他の質問でanswerを参照してください。それをあなたの必要に応えてください。すでにコメントに書いてあるとおり、byte
データにint
を使用しないようにして24ビットを無駄にしないようにするには、ビットシフタで1 int
に4 bytes
をパンチングできます。シェーダモデル4(DX10.1など)を使用している場合、シフト操作はシェーダで使用可能になるはずです
構造化バッファの使い方を知っていて、intをGPUに送る方法を知っています。私はGPUに "byte"を送る方法を知りたい@xyLe_ – None
HLSLにもCGにも(バイト単位ではない)データ型はありません。 CGでは 'char'と一緒に行くことができますが、' int'だけで行くことはできませんか? – TheDjentleman
あなたが実際に使用されていたスペースを持っている場合は、1バイトに4バイトをパックし、ビットシフトを使用してください – TheDjentleman
- 1. ネットワークを介して生のバイトを送信します。悪い?
- 2. シリアルポートにバイトを送信
- 3. Java UUIDをC++にバイトとして送信し、TCPに戻す
- 4. ソケット[0]を使用してバイト[]を送受信しています
- 5. OpenGL ESでGPUにデータを送信するという概念
- 6. ソケットを使用してバイト[]を交互に送受信する
- 7. GPUに一様データを正しく送信する
- 8. フォームの送信ボタンの値を送信していますか?
- 9. 送信バイト数に基づいてプログレスバーを更新
- 10. ベストプラクティスメールを送信していますか?
- 11. BlackberryのPOSTとしてPHPスクリプトにバイト配列を送信
- 12. C# - double - バイトを介してJavaクライアントに送信される値
- 13. NameValuePairを使用してバイトHTTPを送信する方法
- 14. ATMega328p:USARTを介してバイトを送信する奇妙な動作
- 15. jacksonを使用してjsonでバイト配列を送信する
- 16. 送信バイト[]または画像のURL
- 17. ProcessingからArduinoへのバイトの送信
- 18. 圧縮データをGPUに転送してから、GPUで解凍することはできますか?
- 19. 1バイトのnetを送信します。Conn Go
- 20. rails send_fileとsend_dataは0バイトのファイルを送信します
- 21. JavaのJade ACLMessageでバイトを送信します。
- 22. OpenGLでGPUにデータを送信するタイミング
- 23. 特定のバイト数の送信後にファイル転送が停止します
- 24. I2C、PSOCを使用して送受信バイトを開始
- 25. フォームを送信し、新しいページからajaxにフォームデータを送信します
- 26. Androidはヘッドフォン/ USB端子からバイトを送受信しますか?
- 27. InputStreamが、私は最初、私のマスターに、クライアントから店のバイト配列をファイルを転送してからスレーブに送信しています0
- 28. サーバーレスポンスを受信してブラウザに送信しますか?
- 29. TCPソケット経由でバイト[]を送受信
- 30. PythonのZeroMQで生のバイトを送信
なぜ私はあまりにも多くのダウン票を得ましたか?私が逃したものはありますか? – None
あなたの質問では、あなたの問題を解決しようとしたことは実際には表示されません。 (私はそれが理由だと思う) – TheDjentleman