问题标签 [pvrtc]
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.
image - 如何解压 PVRTC 压缩图像格式以在 PC 上查看
我需要一个以 PVRTC 图像格式压缩的 iphone 游戏纹理。我试过 PVRTexTool 来解压缩它,但图像没有在其中打开。该程序只打开文件扩展名为 .PVR 的文件...我发现了一个显然解压缩它的代码。'(下面的链接)问题是它使用 Microsoft Visual C++(Express)打开,我不知道该程序是如何工作的足够了,调试按钮总是灰显的。PLS 有人可以帮忙吗?我不知道 Visual C++ 是如何工作的......
https://bitbucket.org/stopiccot/lobster/src/b1c7b9e19424/code/windows/pvrtc/PVRTDecompress.cpp
c# - 如何使用 C# 加载和保存 PVR 图像
我正在制作一个能够使用 C# 加载和保存 .PVR 图像的工具。搜索了互联网,但一无所获。你有什么想法?或者有什么格式规范吗?
compression - 什么是 pvrtc 纹理压缩二进制格式?
我不是在寻找定义。我正在寻找格式是什么,所以我自己制作或解码它们,没有库,没有工具,只有格式,所以我可以编写自己的代码。如果您知道格式是什么,请在此处发布或发布链接。
iphone - 如何使用 TextureTool 创建带有预乘 alpha 的 PVR?
如何使用 XCode 纹理工具为 iPhone 创建带有预乘 alpha 的 pvr 纹理?
ios - 垂直翻转 PVRTC 压缩图像数据
我有一些 PVRTC 4bpp 图像数据需要在不解压缩的情况下就地垂直翻转。我编写的代码大部分都在工作,但翻页目前引入了小伪影,我不确定究竟是为什么。
PVRTC 翻转代码首先将 8 字节 4x4 压缩块移动到其翻转位置,该位置由 PowerVR SDK 中 PVRTDecompress.cpp 中的 TwiddleUV() 函数计算得出。这部分似乎是正确的。
其次,代码遍历所有 8 字节压缩块,颠倒第二个 4 字节的顺序,其中包含以 2bpp 存储的 4x4 调制数据。块的前 4 个字节包含保持不变的颜色数据。
这似乎非常接近正确,但它在翻转的图像中留下了原始图像中不存在的小伪影,并且主要表现为小的灰色水平线。如果翻转代码运行两次,则伪影消失并且图像与原始图像保持不变。
任何有 PVRTC 经验的人都可以解释翻转压缩图像数据还需要做什么吗?我认为问题可能与调制数据的翻转有关,但我对 PVRTC 文档的尝试在现阶段还没有得到答案。
opengl-es - 带有 mipmap 的 PVRTC 纹理保持黑色
我最近更新了纹理的加载代码,还添加了一些新功能,如 mipmap 加载(最后一个应用程序只有 2D,所以我不需要它们)。但是加载的 PVRTC 纹理在使用 mipmap 时保持黑色,没有 mipmap 一切都按预期工作,并且在使用像 RGBA8888 纹理这样的纹理时,mipmap 也可以工作。
加载压缩数据:
过滤设置:
纹理 的加载 加载是通过修改后的 PVR 文件参考加载器完成的。我检查了每个 mipmap 的字节长度,最后几个数组的大小为 32 个字节( PVRTC 的最小大小)。什么可能导致问题?
编辑
方法“GLTextures.CompressedTexImage2D”。
图像格式定义:
opengl-es-2.0 - PVR texture format: MGLPT_PVRTC4 vs OGL_PVRTC4
PVR
texture format from Imaginations.
Defined in PVRTexLibGlobals.h
What is difference with texture formats?
MGLPT_PVRTC4
vs OGL_PVRTC4
I have used OGL_PVRTC4
before. Does MGLPT_PVRTC4
is exactly same?
My code broke when some tool gave MGLPT_PVRTC4
texture. I am wondering how should we process MGLPT_PVRTC4
textures.
ios - GLKTextureLoader 加载 PVR 失败(错误 12 - 预处理失败)
背景
在我们的应用程序中,我们使用 PNG 精灵表,其中每个精灵仅用作蒙版。这些是使用成功加载的GLKTextureLoader
。当 iOS 7 达到第 5/6 个 beta 时,GLKTextureLoader
工作方式似乎发生了一些变化,因为突然我们所有的 PNG 都开始不正确地渲染,就好像 alpha 预乘有问题一样。
在提交错误报告后,没有收到 Apple 的回复(令人担忧的是,问题仍然存在于 iOS 7 的实时版本中),我们决定将我们的 PNG 转换为 PVR 格式。
问题
尝试使用以下方式加载 PVR 纹理时GLKTextureLoader
:
它失败并出现错误 12 ( GLKTextureLoaderErrorDataPreprocessingFailure
)。这个“预处理”步骤涉及什么,可能是什么问题?
以下是我检查过的一些事情:
- 网址有效
- 文件扩展名为
.pvr
- 图像具有方形 POT 尺寸 (512x512)
- 我尝试了多种 PVR 格式,包括压缩和未压缩(PVRTC 4bpp、RGBA8888、L8、A8)
- 我在 之前和之后放置了 glErrorChecks
textureWithContentsOfURL:options:error:
,但没有记录任何内容(可能GLKTextureLoader
正在消耗 GL 错误,或者该错误与 OpenGL 无关)
此答案表明这可能是由文件损坏引起的。这让我想知道我是否以某种方式错误地生成了 PVR。我正在使用 Imagination 的 PVRTexToolGUI 来转换 PNG:
- 在 PVRtexToolGUI 中打开 PNG
- 预乘 alpha(尽管我也尝试过没有这一步)
- 将当前纹理编码为新格式(已尝试多种格式,如上所述)
- 将纹理另存为 .pvr 文件。
mipmaps - 使用纹理数组构建 PVRTC mipmaps 纹理?
如何使用纹理数组为每个 mipmap 级别的不同纹理构建 PVRTC mipmaps 纹理?
例如。2048.png 0 级 1024.png 1 级。. 2.png 10 级 1.png 11 级
我的 OpenGL ES2 需要具有 PVRTC 压缩的 mipmap 纹理。我在谷歌上搜索,我没有运气。唯一的解决方案是编辑 DDS 并转换为 PVRTC。问题是 DDS 的 NVIDIA 编辑适用于 Windows,而我在 OSX 上。
剂量任何人都知道如何避免获胜。或者一些 c/c++/objective-c 开源代码将帮助我构建我可以在支持 .ktx .dds 的 PVRTexTool 中转换的 mipmap
谢谢。
pvrtc - 压缩到 NPOT 图像到 POT PVR 而不缩放
我有各种尺寸的图像,我想将它们转换为 PVR POT 图像,但 PVRTexTool 只能将图像重新缩放为 POT,我看不到任何使用 Apples 的纹理工具的选项。
我想要得到的是 POT 图像,其中嵌入了原始图像,保持其原始大小,因此不会发生缩放。