[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart5 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
45: 2021/09/03(金)04:48 ID:LGIFZOLo(1/7) AAS
>>34
そうだったですか、ただ今回はFloatを渡しているので、あまり関係はないかも知れませんよね。
>>35
アドバイスの方有り難うございます。
ビルトインインシェーダ関数の_WorldSpaceCameraPosを使っても、結果は一緒でした。
C#で渡していたのもカメラのワールド座標だったので、多分同じことをしているのだと思います。
何か解決策はないでしょうか・・・
48: 2021/09/03(金)18:31 ID:LGIFZOLo(2/7) AAS
>>47 描画用シェーダだけだと、今は最もプリミティブなものを作っているのでこんな感じです。
vs_out vert (uint id : SV_VERTEXID)
{
Out.pos = float4(float3(tubeBuffer[id]), 1);
return Out;
}
[maxvertexcount(128)]
省11
49: 2021/09/03(金)18:34 ID:LGIFZOLo(3/7) AAS
計算は、コンピュートシェーダーでやっています。
_Origin_x, _Origin_y, _Origin_z
は、予めC#の方で計算しておいた、カメラのワールド座標とベクトルから求めた、カメラから一定の距離にある、カメラ正面の座標です。
[numthreads(64,1,1)]
void tubeAl (uint id : SV_DispatchThreadID)
{
float3 position;
省14
50: 2021/09/03(金)18:37 ID:LGIFZOLo(4/7) AAS
法線等考慮していないので、もし形成できたとしてもカメラに向かって円状にはなりませんが、
今はとにかくカメラの移動に伴ってメッシュが生成されていけば
51: 2021/09/03(金)18:38 ID:LGIFZOLo(5/7) AAS
OK、という段階です。
C#の方は、多分問題なくコンピュートシェーダーの初期化、バッファの宣言、初期化、ディスパッチや描画命令等出来ていると思います。
52: 2021/09/03(金)18:45 ID:LGIFZOLo(6/7) AAS
あとフラグメントシェーダですが、シェーダのプロパティで
Properties{
_Color ("Color", Color) = (1,1,1,1)
}
を差し当たり直に設定しています。
54(1): 2021/09/03(金)19:15 ID:LGIFZOLo(7/7) AAS
>>53
そうですね、GPUベースでやってみたかったですし、できるはずだと思いますが、
大量のパーティクルと違ってそこまで処理も重くないでしょうから、C#の方でメッシュ形成した方が、結局は早いかも知れませんね。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s