CUDA 纹理线性过滤

标签 cuda textures

在 CUDA C Programming Guide Version 5, Appendix E.2 (Linear Filtering) 中,指出:

In this filtering mode, which is only available for floating-point textures, the value returned by the texture fetch is...

粗体部分让我很困惑。 floating point 仅表示纹素类型,还是还表示返回类型?比如我声明3个贴图如下。

texture<float,cudaTextureType2D> tex32f;
texture<unsigned char, cudaTextureType2D, cudaReadModeNormalizedFloat> tex8u;
texture<unsigned short, cudaTextureType2D, cudaReadModeNormalizedFloat> tex16u;

线性过滤是否仅适用于 tex32f,或者也适用于 tex8utex16u

最佳答案

这意味着只有当纹理的“读取模式”为 cudaReadModeNormalizedFloat 时,线性过滤才可用,即整数类型(例如 u8)被提升为 [0.0, 1.0](对于无符号整数)或 [-1.0, 1.0](对于有符号整数)。

关于CUDA 纹理线性过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14112701/

相关文章:

android - 未使用 OpenGL ES 2.0 和 Android NDK 绘制纹理

c++ - OpenGL 无绑定(bind)纹理函数 glMakeTextureHandleNonResident 实际上做了什么?

android - OpenGL ES 2 纹理图集最前沿

c++ - 库达 4.0 与 3.2

cuda - 是否有使用 CUDA 求解稀疏矩阵线性方程的有效实现?

cuda - WebGL 或 CUDA 代码实际上是如何翻译成 GPU 指令的?

java - GL_NEAREST 上的 Android OpenGL mag 过滤器,小纹理仍然模糊

cocos2d-iphone - 需要帮助理解雪碧和纹理

c++ - 为什么我的 CUDA 内核返回旧值?

c++ - 如何为 64 位配置 Visual C++ 2008?