- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用参数 level = 0 调用 glTexImage2D。然后我调用 glGenerateMipmap(GL_TEXTURE_2D)。 GL_TEXTURE_BASE_LEVEL 和 GL_TEXTURE_MAX_LEVEL 会发生什么?我假设它们是自动设置的:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, mipmapsCount - 1);
最佳答案
正如您提到的,mipmap 堆栈的 GL_TEXTURE_BASE_LEVEL 和 GL_TEXTURE_MAX_LEVEL 值是派生的。这些值定义了所谓的纹理完整性所需的 mipmap 级别范围。当您要求 OpenGL 使用 glGenerateMipmap
自动生成 mipmap 时,整个堆栈被填充。如果您使用 glTextureStorage
要指定级别数,GL_TEXTURE_MAX_LEVEL 设置为比调用中提供的最大级别少一。
您也可以在构建 mipmap 堆栈后修改基本和最大级别是正确的,但是如果您让 OpenGL 构建 mipmap 堆栈,我认为它不会给您带来太多好处。如果我没记错的话,你会在加载 mipmap 时修改基本和最大级别(通过重复调用 glTexImage*
并增加级别参数),这样你就不需要加载整个 mipmap 堆栈(你可能这样做是为了节省纹理内存,或者更好地控制更高[即堆栈中较小的mipmaps]级别的采样)。您还可以使用 GL_TEXTURE_MIN_LOD 和 GL_TEXTURE_MAX_LOD 来控制纹理中使用 mipmap 堆栈中的哪些 mipmap。这样做的原因是允许在纹理化时异步加载 mipmap 级别。
关于opengl-4 - glGenerateMipmap 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13807194/
我已使用 GL_ARB_shader_image_load_store 写入纹理的第一个 mipmap 级别。文档指出,在其他操作中使用该图像的内容之前,我需要调用 glMemoryBarrier,以
我正在使用 Glew 加载 gl 函数和扩展。当我在代码中使用 glGenerateMipmap 时,它编译没有任何错误。但是,当我运行代码时,出现此错误: Access violation exec
我正在尝试实现 glGenerateMipmap,这样我就可以继续为我渲染的立方体的每个级别重新着色,除非程序无法编译并给出错误 '错误 C3861:'glGenerateMipmap':找不到标识符
我使用参数 level = 0 调用 glTexImage2D。然后我调用 glGenerateMipmap(GL_TEXTURE_2D)。 GL_TEXTURE_BASE_LEVEL 和 GL_TE
在我的应用程序中,我尝试使用纹理,但出现错误 :0: SGXQueueTransfer: all paths failed :0: HardwareMipGen: Failed to generate
我无法在我的立方体上通过 glGenerateMipmap 加载纹理。 我从 resource.h 文件加载 BMP 纹理。 我的加载函数在 WM_CREATE 上调用,如下所示: void Load
我全神贯注于动态生成 mipmap,并使用以下代码读取此位:http://www.g-truc.net/post-0256.html //Create the mipmapped texture gl
环境 Ubuntu 17.04,Chrome 60。 在没有警告/错误的情况下在本地运行此示例:https://github.com/mdn/webgl-examples/tree/gh-pages/
OpenGL 3.3 规范似乎没有要求在线性空间中完成 mipmap 生成。我所能找到的是以下内容: The internal formats of the derived mipmap arrays
使用 glGenerateMipmap() 命令在 Android (OpenGL ES 2.0/3.0) 中创建 mipmap: public class Renderer implements G
我正在尝试学习 OpenGL,并且正在使用 SOIL 加载图像。 我有以下代码: GLuint texID = 0; bool loadCubeMap(const char * baseFileNam
我正在开发一款在 OpenGL ES 中使用大型纹理的 iPad 应用程序。当场景第一次加载时,我在天花板上看到一个大的黑色伪影持续了几帧,如下图所示。就好像更高级别的 mipmap 尚未填充。在后续
我正在开发一个使用 OpenGL ES 渲染图像的 iOS 应用程序。这是我设置纹理参数和数据的函数的关键代码片段: glGenTextures(1, &texture); glBindTexture
我的项目的纹理生成有一个非常奇怪的问题。第一个 mipmapped 纹理完美无缺,但下一个纹理只能绘制第一级。在调试时,我突然想到了一个修复它的黑客: glGenTextures(1, &textur
我正在开发适用于 Android 的移动 OpenGL 应用程序,使用 OpenGL ES3.x 处理图形。 我想使用 glGenerateMipmap 函数,但我感到很不自在,因为我记得至少在以前的
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
我能够使用 glGenerateMipMap 生成 mipmap,并且我正在使用 min_filter gl_linear_mipmap_linear。 没有 mipmap 时,纹理在与实际纹理大小
我是一名优秀的程序员,十分优秀!