Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.1 ) |
- 名前:管理人 日時:2023/08/25 23:11
いえ、2以降には何も出力していません
0 が色
1 が法線
となっています
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.2 ) |
- 名前:名無三 日時:2023/08/27 02:05
色と法線であること承知しました。
それでは2点お願いできればと思うのですが、
drive.google.com/file/d/1K0XPlD0dKEEXNnmuO0cZM6pZb7QZNJJk/view?usp=sharing
・こちらの画像のように現状ではMV1のモデル表示のみにて法線を取る形となっているようです。
可能であれば他の描画についても法線が適用されるようになりますと幸いです。
もしよろしければこちらだけでもご検討いただけますと幸いです
DrawPolygonIndexed3D_UseVertexBuffer
DrawCapsule3D
・深度、スペキュラ等の出力を他の番号にてお願いできればと思うのですがいかがでしょうか?
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.3 ) |
- 名前:管理人 日時:2023/08/27 05:11
> ・こちらの画像のように現状ではMV1のモデル表示のみにて法線を取る形となっているようです。
> 可能であれば他の描画についても法線が適用されるようになりますと幸いです。
>
> もしよろしければこちらだけでもご検討いただけますと幸いです
> DrawPolygonIndexed3D_UseVertexBuffer
> DrawCapsule3D
法線を出力する機能を実装した当時のスレッドがこちら↓ですが
https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=5095
SetUsePixelLighting( TRUE ) ; を事前に実行して頂ければ
DrawPolygonIndexed3D_UseVertexBuffer などでも法線が描画されるようになると思います m(_ _)m
> ・深度、スペキュラ等の出力を他の番号にてお願いできればと思うのですがいかがでしょうか?
出力情報が増えると処理負荷が高くなってしまうので、無闇に出力は増やすのは避けたいところですが…
具体的な用途はありますでしょうか?
あと、『等』とのことですが、他にもご希望の出力はありますでしょうか?
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.4 ) |
- 名前:名無三 日時:2023/08/27 12:55
すいません、ピクセンライティングの方確認いたします。
用途としましては、ポストプロセスの実装を目的としております。
SSRと深度ベースのDoFについて取り組もうと考えており、
・SSRには法線とスペキュラが
・DoFには深度が
あればと思います。
こちらでは深度とスペキュラがあれば良いかと考えているのですが、可能であれば、UnityのGバッファで出力されている
・(Diffuse colors)
・Specular color
・(World space normal)
・Emission + (Ambient + Reflections + Lightmaps)
・Depth + Stencil
上記が網羅されていれば、他ポストプロセスエフェクト(HDR等?)を実装する方がおられた場合に便利かと思います。
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.5 ) |
- 名前:名無三 日時:2023/08/27 21:48
確認したところ既にSetUsePixelLighting(TRUE)でしたね…
他の部分を確認してみます、一応現状のプロジェクトの方と、確認している部分をを添付いたします
drive.google.com/file/d/1gwXwWHoJ1RSpnSWfWicEg_KP8eBKQu0l/view?usp=sharing
こちらvisual studio 2017でビルドしております。注意点としてdebugでのビルドが現状できません。
SSAOを有効化する方法は、FPS_0\WW1\Project\data\Setting.txtのSSAOをfalse->trueにして起動です。
画像の場面への遷移はタイトルからそのままスペースorPS4パッドのXボタンを押してください。
DxLib_VC\DX_VC\DXLib_ref\DXLib_ref.cppにて初期化のあとにSetUsePixelLighting(TRUE)を行っております。
DXLib_ref_100_PostPass.cppのSSAO_Drawラムダ式にてSSAOのためにノーマルマップを取得しております。
FPS_0\WW1\Project\source\MainScene\BackGround\BackGroundSub.cppのGrass::ImplクラスのDraw関数にてDrawPolygonIndexed3D_UseVertexBufferの描画が行われます。
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.6 ) |
- 名前:管理人 日時:2023/08/28 03:20
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.7 ) |
- 名前:名無三 日時:2023/08/28 19:52
ありがとうございます、草の法線が描画されていることを確認しました!
深度に関しましては、後から距離を演算すれば良いかと思いますので0.0〜1.0で大丈夫です。
スペキュラに関しましては、こちらのRefraction Maskの欄にあるグレースケールでマテリアルの反射具合を取得している画像の形を想定しております。
lettier.github.io/3d-game-shaders-for-beginners/screen-space-refraction.html
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.8 ) |
- 名前:管理人 日時:2023/08/29 02:10
> 深度に関しましては、後から距離を演算すれば良いかと思いますので0.0〜1.0で大丈夫です。
すみません、改めて考えた所、0.0〜1.0の値を元の距離に戻すには
元の距離 = 1.0f / ( -1.0f * テクスチャから読み出した深度値 * ( Far - Near ) / ( Far * Near ) + 1.0f / Near )
という計算をしなければならず、この式を知らない方には正しい距離を算出できない
といったデメリットがありますので、やはりカメラからの距離をそのまま出力しようと思うのですが
問題ありませんでしょうか?
( テクスチャフォーマットを必ず float型にしなければならないという面がありますが… )
> スペキュラに関しましては、こちらのRefraction Maskの欄にあるグレースケールでマテリアルの反射具合を取得している画像の形を想定しております。
> lettier.github.io/3d-game-shaders-for-beginners/screen-space-refraction.html
反射具合はライトのスペキュラカラーによっては R と G と B で異なりますので、グレースケール( 1チャンネル )で
表現すると汎用性が下がってしまうので、3チャンネル出力する形にしようと思いますが
1チャンネルに抑えた方が良いといった点はありますでしょうか?
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.9 ) |
- 名前:名無三 日時:2023/08/29 21:00
承知しました。距離をそのまま/RGB全て出す、で問題ありません
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.10 ) |
- 名前:管理人 日時:2023/08/30 04:36
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.11 ) |
- 名前:名無三 日時:2023/08/30 09:47
ありがとうございます!試してみます!
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.12 ) |
- 名前:名無三 日時:2023/09/02 00:19
SSR完成しました!ありがとうございます!
drive.google.com/file/d/1ryI4qAOtCsIRyxOXxsXzb5bo3lqJ5ZYl/view?usp=sharing
ただすいません、スペキュラに関してなのですが、今回出力したSSRの反射をどれだけ反映するかを決定するためのものですので、
可能であればモデル表面の反射光xスペキュラマップをそのまま出すようなものを追加いただけますと幸いです…
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.13 ) |
- 名前:管理人 日時:2023/09/02 00:38
おぉ、SSR凄いですね…!
> 可能であればモデル表面の反射光xスペキュラマップをそのまま出すようなものを追加いただけますと幸いです…
了解です
『モデル表面の反射光xスペキュラマップ』
↑
こちらの『モデル表面の反射光』というのはモデルのマテリアルの反射光( Specularカラー )という認識で良いでしょうか?
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.14 ) |
- 名前:名無三 日時:2023/09/02 11:23
はい、その認識です。
(以下、一応認識すり合わせのため…)
例えば窓は半分反射し、光沢のある金属や鏡はすべて反射するといった形を想定しております。
MV1ModelViewerのマテリアル→材質→反射光→スペキュラマップで適用されている画像も反映されていると幸いです
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.15 ) |
- 名前:管理人 日時:2023/09/02 20:48
|
Re: デフォルト状態でSetRenderTargetToShaderにて取れる画面情報について ( No.16 ) |
- 名前:名無三(解決) 日時:2023/09/03 05:45
本当にありがとうございます、組み込みました!
drive.google.com/file/d/1HUHKpqqA4aSPLDTOEvnahH69i1hpcreg/view?usp=sharing
|