画像入力投影
これは、画像入力を使用して粒子システムに投影し、粒子の位置に応じて粒子を着色するカーネルの例です。画像はXZ平面上にあると想定され、その平面内の画像の左上隅と右下隅を設定するための2つのノブが提供されます。
|
結果として生じるColorWheel粒子への画像投影velocityの0 |
|
結果として生じるColorWheel粒子への画像投影velocityの0.05 |
画像投影カーネルのノードグラフの例
kernel ParticleImageProjectKernel : ImageComputationKernel<ePixelWise> { Image<eRead,eAccessRandom,eEdgeClamped> image_texture; Image<eReadWrite> p_position; Image<eReadWrite> p_color; param: float _amount; float _dt; float2 _imageTL; float2 _imageBR; local: float2 _imageSize; void define() { defineParam(_imageTL, "pa_imageTL", float2(0.0f)); defineParam(_imageBR, "pa_imageBR", float2(1.0f)); defineParam(_dt, "_dt", 1.0f); } void init() { _imageSize = float2(image_texture.bounds.width(), image_texture.bounds.height()); } void process() { float3 p = p_position(); float2 xz = float2(p.x, p.z); float2 uv = xz = (xz-_imageTL)/(_imageBR-_imageTL); float2 st = uv*_imageSize; float4 c = bilinear(image_texture, st.x, st.y); p_color() = float4(c.x, c.y, c.z, 1.0f); } }; |
申し訳ありませんが、これは役に立ちませんでした
なぜこれが役に立たなかったのですか? (当てはまるもの全てをご確認ください)
ご意見をいただきありがとうございます。
探しているものが見つからない場合、またはワークフローに関する質問がある場合は、お試しくださいファウンドリサポート。
学習コンテンツを改善する方法についてご意見がある場合は、下のボタンを使用してドキュメントチームにメールを送信してください。
Email Docs Teamフィードバックをお寄せいただきありがとうございます。