tex3D (HLSL 参考) - 选择 mip 级别
使用渐变对 3D 纹理采样以选择 mip 级别。
ret tex3D (s, t, ddx, ddy) |
---|
parameters
项 | 说明 |
---|---|
s |
[in]采样器状态。 |
t |
[in]纹理坐标。 |
ddx |
[in]图面几何图形在 x 方向上的变化率。 |
ddy |
[in]y 方向图面几何图形的变化速率。 |
返回值
纹理数据的值。
类型说明
名称 | 输入/输出 | 模板类型 | 组件类型 | 大小 |
---|---|---|---|---|
S | in | 对象 | sampler3D | 1 |
t | in | 向量 | FLOAT | 3 |
ddx | in | 向量 | FLOAT | 3 |
ddy | in | 向量 | FLOAT | 3 |
Ret | out | 向量 | float | 4 |
最小着色器模型
以下着色器模型中支持此函数。
着色器模型 | 支持 |
---|---|
着色器模型 4 | 是 (像素着色器仅) |
着色器模型 3 (DirectX HLSL) | 是 (像素着色器仅) |
着色器模型 2 (DirectX HLSL) | 是 (像素着色器仅) |
着色器模型 1 (DirectX HLSL) | 否 |
- 执行大量代码重新排序是为了将梯度计算移出流控制。
- 如果使用 D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS 设置D3DPSHADERCAPS2_0上限,则编译器会将此函数映射到 texldd。
备注
当着色器中存在流控制时,当相邻像素可能会向下走单独的流控制路径时,在给定分支路径内请求的渐变计算结果不明确。 因此,使用任何像素着色器操作(请求渐变计算在流控制构造内的位置发生),对于要光栅化的给定基元,这些位置可能会因像素而异,这被认为是非法的。 如果具有分支特性的 if 语句的任一端都使用渐变函数,则可能会生成编译器错误。 查看 语句是否 (DirectX HLSL) 。