저작물 참고 필자도 해당 내용을 공부하고 있는 입장으로 주로 오픈 문서, 포럼, AI 질의 응답을 활용하여 관련 내용을 공부하였습니다. 따라서 틀린 내용이 있을 수 있습니다.
다만, 타인(AI 등)의 저작물을 침해하지 않도록 순서, 과정, 스크린샷, 코드 등 다른 저작물을 활용 또는 포함하지 않았으며, AI 등 인터넷 자료는 오로지 기술 원리 이해의 목표로만 활용하고, 본 게시글에 언급된 과정, 흐름, 본문, 게시한 코드는 AI의 복붙 없이 모두 필자가 사전에 알고 있는 그래픽스 기술과 인터넷 상에 공개된 개념을 통해 모두 직접 시도하며 직접 작성하였음을 밝힙니다. 부득이하게 어떤 자료를 인용하는 경우는 링크로 출처를 남기고 인용합니다.
이번 게시글에서는 쉐이더에서 원형 파형 모양을 내 보고자 한다. 이 경우 거리 함수를 사용하면 되는데, 기본 형태는 아래와 같다.
float2 subtract_uv = center_uv - IN.uv;
float angle =( atan2(subtract_uv.y, subtract_uv.x) + 3.14 )/ (3.14 * 2);
float2 angle_to_sin = float2(sin(angle * 3.14 * 2),cos(angle * 3.14 * 2));
먼저 이전 게시글의 극좌표계 계산하던 것과 동일하다. 각도를 먼저 구해주고 각도를 0~1로 정규화한다. 그리고 이를 노이즈 함수에 같이 넣어 sin 의 주기에 변화를 주면 되는데, 그냥 0~1 값을 그대로 sin 내부에 넣으면 나중에 계산 상황에 따라 끊기는 상황이 발생할 수 있기 때문에 0~1~0 주기로 부드럽게 넘어갈 수 있도록