Direct3D에서 멀티 패스 셰이더는 문자 그대로 프로그램 내에서 패스를 정의 할 수 있기 때문에 사용이 간편합니다. OpenGL에서는 원하는만큼 많은 버텍스, 지오메트리 및 프래그먼트 셰이더를 셰이더 프로그램에 제공 할 수 있기 때문에 조금 더 복잡해 보입니다.
멀티 패스 셰이더의 일반적인 예는 툰 셰이더입니다. 한 패스는 실제 셀 쉐이딩 효과를 수행하고 다른 패스는 윤곽선을 만듭니다. 두 개의 정점 셰이더 "cel.vert"및 "outline.vert"와 두 개의 프래그먼트 셰이더 "cel.frag"및 "outline.frag"(HLSL에서 수행하는 방식과 유사)가있는 경우 어떻게해야합니까 풀 툰 쉐이더를 만들기 위해 결합?
다중 패스 GLSL 쉐이더의 이론을 알고 싶기 때문에 지오메트리 쉐이더를 사용할 수 있다고 말하고 싶지 않습니다.)