본문 바로가기

전체 글15

10주차, 툰 쉐이더를 만들어보자. 까짓거 만들어보죠! 1. 툰 쉐이더 이전에... 우린 먼저 엔진 내의 파이프라인(Pipeline)에 대해 이해할 필요가 있다. 컴퓨터에서는 정보를 가져올 때 단계를 거치고, 그 단계를 따라갈 때 마치 파이프 라인처럼 병렬적으로 이행하게 된다. 말 그대로 차례차례 단계를 거치는 것이다. 이와 같이 파이프라인은 시스템 내에서 정의된 명령문을 병렬화 된 상태로 단계를 거쳐 처리하는 하드웨어 처리 방법 이라고 생각하면 된다. 데이터가 불러와져서 모니터에 출력되기까지 거치는 단계라고도 이해해도 좋다. 파이프라인 안에서도 다양한 방식과 단계가 있지만, 우리는 DX9를 중점으로 살펴볼 필요가 있다. 근데 이걸 왜 이해해야만 할까? 1-1. 그래픽 파이프라인 데이터를 불러오는 과정에서 쉐이더가 어떠한 부분에서 출력되게.. 2023. 6. 19.
9주차, 스펙큘러를 만들어보자. 반질반질, 반딱반딱한 것들을 만들어보자. 1. 스펙큘러(Specular)? 스펙큘러는 정반사, 즉 거울처럼 매끈한 면을 경계로 일어나는 반사이다. 게임그래픽 에서는 물체의 질감을 나타낼 수 있게 보여주는데 메탈릭 물질과 글로시 물질에 따라 다르게 나오기는 하지만 우선 스펙큘러를 만들어보고 생각해보자. 1-1. Phong 공식의 스펙큘러 만들기 저번 시간에 이야기 했듯이 뷰 벡터라는 것은 결국 내가 바라보는 시점(View), 즉 카메라를 기준으로 바라보는 시각의 벡터를 나타낸다. 스펙큘러는 정반사, 즉 우리가 보는 방향의 정방향에서 나타나게 된다. 어? 그럼 저번에 림라이트를 만들었던 방식 그대로 뷰 벡터를 가져오면 되는 것 아닐까? 사실은… 우리가 뷰 벡터를 뒤집어서 림라이트를 만들었지만 뒤집지 않는다면.. 2023. 6. 9.
8주차, 림라이트를 만들어보자. ※ 금번 게시물에는 광과민성(발광/깜빡임/강한 빛)을 유발할 수 있는 이미지(Gif)가 포함되어 있으니 주의 부탁드립니다! Holy 해질 시간이다! 1. 림라이트(Rim Light)? 피사체 뒤에서 강한 조명을 주어 위, 측면 모서리등을 따라 빛의 테(Rim)이 나타나는 빛을 뜻한다. 소위 우리가 말하는 “후광”에 가깝다. 림라이트를 쓰게 되면 화면과 피사체간 분리를 할 수 있고, 물체의 구조나 재료도 효과적으로 보여주게 된다. 근데 림을 구성하려면 어떻게 해야할까? 우선은 … 1-1. 뷰 벡터 이해, 림라이트 만들기 뷰 벡터라는 것은 결국 내가 바라보는 시점(View), 즉 카메라를 기준으로 바라보는 시각의 벡터를 나타낸다. 우리는 7주차에 Light Direction, 즉 빛의 벡터를 썼다. Ligh.. 2023. 6. 2.
7주차, 빛을 커스텀 해보자. 구글 문서의 경우, 7주차 이후부터는 비공개 하겠습니다! 티스토리에 업로드 드리는 것이 훨씬 그림도 잘 보이고, 글도 많이 정리되서 업로드 되기 때문입니다 ㅎㅎ 방문해주시는 여러분들 항상 감사드립니다. 쉐이더 관련으로 궁금하신 것은 문의 주세용. 암튼, 이제야말로 진짜 “쉐이더”를 보여줄때다! 1. 커스텀 하기 전에 “벡터” 저번 시간에 알아본대로 벡터의 값은 길이로써의 힘의 크기와 지표로써 방향을 가져 화살표로 표시할 수 있었다. 구체적으로 들어가기 전에, ‘단위 벡터(Unit Vector)’에 대해 알아둘 필요가 있다. 단위 벡터(Unit Vector)란… 벡터의 크기가 1인 벡터를 뜻한다. 벡터의 방향으로 1을 쓸 때 사용하고, 벡터를 단위 벡터화(벡터 크기 1로)할 때의 행위를 ‘정규화(Norma.. 2023. 2. 9.