You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
定<br />
类<br />
,cudaFilterModeLinear 是<br />
<br />
<br />
在<br />
cudaChannelFormatKindUnsigned, 在<br />
(bit)<br />
cudaChannelFormatKindSigned,<br />
指<br />
定<br />
;channelDesc 的<br />
为<br />
类<br />
;addressMode 是<br />
(wrap)<br />
或<br />
;filterMode<br />
)texel 的<br />
的<br />
:<br />
和<br />
4.5.2.6 纹 理 参 考 管 理<br />
<br />
高<br />
<br />
struct textureReference<br />
{<br />
int normalized;<br />
enum cudaTextureFilterMode filterMode;<br />
enum cudaTextureAddressMode addressMode[3];<br />
struct cudaChannelFormatDesc channelDesc;<br />
}<br />
Normalized<br />
纹 理 坐 标 寻 址 , 而 指<br />
depth<br />
filterMode<br />
cudaFilterModePoint<br />
指 是<br />
纹 理 大 小 ; 定 过 滤 模 式 , 即 拾 取 根 据 输 入 的 纹 理 坐 标 计 算 的 纹 理 时 如 何 返 回 值 或 或<br />
的 纹 理 , 如 下<br />
1]<br />
型<br />
围 内 的 范<br />
于 所 返 回 的 值 为 纹 理 等<br />
级 API<br />
texture 的 义<br />
API 一 种 公 开 继 承 自 低 级 是 型<br />
textureReference 的 义<br />
其<br />
[0, 理 坐 标 是 否 为 归 一 化 形 式 ; 如 果 非 零 , 纹 理 中 的 所 有 元 素 都 将 使 用 纹 定<br />
非 [0,width-1]、[0,height-1]<br />
[0,depth-1],<br />
width、height 的 中<br />
<br />
addressMode 指<br />
如 输 入 纹 理 坐 标 的 两 个 ( 针 对 一 维 纹 理 )、 四 个 ( 针 对 二 维 纹 理 ) 或 八 个 ( 针 对 三 维 纹 理 如<br />
组 , 其 第 一 个 、 第 二 个 和 第 三 个 元 素 分 别 指 定 第 一 个 、 第 二 个 和 第 三 个 纹 理 坐 标 的 寻 址 模 式 ; 寻 址 模<br />
线 性<br />
则 所 返 回 的 值 为 纹 理 坐 标 最 接 近 则<br />
cudaFilterModeLinear;<br />
等 于 cudaFilterModePoint, 果<br />
标 最 接 近 输 入 纹 理 坐 标 的 texel; 坐<br />
等 于 cudaFilterModeLinear, 果<br />
channelDesc 描<br />
struct cudaChannelFormatDesc {<br />
int x, y, z, w;<br />
enum cudaChannelFormatKind f;<br />
};<br />
值 ; 对 于 浮 点 型 的 返 回 值 插<br />
此 此<br />
和<br />
等<br />
述 拾 取 纹 理 时 所 返 回 的 值 的 格 式<br />
型 如 下 : 类<br />
一 的 有 效 值 。 惟<br />
到 (clamp)<br />
到<br />
这 些 分 量 是 有 符 号 整 型 时 ; 这 些 分 量 是 无 符 号 整 型 时 ; :<br />
定 寻 址 模 式 , 表 明 如 何 处 理 超 出 范 围 的 纹 理 坐 标<br />
3 大 小 为 个 一<br />
数<br />
可 等 于 cudaAddressModeClamp, 式<br />
时 超 出 范 围 的 纹 理 坐 标 将 被 调 整<br />
有 效 范 围 之 内 , 也<br />
等 于 cudaAddressModeWrap, 可<br />
时 超 出 范 围 的 纹 理 坐 标 将 被 限 定<br />
效 范 围 之 内 ; 有<br />
于 规 范 化 的 纹 理 坐 标 , 仅 支 持 cudaAddressModeWrap。 对<br />
些 分 量 是 浮 点 类 型 时 。 这<br />
组 的 纹<br />
cudaChannelFormatKindFloat, <br />
normalized、addressMode 和 可 在<br />
数<br />
数<br />
x、y、z 中 其<br />
w<br />
于 返 回 值 各 分 量 的 位<br />
f 而 ,<br />
<br />
<br />
texture texRef;<br />
textureReference* texRefPtr;<br />
cudaGetTextureReference(&texRefPtr, “texRef”);<br />
cudaChannelFormatDesc channelDesc =<br />
cudaCreateChannelDesc();<br />
cudaBindTexture(0, texRefPtr, devPtr, &channelDesc, size);<br />
参 考 。 在 内 核 使 用 纹 理 参 考 从 纹 理 存 储 器 中 读 取 之 前 , 必 须 使 将 纹 理 参 考 绑 定 到 纹 理 。 理<br />
下 代 码 示 例 将 一 个 纹 理 参 考 绑 定 向 的 线 性 存 储 器 : 使 用 低 以<br />
texture texRef;<br />
cudaBindTexture(0, texRef, devPtr, size);<br />
数<br />
filterMode<br />
<strong>CUDA</strong> 在 宿 主 代 码 中 修 改 。 它 们 仅 适 用 于 绑 定 到 接 直<br />
级 API:<br />
<br />
texture texRef;<br />
textureReference* texRefPtr;<br />
cudaGetTextureReference(&texRefPtr, “texRef”);<br />
cudaChannelFormatDesc channelDesc;<br />
<strong>CUDA</strong> 代 码 示 例 将 一 个 纹 理 参 考 绑 定 到 使 用 低 下 以<br />
用 cudaBindTexture()<br />
cudaBindTextureToArray()<br />
<strong>CUDA</strong> 编<br />
27<br />
到 devPtr<br />
组 cuArray:<br />
用 高 级 API: 使<br />
2.0 南 , 版 本 指 程<br />
级 API: