问题标签 [tga]

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 回答
250 浏览

opengl-es - OpenGL 纹理格式限制

纹理是否也需要遵守某些格式限制?

我正在加载 TGA 文件并使用以下片段着色器绘制它们:

我发现 16x16 图像显示正常。64x16 显示正常。72x16、80x16 和 96x16 不起作用。

如果需要,我将提供更多信息,包括 TGA 文件。

0 投票
1 回答
803 浏览

c++ - 使用 iostream 将文件保存在路径中

我目前正在玩一些我用 lua 和 love2d 实现的 3D 软件渲染。论坛中的某个人向我展示了此链接以了解更多信息: C++ Software Renderer

这是一个用 C++ 编写的软件渲染器的教程,没有使用额外的库。所以我认为这将是一个好的开始。

不过,我对 C++ 还是有点陌生​​,尽管我有 C、Objective-C、Swift、Java 和 Lua 方面的经验。

首先,我将 3 个文件加载到命令行 C++ Xcode 项目中。

  • 主文件
  • tgaimage.h
  • tgaimage.cpp

当我构建运行应用程序时,我应该得到一个位于 User/Libraries/Developer/Xcode/projectname/Build/Products/Debug/output.tga 中的 .tga 文件,我可以将路径更改为位于我的工作目录User/Developer/Xcode Projects/tinyRenderer/ 或者我可以在代码中完成。然而,这正是我不知道该怎么做。

在 main.cpp 中:

叫做。

在 tgaimage.h 中:

以及实现文件:

如何使它将文件保存在不同的路径中?

0 投票
2 回答
1734 浏览

three.js - three.js:MTLLoader 不加载 tga 纹理

我有一些.obj文件和相应.mtl文件的导出。纹理在.tga同一文件夹中的格式。

这是我用来加载所有内容的代码.obj

汽车已加载,但纹理未加载。它看起来全白,并且控制台中没有错误。我试图添加

但它没有改变任何东西。

我也尝试添加

在调用addCar函数之前。当我这样做时,控制台中会出现一些警告,但纹理仍然没有出现。 在此处输入图像描述

在我看到的所有示例中,使用 OBJLoader 和 MTLLoader 时会自动加载纹理,但我没有使用带有 TGA 纹理的 OBJLoader 和 MTLLoader 的任何示例。所以我想知道是否有什么事情可以让它发挥作用。

任何帮助,将不胜感激。

PS:文件(.obj.mtl.tga是从 3D max 导出的)。

0 投票
0 回答
349 浏览

image - 纹理质量 - 魔兽世界香草

纹理。自从我开始和他们打交道以来,这一直困扰着我。
更具体地说,它们在魔兽世界香草中的质量。

我一遍又一遍地搜索和研究它,尝试了很多方法,但它从来都不是完美的。

游戏只接受 BLP 和 TGA 文件格式,我从来没有让它们像 PNG 一样好。
我不确定问题是我使用的转换器(我尝试了多个)还是实际上不可能。

这是一个例子:

lua代码

图像.png

图像.png

image.blp(游戏内外观)

图像.blp

image.tga(游戏内外观)

图像.tga

我在这种情况下使用的PNG 到 BLP 转换器。

我在这种情况下使用的PNG 到 TGA 转换器。

图像.blp文件。

图像.tga文件。

恢复:我想要一个 100%(每个像素)的游戏内纹理,就像原始 PNG 图像一样。

0 投票
1 回答
1035 浏览

c++ - C++ TGA 读取失败

我正在使用下面的java方法将android.graphics.Bitmap写入tga,我已经在photoshop中打开了照片,没关系。在本机中,我必须使用 opengl 加载和显示此图像,但是图像的加载不正确,并且我在屏幕上看到不正确的颜色,下面是 c++ tga 加载器。有人知道有什么问题吗?

java写tga方法:

tga 18 位标头 c++ :

tga加载器方法:

在 android native 中读取 tga 文件并用 opengles 渲染后

