问题标签 [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.

0 投票
1 回答
1160 浏览

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

0 投票
1 回答
700 浏览

c# - 如何使用 C# 加载和保存 PVR 图像

我正在制作一个能够使用 C# 加载和保存 .PVR 图像的工具。搜索了互联网,但一无所获。你有什么想法?或者有什么格式规范吗?

0 投票
1 回答
301 浏览

compression - 什么是 pvrtc 纹理压缩二进制格式?

我不是在寻找定义。我正在寻找格式是什么,所以我自己制作或解码它们,没有库,没有工具,只有格式,所以我可以编写自己的代码。如果您知道格式是什么,请在此处发布或发布链接。

0 投票
0 回答
344 浏览

iphone - 如何使用 TextureTool 创建带有预乘 alpha 的 PVR?

如何使用 XCode 纹理工具为 iPhone 创建带有预乘 alpha 的 pvr 纹理?

0 投票
1 回答
572 浏览

ios - 垂直翻转 PVRTC 压缩图像数据

我有一些 PVRTC 4bpp 图像数据需要在不解压缩的情况下就地垂直翻转。我编写的代码大部分都在工作,但翻页目前引入了小伪影,我不确定究竟是为什么。

PVRTC 翻转代码首先将 8 字节 4x4 压缩块移动到其翻转位置,该位置由 PowerVR SDK 中 PVRTDecompress.cpp 中的 TwiddleUV() 函数计算得出。这部分似乎是正确的。

其次,代码遍历所有 8 字节压缩块,颠倒第二个 4 字节的顺序,其中包含以 2bpp 存储的 4x4 调制数据。块的前 4 个字节包含保持不变的颜色数据。

这似乎非常接近正确,但它在翻转的图像中留下了原始图像中不存在的小伪影,并且主要表现为小的灰色水平线。如果翻转代码运行两次,则伪影消失并且图像与原始图像保持不变。

任何有 PVRTC 经验的人都可以解释翻转压缩图像数据还需要做什么吗?我认为问题可能与调制数据的翻转有关,但我对 PVRTC 文档的尝试在现阶段还没有得到答案。

0 投票
4 回答
2092 浏览

opengl-es - 带有 mipmap 的 PVRTC 纹理保持黑色

我最近更新了纹理的加载代码,还添加了一些新功能,如 mipmap 加载(最后一个应用程序只有 2D,所以我不需要它们)。但是加载的 PVRTC 纹理在使用 mipmap 时保持黑色,没有 mipmap 一切都按预期工作,并且在使用像 RGBA8888 纹理这样的纹理时,mipmap 也可以工作。

加载压缩数据:

过滤设置:

纹理 的加载 加载是通过修改后的 PVR 文件参考加载器完成的。我检查了每个 mipmap 的字节长度,最后几个数组的大小为 32 个字节( PVRTC 的最小大小)。什么可能导致问题?

编辑

方法“GLTextures.CompressedTexImage2D”。

图像格式定义:

0 投票
1 回答
201 浏览

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.

0 投票
1 回答
960 浏览

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:

  1. 在 PVRtexToolGUI 中打开 PNG
  2. 预乘 alpha(尽管我也尝试过没有这一步)
  3. 将当前纹理编码为新格式(已尝试多种格式,如上所述)
  4. 将纹理另存为 .pvr 文件。
0 投票
1 回答
417 浏览

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

谢谢。

0 投票
1 回答
332 浏览

pvrtc - 压缩到 NPOT 图像到 POT PVR 而不缩放

我有各种尺寸的图像,我想将它们转换为 PVR POT 图像,但 PVRTexTool 只能将图像重新缩放为 POT,我看不到任何使用 Apples 的纹理工具的选项。

我想要得到的是 POT 图像,其中嵌入了原始图像,保持其原始大小,因此不会发生缩放。