可能在着色器中找到纹理的内部格式
Possible to find internal format of texture in shader?
是否可以在着色器(glsl)中找到纹理的内部格式
例如,如果我有一个格式为GL_RG
的纹理,是否可以在着色器中识别出蓝色和alpha值是"常量"并且可以忽略?
我知道我可以使用统一将纹理类型从c++传递到着色器。但是,有没有一种"内在"的方法可以从着色器中找到答案?
不,我认为没有任何东西可以直接向您提供这些信息。
看看最新的GLSL规范(目前为4.50),我希望在"8.9.1"部分中列出一个假设函数来获得这些信息。纹理查询函数",从第158页开始。但列出的功能只有:
textureSize
:获取纹理的大小textureQueryLod
:获取用于给定纹理坐标的细节级别textureQueryLevels
:获取纹理中mipmap级别的数目textureSamples
:获取多采样纹理的采样数
所以,除非我错过了完全不同的东西,否则你想要的东西是不存在的。
相关文章:
- 将函数类成员映射到类本身内部
- OpenInventor从9.8升级到10.4.2后,GLSL纹理返回零
- SFML纹理像播放器
- Boost Spirit,获取迭代器内部语义动作
- 我不明白为什么我声明一个空的内部结构并将其传递给构造函数
- 内联函数中具有内部链接的全局变量
- 在函数内部的声明中初始化数组,并在外部使用它
- 如何在不知道向量大小的情况下输入向量内部的向量?
- OpenGL大的3D纹理(>2GB)非常慢
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 卷曲bracers内部结构的声明
- 从函数角度看ID到文件路径的内部与外部映射
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 如何在pugixml中获取节点的内部XML
- 使用C链接在函数内部创建C++模板
- 着色器纹理值与创建纹理时写入的值不同
- OpenGL将纹理四边形渲染为(0,0)
- 如何使用着色器在 opengl es 中渲染四边形内部的部分纹理
- 如何制作映射纹理的立方体,在内部和外部显示不同的纹理
- 可能在着色器中找到纹理的内部格式