Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reflect.shaderのコードでの疑問点 #1

Open
masak2 opened this issue Jan 31, 2018 · 1 comment
Open

Reflect.shaderのコードでの疑問点 #1

masak2 opened this issue Jan 31, 2018 · 1 comment

Comments

@masak2
Copy link

masak2 commented Jan 31, 2018

バグなのかわからなかったので質問です

75行目で
bump += normalize(cross(du, dv)) * 0.5 + 0.5;
0~1に変換してるのですが必要ないのではないかと思いました
bump += normalize(cross(du, dv));

78行目で
float2 offset = bump * _BumpAmt - _BumpAmt * 0.5;
ですが
float2 offset = bump * _BumpAmt * _RefTex_TexelSize.xy;
の間違いではないでしょうか?(ブログの解説はそうなってました

@EsProgram
Copy link
Owner

ご質問ありがとうございます。
確認してみたところ、どちらも仰る通りです。

75行目の0~1へ変換している処理は、ブログで法線マップを取得する際に、テクスチャとして取得するために書いていたコードでした(http://esprog.hatenablog.com/entry/2016/10/24/183733)。
今回はこのコードをそのまま使いまわしたため、仰る通り
bump += normalize(cross(du, dv));
が正しい処理になります。

78行目でブログの解説と異なるコードになっている部分ですが、これは先程の75行目のバグによって生じる参照ピクセルのズレを誤魔化すためのコードになっています。

75行目、78行目共に、後程修正させて頂きます。
ご指摘くださり、ありがとうございます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants