esYgFPm2miKw4VJB.qrunch.io読者になる1HLSLで草C++DX11投稿日:2019-01-19最終更新:2019-01-20筆者のブログで記事をみる草生やしたいHLSLで。ツイッタで草生やした刈ったっていうの見てやりたくなりました。IndieVisualLabさんのやつよりだいぶ見た目悪いです。わかめだこれIndieVisualLabさんのは見た目いいのでそっちを見ましょう。実装時間ですが自分の場合平日帰ってきて4時間を4日でした。目安にしていただければ。参考Unityのシェーダの本を書いていらっしゃる方々がいらっしゃいます。それ見ながらやりました。https://github.com/IndieVisualLabなんとソースファイルというかプロジェクト一式?なのでUnityインストールしてプロジェクト開くで動いてしまいます。↑のはプログラムだけですが、理論的な部分を知りたいという人は本買いましょう。図があるとわかりやすくていいっすね。vol.1~vol.3まで買っちゃいました。(すてま)https://indievisuallab.stores.jp/items/59edf11ac8f22c0152002588https://indievisuallab.stores.jp/items/5ae077b850bbc30f3a000a6dhttps://indievisuallab.stores.jp/items/5bc08f64a6e6ee273e000e4b数学と物理?が必要なものとかはさっぱりですが、今回のはいらないのでそういうのに手出していきたいですね。今回のはvol1の6章です。2枚ディスプレイで電子版片方に開いて片方VSで書くとはかどります。HLSLでおれおれフレームワークで。ユニティのシェーダさっぱりなので触ったことあるHLSLで見たところユニティのとほぼほぼ変わらないので9割コピペで動いちゃいます。以下コードはコピペしても動かないですごめんなさい。}値はお好みでdistを1にすると1x1の四角になります。;1つの点に対しジオメトリシェーダで草一本生やすのでポイントにしました。outputD3D11_PRIMITIVE_TOPOLOGY_POINTLISTに合わせての変更です。var[4];とかだとOKなんだけど構造体の配列駄目なんだね。0).r;よくつかうSample関数使えなかった。ジオメトリシェーダだと駄目らしい。かわりにSampleLevel関数で代用。bufferにいれて変更できるようにしてもいいと思う。自分は面倒だったのでやってない。wind_pow;ユニティにはデフォであるみたいですが、こっちは作んなきゃですね。毎フレーム+1したのを入れてます。Qrunch.netサーバー提供フィードバックを送信する。