Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl es 如何在OpenGL ES 2.0中使用GL_FLOAT创建纹理?_Opengl Es_Opengl Es 2.0_Textures - Fatal编程技术网

Opengl es 如何在OpenGL ES 2.0中使用GL_FLOAT创建纹理?

Opengl es 如何在OpenGL ES 2.0中使用GL_FLOAT创建纹理?,opengl-es,opengl-es-2.0,textures,Opengl Es,Opengl Es 2.0,Textures,打电话时: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texWidth, texHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, rawData); 很容易知道如何格式化数据:传入一个字节数组,范围为0-255,其中0是每个颜色分量的最低值,255是最亮值 对GL_FLOAT执行相同操作时,将传入一个FLOAT数组。我的问题是,每个颜色分量值的范围是什么?0到1.0?0到浮点的最大值 当使用GL_RGBA时,你会传入一个浮点数组,

打电话时:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texWidth, texHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, rawData);
很容易知道如何格式化数据:传入一个字节数组,范围为0-255,其中0是每个颜色分量的最低值,255是最亮值

对GL_FLOAT执行相同操作时,将传入一个FLOAT数组。我的问题是,每个颜色分量值的范围是什么?0到1.0?0到浮点的最大值

当使用GL_RGBA时,你会传入一个浮点数组,每个像素4个浮点,对吗

另外,要确认:GL_HALF_FLOAT_OES不是glTexImage2D的参数,而是仅适用于verticex,对吗


我的iPad3报告支持“GL_OES_纹理_浮动”和“GL_OES_纹理_半浮动_线性”。这意味着我确实可以使用GL_FLOAT作为glTexImage2D的参数,对吗?有人知道iPad 2是否支持这一点吗?

我可以回答这个问题的前两部分,最后两部分请大家参考

我的问题是,每个颜色分量值的范围是什么?0到1.0

是,范围为0.0到1.0

[编辑]
正如Nicol Bolas指出的,这是不正确的,您可以使用任何浮点值,但是当它被解释为颜色值时,它将被限制在范围(0.0-1.0)内

当使用GL_RGBA时,你会传入一个浮点数组,每个像素4个浮点,对吗


是的,浮动也将按该顺序存储(红色、绿色、蓝色、Alpha)

我可以回答这个问题的前两部分,最后两部分请参考

我的问题是,每个颜色分量值的范围是什么?0到1.0

是,范围为0.0到1.0

[编辑]
正如Nicol Bolas指出的,这是不正确的,您可以使用任何浮点值,但是当它被解释为颜色值时,它将被限制在范围(0.0-1.0)内

当使用GL_RGBA时,你会传入一个浮点数组,每个像素4个浮点,对吗


是的,浮点值也将按该顺序存储(红色、绿色、蓝色、Alpha)

浮点值的范围是。这就是使用它们的意义所在。从着色器中的浮点纹理进行提取时,将获得存储在那里的浮点值。没有夹紧或任何应用


如果制作半浮点纹理,则其值的范围为16位浮点值。如果制作单精度浮点纹理,则其值的范围为32位浮点值。

浮点值的范围为。这就是使用它们的意义所在。从着色器中的浮点纹理进行提取时,将获得存储在那里的浮点值。没有夹紧或任何应用


如果制作半浮点纹理,则其值的范围为16位浮点值。如果制作单精度浮点纹理,则其值的范围为32位浮点值。

“但是,当该值被解释为颜色值时,当由谁解释时,它将被钳制在范围(0.0-1.0)”内?它由着色器“解释”,在那里,它将被解释为IEEE 754浮点值。除非您手动执行,否则不会进行任何类型的夹紧。“但是,当这被解释为颜色值时,当由谁解释时,它将被夹紧到范围(0.0-1.0)”?它由着色器“解释”,在那里,它将被解释为IEEE 754浮点值。除非手动执行,否则不会发生任何类型的夹紧。