반응형

3

[홍정모의 그래픽스 새싹코스 Part1] 원근감 만들기(Perspective View)

앞서 이 포스팅은 홍정모의 그래픽스 Part1을 수강하고 작성한 내용입니다. 강의의 세부 코드는 첨부하지 않고, 결과와 이론 위주로 포스팅했습니다. 개요 현재까지의 레이트레이싱은 각 픽셀에서 z축 방향으로(vec(0.0f, 0.0f, 1.0f 방향으로) 빛을 쏴줬기 때문에 원근감이 없다. 위의 구 3개는 반지름이 모두 같지만 파란색이 제일 뒤, 초록색이 가운데, 빨간색이 제일 가까이에 있다. 위 그림에는 2개의 문제점이 있는데 1. 원근감이 없기 때문에 세 구의 크기가 같아 보인다. 2. 파란색 구가 제일 뒤에 있고, 빨간색 구가 제일 앞에 있지만 렌더링할 때 이를 고려하지 않아서 초록색이 파란색, 빨간색이 초록색과 파란색에 가려지게 된다. 이 2가지 문제점을 해결해 볼 것이다. 원근감 주기 위에서 말한..

CS/그래픽스 2023.12.08

[홍정모의 그래픽스 새싹코스 Part1] 퐁 쉐이딩으로 구 만들기

앞서 이 포스팅은 홍정모의 그래픽스 Part1을 수강하고 작성한 내용입니다. 강의의 세부 코드는 첨부하지 않고, 결과와 이론 위주로 포스팅했습니다. 개요 퐁 쉐이딩(Phong reflection model)은 1975년 Bui Tuong Phong가 발표한 기술로, 광원에 따라 물체를 Ambient, Diffuse, Specular로 나눠 그리는 방법이다. 최근에는 훨씬 더 발전했기 때문에, 퐁 쉐이딩으로 물체를 그리는 것보다 더 실감 나게 그릴 수 있는 기술들이 많이 나왔다고 한다. Ambient ambient는 조명에 영향을 받지 않는 그 물체의 단순한 색상을 나타낸다. 따라서 조명이 없어도 ambient의 색깔이 기본적으로 나오게 되는데, 그래서 물리적인 사실과는 거리가 있다는 것을 숙지해야 한다...

CS/그래픽스 2023.12.07

[홍정모의 그래픽스 새싹코스 Part1] 구 만들기

앞서 이 포스팅은 홍정모의 그래픽스 Part1을 수강하고 작성한 내용입니다. 강의의 세부 코드는 첨부하지 않고, 결과와 이론 위주로 포스팅했습니다. 구와 직선의 방정식 구를 스크린 좌표에 나타내기 위해서는 먼저 구의 방정식을 알아야한다. x를 구 위의 점, c를 중점, r을 반지름이라고 했을 때 구의 방정식은 다음과 같다. 그리고 점 x를 지나고 o에서 시작하는 방향벡터가 u인 직선의 방정식은 다음과 같다. 구와 직선의 교점관계 먼저 구와 직선이 만날 때는 3가지 관계로 분류할 수 있는데 1. 만나지 않는 경우 2. 한 점에서 접하는 경우 3. 두 점에서 만나는 경우가 있다. 직선과 구의 교점을 x라고 하자. 구의 방정식 x에 직선의 방정식을 대입하면 다음과 같다. 내적을 전개하면 아래와 같다. 여기서 ..

CS/그래픽스 2023.12.06
반응형