2fb2c828eac076b660b8f68b12d21a1d4c3f79c0d3


2bef8274abc236a14e81d2b628f17364ae2cb8

์ •์œก๋ฉด์ฒด


๋ชจ์„œ๋ฆฌ์— ๊ฒ€์€์„  ์™œ ๋‚˜์˜ค๋Š”๊ฑฐ์•ผ?


.frag :

ย  ย  float dd =ย  dot(vec3(0.0, 0.0, 1f) , norm) < 0 ? -1 : 1;

ย  ย  vec3 cro = cross(vec3(0.0, 0.0, 0.7071f) , norm) ;

ย  ย  float w =ย  sqrt(1 - dot(cro,cro)) ;

ย  ย  vec3 nmap = (texture(material.normap, TexCoords).xyz * 2.0 - 1.0) * dd;

ย  ย  vec3 rh = cross(cro, nmap) + w * nmap;

ย  ย  vec3 rh2 = cross(cro, rh) * 2 + nmap;

ย  ย  float ndiff = dot(rh2, lightDir);

ย  ย  diffuse = light.diffuseย  * ndiff *ย  vec3(texture(material.diffuse, TexCoords));