问题标签 [mipmaps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 在 GLSL 片段着色器中,如何访问特定 mipmap 级别的纹素?
我正在使用 OpenGL 通过一个顶点着色器和一个片段着色器的组合来进行一些 GPGPU 计算。我需要对不同比例的图像进行计算。我想使用 mipmap,因为它们的生成可以是自动的和硬件加速的。但是我无法访问片段着色器中的 mipmap 纹理。
我启用了自动 mipmap 生成:glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
我尝试在着色器中使用texture2DLod,但没有成功,它只是保持正常纹理。我还尝试在主程序中使用 glTextureParameteri(GL_BASE_LEVEL, X) 并没有改变任何东西。
你会怎么做?
我正在使用 Linux。我的显卡是相当老的 Nvidia Quadro。这是我的 glxinfo 输出,包含所有受支持的扩展。
opengl - 如何使用 Mipmapping 将 CUDA 生成的 PBO 复制到纹理
我正在尝试将 PBO 复制到启用了 automipmapping 的纹理中,但似乎只生成了顶级纹理(换句话说,没有发生 mipmapping)。
我正在使用
我正在使用
后来在内核中,我使用以下内容修改了 PBO:
现在,在我使用上面生成的纹理绘制到屏幕之前,我调用:(注意上面的 rtMipmapTex = *textureID 和上面的 rtResultPBO = *pbo)
这一切都可以正常工作并正确显示纹理。但是,如果我将最后一行更改为
据我了解,它应该向我显示纹理金字塔中的第一级而不是第零级纹理,我只得到一个空白的白色纹理。
如何以触发自动 mipmapping 的方式从 PBO 复制纹理?
谢谢。
opengl - 是否可以使用自定义 mipmap 大小?
我目前正在研究某种虚拟纹理实现。mipmap 级别用作细节级别控制结构。(虚拟纹理中的每个纹素都与“真实”纹理中的数据块相关。)
数据存在于多个细节级别中,这导致虚拟纹理中的块数不同。
例子:
我的想法是为虚拟纹理中的每个细节级别调用 glTexImage 以创建不同的 mipmap 级别。
问题是尽管创建或更新/加载时没有错误,但我无法从纹理中获取任何数据。仅创建基本级别并调用 glGenerateMipmap 可以正常工作,但会导致某些基本尺寸的尺寸错误。(从技术上讲,它们是正确的,但在我的情况下不是)
我在某处读到 mipmap 级别大小必须是除以二(或除以二和地板)。
问题:
- 是否可以加载“自定义”mipmap 级别?
- 是否有任何限制 mipmap 级别大小?
opengl - OpenGL:精确的纹理可能吗?
这适用于使用 OpenGL 的 2D 游戏:
使用 OpenGL 是否可以显示绝对未过滤、未拉伸或模糊的纹理?
所以当我有一个 BMP 并将其转换为 OpenGL 纹理,然后检索该纹理并将其转换回来时,我没有修改或质量/数据丢失?
direct3d - D3D 无法在某些卡上自动生成 mipmap!
在大多数计算机上,我的程序运行良好。但在一台计算机上,它无法生成 mipmap。
我用 D3DUSAGE_AUTOGENERATEMIPMAP 创建了一个纹理,
D3DCAPS2_CANAUTOGENMIPMAP 说是,CheckDeviceFormat 也说 D3D_OK(not D3DOK_NOAUTOGEN)。
然后我使用 LoadSurfaceFromMemory 填充纹理。
但是在那台特定的计算机上,不会生成任何 mipmap。更糟糕的是,电脑是我领导的!!
opengl - OpenGL中的MipMapping问题
我正在将 3D 对象(obj 或 3ds 或 collada 文件)加载到我的 openGL 应用程序中。3 环境相当大(全轴几百米)。我的问题是较小的 3D 对象(即按 ~< 1-2m 的顺序)似乎没有正确地进行深度测试。根据相机的变焦,我有时可以看到物体的背面(我一直在使用简单的立方体进行测试)或其他面变得可见/不可见/撕裂。请参阅附图以获得更好的解释。我被引导相信问题是由于启用了 mipmapping。我想禁用 mipmapping(有人可以建议一种简单、快速的方法来执行此操作)或将 mipmapped 对象的分辨率设置为更大。还是我完全找错了树?
谢谢
克里斯
opengl - 渲染到平面四边形 (OpenGL) 上的纹理的 Mipmapping 问题
在将纹理渲染到平面四边形时,我遇到了似乎是 mipmapping 的问题。在某些相机位置,物体看起来很好,但在其他位置,它变得非常模糊。不幸的是,我在这个问题上并没有任何好的线索,但我想如果我发布一些其他有其他问题的照片,可能会给我一些见解。
普通的:
缩小:
旋转:
谁能给我任何关于这里可能发生的事情的线索?
android - 使用 mipmap 会产生垃圾纹理
我在创建纹理时创建了自己的 mipmap,一旦我通过 GL_LINEAR_MIPMAP_NEAREST(或任何 MIPMAP)启用 mipmap,纹理就会变得非常黑暗、模糊。如果我切换到 GL_LINEAR,它们就很好。
这是我创建纹理的方式:
为简洁起见,我省略了所有 Bitmap.recycle()/NewGlobalRef() 调用。createScaledBitmap
显然是对 Bitmap.createScaledBitmap() 的 JNI 调用。
我还尝试了其他版本的 texImage2D,它采用位图的格式和类型。我已经验证它始终是 RGBA。
编辑:详细说明纹理 - 它们实际上几乎是黑色的。我在 mips 上尝试了使用明亮颜色的 eraseColor(),但它们仍然非常暗。
iphone - 禁用mipmaping时出现空白纹理?
我没有掌握 OpenGL 的所有精妙之处,如果我的问题不够精确,我很抱歉
在 iPhone 上,我像这样加载纹理(png 图像)
效果很好,但我注意到这恰好分配了纹理数据大小的两倍。我在论坛上读到这可能是由 mipmaping 引起的,所以我尝试通过评论 glTexParameteri 行来关闭它,但是我的纹理是空白的。
这是一个问题是我的显示代码中的纹理加载参数吗?我的显示代码是这样的
iphone - iPhone 上的 GL_TEXTURE_MIN_LOD 在哪里?
有没有等价物?是 iPhone 限制还是 OpenGL 版本限制?我在任何地方都找不到 mipmap 级别的功能。