표면 셰이더는 조명과 상호 작용하는 셰이더를 작성하는 데 유용합니다. 하지만 기본 옵션은 광범위한 일반 사례를 다루도록 조정되어 있습니다. 셰이더가 더 빠르게 실행되거나 적어도 작게 실행되도록 특정 상황에 맞게 미세 조정하십시오.
halfasview는 더 빠릅니다. 반 벡터(조명 방향과 뷰 벡터 사이의 중간)는 버텍스당 계산되고 정규화되며, 조명 함수는 뷰 벡터 대신 반 벡터를 파라미터로 받게 됩니다.noforwardadd는 셰이더가 포워드 렌더링에서만 단방향 광원을 완전히 지원하도록 합니다. 나머지 광원은 여전히 버텍스당 광원 또는 스피리컬 하모닉 효과를 가질 수 있습니다. 이렇게 하면 셰이더를 더 작게 만들고 여러 개의 광원이 있는 경우에도 항상 하나의 패스에서 렌더링되도록 할 수 있습니다.noambient는 셰이더의 주변광 및 스피리컬 하모닉 조명을 비활성화합니다. 이렇게 하면 성능이 약간 더 빨라질 수 있습니다.