Why do game companies use custom texture formats instead of the DDS format?

Started by
84 comments, last by Zipster 15 years, 7 months ago
Quote:Original post by emeyex
Quote:Original post by Numsgil
...At the very least an artist should have a basic grounding in calculus and linear algebra...

That's the best line I've heard all year! The funniest part is that you said "at the very least". But seriously, if you do hear that Leonardo da Vinci is looking for a job, let me know, I'd love to hire him :)


Yeah, I guess I have high expectations :) I guess that amounts to saying that every game artist should have minored in math.
[size=2]Darwinbots - [size=2]Artificial life simulation
Advertisement
Quote:Original post by Numsgil
Yeah, I guess I have high expectations :) I guess that amounts to saying that every game artist should have minored in math.


Nothing wrong with high expectations, I agree that it would be nice! I just wouldn't go designing your pipeline around those expectations :)
Quote:Original post by emeyex
Quote:Original post by Numsgil
Yeah, I guess I have high expectations :) I guess that amounts to saying that every game artist should have minored in math.


Nothing wrong with high expectations, I agree that it would be nice! I just wouldn't go designing your pipeline around those expectations :)


Probably not. I'm still learning to lower my expectations. I still think choosing a DXT compression level is something an artist can handle, though. There really aren't that many choices: none, DXT1, DXT3, DXT5. That and a texture budget should mean they make the right choice.
[size=2]Darwinbots - [size=2]Artificial life simulation
Quote:Original post by Numsgil
Quote:Original post by emeyex
Quote:Original post by Numsgil
Yeah, I guess I have high expectations :) I guess that amounts to saying that every game artist should have minored in math.


Nothing wrong with high expectations, I agree that it would be nice! I just wouldn't go designing your pipeline around those expectations :)


Probably not. I'm still learning to lower my expectations. I still think choosing a DXT compression level is something an artist can handle, though. There really aren't that many choices: none, DXT1, DXT3, DXT5. That and a texture budget should mean they make the right choice.

Something they *can* choose? Sure. Any artist could be taught that fairly easily.

Something the *should* choose, every single time the export the art? That's a job for a tool.
Quote:Original post by frob
Quote:Original post by Numsgil
Quote:Original post by emeyex
Quote:Original post by Numsgil
Yeah, I guess I have high expectations :) I guess that amounts to saying that every game artist should have minored in math.


Nothing wrong with high expectations, I agree that it would be nice! I just wouldn't go designing your pipeline around those expectations :)


Probably not. I'm still learning to lower my expectations. I still think choosing a DXT compression level is something an artist can handle, though. There really aren't that many choices: none, DXT1, DXT3, DXT5. That and a texture budget should mean they make the right choice.

Something they *can* choose? Sure. Any artist could be taught that fairly easily.

Something the *should* choose, every single time the export the art? That's a job for a tool.


But how will the tool know what to compress and what to leave in full 32 bits?
[size=2]Darwinbots - [size=2]Artificial life simulation
Quote:Original post by Numsgil
Quote:Original post by frob
Something the *should* choose, every single time the export the art? That's a job for a tool.

But how will the tool know what to compress and what to leave in full 32 bits?

Heuristics, based on the compression savings, texture budgets, and quality loss (an estimation of which can be calculated by analysing the image).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Quote:Original post by swiftcoder
Quote:Original post by Numsgil
Quote:Original post by frob
Something the *should* choose, every single time the export the art? That's a job for a tool.

But how will the tool know what to compress and what to leave in full 32 bits?

Heuristics, based on the compression savings, texture budgets, and quality loss (an estimation of which can be calculated by analysing the image).


Well, it's a fixed compression ratio, so I guess that means the heuristic would just ignore textures under some fixed size. How do you develop a quality loss estimation algorithm? The naive implementation I can think of, basically just comparing pixels and recording the difference, isn't all that effective.
[size=2]Darwinbots - [size=2]Artificial life simulation
Quote:Original post by Numsgil
The naive implementation I can think of, basically just comparing pixels and recording the difference, isn't all that effective.
Color, brightness, saturation, contrast. There is also edge erosion which is even visible with JPEGs saved at 100%.

An FFT can help a lot when comparing image quality by analysing the frequency domain. This can help to estimate the amount of quantization error, bluriness, and high frequency artifacts. Converting to alternative colourspaces, especially those separating chromaticity from brightness (YUV or Yxy, for example) can help at detecting subtile local colour shifts such as those common with DXTC. When combining this with psychovisual profiles, then such a quality estimation can be much more accurate than the subjective guess from a human.
Hmm, interesting. Are there any utilities floating around the intraweb that do this (that is, plug in a texture in PNG or something and a desired compression, and get back some sort of score for quality)? Or is this the sort of thing that everyone rolls their own for?
[size=2]Darwinbots - [size=2]Artificial life simulation

This topic is closed to new replies.

Advertisement