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浮点值。除非手动执行,否则不会发生任何类型的夹紧。