셰이더 (Shader)/The Renderman Shading Language Guide7 [RSL] Part3 : Displacements (183p ~ 185p) 디스플레이스먼트에 대해 알아본다. 내용은 이하 파일 참고. 2023. 8. 19. [RSL] Part2 : Divide and Conquer (162p ~ 179p) 수박을 만들어보며 예제 실습해본다. 내용은 이하 파일 참고. 2023. 8. 19. [RSL] Part2 : Shader Design Methodology (158p ~ 161p) Why Follow a Methodology? (왜 방법론을 따를까요?) 쉐이더 개발은 일반적으로 어렵지 않지만 이전에 구현되지 않은 매우 독특한 해결책을 개발하려고 할 때에 어려움이 있을 수 있습니다. 그런 경우 많은 독자적인 연구, 수학적 계산, 차트 작성 및 테스트가 필요할 수 있습니다. 보통의 쉐이더에서는 이러한 단계 대부분을 건너뛸 수 있지만, 심지어 가장 간단한 쉐이더라도 특정 수준의 계획과 조직이 필요합니다. "쉐이더 작성 과정"이라는 제3장에서 언급한 것처럼, 쉐이더 개발에는 일반적으로 설계 단계가 포함됩니다. 이 단계는 목표가 무엇인지를 알려줍니다. 이 단계가 없으면 어떤 방향으로 나아가야 할지 막막해질 수 있습니다. 방법론은 "무엇을 해야 하는가"가 아니라 "어떻게 해야 하는가"입니다... 2023. 8. 19. [RSL] Part2 : Color Math (134p ~ 155p) 색상 조작은 셰이더 개발의 중요한 부분이다. 다른 공간(space)에서 색상을 표현하면 작업이 훨씬 쉬워질 수 있는 상황에 자주 마주하게 될 것이다. 또한 색상을 곱셈, 덧셈, 뺄셈해야 할 수도 있다. 그래서 조작법과 그 결과를 알아야한다. 이 섹션에서는 색상 수학의 이론을 살펴본다. 두 가지 색상에 적용할 수 있는 모든 주요 작업에 대한 함수를 제시한다. Color Theory and Spaces 색상이 작동하는 방식을 이해하기 위해 먼저 빛의 물리적 특성을 알아보자. 1665년 ~ 1666년 사이에, 아이작 뉴턴은 태양빛이 유리 프리즘을 통과하면 생기는 "색상의 스펙트럼"을 발견했다. 스펙트럼은 빨강부터 보라색까지 모든 색상으로 이루어져있다. 무지개를 보는 것이 바로 그런 현상이다. 무지개는 공기 중.. 2023. 5. 30. [RSL] Part2 : Trigonometry, Vector Math (123p ~ 134p) Trigonometry 수학의 난이도를 한 단계 올려보자. 삼각함수는 어려울 수 있지만, 기억해야 할 공식과 성질은 손가락에 꼽을 정도로 적다. 나머지는 삼각함수 책이나 웹사이트에서 언제든 찾아보면 된다. 삼각함수는 모두 삼각형과 관련이 있다. 따라서 삼각형의 중요한 성질들을 살펴보자. 삼각형은 세 개의 변으로 이루어져있다. 변들이 서로 만나는 부분에는 각도가 있다. 삼각형의 각도의 합은 항상 180도, 혹은 라디안으로 표현하면 pi / 2 이다. 삼각형은 많은 종류가 있지만, 컴퓨터 그래픽스의 공부에서 가장 흔한 것은 직각삼각형이다. 직각삼각형은 한 개의 90도 각을 가지고 있으며, 다른 두 각은 90도를 합친 값이 된다. 삼각형의 가장 긴 변은 (언제나 90도 각도의 맞은편에 위치함) 빗변(hypot.. 2023. 5. 16. [RSL] Part2 : Useful Operations (105p ~ 119p) 수학은 추상적이고 어렵고 지루하다고 생각할 수 있다. 하지만 훌륭한 쉐이더 TD가 되기 위해서는 꼭 필요하다. 하지만 걱정하지 마라. 인간 계산기가 되지 않아도 된다. 오히려 계산기를 사용하는 것이 많은 도움이 된다. 앞으로 다룰 개념과 이론은 어려울 수 있지만, 우리는 수학자가 아니다. 따라서 이론이 왜 작동하는지나 수학적 증명 등을 걱정할 필요는 없다. 우리가 해야 할 일은 연산과 속성을 배우고 필요할 때 적용하는 것 뿐이다. 몇 가지 연산에 익숙해지려면 연습이 필요할 수 있다. 하지만 풀어내지 못해 좌절하진 마라. 쉐이더 TD로서 일상적으로 사용하는 수학의 양은 많지 않다. 익숙해져야 할 연산과 속성은 매우 제한적이다. 쉐이더 TD로서 가치를 크게 높일 수 있는 수학적 연구들도 많이 있지만, 그것은.. 2023. 5. 10. [RSL] Part1 : Your First Shader (66p ~ 91p) Your First Shader : "Hello World Shader" 첫 번째 셰이더를 작성해보자. RenderMan 셰이딩은 프로그래밍 언어인 RSL을 사용한다. 일반적으로 프로그래밍 언어를 소개할 때 사용하는 "hello world" 프로그램을 작성하자. 우리의 경우 "constant" 셰이더로 알려진 것을 작성할 것이다. 각 표면의 모든 점에 단일 값이 지정되어, 장면의 모든 조명을 완전히 무시한다. 이것은 쓸모없는 셰이더처럼 보일 수 있지만, 씬 디버깅 및 합성 매트를 만드는 데 유용하다. 다음과 같이 입력하라. surface helloWorld() { Oi = Os; Ci = Oi * Cs; } 파일을 helloWorld.sl로 저장한다. 셰이더의 첫 번째 줄은 이 셰이더가 표면 유형임을 선.. 2023. 5. 8. 이전 1 다음