GlLinker
인터페이스, 배리언트 분류
The slice of WebGL2 that compiling and linking a program needs.
import type { GlLinker } from 'typeshade'
시그니처, 설명, 예제는 커밋 c66579bf의 컴파일러 소스에서 그대로 가져온 영어 원문입니다.
구문
interface GlLinker<Shader = unknown, Program = unknown> { readonly VERTEX_SHADER: number; readonly FRAGMENT_SHADER: number; readonly COMPILE_STATUS: number; readonly LINK_STATUS: number; createShader(type: number): Shader | null; shaderSource(shader: Shader, source: string): void; compileShader(shader: Shader): void; getShaderParameter(shader: Shader, pname: number): unknown; getShaderInfoLog(shader: Shader): string | null; createProgram(): Program | null; attachShader(program: Program, shader: Shader): void; linkProgram(program: Program): void; getProgramParameter(program: Program, pname: number): unknown; getProgramInfoLog(program: Program): string | null; deleteShader(shader: Shader): void; deleteProgram(program: Program): void;}설명
A real WebGL2RenderingContext satisfies this as-is: pass it straight in. The handle
types are generic, so a caller that passes a real context gets WebGLShader and
WebGLProgram back, and a test can substitute a recorder with its own handle types.
인스턴스 속성
VERTEX_SHADER읽기 전용numberFRAGMENT_SHADER읽기 전용numberCOMPILE_STATUS읽기 전용numberLINK_STATUS읽기 전용number
인스턴스 메서드
createShader(type: number): Shader | nullshaderSource(shader: Shader, source: string): voidcompileShader(shader: Shader): voidgetShaderParameter(shader: Shader, pname: number): unknowngetShaderInfoLog(shader: Shader): string | nullcreateProgram(): Program | nullattachShader(program: Program, shader: Shader): voidlinkProgram(program: Program): voidgetProgramParameter(program: Program, pname: number): unknowngetProgramInfoLog(program: Program): string | nulldeleteShader(shader: Shader): voiddeleteProgram(program: Program): void
소스
src/core/variant-link.ts, 37행, 커밋 c66579bf 기준