목록전체 글 (67)
코가손의 블로그
Ambient 기본적인 간접 조명 Diffuse 난반사광 표면의 Normal 과 표면에서 빛으로 향하는 벡터의 각도 차이로 밝기 결정 - 반사지점 정점의 Normal벡터 & 물체에서 빛을 향하는 벡터를 내적 const vec3 dirToLight = glm::normalize(light.pos - hit.point); const float diff = glm::max(dot(dirToLight, hit.normal), 0.0f); Specular 정반사광 표면의 Normal 과 빛의 위치, 카메라 위치로 밝기 결정 표면에서 반사된 빛 & 카메라의 FrontVector 로 반사되는 빛의 양 계산 Reflection 벡터 유도과정 내적결과(스칼라) * 벡터 -> 벡터 - 반사벡터 & 바라보는 벡터의 내적 -..
구-직선 충돌 직선의 StartPoint, Dir Vector(Normalized) + 구의 위치, 반지름 알면 접점 구할 수 있음 x : 직선과의 충돌점 c : 구의 위치 o : 직선의 StartPoint d : u벡터의 크기 u : 직선의 방향벡터 nabla > 접점 없음 nabla == 0 >> 접점 1개 nabla > 0 >> 접점 2개(2개 중 StartPoint와 가까운 값 선택) 직선과 구의 접접을 거리에 따라 출력 참고자료 https://en.wikipedia.org/wiki/Line%E2%80%93sphere_intersection Line–sphere intersection - Wikipedia From Wikipedia, the free encyclopedia The thre..
빛, 그림자 구분 Relative Luminance, 상대적으로 밝기가 낮은 픽셀들은 검정색으로 처리함 Gaussian Blur는 *Separable Filter로 해봄 row와 column이 분리가능한 box filter라면 2차원 필터를 1차원 필터 2개로 나누어서 연산량을 줄일 수 있다 filter의 크기가 클수록 유리함