Re: 水面の透過について(ヒントください…) ( No.1 ) |
- 名前:名無三 日時:2021/02/11 19:49
追伸
自前のシェーダーを用いた際にライブラリの影を用いる方法はありますか?
|
Re: 水面の透過について(ヒントください…) ( No.2 ) |
- 名前:管理人 日時:2021/02/12 00:40
シェーダーコードを拝見した限りでは
VolumeWaterVS.fx のこちらの部分
// ライト方向ベクトルを接空間へ
float3 VPosition = LightDirection.xyz;
VSOutput.VPosition.x = dot(VPosition, VSInput.Tan);
VSOutput.VPosition.y = dot(VPosition, VSInput.Bin);
VSOutput.VPosition.z = dot(VPosition, VSInput.Normal);
VSOutput.VPosition.w = 1.0f;
が、dxlib.xsrv.jp/program/dxprogram_VolumeWater.html のサンプルの同箇所の
// ワールド座標をビュー座標に変換
VSOutput.ViewPosition.x = dot( lWorldPosition, cfViewMatrix[ 0 ] ) ;
VSOutput.ViewPosition.y = dot( lWorldPosition, cfViewMatrix[ 1 ] ) ;
VSOutput.ViewPosition.z = dot( lWorldPosition, cfViewMatrix[ 2 ] ) ;
VSOutput.ViewPosition.w = 1.0f ;
と異なり、ビュー座標を VPosition に代入するのではなく、ライトの方向を
VPosition に代入しているのが原因なのではないかと思います
よろしければこちらの部分を見直してみてください m(_ _)m
> 自前のシェーダーを用いた際にライブラリの影を用いる方法はありますか?
すみません、今の所ライブラリの影を自作シェーダーで使用する方法はありません
|
Re: 水面の透過について(ヒントください…) ( No.3 ) |
- 名前:名無三 日時:2021/02/12 21:59
魚尾マジだったありがとうございます、L=Lookかな〜とか考えていてコメント見てなかったです…
影が不可能ということで承知しました…
思い付きで全くもって頓珍漢なことを言っているかもしれませんが、ライブラリ側の深度値画像を取得して自作シェーダーに反映させることってできますでしょうか?
|
Re: 水面の透過について(ヒントください…) ( No.4 ) |
- 名前:管理人 日時:2021/02/12 22:56
|
Re: 水面の透過について(ヒントください…) ( No.5 ) |
- 名前:名無三(解決) 日時:2021/02/16 13:55
承知しました、ありがとうございます
|