textureSampleGrad
이 페이지에서

textureSampleGrad

함수

Samples a float texture through the sampler smp with the explicit gradients ddx and ddy, which have the width of the coordinate, in any stage.

이름마다 붙은 시그니처와 설명은 커밋 26de7be8의 컴파일러 소스에서 그대로 가져온 영어 원문입니다.

구문

declare function textureSampleGrad(
tex: texture_2d<f32>,
smp: sampler,
uv: vec2,
ddx: vec2,
ddy: vec2,
): vec4
declare function textureSampleGrad(
tex: texture_2d_array<f32>,
smp: sampler,
uv: vec2,
layer: number,
ddx: vec2,
ddy: vec2,
): vec4
declare function textureSampleGrad(
tex: texture_cube<f32>,
smp: sampler,
dir: vec3,
ddx: vec3,
ddy: vec3,
): vec4
declare function textureSampleGrad(
tex: texture_3d<f32>,
smp: sampler,
coord: vec3,
ddx: vec3,
ddy: vec3,
): vec4
declare function textureSampleGrad(
tex: texture_cube_array<f32>,
smp: sampler,
dir: vec3,
layer: number,
ddx: vec3,
ddy: vec3,
): vec4

매개변수나 반환 위치에 쓰인 number는 스칼라가 들어갈 자리입니다. 앰비언트 파일은 GPU 스칼라를 브랜드가 붙은 number로 선언하고 그 브랜드는 선택이라서, 리터럴도 브랜드가 붙은 스칼라도 이 자리에 들어갑니다.

type f32 = number & { readonly [f32Tag]?: true }

직접 쓰는 선언에는 여전히 너비가 필요합니다. 필드나 매개변수에 number만 적으면 거부되며, 그 행과 컴파일러가 낸 메시지는 TypeScript에서 페이지에 있습니다.

매개변수

반환값

vec4

설명

On a texture_2d_array the layer comes before the gradients. Compiles to textureSampleGrad on WGSL and textureGrad on GLSL.

대상별 출력

WGSL
textureSampleGrad(a, b, c, d, e)
GLSL ES 3.00
textureGrad(a, c, d, e)

예제

함께 보기

이 페이지 편집 문제 보고