GLSL에서
이 페이지에서

GLSL ES 3.00을 TypeShade로

WebGL2용 셰이더는 GLSL ES 3.00로 씁니다. 그 대부분에는 두 타깃에 같은 프로그램을 생성하는 TypeShade 표기가 있습니다. 이 페이지는 그 방향으로 읽히며, 어떤 구성 요소가 WebGPU에만 있고 어떤 구성 요소를 컴파일러가 양쪽에서 거부하는지도 함께 말합니다.

표 읽는 법

오른쪽 칸은 커밋 26de7be8의 컴파일러가 실제로 받아들이는 소스이고, 왼쪽 칸은 그 컴파일러가 같은 소스에 대해 생성한 GLSL ES 3.00입니다. 이 타깃에 형태가 없는 행에서는 없는 표기를 지어내는 대신 컴파일러가 직접 내는 문장을 그 칸에 싣습니다.

섹션

타입
GLSL ES 3.00 타입 표면을 TypeShade 표기와 나란히 놓습니다. 스칼라와 벡터, 행렬, 배열, 샘플러, 그리고 이 타깃이 거부하는 타입을 다룹니다.
유니폼과 버퍼
유니폼 바인딩은 생성기가 블록으로 내보내는 구조체이고, varying은 양쪽 모두에서 필드입니다. 이 타깃이 아는 기능은 하나에 한 행씩입니다.
builtin 변수
gl_ 전역 변수는 매개변수나 클래스 필드나 반환 자리에 붙는 builtin 속성이고, 그것이 어느 전역 변수가 될지는 생성기가 정합니다.
함수와 연산자
호출은 중립 이름 하나로 다니고 백엔드마다 자기 표기를 씁니다. GLSL 작성자가 찾는 미분과 텍스처, 비트, 나머지 형태를 싣습니다.

fn() 표기

이 페이지가 다루는 것은 "use typeshade" 인터페이스입니다. 컴파일러에는 fn()과 uniformStruct() 같은 함수로 이루어진 내장 인터페이스도 있고, 같은 GLSL 구성 요소를 그 표기와 나란히 놓은 글이 GLSL 셰이더 옮기기입니다. 이 페이지의 WGSL 쪽은 WGSL을 TypeShade로입니다.

이 페이지 편집 문제 보고