生成的二维码放入sdcard用photoshop打开

0 投票
0 回答
642 浏览

c# - C# Load TGA and manipulate TGA image

I've been searching for an answer but cant get my head around this. I use C# alot but never actually dealt with graphics. I want to load a TGA image (32 bit) and then manipulate the color data ( including alpha channel ). How would a dumb dumb begin to approach this problem.

The basic manipulation I want to do is to change the coloring: The input is a mask image with 4 fixed colors (black, red, green, blue and alpha channel). I want to pull each channel and create a new image with certain colors instead of the original ones.

For example. Say I have a mask image with Black and Green and Alpha data. I want to make a new image with color1 where its black ( no channel is used ), color2 where its Green ( Only full green is used ) and color3 where its Alpha ( Only where alpha is used )

The input images don't have overlapping channels or alpha (A pixel has only one type of data, red, green, blue or alpha)

thanks in advance.

0 投票
1 回答
193 浏览

c++ - 带 QDataStream 的 TGA 读取标头

我正在尝试使用 Qt QDataStream 读取 TGA 文件头。我从具有固定类型的规范中具有以下结构:

我用 QFile 打开一个文件,然后用它构造一个 QDataStream :

问题在于我得到的宽度和高度:

我应该得到 1366 和 768。如果我 hexdump 我得到的文件:

这很奇怪,因为它在开始时有一个额外的字节,而在 和 之间的某个地方缺少另一个0x0002字节0x0556

更新:
使用 fstream 有效,如果我错了,请纠正我,但我认为<<操作符不能像我预期的那样工作(只读取填充结构变量所需的大小)。

使用 QDataStream::readRawData 也可以:

0 投票
1 回答
336 浏览

c++ - TGA 文件头在 Windows 上不正确

我正在尝试读取我在 Paint.net 中创建的文件的 TGA 标头。它似乎有什么问题。如果我使用规范中的标头结构,例如:

我明白了:

这是错误的,因为我的图像是 501x501,每像素 32 位。但是,如果我从结构中注释掉两个字节,fe this one colourmaporigin,我会得到:

哪个是对的。我正在阅读我在这种文件格式上找到的所有内容。它从来没有说这些字段中的任何一个都是可选的。

我怎么会得到这样的结果?

下面是读取数据的代码:

我正在使用 VS2015,针对 x86 平台。

0 投票
0 回答
279 浏览

java - 使用 Java 操作 PSD 并转换为 TGA

我有一些 PSD,它们基本上是带有一些隐藏层的模板。我想操作这些模板,以便每次导出时只有一个隐藏层可见。最后这些文件应该导出为 TGA。

我正在寻找一种使用 Java 以编程方式执行此操作的方法。我找到了 TwelveMonkeys ImageIO ( https://github.com/haraldk/TwelveMonkeys ),但找不到完成我想要的方法(可能有好的文档吗?)。我怎样才能做到这一点?那个图书馆甚至有可能吗?是否应该考虑其他库?

0 投票
1 回答
130 浏览

c++ - 读取 TGA 显示空值而不是颜色数据

我正在尝试编写一个简单的 TGA-Loader,我发现在某个点之后读取一些图像会产生很多不需要的空值。我正在测试六张图片:每张都有 32x32 像素的 BGR 颜色。现在可以正常读取四个图像,而其余两个仅读取到第 17 个字节。从那里开始,它们由空值组成,如下所示:

0:220 164 55
1:232 173 57
2:241 177 51
...
16:252 181 41
17:249 180 41
18:0 0 0
19:0 0 0

TgaHeader是一个包含 uint8_t 和 uint16_t 字段的已定义结构。为了清楚起见,我删除了异常处理,我在读取数据时从未发现任何错误。IrfanView 和 Gimp 能够打开有问题的图像,并且在二进制查看器中没有发现空值。我只选择了没有 Image-ID、没有颜色图和等效标题的图像,所以这也不应该是一个问题。
那么为什么会有这些空值呢?