Switching default texture format to DDS: Difference between revisions

Jump to navigation Jump to search
m
m (→‎DDS Debate in 2012 (points made by Mathias): update with proper cquotes (thanks to User:bigstones for saving us a ton of time here !))
Line 535: Line 535:
     |author=<nowiki>Frederic Bouvier</nowiki>
     |author=<nowiki>Frederic Bouvier</nowiki>
     |date=<nowiki>2011-12-30</nowiki>
     |date=<nowiki>2011-12-30</nowiki>
  }}
}}
== Implementation ==
{{FGCquote
  |As has been previously pointed out, the current DDS texture set is not<br/>
simply the global png texture set converted.<br/>
<br/>
For our own sanity and those of the users, we need to ensure that there's<br/>
an apples-to-apples comparison being made when we change the default.  I<br/>
therefore think we need to create a DDS version of the current default<br/>
texture set.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/
    |title=<nowiki>Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)</nowiki>
    |author=<nowiki>Stuart Buchanan</nowiki>
    |date=<nowiki>2014-09-04</nowiki>
  }}
}}
{{FGCquote
  |2)  If we go down this path, we probably want to separate the underlying<br/>
texture format from the materials.xml definition entirely. For example, we<br/>
could simply remove the extention from the materials definition, and have<br/>
the C++ code append the appropriate extension based on a separate property.<br/>
This has a couple of advantages:<br/>
a) Makes testing easier and materials definitions less error-prone.<br/>
Assuming we have some batch job in place to generate dds textures, those<br/>
working on materials definitions could continue to work with png textures,<br/>
and only convert to dds as a final step (or indeed as part of the "make<br/>
release" jobs).<br/>
a) Avoids duplication of materials definitions.  Having just spent quite a<br/>
bit of time making the materials definitions more efficient, I'd like to<br/>
avoid making it worse again!<br/>
<br/>
I'm quite happy to do the C++ coding required for this in the materials<br/>
loader - it's probably pretty straightforward.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/
    |title=<nowiki>Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)</nowiki>
    |author=<nowiki>Stuart Buchanan</nowiki>
    |date=<nowiki>2014-09-04</nowiki>
  }}
}}
{{FGCquote
  |That does leave the issue of what happens to the existing dds texture<br/>
definitions where there are special mipmap layers.  I'd suggest that we<br/>
have some Clever Script (tm) that is able to work out whether the DDS or<br/>
PNG version of a texture is the master, and then generate the other version<br/>
from it.  I admit that the PNG conversion of the DDS will lose some<br/>
information in this process, but it would allow those without DDS support<br/>
to at least use the textures.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/
    |title=<nowiki>Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)</nowiki>
    |author=<nowiki>Stuart Buchanan</nowiki>
    |date=<nowiki>2014-09-04</nowiki>
  }}
}}
{{FGCquote
  |3) We need a sensible process for dealing with aircraft, which has been<br/>
identified as a significant issue.  Again, I think more aircraft developers<br/>
find .png easier to deal with, and there are a lot of aircraft out there<br/>
that would need conversion.  It feels like we need some build scripts to<br/>
"compile" aircraft to use DDS textures.<br/>
<br/>
A more far-fetched idea might be to have a cache of dds textures that are<br/>
generated on-the-fly, or when aircraft are loaded by the aircraft center.<br/>
Clearly that impacts initial load time the first time a new aircraft is<br/>
loaded, and would increase the size of .fgfs/ directories massively, but it<br/>
would remove the need for any work by aircraft/scenery developers and could<br/>
be made optional.<br/>
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32797669/
    |title=<nowiki>Re: [Flightgear-devel] .dds textures (was Unused and/or sourceless textures‏)</nowiki>
    |author=<nowiki>Stuart Buchanan</nowiki>
    |date=<nowiki>2014-09-04</nowiki>
   }}
   }}
}}
}}

Navigation menu