Frage DXTn Textur-Unterstützung, keine "S3TC aktivieren ..." Option


Ich habe das gleiche Problem wie beschrieben Hier.

Ich suche nach Unterstützung für DXTn-Texturen. ich rannte worldwind im Terminal und bekam folgende Fehlermeldung:

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

Ich habe die vorgeschlagene Lösung ausprobiert Hier

sudo apt-get install driconf
driconf

Unter "Image Quality" ändern Sie "Enable S3TC ..." auf Yes. Sparen.


Das driconf Lösung hat das Problem nicht behoben. Auf der Registerkarte Bildqualität gab es keine Option "S3TC aktivieren".

Ich denke, ich benutze Nouveau-Treiber und frage mich, ob ich zum Nvidia-Treiber wechseln sollte?

  • Computer: Dell Precision M6400
  • Prozessor: Intel Core2 Duo CPU T9550 @ 2.66GHz × 2 Ubuntu: 12.0.4 LTS
  • Grafikkarte: NVIDIA Quadro FX 2700M
  • Grafik: Gallium 0,4 auf NV94

Irgendwelche Ideen?


4
2017-08-28 01:34


Ursprung




Antworten:


Guck mal: http://en.wikipedia.org/wiki/S3_Texture_Compression

Während S3 Graphics kein Konkurrent mehr in der Grafik ist   Beschleunigermarkt werden noch Lizenzgebühren erhoben und erhoben   die Verwendung von S3TC Technologie, zum Beispiel in Spielekonsolen und Grafiken   Karten. Der patentbehaftete Status von S3TC und seine breite Verwendung in   Software hat trotz nichtbehinderter Alternativen de facto   Voraussetzung für OpenGL-Treiber, um es zu unterstützen und präsentieren ein Major   Hindernis für Open-Source-Implementierungen.

Was erklärt, warum Nouveau Treiber es nicht unterstützt. Ich denke, Sie müssen zu den binären NVidia-Treibern wechseln.


3
2017-08-28 02:13





Andernfalls:

..und erzähl WorldWind S3-Texturkompression nicht zu verwenden (.dds Format), sondern PNG-Standardtexturformat.

Sie können das herunterladen Quellen (SDK 2.0 jetzt):

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

Übernehmen Sie dann die Änderungen an den aufgelisteten Quelldateien Hier und Hier.

Da diese Links etwas veraltet sind, sollten Sie noch einige Änderungen vornehmen, damit die WW2-Version funktioniert (siehe Anhang).

Danach können Sie Ihr neues erstellen worldwind.jar:

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

Ich habe es persönlich verifiziert, indem ich das SDK ausgeführt habe Netbeans.

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

HTH

ANHANG: Patch für 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)

1
2018-05-29 13:27