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

BasicVertexShader.hlslで視線ベクトルの計算がワールド座標系になっておらずスペキュラハイライトの出方が変わっているように見えます #18

Open
monguri opened this issue Apr 26, 2020 · 1 comment

Comments

@monguri
Copy link

monguri commented Apr 26, 2020

No description provided.

@monguri
Copy link
Author

monguri commented Apr 26, 2020

こちらの本にお世話になっております。ありがとうございます。

件名の件について報告させてください。
Chapter7から11くらいまで、BasicVertexShader.hlslでoutput.rayの計算をしています。
これはBasicPixelShader.hlslでの使われ方を考えるとワールド座標でのベクトルになっていてほしいのではないかと考えております。

ただ、たとえばChapter8ですと、
output.ray = normalize(pos.xyz - mul(view,eye));//視線ベクトル
のようになっており、pos.xyzはワールド座標系、mul(view,eye)はビュー座標系での視点位置になっています。
https://github.com/boxerprogrammer/directx12_samples/blob/master/Chapter8/BasicVertexShader.hlsl
このコードはChapterによってばらつきがあります。

私としては
output.ray = normalize(pos.xyz - eye);//視線ベクトル
でよいのではないかと考えています。
こちらの方が、カメラの方向を変えた時に、スペキュラハイライトの出方が自然な感じがしました。

もし私の理解の間違いだったり意図的にこうされているということでしたらすみません。

@monguri monguri changed the title BasicVertexShader.hlslde BasicVertexShader.hlslで視線ベクトルの計算がワールド座標系になっておらずスペキュラハイライトの出方が変わっているように見えます Apr 26, 2020
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

1 participant