응애맘마조
231011 강의 본문
어제 기술문서를 이어 1시간을 진행하고 물 표현에 대한 강의를 진행했습니다. 저번에 이어서 굴절에 대해 했었는데 아직 어색한 부분이 있어서 나머지는 내일 진행하고 다음 주부턴 언리얼 엔진을 진행할 것 같다고 했습니다.
float3 Envi = float3(0, 0, 0);
float3 Envi2 = float3(0, 0, 0);
[flatten]
if (environment != 0.0f)
{
float3 ViewDir = normalize(input.wPosition - ViewPos.xyz);
float3 reflection = reflect(ViewDir, Normal);
float3 normal = TextureN.Sample(SamplerN, Uv).rgb;
normal = normal * 2.0f - 1.0f;
reflection.xyz += MappingNormal * 0.01f;
reflection = normalize(reflection);
float3 Refract = refract(normalize(ViewDir), Normal, 1.01f) + MappingNormal * 0.01f;
Envi2 = TextureC.Sample(SamplerC, Refract ) * environment * 0.5f;
}
Result.rgb += Envi + Envi2;
BaseColor = Result;
return BaseColor;
Envi2를 추가해서 굴절을 표현하도록 했습니다. 현재 상수로 적은 1.01f는 굴절률을 변화시키는 정도가 됩니다.
읽어주셔서 감사합니다.
Comments