问题标签 [dds-format]

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 投票
0 回答
798 浏览

node.js - 内存NodeJS中的.DDS到.PNG转换

我遇到了一个问题,其中有一组 .dds(直接绘制表面)文件,我需要能够在电子/反应应用程序中显示这些文件。据我所知,.dds 文件必须先转换为 png/jpeg,然后才能在 img 标签中呈现。这也必须完全在内存中完成,因为我不想创建其他文件。

这是我尝试过的。

预览-DDS:https
://github.com/Jam3/preview-dds DDS-Parser:https ://github.com/Jam3/parse-dds

我注意到 Preview-DDS 有一个将 .dds 转换为 .png 的选项,但我没有运气在内存中复制它。这不是我真正了解的主题,所以我希望有人能让我指出正确的方向!

0 投票
1 回答
194 浏览

directx-11 - 如何将 32 位红色纹理数据复制到 DXGI 格式的纹理 DXGI_FORMAT_R32_FLOAT

我有一个 32 位红色简单纹理的 BYTE 缓冲区。我想在 DirectX 11 中创建目标纹理格式为 DXGI_FORMAT_R32_FLOAT 的纹理。我正在尝试使用设备上下文 Map() 函数,但是在将资源保存到 dds 文件时它显示为黑色。有人能给我一个指导,我如何在 DirectX 11 中编写一个简单的 32 位红色纹理?

0 投票
1 回答
221 浏览

bitmap - 如何将mipmap数据变成位图?

我有一个 .DDS 纹理文件,其格式DXGI_FORMAT_BC3_UNORM包含 10 个我已在此处链接的 mipmap:

https://1drv.ms/u/s!AiGFMy6hVmtN1Ba3UZsc8682VcEO

我想将此纹理的每个单独的 mipmap 显示到我的 XAML 应用程序的 UI,因此我需要将它们转换为位图。

DirectX::LoadDDSTextureFromMemory从 DirectXTK12 辅助库中的函数的第 5 个参数获取每个 mipmap 的数据,该函数返回std::vector<D3D12_SUBRESOURCE_DATA>填充了所有 10 个 mipmap 的数据。

我可以使用以下代码将最高质量的 mipmap 0 转换为位图:

当我尝试将 更改current_index为 1 或更高时,问题就开始了。我0x88982F50 : 'The component cannot be found.'在尝试创建BitmapDecoder.

0 投票
0 回答
114 浏览

python - 如何使用pyglet从基于x和y的“.dds”图像中获取“alpha”层数据?

鉴于:

white_small.png,包含RGBA。
还有white_small.dds一个是从前一个生成的。
JFYI:它是通过这种方式生成的,使用魔杖

因此,例如,如果我想知道“x=2 和 y=3 下的像素是否透明white_small.png”,则可以轻松完成。

很清楚:png_transparency_data[(y-1)][(x-1)]这是 0 - 表示它是透明的。

现在关于white_small.dds. 如果white_small.dds将在 GIMP/any_editor 中打开 - 将显示以下图片:(只是用户想象看到此字节为白色 :))

让我们看看white_small.dds使用 pyglet:

在这里我不知道如何将这些数据映射到坐标。

问题:

如何从.dds数据中获取有关 x 和 y 坐标的信息(透明度/颜色)?

PS:我知道,dxt3以 4:1 的比例压缩图像,但这并没有给我解决我的问题的线索 :(

0 投票
1 回答
131 浏览

opengl - DirectDraw Surface - 数据布局

Opengl纹理坐标[0,0]位于左下角。DDS 文件是否包含有关数据布局的信息(如果数据从左上角或左下角开始)还是有一个固定布局?例如 ktx 文件包含此类信息。

0 投票
2 回答
374 浏览

python - 如何避免使用 python Wand 为 dds 创建 mipmap?

环境:

蟒蛇 - 3.6.6
魔杖- 0.5.7

代码示例:

此文件的一部分

它将生成output.dds包含 5 个 mipmap(16px、8px、4px、2px、1px)。

我找到了ImageMagic的 CLI 示例,如何禁用为输出 dds 文件创建 mipmaps ->这个答案
但我需要使用 python 和 Wand 做同样的事情。

问题:

如何使用Wand库和 python 防止/避免/禁用/删除输出文件中的 mipmap。

0 投票
1 回答
103 浏览

graphics - D3DFMT_A32R32G32B32F 是线性还是 sRGB?

我使用 Photoshop 的 NVIDIA 纹理工具插件保存了 *.dds 图像,并选择了 D3DFMT_A32R32G32B32F 格式。因为它是浮点格式,所以我认为数据保存在线性颜色空间中。然而,当我在我的代码中加载文件时,我发现我需要执行从 sRGB 到线性的转换,以获得我期望的结果。

这个对吗?D3DFMT_A32R32G32B32F 是 sRGB 格式吗?或者,它是 Photoshop 插件中的错误吗?或者,就色彩空间而言,格式是否不可知?

在相关说明中,我选择了旧版 D3DFMT_A32R32G32B32F 格式,因为该插件似乎不支持较新的 DXGI 格式。

0 投票
1 回答
1108 浏览

image - 如何在 Linux 中将 PNG 转换为未压缩的 DDS?

基于wiki DDS 可以被压缩和解压缩。现在我试图弄清楚如何在pngdds压缩的情况下实现转换。

可以通过以下方式实现定期转换
convert file.png out.dds

0 投票
1 回答
54 浏览

textures - IWICDdsDecoder 无法加载立方体贴图

我使用NVidia 的 Texture Exporter Tool创建了一个 Texture Cube,但我无法使用IWICDdsDecoder.

它失败了0x88982f61 : The image header is unrecognized.

另一方面,Dimension = WICDdsTexture2D使用 NVTET 创建的普通 2D 纹理 ( ) 可以正确加载并且运行良好。

是否IWICDdsLoader支持 Cube Maps,如果不支持,为什么要WICDdsDimension.WICDdsTextureCube指定?

WICDdsTexture2D适用于NVTET 编写的普通纹理的部分加载程序代码。

0 投票
0 回答
169 浏览

delphi - 如何将 DirectDraw Surface (DDS) 文件转换为 JPG

我目前正在开发一个项目,该项目要求用户能够在我的应用程序中查看 DDS 文件,但我无法找到直接显示 DDS 文件或将 DDS 文件转换为 JPG 的方法。ImageMagick 会这样做,但据我了解,它需要一个命令行工具和大量 dll 文件与我的应用程序一起分发,如果可能的话,我宁愿避免这种情况。任何帮助将不胜感激。