gpt4 book ai didi

opengl-es - OpenGL ES 2.x : Bind both `GL_TEXTURE_2D` and `GL_TEXTURE_CUBE_MAP` in the same texture image unit?

转载 作者:行者123 更新时间:2023-12-04 14:32:36 25 4
gpt4 key购买 nike

如果将(不同的纹理)绑定(bind)到这两个 GL_TEXTURE_2D 会发生什么?和 GL_TEXTURE_CUBE_MAP在同一个纹理图像单元中?

例如,假设我将一个纹理绑定(bind)到 GL_TEXTURE0GL_TEXTURE_2D目标和另一个纹理到同一纹理单元的GL_TEXTURE_CUBE_MAP目标。然后我可以有两个统一变量,一个是 sampler2D另一个是 samplerCube并将两者都设置为 0(引用 GL_TEXTURE0 )?

我怀疑答案是“否”(或者结果未定义),但我没有在规范中找到任何明确禁止在同一纹理图像单元中使用多个纹理目标的内容。

最佳答案

对于 Chrome,我在尝试执行此类操作时遇到错误。

var gl = document.getElementById("canv00").getContext("webgl");
const texture = gl.createTexture()
gl.bindTexture(gl.TEXTURE_2D, texture)
gl.bindTexture(gl.TEXTURE_CUBE_MAP, texture)
gl.getParameter(gl.TEXTURE_BINDING_2D) // texture
gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP) // null
gl.getError() // returns 1282 error
var gl = document.getElementById("canv00").getContext("webgl");
const texture = gl.createTexture()
gl.bindTexture(gl.TEXTURE_2D, texture)
// gl.bindTexture(gl.TEXTURE_CUBE_MAP, texture)
gl.getParameter(gl.TEXTURE_BINDING_2D) // texture
gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP) // null
gl.getError() // no error
var gl = document.getElementById("canv00").getContext("webgl");
const texture = gl.createTexture()
// gl.bindTexture(gl.TEXTURE_2D, texture)
gl.bindTexture(gl.TEXTURE_CUBE_MAP, texture)
gl.getParameter(gl.TEXTURE_BINDING_2D) // null
gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP) // texture
gl.getError() // no error

关于opengl-es - OpenGL ES 2.x : Bind both `GL_TEXTURE_2D` and `GL_TEXTURE_CUBE_MAP` in the same texture image unit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com