Suporte à textura DXTn, sem a opção “Ativar S3TC…”

4

Estou tendo o mesmo problema descrito aqui .

Estou procurando suporte para texturas DXTn. Eu corri worldwind no terminal e recebi a seguinte mensagem de erro:

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

Eu tentei a solução sugerida de aqui

sudo apt-get install driconf
driconf

Em "Qualidade de imagem", altere "Ativar S3TC ..." para Sim. Salvar.

A solução driconf não resolveu o problema. Não havia a opção "Ativar S3TC ..." na guia Qualidade da imagem.

Acho que estou usando o driver Nouveau e gostaria de saber se devo mudar para o driver da Nvidia?

  • Computador: Dell Precision M6400
  • Processador: CPU Intel® Core ™ 2 Duo T9550 @ 2.66GHz × 2 Ubuntu: 12.0.4 LTS
  • Placa de Vídeo: NVIDIA Quadro FX 2700M
  • Gráficos: Gálio 0,4 no NV94

Alguma idéia?

    
por Herb Miller 28.08.2012 / 03:34

2 respostas

3

Dê uma olhada: link

  

Enquanto a S3 Graphics não é mais uma concorrente nos gráficos   mercado de aceleradores, as taxas de licença ainda são cobradas e coletadas   o uso da tecnologia S3TC, por exemplo, em consoles de jogos e gráficos   cartões. O status onerado pela patente do S3TC e seu amplo uso em   software, apesar das alternativas não oneradas, levaram a uma   requisito para drivers OpenGL para apoiá-lo e apresentar um grande   obstáculo para implementações de código aberto .

O que explica porque o driver Nouveau não suporta isso. Eu acho que você precisa mudar para os drivers NVidia binários.

    
por Sergey 28.08.2012 / 04:13
1

Caso contrário:

.. e diga a WorldWind para não usar a compactação de textura S3 (formato .dds ), mas sim o formato de textura padrão PNG.

Você pode fazer o download das fontes (SDK 2.0 agora):

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

Em seguida, aplique as alterações nos arquivos de origem listados aqui e aqui .

Como esses links estão um pouco desatualizados, há mais algumas mudanças que você deve aplicar para que as coisas funcionem na versão do WW 2.0 (veja o apêndice).

Depois, você pode recriar seu novo worldwind.jar :

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

Eu pessoalmente verifiquei isso executando o SDK de Netbeans .

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

HTH

APÊNDICE: patch para o 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)
    
por Campa 29.05.2014 / 15:27