DXTn texture support, no “Enable S3TC…” option












5















I am having the same problem as described here.



I'm looking for support for DXTn textures. I ran worldwind in terminal and got the following error message:



Aug 22, 2012 5:28:12 PM gov.nasa.worldwind.layers.TextureTile initializeTexture
SEVERE: Exception attempting to read texture file
javax.media.opengl.GLException: DXTn compressed textures not supported by this graphics card




I tried the suggested solution from here



sudo apt-get install driconf
driconf


Under "Image Quality" change "Enable S3TC ..." to Yes. Save.





The driconf solution did not fix the problem. There was no "Enable S3TC..." option in the Image Quality tab.



I think I am using Nouveau driver and I wonder if I should switch to the Nvidia driver?




  • Computer: Dell Precision M6400

  • Processor: Intel® Core™2 Duo CPU T9550 @ 2.66GHz × 2 Ubuntu: 12.0.4 LTS

  • Video Card: NVIDIA Quadro FX 2700M

  • Graphics: Gallium 0.4 on NV94


Any ideas?










share|improve this question





























    5















    I am having the same problem as described here.



    I'm looking for support for DXTn textures. I ran worldwind in terminal and got the following error message:



    Aug 22, 2012 5:28:12 PM gov.nasa.worldwind.layers.TextureTile initializeTexture
    SEVERE: Exception attempting to read texture file
    javax.media.opengl.GLException: DXTn compressed textures not supported by this graphics card




    I tried the suggested solution from here



    sudo apt-get install driconf
    driconf


    Under "Image Quality" change "Enable S3TC ..." to Yes. Save.





    The driconf solution did not fix the problem. There was no "Enable S3TC..." option in the Image Quality tab.



    I think I am using Nouveau driver and I wonder if I should switch to the Nvidia driver?




    • Computer: Dell Precision M6400

    • Processor: Intel® Core™2 Duo CPU T9550 @ 2.66GHz × 2 Ubuntu: 12.0.4 LTS

    • Video Card: NVIDIA Quadro FX 2700M

    • Graphics: Gallium 0.4 on NV94


    Any ideas?










    share|improve this question



























      5












      5








      5








      I am having the same problem as described here.



      I'm looking for support for DXTn textures. I ran worldwind in terminal and got the following error message:



      Aug 22, 2012 5:28:12 PM gov.nasa.worldwind.layers.TextureTile initializeTexture
      SEVERE: Exception attempting to read texture file
      javax.media.opengl.GLException: DXTn compressed textures not supported by this graphics card




      I tried the suggested solution from here



      sudo apt-get install driconf
      driconf


      Under "Image Quality" change "Enable S3TC ..." to Yes. Save.





      The driconf solution did not fix the problem. There was no "Enable S3TC..." option in the Image Quality tab.



      I think I am using Nouveau driver and I wonder if I should switch to the Nvidia driver?




      • Computer: Dell Precision M6400

      • Processor: Intel® Core™2 Duo CPU T9550 @ 2.66GHz × 2 Ubuntu: 12.0.4 LTS

      • Video Card: NVIDIA Quadro FX 2700M

      • Graphics: Gallium 0.4 on NV94


      Any ideas?










      share|improve this question
















      I am having the same problem as described here.



      I'm looking for support for DXTn textures. I ran worldwind in terminal and got the following error message:



      Aug 22, 2012 5:28:12 PM gov.nasa.worldwind.layers.TextureTile initializeTexture
      SEVERE: Exception attempting to read texture file
      javax.media.opengl.GLException: DXTn compressed textures not supported by this graphics card




      I tried the suggested solution from here



      sudo apt-get install driconf
      driconf


      Under "Image Quality" change "Enable S3TC ..." to Yes. Save.





      The driconf solution did not fix the problem. There was no "Enable S3TC..." option in the Image Quality tab.



      I think I am using Nouveau driver and I wonder if I should switch to the Nvidia driver?




      • Computer: Dell Precision M6400

      • Processor: Intel® Core™2 Duo CPU T9550 @ 2.66GHz × 2 Ubuntu: 12.0.4 LTS

      • Video Card: NVIDIA Quadro FX 2700M

      • Graphics: Gallium 0.4 on NV94


      Any ideas?







      drivers nvidia graphics






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Aug 28 '12 at 16:00









      Peachy

      5,06672843




      5,06672843










      asked Aug 28 '12 at 1:34









      Herb MillerHerb Miller

      2612




      2612






















          3 Answers
          3






          active

          oldest

          votes


















          3














          Have a look: http://en.wikipedia.org/wiki/S3_Texture_Compression




          While S3 Graphics is no longer a competitor in the graphics
          accelerator market, license fees are still levied and collected for
          the use of S3TC technology, for example in game consoles and graphics
          cards. The patent-encumbered status of S3TC and its wide use in
          software, despite non-encumbered alternatives, have led to a de facto
          requirement for OpenGL drivers to support it and present a major
          obstacle to open source implementations
          .




          Which explains why Nouveau driver does not support it. I guess you need to switch to the binary NVidia drivers.






          share|improve this answer































            2














            Otherwise:





            ..and tell WorldWind not to use S3 texture compression (.dds format) but rather PNG default texture format.



            You can download the sources (SDK 2.0 now):



            wget http://builds.worldwind.arc.nasa.gov/worldwind-releases/2.0/builds/worldwind-2.0.0.zip
            unzip worldwind-2.0.0.zip -d worldwind-2.0.0


            Then apply the changes to the source files listed here and here.



            Since those links are a little outdated, there are a few more changes you should apply in order to make things work on WW 2.0 release (see appendix).



            Afterwards, you can re-build your new worldwind.jar:



            cd worldwind-2.0.0/
            ant worldwind.jarfile # or simply `ant'


            I personally verified it by running the SDK from Netbeans.



            $ sudo lshw -C video | egrep "product|driver"
            product: RV635/M86 [Mobility Radeon HD 3670]
            configuration: driver=radeon latency=0


            HTH



            APPENDIX: patch for SDK 2.0



            diff --git a/src/config/Earth/BMNGWMSLayer.xml b/src/config/Earth/BMNGWMSLayer.xml
            --- a/src/config/Earth/BMNGWMSLayer.xml
            +++ b/src/config/Earth/BMNGWMSLayer.xml
            @@ -19,12 +19,12 @@
            <!-- day month year hours:minutes:seconds timezone -->
            <LastUpdate>26 03 2009 00:00:00 GMT</LastUpdate>
            <DataCacheName>Earth/BMNGWMS/BMNG(Shaded + Bathymetry) Tiled - Version 1.1 - 5.2004</DataCacheName>
            - <ImageFormat>image/dds</ImageFormat>
            + <ImageFormat>image/png</ImageFormat>
            <AvailableImageFormats>
            <ImageFormat>image/png</ImageFormat>
            <ImageFormat>image/dds</ImageFormat>
            </AvailableImageFormats>
            - <FormatSuffix>.dds</FormatSuffix>
            + <FormatSuffix>.png</FormatSuffix>
            <NumLevels count="5" numEmpty="0"/>
            <TileOrigin>
            <LatLon units="degrees" latitude="-90" longitude="-180"/>
            diff --git a/src/config/Earth/BMNGWMSLayer2.xml b/src/config/Earth/BMNGWMSLayer2.xml
            --- a/src/config/Earth/BMNGWMSLayer2.xml
            +++ b/src/config/Earth/BMNGWMSLayer2.xml
            @@ -22,7 +22,7 @@
            <ImageFormat>image/jpeg</ImageFormat>
            <ImageFormat>image/png</ImageFormat>
            </AvailableImageFormats>
            - <FormatSuffix>.dds</FormatSuffix>
            + <FormatSuffix>.png</FormatSuffix>
            <NumLevels count="5" numEmpty="0"/>
            <TileOrigin>
            <LatLon units="degrees" latitude="-90" longitude="-180"/>
            diff --git a/src/config/Earth/CountryBoundariesLayer.xml b/src/config/Earth/CountryBoundariesLayer.xml
            --- a/src/config/Earth/CountryBoundariesLayer.xml
            +++ b/src/config/Earth/CountryBoundariesLayer.xml
            @@ -21,7 +21,7 @@
            <AvailableImageFormats>
            diff --git a/src/config/Earth/MSVirtualEarthHybridLayer.xml b/src/config/Earth/MSVirtualEarthHybridLayer.xml
            --- a/src/config/Earth/MSVirtualEarthHybridLayer.xml
            +++ b/src/config/Earth/MSVirtualEarthHybridLayer.xml
            @@ -19,7 +19,7 @@
            <AvailableImageFormats>
            <ImageFormat>image/jpg</ImageFormat>
            </AvailableImageFormats>
            - <FormatSuffix>.dds</FormatSuffix>
            + <FormatSuffix>.jpg</FormatSuffix>
            <NumLevels count="16" numEmpty="4"/>
            <TileOrigin>
            <LatLon units="degrees" latitude="-90" longitude="-180"/>
            @@ -40,4 +40,4 @@
            </Sector>
            <ActiveAltitudes max="1000e3"/>
            <UseTransparentTextures>true</UseTransparentTextures>
            diff --git a/src/config/Earth/MSVirtualEarthRoadsLayer.xml b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
            --- a/src/config/Earth/MSVirtualEarthRoadsLayer.xml
            +++ b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
            @@ -19,7 +19,7 @@
            <AvailableImageFormats>
            <ImageFormat>image/jpg</ImageFormat>
            </AvailableImageFormats>
            - <FormatSuffix>.dds</FormatSuffix>
            + <FormatSuffix>.jpg</FormatSuffix>
            <NumLevels count="16" numEmpty="4"/>
            <TileOrigin>
            <LatLon units="degrees" latitude="-90" longitude="-180"/>
            @@ -40,4 +40,4 @@
            </Sector>
            <ActiveAltitudes max="1000e3"/>
            <UseTransparentTextures>true</UseTransparentTextures>
            diff --git a/src/config/Earth/ScankortDenmarkImageLayer.xml b/src/config/Earth/ScankortDenmarkImageLayer.xml
            --- a/src/config/Earth/ScankortDenmarkImageLayer.xml
            +++ b/src/config/Earth/ScankortDenmarkImageLayer.xml
            @@ -16,12 +16,12 @@
            <!-- day month year hours:minutes:seconds timezone -->
            <LastUpdate>25 06 2009 22:45:32 GMT</LastUpdate>
            <DataCacheName>Earth/Scankort Denmark</DataCacheName>
            - <ImageFormat>image/dds</ImageFormat>
            + <ImageFormat>image/png</ImageFormat>
            <AvailableImageFormats>
            <ImageFormat>image/png</ImageFormat>
            <ImageFormat>image/dds</ImageFormat>
            </AvailableImageFormats>
            - <FormatSuffix>.dds</FormatSuffix>
            + <FormatSuffix>.png</FormatSuffix>
            <NumLevels count="16" numEmpty="0"/>
            <TileOrigin>
            <LatLon units="degrees" latitude="-90" longitude="-180"/>
            @@ -46,4 +46,4 @@
            <Time units="milliseconds" value="30000"/>
            </ReadTimeout>
            </RetrievalTimeouts>
            diff --git a/src/config/Earth/USDANAIPWMSImageLayer.xml b/src/config/Earth/USDANAIPWMSImageLayer.xml
            --- a/src/config/Earth/USDANAIPWMSImageLayer.xml
            +++ b/src/config/Earth/USDANAIPWMSImageLayer.xml
            @@ -17,12 +17,12 @@
            <!-- day month year hours:minutes:seconds timezone -->
            <LastUpdate>23 04 2009 17:55:00 GMT</LastUpdate>
            <DataCacheName>Earth/USDA NAIP</DataCacheName>
            - <ImageFormat>image/dds</ImageFormat>
            + <ImageFormat>image/png</ImageFormat>
            <AvailableImageFormats>
            <ImageFormat>image/png</ImageFormat>
            <ImageFormat>image/dds</ImageFormat>
            </AvailableImageFormats>
            - <FormatSuffix>.dds</FormatSuffix>
            + <FormatSuffix>.png</FormatSuffix>
            <NumLevels count="15" numEmpty="6"/>
            <TileOrigin>
            <LatLon units="degrees" latitude="-90" longitude="-180"/>
            @@ -51,4 +51,4 @@
            <Time units="milliseconds" value="30000"/>
            </ReadTimeout>
            </RetrievalTimeouts>
            diff --git a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
            --- a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
            +++ b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
            @@ -190,7 +190,7 @@ public class BasicTiledImageLayer extends TiledImageLayer implements BulkRetriev
            params.setValue(AVKey.TILE_HEIGHT, 512);

            if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
            - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
            + params.setValue(AVKey.FORMAT_SUFFIX, ".png");

            if (params.getValue(AVKey.NUM_LEVELS) == null)
            params.setValue(AVKey.NUM_LEVELS, 19); // approximately 0.1 meters per pixel
            diff --git a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
            --- a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
            +++ b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
            @@ -265,7 +265,7 @@ public class RPFTiledImageLayer extends TiledImageLayer
            if (params.getValue(AVKey.TILE_HEIGHT) == null)
            params.setValue(AVKey.TILE_HEIGHT, 512);
            if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
            - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
            + params.setValue(AVKey.FORMAT_SUFFIX, ".png");
            if (params.getValue(AVKey.NUM_LEVELS) == null)
            params.setValue(AVKey.NUM_LEVELS, 14); // approximately 0.5 meters per pixel
            if (params.getValue(AVKey.NUM_EMPTY_LEVELS) == null)





            share|improve this answer































              0














              After the WorldWind model is created, and before the window is displayed, you can loop through all the layers and force them to not use DDS for storing tile textures:



              // Before the WorldWind window displays (which triggers the data retrievers)
              // loop through the levels for each tiled image layer and mutate any level
              // constructed to use DDS to instead use JPG (best compression) or PNG (best
              // quality, but much larger files).
              String cacheFormat = "jpg"; // could load this via configuration file
              for (Layer layer : model.getLayers()) {
              if (layer instanceof BasicTiledImageLayer && ((BasicTiledImageLayer)layer).getTextureFormat() == null) {
              ((BasicTiledImageLayer)layer).setTextureFormat("image/" + cacheFormat);
              ((BasicTiledImageLayer)layer).setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
              ArrayList<Level> levels = ((BasicTiledImageLayer) layer).getLevels().getLevels();
              for (int i = 0; i < levels.size(); i++) {
              Level level = levels.get(i);
              if (level.getFormatSuffix().equals(".dds")) {
              AVList params = level.getParams();
              params.setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
              levels.set(i, new Level(params));
              }
              }
              }
              }





              share|improve this answer
























                Your Answer








                StackExchange.ready(function() {
                var channelOptions = {
                tags: "".split(" "),
                id: "89"
                };
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function() {
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                createEditor();
                });
                }
                else {
                createEditor();
                }
                });

                function createEditor() {
                StackExchange.prepareEditor({
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: true,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                });


                }
                });














                draft saved

                draft discarded


















                StackExchange.ready(
                function () {
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f181198%2fdxtn-texture-support-no-enable-s3tc-option%23new-answer', 'question_page');
                }
                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                3














                Have a look: http://en.wikipedia.org/wiki/S3_Texture_Compression




                While S3 Graphics is no longer a competitor in the graphics
                accelerator market, license fees are still levied and collected for
                the use of S3TC technology, for example in game consoles and graphics
                cards. The patent-encumbered status of S3TC and its wide use in
                software, despite non-encumbered alternatives, have led to a de facto
                requirement for OpenGL drivers to support it and present a major
                obstacle to open source implementations
                .




                Which explains why Nouveau driver does not support it. I guess you need to switch to the binary NVidia drivers.






                share|improve this answer




























                  3














                  Have a look: http://en.wikipedia.org/wiki/S3_Texture_Compression




                  While S3 Graphics is no longer a competitor in the graphics
                  accelerator market, license fees are still levied and collected for
                  the use of S3TC technology, for example in game consoles and graphics
                  cards. The patent-encumbered status of S3TC and its wide use in
                  software, despite non-encumbered alternatives, have led to a de facto
                  requirement for OpenGL drivers to support it and present a major
                  obstacle to open source implementations
                  .




                  Which explains why Nouveau driver does not support it. I guess you need to switch to the binary NVidia drivers.






                  share|improve this answer


























                    3












                    3








                    3







                    Have a look: http://en.wikipedia.org/wiki/S3_Texture_Compression




                    While S3 Graphics is no longer a competitor in the graphics
                    accelerator market, license fees are still levied and collected for
                    the use of S3TC technology, for example in game consoles and graphics
                    cards. The patent-encumbered status of S3TC and its wide use in
                    software, despite non-encumbered alternatives, have led to a de facto
                    requirement for OpenGL drivers to support it and present a major
                    obstacle to open source implementations
                    .




                    Which explains why Nouveau driver does not support it. I guess you need to switch to the binary NVidia drivers.






                    share|improve this answer













                    Have a look: http://en.wikipedia.org/wiki/S3_Texture_Compression




                    While S3 Graphics is no longer a competitor in the graphics
                    accelerator market, license fees are still levied and collected for
                    the use of S3TC technology, for example in game consoles and graphics
                    cards. The patent-encumbered status of S3TC and its wide use in
                    software, despite non-encumbered alternatives, have led to a de facto
                    requirement for OpenGL drivers to support it and present a major
                    obstacle to open source implementations
                    .




                    Which explains why Nouveau driver does not support it. I guess you need to switch to the binary NVidia drivers.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Aug 28 '12 at 2:13









                    SergeySergey

                    36.7k98799




                    36.7k98799

























                        2














                        Otherwise:





                        ..and tell WorldWind not to use S3 texture compression (.dds format) but rather PNG default texture format.



                        You can download the sources (SDK 2.0 now):



                        wget http://builds.worldwind.arc.nasa.gov/worldwind-releases/2.0/builds/worldwind-2.0.0.zip
                        unzip worldwind-2.0.0.zip -d worldwind-2.0.0


                        Then apply the changes to the source files listed here and here.



                        Since those links are a little outdated, there are a few more changes you should apply in order to make things work on WW 2.0 release (see appendix).



                        Afterwards, you can re-build your new worldwind.jar:



                        cd worldwind-2.0.0/
                        ant worldwind.jarfile # or simply `ant'


                        I personally verified it by running the SDK from Netbeans.



                        $ sudo lshw -C video | egrep "product|driver"
                        product: RV635/M86 [Mobility Radeon HD 3670]
                        configuration: driver=radeon latency=0


                        HTH



                        APPENDIX: patch for SDK 2.0



                        diff --git a/src/config/Earth/BMNGWMSLayer.xml b/src/config/Earth/BMNGWMSLayer.xml
                        --- a/src/config/Earth/BMNGWMSLayer.xml
                        +++ b/src/config/Earth/BMNGWMSLayer.xml
                        @@ -19,12 +19,12 @@
                        <!-- day month year hours:minutes:seconds timezone -->
                        <LastUpdate>26 03 2009 00:00:00 GMT</LastUpdate>
                        <DataCacheName>Earth/BMNGWMS/BMNG(Shaded + Bathymetry) Tiled - Version 1.1 - 5.2004</DataCacheName>
                        - <ImageFormat>image/dds</ImageFormat>
                        + <ImageFormat>image/png</ImageFormat>
                        <AvailableImageFormats>
                        <ImageFormat>image/png</ImageFormat>
                        <ImageFormat>image/dds</ImageFormat>
                        </AvailableImageFormats>
                        - <FormatSuffix>.dds</FormatSuffix>
                        + <FormatSuffix>.png</FormatSuffix>
                        <NumLevels count="5" numEmpty="0"/>
                        <TileOrigin>
                        <LatLon units="degrees" latitude="-90" longitude="-180"/>
                        diff --git a/src/config/Earth/BMNGWMSLayer2.xml b/src/config/Earth/BMNGWMSLayer2.xml
                        --- a/src/config/Earth/BMNGWMSLayer2.xml
                        +++ b/src/config/Earth/BMNGWMSLayer2.xml
                        @@ -22,7 +22,7 @@
                        <ImageFormat>image/jpeg</ImageFormat>
                        <ImageFormat>image/png</ImageFormat>
                        </AvailableImageFormats>
                        - <FormatSuffix>.dds</FormatSuffix>
                        + <FormatSuffix>.png</FormatSuffix>
                        <NumLevels count="5" numEmpty="0"/>
                        <TileOrigin>
                        <LatLon units="degrees" latitude="-90" longitude="-180"/>
                        diff --git a/src/config/Earth/CountryBoundariesLayer.xml b/src/config/Earth/CountryBoundariesLayer.xml
                        --- a/src/config/Earth/CountryBoundariesLayer.xml
                        +++ b/src/config/Earth/CountryBoundariesLayer.xml
                        @@ -21,7 +21,7 @@
                        <AvailableImageFormats>
                        diff --git a/src/config/Earth/MSVirtualEarthHybridLayer.xml b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                        --- a/src/config/Earth/MSVirtualEarthHybridLayer.xml
                        +++ b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                        @@ -19,7 +19,7 @@
                        <AvailableImageFormats>
                        <ImageFormat>image/jpg</ImageFormat>
                        </AvailableImageFormats>
                        - <FormatSuffix>.dds</FormatSuffix>
                        + <FormatSuffix>.jpg</FormatSuffix>
                        <NumLevels count="16" numEmpty="4"/>
                        <TileOrigin>
                        <LatLon units="degrees" latitude="-90" longitude="-180"/>
                        @@ -40,4 +40,4 @@
                        </Sector>
                        <ActiveAltitudes max="1000e3"/>
                        <UseTransparentTextures>true</UseTransparentTextures>
                        diff --git a/src/config/Earth/MSVirtualEarthRoadsLayer.xml b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                        --- a/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                        +++ b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                        @@ -19,7 +19,7 @@
                        <AvailableImageFormats>
                        <ImageFormat>image/jpg</ImageFormat>
                        </AvailableImageFormats>
                        - <FormatSuffix>.dds</FormatSuffix>
                        + <FormatSuffix>.jpg</FormatSuffix>
                        <NumLevels count="16" numEmpty="4"/>
                        <TileOrigin>
                        <LatLon units="degrees" latitude="-90" longitude="-180"/>
                        @@ -40,4 +40,4 @@
                        </Sector>
                        <ActiveAltitudes max="1000e3"/>
                        <UseTransparentTextures>true</UseTransparentTextures>
                        diff --git a/src/config/Earth/ScankortDenmarkImageLayer.xml b/src/config/Earth/ScankortDenmarkImageLayer.xml
                        --- a/src/config/Earth/ScankortDenmarkImageLayer.xml
                        +++ b/src/config/Earth/ScankortDenmarkImageLayer.xml
                        @@ -16,12 +16,12 @@
                        <!-- day month year hours:minutes:seconds timezone -->
                        <LastUpdate>25 06 2009 22:45:32 GMT</LastUpdate>
                        <DataCacheName>Earth/Scankort Denmark</DataCacheName>
                        - <ImageFormat>image/dds</ImageFormat>
                        + <ImageFormat>image/png</ImageFormat>
                        <AvailableImageFormats>
                        <ImageFormat>image/png</ImageFormat>
                        <ImageFormat>image/dds</ImageFormat>
                        </AvailableImageFormats>
                        - <FormatSuffix>.dds</FormatSuffix>
                        + <FormatSuffix>.png</FormatSuffix>
                        <NumLevels count="16" numEmpty="0"/>
                        <TileOrigin>
                        <LatLon units="degrees" latitude="-90" longitude="-180"/>
                        @@ -46,4 +46,4 @@
                        <Time units="milliseconds" value="30000"/>
                        </ReadTimeout>
                        </RetrievalTimeouts>
                        diff --git a/src/config/Earth/USDANAIPWMSImageLayer.xml b/src/config/Earth/USDANAIPWMSImageLayer.xml
                        --- a/src/config/Earth/USDANAIPWMSImageLayer.xml
                        +++ b/src/config/Earth/USDANAIPWMSImageLayer.xml
                        @@ -17,12 +17,12 @@
                        <!-- day month year hours:minutes:seconds timezone -->
                        <LastUpdate>23 04 2009 17:55:00 GMT</LastUpdate>
                        <DataCacheName>Earth/USDA NAIP</DataCacheName>
                        - <ImageFormat>image/dds</ImageFormat>
                        + <ImageFormat>image/png</ImageFormat>
                        <AvailableImageFormats>
                        <ImageFormat>image/png</ImageFormat>
                        <ImageFormat>image/dds</ImageFormat>
                        </AvailableImageFormats>
                        - <FormatSuffix>.dds</FormatSuffix>
                        + <FormatSuffix>.png</FormatSuffix>
                        <NumLevels count="15" numEmpty="6"/>
                        <TileOrigin>
                        <LatLon units="degrees" latitude="-90" longitude="-180"/>
                        @@ -51,4 +51,4 @@
                        <Time units="milliseconds" value="30000"/>
                        </ReadTimeout>
                        </RetrievalTimeouts>
                        diff --git a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                        --- a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                        +++ b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                        @@ -190,7 +190,7 @@ public class BasicTiledImageLayer extends TiledImageLayer implements BulkRetriev
                        params.setValue(AVKey.TILE_HEIGHT, 512);

                        if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                        - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                        + params.setValue(AVKey.FORMAT_SUFFIX, ".png");

                        if (params.getValue(AVKey.NUM_LEVELS) == null)
                        params.setValue(AVKey.NUM_LEVELS, 19); // approximately 0.1 meters per pixel
                        diff --git a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                        --- a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                        +++ b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                        @@ -265,7 +265,7 @@ public class RPFTiledImageLayer extends TiledImageLayer
                        if (params.getValue(AVKey.TILE_HEIGHT) == null)
                        params.setValue(AVKey.TILE_HEIGHT, 512);
                        if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                        - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                        + params.setValue(AVKey.FORMAT_SUFFIX, ".png");
                        if (params.getValue(AVKey.NUM_LEVELS) == null)
                        params.setValue(AVKey.NUM_LEVELS, 14); // approximately 0.5 meters per pixel
                        if (params.getValue(AVKey.NUM_EMPTY_LEVELS) == null)





                        share|improve this answer




























                          2














                          Otherwise:





                          ..and tell WorldWind not to use S3 texture compression (.dds format) but rather PNG default texture format.



                          You can download the sources (SDK 2.0 now):



                          wget http://builds.worldwind.arc.nasa.gov/worldwind-releases/2.0/builds/worldwind-2.0.0.zip
                          unzip worldwind-2.0.0.zip -d worldwind-2.0.0


                          Then apply the changes to the source files listed here and here.



                          Since those links are a little outdated, there are a few more changes you should apply in order to make things work on WW 2.0 release (see appendix).



                          Afterwards, you can re-build your new worldwind.jar:



                          cd worldwind-2.0.0/
                          ant worldwind.jarfile # or simply `ant'


                          I personally verified it by running the SDK from Netbeans.



                          $ sudo lshw -C video | egrep "product|driver"
                          product: RV635/M86 [Mobility Radeon HD 3670]
                          configuration: driver=radeon latency=0


                          HTH



                          APPENDIX: patch for SDK 2.0



                          diff --git a/src/config/Earth/BMNGWMSLayer.xml b/src/config/Earth/BMNGWMSLayer.xml
                          --- a/src/config/Earth/BMNGWMSLayer.xml
                          +++ b/src/config/Earth/BMNGWMSLayer.xml
                          @@ -19,12 +19,12 @@
                          <!-- day month year hours:minutes:seconds timezone -->
                          <LastUpdate>26 03 2009 00:00:00 GMT</LastUpdate>
                          <DataCacheName>Earth/BMNGWMS/BMNG(Shaded + Bathymetry) Tiled - Version 1.1 - 5.2004</DataCacheName>
                          - <ImageFormat>image/dds</ImageFormat>
                          + <ImageFormat>image/png</ImageFormat>
                          <AvailableImageFormats>
                          <ImageFormat>image/png</ImageFormat>
                          <ImageFormat>image/dds</ImageFormat>
                          </AvailableImageFormats>
                          - <FormatSuffix>.dds</FormatSuffix>
                          + <FormatSuffix>.png</FormatSuffix>
                          <NumLevels count="5" numEmpty="0"/>
                          <TileOrigin>
                          <LatLon units="degrees" latitude="-90" longitude="-180"/>
                          diff --git a/src/config/Earth/BMNGWMSLayer2.xml b/src/config/Earth/BMNGWMSLayer2.xml
                          --- a/src/config/Earth/BMNGWMSLayer2.xml
                          +++ b/src/config/Earth/BMNGWMSLayer2.xml
                          @@ -22,7 +22,7 @@
                          <ImageFormat>image/jpeg</ImageFormat>
                          <ImageFormat>image/png</ImageFormat>
                          </AvailableImageFormats>
                          - <FormatSuffix>.dds</FormatSuffix>
                          + <FormatSuffix>.png</FormatSuffix>
                          <NumLevels count="5" numEmpty="0"/>
                          <TileOrigin>
                          <LatLon units="degrees" latitude="-90" longitude="-180"/>
                          diff --git a/src/config/Earth/CountryBoundariesLayer.xml b/src/config/Earth/CountryBoundariesLayer.xml
                          --- a/src/config/Earth/CountryBoundariesLayer.xml
                          +++ b/src/config/Earth/CountryBoundariesLayer.xml
                          @@ -21,7 +21,7 @@
                          <AvailableImageFormats>
                          diff --git a/src/config/Earth/MSVirtualEarthHybridLayer.xml b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                          --- a/src/config/Earth/MSVirtualEarthHybridLayer.xml
                          +++ b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                          @@ -19,7 +19,7 @@
                          <AvailableImageFormats>
                          <ImageFormat>image/jpg</ImageFormat>
                          </AvailableImageFormats>
                          - <FormatSuffix>.dds</FormatSuffix>
                          + <FormatSuffix>.jpg</FormatSuffix>
                          <NumLevels count="16" numEmpty="4"/>
                          <TileOrigin>
                          <LatLon units="degrees" latitude="-90" longitude="-180"/>
                          @@ -40,4 +40,4 @@
                          </Sector>
                          <ActiveAltitudes max="1000e3"/>
                          <UseTransparentTextures>true</UseTransparentTextures>
                          diff --git a/src/config/Earth/MSVirtualEarthRoadsLayer.xml b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                          --- a/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                          +++ b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                          @@ -19,7 +19,7 @@
                          <AvailableImageFormats>
                          <ImageFormat>image/jpg</ImageFormat>
                          </AvailableImageFormats>
                          - <FormatSuffix>.dds</FormatSuffix>
                          + <FormatSuffix>.jpg</FormatSuffix>
                          <NumLevels count="16" numEmpty="4"/>
                          <TileOrigin>
                          <LatLon units="degrees" latitude="-90" longitude="-180"/>
                          @@ -40,4 +40,4 @@
                          </Sector>
                          <ActiveAltitudes max="1000e3"/>
                          <UseTransparentTextures>true</UseTransparentTextures>
                          diff --git a/src/config/Earth/ScankortDenmarkImageLayer.xml b/src/config/Earth/ScankortDenmarkImageLayer.xml
                          --- a/src/config/Earth/ScankortDenmarkImageLayer.xml
                          +++ b/src/config/Earth/ScankortDenmarkImageLayer.xml
                          @@ -16,12 +16,12 @@
                          <!-- day month year hours:minutes:seconds timezone -->
                          <LastUpdate>25 06 2009 22:45:32 GMT</LastUpdate>
                          <DataCacheName>Earth/Scankort Denmark</DataCacheName>
                          - <ImageFormat>image/dds</ImageFormat>
                          + <ImageFormat>image/png</ImageFormat>
                          <AvailableImageFormats>
                          <ImageFormat>image/png</ImageFormat>
                          <ImageFormat>image/dds</ImageFormat>
                          </AvailableImageFormats>
                          - <FormatSuffix>.dds</FormatSuffix>
                          + <FormatSuffix>.png</FormatSuffix>
                          <NumLevels count="16" numEmpty="0"/>
                          <TileOrigin>
                          <LatLon units="degrees" latitude="-90" longitude="-180"/>
                          @@ -46,4 +46,4 @@
                          <Time units="milliseconds" value="30000"/>
                          </ReadTimeout>
                          </RetrievalTimeouts>
                          diff --git a/src/config/Earth/USDANAIPWMSImageLayer.xml b/src/config/Earth/USDANAIPWMSImageLayer.xml
                          --- a/src/config/Earth/USDANAIPWMSImageLayer.xml
                          +++ b/src/config/Earth/USDANAIPWMSImageLayer.xml
                          @@ -17,12 +17,12 @@
                          <!-- day month year hours:minutes:seconds timezone -->
                          <LastUpdate>23 04 2009 17:55:00 GMT</LastUpdate>
                          <DataCacheName>Earth/USDA NAIP</DataCacheName>
                          - <ImageFormat>image/dds</ImageFormat>
                          + <ImageFormat>image/png</ImageFormat>
                          <AvailableImageFormats>
                          <ImageFormat>image/png</ImageFormat>
                          <ImageFormat>image/dds</ImageFormat>
                          </AvailableImageFormats>
                          - <FormatSuffix>.dds</FormatSuffix>
                          + <FormatSuffix>.png</FormatSuffix>
                          <NumLevels count="15" numEmpty="6"/>
                          <TileOrigin>
                          <LatLon units="degrees" latitude="-90" longitude="-180"/>
                          @@ -51,4 +51,4 @@
                          <Time units="milliseconds" value="30000"/>
                          </ReadTimeout>
                          </RetrievalTimeouts>
                          diff --git a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                          --- a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                          +++ b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                          @@ -190,7 +190,7 @@ public class BasicTiledImageLayer extends TiledImageLayer implements BulkRetriev
                          params.setValue(AVKey.TILE_HEIGHT, 512);

                          if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                          - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                          + params.setValue(AVKey.FORMAT_SUFFIX, ".png");

                          if (params.getValue(AVKey.NUM_LEVELS) == null)
                          params.setValue(AVKey.NUM_LEVELS, 19); // approximately 0.1 meters per pixel
                          diff --git a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                          --- a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                          +++ b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                          @@ -265,7 +265,7 @@ public class RPFTiledImageLayer extends TiledImageLayer
                          if (params.getValue(AVKey.TILE_HEIGHT) == null)
                          params.setValue(AVKey.TILE_HEIGHT, 512);
                          if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                          - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                          + params.setValue(AVKey.FORMAT_SUFFIX, ".png");
                          if (params.getValue(AVKey.NUM_LEVELS) == null)
                          params.setValue(AVKey.NUM_LEVELS, 14); // approximately 0.5 meters per pixel
                          if (params.getValue(AVKey.NUM_EMPTY_LEVELS) == null)





                          share|improve this answer


























                            2












                            2








                            2







                            Otherwise:





                            ..and tell WorldWind not to use S3 texture compression (.dds format) but rather PNG default texture format.



                            You can download the sources (SDK 2.0 now):



                            wget http://builds.worldwind.arc.nasa.gov/worldwind-releases/2.0/builds/worldwind-2.0.0.zip
                            unzip worldwind-2.0.0.zip -d worldwind-2.0.0


                            Then apply the changes to the source files listed here and here.



                            Since those links are a little outdated, there are a few more changes you should apply in order to make things work on WW 2.0 release (see appendix).



                            Afterwards, you can re-build your new worldwind.jar:



                            cd worldwind-2.0.0/
                            ant worldwind.jarfile # or simply `ant'


                            I personally verified it by running the SDK from Netbeans.



                            $ sudo lshw -C video | egrep "product|driver"
                            product: RV635/M86 [Mobility Radeon HD 3670]
                            configuration: driver=radeon latency=0


                            HTH



                            APPENDIX: patch for SDK 2.0



                            diff --git a/src/config/Earth/BMNGWMSLayer.xml b/src/config/Earth/BMNGWMSLayer.xml
                            --- a/src/config/Earth/BMNGWMSLayer.xml
                            +++ b/src/config/Earth/BMNGWMSLayer.xml
                            @@ -19,12 +19,12 @@
                            <!-- day month year hours:minutes:seconds timezone -->
                            <LastUpdate>26 03 2009 00:00:00 GMT</LastUpdate>
                            <DataCacheName>Earth/BMNGWMS/BMNG(Shaded + Bathymetry) Tiled - Version 1.1 - 5.2004</DataCacheName>
                            - <ImageFormat>image/dds</ImageFormat>
                            + <ImageFormat>image/png</ImageFormat>
                            <AvailableImageFormats>
                            <ImageFormat>image/png</ImageFormat>
                            <ImageFormat>image/dds</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="5" numEmpty="0"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            diff --git a/src/config/Earth/BMNGWMSLayer2.xml b/src/config/Earth/BMNGWMSLayer2.xml
                            --- a/src/config/Earth/BMNGWMSLayer2.xml
                            +++ b/src/config/Earth/BMNGWMSLayer2.xml
                            @@ -22,7 +22,7 @@
                            <ImageFormat>image/jpeg</ImageFormat>
                            <ImageFormat>image/png</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="5" numEmpty="0"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            diff --git a/src/config/Earth/CountryBoundariesLayer.xml b/src/config/Earth/CountryBoundariesLayer.xml
                            --- a/src/config/Earth/CountryBoundariesLayer.xml
                            +++ b/src/config/Earth/CountryBoundariesLayer.xml
                            @@ -21,7 +21,7 @@
                            <AvailableImageFormats>
                            diff --git a/src/config/Earth/MSVirtualEarthHybridLayer.xml b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                            --- a/src/config/Earth/MSVirtualEarthHybridLayer.xml
                            +++ b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                            @@ -19,7 +19,7 @@
                            <AvailableImageFormats>
                            <ImageFormat>image/jpg</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.jpg</FormatSuffix>
                            <NumLevels count="16" numEmpty="4"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -40,4 +40,4 @@
                            </Sector>
                            <ActiveAltitudes max="1000e3"/>
                            <UseTransparentTextures>true</UseTransparentTextures>
                            diff --git a/src/config/Earth/MSVirtualEarthRoadsLayer.xml b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                            --- a/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                            +++ b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                            @@ -19,7 +19,7 @@
                            <AvailableImageFormats>
                            <ImageFormat>image/jpg</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.jpg</FormatSuffix>
                            <NumLevels count="16" numEmpty="4"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -40,4 +40,4 @@
                            </Sector>
                            <ActiveAltitudes max="1000e3"/>
                            <UseTransparentTextures>true</UseTransparentTextures>
                            diff --git a/src/config/Earth/ScankortDenmarkImageLayer.xml b/src/config/Earth/ScankortDenmarkImageLayer.xml
                            --- a/src/config/Earth/ScankortDenmarkImageLayer.xml
                            +++ b/src/config/Earth/ScankortDenmarkImageLayer.xml
                            @@ -16,12 +16,12 @@
                            <!-- day month year hours:minutes:seconds timezone -->
                            <LastUpdate>25 06 2009 22:45:32 GMT</LastUpdate>
                            <DataCacheName>Earth/Scankort Denmark</DataCacheName>
                            - <ImageFormat>image/dds</ImageFormat>
                            + <ImageFormat>image/png</ImageFormat>
                            <AvailableImageFormats>
                            <ImageFormat>image/png</ImageFormat>
                            <ImageFormat>image/dds</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="16" numEmpty="0"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -46,4 +46,4 @@
                            <Time units="milliseconds" value="30000"/>
                            </ReadTimeout>
                            </RetrievalTimeouts>
                            diff --git a/src/config/Earth/USDANAIPWMSImageLayer.xml b/src/config/Earth/USDANAIPWMSImageLayer.xml
                            --- a/src/config/Earth/USDANAIPWMSImageLayer.xml
                            +++ b/src/config/Earth/USDANAIPWMSImageLayer.xml
                            @@ -17,12 +17,12 @@
                            <!-- day month year hours:minutes:seconds timezone -->
                            <LastUpdate>23 04 2009 17:55:00 GMT</LastUpdate>
                            <DataCacheName>Earth/USDA NAIP</DataCacheName>
                            - <ImageFormat>image/dds</ImageFormat>
                            + <ImageFormat>image/png</ImageFormat>
                            <AvailableImageFormats>
                            <ImageFormat>image/png</ImageFormat>
                            <ImageFormat>image/dds</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="15" numEmpty="6"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -51,4 +51,4 @@
                            <Time units="milliseconds" value="30000"/>
                            </ReadTimeout>
                            </RetrievalTimeouts>
                            diff --git a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                            --- a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                            +++ b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                            @@ -190,7 +190,7 @@ public class BasicTiledImageLayer extends TiledImageLayer implements BulkRetriev
                            params.setValue(AVKey.TILE_HEIGHT, 512);

                            if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                            - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                            + params.setValue(AVKey.FORMAT_SUFFIX, ".png");

                            if (params.getValue(AVKey.NUM_LEVELS) == null)
                            params.setValue(AVKey.NUM_LEVELS, 19); // approximately 0.1 meters per pixel
                            diff --git a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                            --- a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                            +++ b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                            @@ -265,7 +265,7 @@ public class RPFTiledImageLayer extends TiledImageLayer
                            if (params.getValue(AVKey.TILE_HEIGHT) == null)
                            params.setValue(AVKey.TILE_HEIGHT, 512);
                            if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                            - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                            + params.setValue(AVKey.FORMAT_SUFFIX, ".png");
                            if (params.getValue(AVKey.NUM_LEVELS) == null)
                            params.setValue(AVKey.NUM_LEVELS, 14); // approximately 0.5 meters per pixel
                            if (params.getValue(AVKey.NUM_EMPTY_LEVELS) == null)





                            share|improve this answer













                            Otherwise:





                            ..and tell WorldWind not to use S3 texture compression (.dds format) but rather PNG default texture format.



                            You can download the sources (SDK 2.0 now):



                            wget http://builds.worldwind.arc.nasa.gov/worldwind-releases/2.0/builds/worldwind-2.0.0.zip
                            unzip worldwind-2.0.0.zip -d worldwind-2.0.0


                            Then apply the changes to the source files listed here and here.



                            Since those links are a little outdated, there are a few more changes you should apply in order to make things work on WW 2.0 release (see appendix).



                            Afterwards, you can re-build your new worldwind.jar:



                            cd worldwind-2.0.0/
                            ant worldwind.jarfile # or simply `ant'


                            I personally verified it by running the SDK from Netbeans.



                            $ sudo lshw -C video | egrep "product|driver"
                            product: RV635/M86 [Mobility Radeon HD 3670]
                            configuration: driver=radeon latency=0


                            HTH



                            APPENDIX: patch for SDK 2.0



                            diff --git a/src/config/Earth/BMNGWMSLayer.xml b/src/config/Earth/BMNGWMSLayer.xml
                            --- a/src/config/Earth/BMNGWMSLayer.xml
                            +++ b/src/config/Earth/BMNGWMSLayer.xml
                            @@ -19,12 +19,12 @@
                            <!-- day month year hours:minutes:seconds timezone -->
                            <LastUpdate>26 03 2009 00:00:00 GMT</LastUpdate>
                            <DataCacheName>Earth/BMNGWMS/BMNG(Shaded + Bathymetry) Tiled - Version 1.1 - 5.2004</DataCacheName>
                            - <ImageFormat>image/dds</ImageFormat>
                            + <ImageFormat>image/png</ImageFormat>
                            <AvailableImageFormats>
                            <ImageFormat>image/png</ImageFormat>
                            <ImageFormat>image/dds</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="5" numEmpty="0"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            diff --git a/src/config/Earth/BMNGWMSLayer2.xml b/src/config/Earth/BMNGWMSLayer2.xml
                            --- a/src/config/Earth/BMNGWMSLayer2.xml
                            +++ b/src/config/Earth/BMNGWMSLayer2.xml
                            @@ -22,7 +22,7 @@
                            <ImageFormat>image/jpeg</ImageFormat>
                            <ImageFormat>image/png</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="5" numEmpty="0"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            diff --git a/src/config/Earth/CountryBoundariesLayer.xml b/src/config/Earth/CountryBoundariesLayer.xml
                            --- a/src/config/Earth/CountryBoundariesLayer.xml
                            +++ b/src/config/Earth/CountryBoundariesLayer.xml
                            @@ -21,7 +21,7 @@
                            <AvailableImageFormats>
                            diff --git a/src/config/Earth/MSVirtualEarthHybridLayer.xml b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                            --- a/src/config/Earth/MSVirtualEarthHybridLayer.xml
                            +++ b/src/config/Earth/MSVirtualEarthHybridLayer.xml
                            @@ -19,7 +19,7 @@
                            <AvailableImageFormats>
                            <ImageFormat>image/jpg</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.jpg</FormatSuffix>
                            <NumLevels count="16" numEmpty="4"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -40,4 +40,4 @@
                            </Sector>
                            <ActiveAltitudes max="1000e3"/>
                            <UseTransparentTextures>true</UseTransparentTextures>
                            diff --git a/src/config/Earth/MSVirtualEarthRoadsLayer.xml b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                            --- a/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                            +++ b/src/config/Earth/MSVirtualEarthRoadsLayer.xml
                            @@ -19,7 +19,7 @@
                            <AvailableImageFormats>
                            <ImageFormat>image/jpg</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.jpg</FormatSuffix>
                            <NumLevels count="16" numEmpty="4"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -40,4 +40,4 @@
                            </Sector>
                            <ActiveAltitudes max="1000e3"/>
                            <UseTransparentTextures>true</UseTransparentTextures>
                            diff --git a/src/config/Earth/ScankortDenmarkImageLayer.xml b/src/config/Earth/ScankortDenmarkImageLayer.xml
                            --- a/src/config/Earth/ScankortDenmarkImageLayer.xml
                            +++ b/src/config/Earth/ScankortDenmarkImageLayer.xml
                            @@ -16,12 +16,12 @@
                            <!-- day month year hours:minutes:seconds timezone -->
                            <LastUpdate>25 06 2009 22:45:32 GMT</LastUpdate>
                            <DataCacheName>Earth/Scankort Denmark</DataCacheName>
                            - <ImageFormat>image/dds</ImageFormat>
                            + <ImageFormat>image/png</ImageFormat>
                            <AvailableImageFormats>
                            <ImageFormat>image/png</ImageFormat>
                            <ImageFormat>image/dds</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="16" numEmpty="0"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -46,4 +46,4 @@
                            <Time units="milliseconds" value="30000"/>
                            </ReadTimeout>
                            </RetrievalTimeouts>
                            diff --git a/src/config/Earth/USDANAIPWMSImageLayer.xml b/src/config/Earth/USDANAIPWMSImageLayer.xml
                            --- a/src/config/Earth/USDANAIPWMSImageLayer.xml
                            +++ b/src/config/Earth/USDANAIPWMSImageLayer.xml
                            @@ -17,12 +17,12 @@
                            <!-- day month year hours:minutes:seconds timezone -->
                            <LastUpdate>23 04 2009 17:55:00 GMT</LastUpdate>
                            <DataCacheName>Earth/USDA NAIP</DataCacheName>
                            - <ImageFormat>image/dds</ImageFormat>
                            + <ImageFormat>image/png</ImageFormat>
                            <AvailableImageFormats>
                            <ImageFormat>image/png</ImageFormat>
                            <ImageFormat>image/dds</ImageFormat>
                            </AvailableImageFormats>
                            - <FormatSuffix>.dds</FormatSuffix>
                            + <FormatSuffix>.png</FormatSuffix>
                            <NumLevels count="15" numEmpty="6"/>
                            <TileOrigin>
                            <LatLon units="degrees" latitude="-90" longitude="-180"/>
                            @@ -51,4 +51,4 @@
                            <Time units="milliseconds" value="30000"/>
                            </ReadTimeout>
                            </RetrievalTimeouts>
                            diff --git a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                            --- a/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                            +++ b/src/gov/nasa/worldwind/layers/BasicTiledImageLayer.java
                            @@ -190,7 +190,7 @@ public class BasicTiledImageLayer extends TiledImageLayer implements BulkRetriev
                            params.setValue(AVKey.TILE_HEIGHT, 512);

                            if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                            - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                            + params.setValue(AVKey.FORMAT_SUFFIX, ".png");

                            if (params.getValue(AVKey.NUM_LEVELS) == null)
                            params.setValue(AVKey.NUM_LEVELS, 19); // approximately 0.1 meters per pixel
                            diff --git a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                            --- a/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                            +++ b/src/gov/nasa/worldwind/layers/rpf/RPFTiledImageLayer.java
                            @@ -265,7 +265,7 @@ public class RPFTiledImageLayer extends TiledImageLayer
                            if (params.getValue(AVKey.TILE_HEIGHT) == null)
                            params.setValue(AVKey.TILE_HEIGHT, 512);
                            if (params.getValue(AVKey.FORMAT_SUFFIX) == null)
                            - params.setValue(AVKey.FORMAT_SUFFIX, ".dds");
                            + params.setValue(AVKey.FORMAT_SUFFIX, ".png");
                            if (params.getValue(AVKey.NUM_LEVELS) == null)
                            params.setValue(AVKey.NUM_LEVELS, 14); // approximately 0.5 meters per pixel
                            if (params.getValue(AVKey.NUM_EMPTY_LEVELS) == null)






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered May 29 '14 at 13:27









                            CampaCampa

                            461511




                            461511























                                0














                                After the WorldWind model is created, and before the window is displayed, you can loop through all the layers and force them to not use DDS for storing tile textures:



                                // Before the WorldWind window displays (which triggers the data retrievers)
                                // loop through the levels for each tiled image layer and mutate any level
                                // constructed to use DDS to instead use JPG (best compression) or PNG (best
                                // quality, but much larger files).
                                String cacheFormat = "jpg"; // could load this via configuration file
                                for (Layer layer : model.getLayers()) {
                                if (layer instanceof BasicTiledImageLayer && ((BasicTiledImageLayer)layer).getTextureFormat() == null) {
                                ((BasicTiledImageLayer)layer).setTextureFormat("image/" + cacheFormat);
                                ((BasicTiledImageLayer)layer).setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                ArrayList<Level> levels = ((BasicTiledImageLayer) layer).getLevels().getLevels();
                                for (int i = 0; i < levels.size(); i++) {
                                Level level = levels.get(i);
                                if (level.getFormatSuffix().equals(".dds")) {
                                AVList params = level.getParams();
                                params.setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                levels.set(i, new Level(params));
                                }
                                }
                                }
                                }





                                share|improve this answer




























                                  0














                                  After the WorldWind model is created, and before the window is displayed, you can loop through all the layers and force them to not use DDS for storing tile textures:



                                  // Before the WorldWind window displays (which triggers the data retrievers)
                                  // loop through the levels for each tiled image layer and mutate any level
                                  // constructed to use DDS to instead use JPG (best compression) or PNG (best
                                  // quality, but much larger files).
                                  String cacheFormat = "jpg"; // could load this via configuration file
                                  for (Layer layer : model.getLayers()) {
                                  if (layer instanceof BasicTiledImageLayer && ((BasicTiledImageLayer)layer).getTextureFormat() == null) {
                                  ((BasicTiledImageLayer)layer).setTextureFormat("image/" + cacheFormat);
                                  ((BasicTiledImageLayer)layer).setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                  ArrayList<Level> levels = ((BasicTiledImageLayer) layer).getLevels().getLevels();
                                  for (int i = 0; i < levels.size(); i++) {
                                  Level level = levels.get(i);
                                  if (level.getFormatSuffix().equals(".dds")) {
                                  AVList params = level.getParams();
                                  params.setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                  levels.set(i, new Level(params));
                                  }
                                  }
                                  }
                                  }





                                  share|improve this answer


























                                    0












                                    0








                                    0







                                    After the WorldWind model is created, and before the window is displayed, you can loop through all the layers and force them to not use DDS for storing tile textures:



                                    // Before the WorldWind window displays (which triggers the data retrievers)
                                    // loop through the levels for each tiled image layer and mutate any level
                                    // constructed to use DDS to instead use JPG (best compression) or PNG (best
                                    // quality, but much larger files).
                                    String cacheFormat = "jpg"; // could load this via configuration file
                                    for (Layer layer : model.getLayers()) {
                                    if (layer instanceof BasicTiledImageLayer && ((BasicTiledImageLayer)layer).getTextureFormat() == null) {
                                    ((BasicTiledImageLayer)layer).setTextureFormat("image/" + cacheFormat);
                                    ((BasicTiledImageLayer)layer).setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                    ArrayList<Level> levels = ((BasicTiledImageLayer) layer).getLevels().getLevels();
                                    for (int i = 0; i < levels.size(); i++) {
                                    Level level = levels.get(i);
                                    if (level.getFormatSuffix().equals(".dds")) {
                                    AVList params = level.getParams();
                                    params.setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                    levels.set(i, new Level(params));
                                    }
                                    }
                                    }
                                    }





                                    share|improve this answer













                                    After the WorldWind model is created, and before the window is displayed, you can loop through all the layers and force them to not use DDS for storing tile textures:



                                    // Before the WorldWind window displays (which triggers the data retrievers)
                                    // loop through the levels for each tiled image layer and mutate any level
                                    // constructed to use DDS to instead use JPG (best compression) or PNG (best
                                    // quality, but much larger files).
                                    String cacheFormat = "jpg"; // could load this via configuration file
                                    for (Layer layer : model.getLayers()) {
                                    if (layer instanceof BasicTiledImageLayer && ((BasicTiledImageLayer)layer).getTextureFormat() == null) {
                                    ((BasicTiledImageLayer)layer).setTextureFormat("image/" + cacheFormat);
                                    ((BasicTiledImageLayer)layer).setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                    ArrayList<Level> levels = ((BasicTiledImageLayer) layer).getLevels().getLevels();
                                    for (int i = 0; i < levels.size(); i++) {
                                    Level level = levels.get(i);
                                    if (level.getFormatSuffix().equals(".dds")) {
                                    AVList params = level.getParams();
                                    params.setValue(AVKey.FORMAT_SUFFIX, "." + cacheFormat);
                                    levels.set(i, new Level(params));
                                    }
                                    }
                                    }
                                    }






                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered Feb 28 at 12:59









                                    Mark PuzzoMark Puzzo

                                    1




                                    1






























                                        draft saved

                                        draft discarded




















































                                        Thanks for contributing an answer to Ask Ubuntu!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid



                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.


                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function () {
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f181198%2fdxtn-texture-support-no-enable-s3tc-option%23new-answer', 'question_page');
                                        }
                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

                                        Mangá

                                        Eduardo VII do Reino Unido