Unity에서 커스텀 셰이더를 작성하는 방식은 사용 중인 렌더 파이프라인에 따라 다릅니다.
Unity용 셰이더를 작성할 때는 다음 언어를 사용합니다.
각 플랫폼에 각기 다른 언어를 사용할 필요가 없습니다. Unity가 각 그래픽스 API용으로 HLSL 코드와__ ShaderLab__셰이더 오브젝트의 구조를 정의하기 위한 Unity 언어입니다. 자세한 정보
See in Glossary 코드를 여러 언어로 컴파일합니다. 자세한 내용은 셰이더 컴파일을 참조하십시오.
참고: 원하는 경우 GLSL 및 Metal로 직접 셰이더 프로그램을 작성할 수도 있습니다. 일반 워크플로의 일부로 권장하지 않으며 필요하지 않습니다. GLSL 사용에 대한 자세한 내용은 Unity의 GLSL을 참조하십시오.
ShaderLab은 셰이더 소스 파일에서 사용하는 선언 언어입니다. 중첩 중괄호 구문을 사용하여 셰이더 오브젝트를 설명합니다.
ShaderLab에서 여러 가지를 정의할 수 있지만, 가장 자주 정의되는 사항은 다음과 같습니다.
여러 가지 방법으로 셰이더를 작성할 수 있습니다.
타게팅하는 그래픽스 API에 따라 셰이더 코드를 다르게 작성해야 하는 경우가 있습니다. 이에 대한 자세한 내용은 다양한 그래픽스 API에 따른 셰이더 작성을 참조하십시오.