Переглянути джерело

Merge pull request #931 from BeamNG/terrain_layer_format

Set correct terrain layer texture format.
LuisAntonRebollo 10 роки тому
батько
коміт
9c66aa0681

+ 1 - 0
Engine/source/gfx/D3D9/gfxD3D9TextureManager.cpp

@@ -450,6 +450,7 @@ bool GFXD3D9TextureManager::_loadTexture( GFXTextureObject *inTex, void *raw )
          break;
       case GFXFormatR8G8B8A8:
       case GFXFormatR8G8B8X8:
+      case GFXFormatB8G8R8A8:
          bytesPerPix = 4;
          break;
    }

+ 1 - 0
Engine/source/gfx/D3D9/pc/gfxD3D9EnumTranslate.pc.cpp

@@ -87,6 +87,7 @@ void GFXD3D9EnumTranslate::init()
    GFXD3D9TextureFormat[GFXFormatR8G8B8] = D3DFMT_R8G8B8;
    GFXD3D9TextureFormat[GFXFormatR8G8B8A8] = D3DFMT_A8R8G8B8;
    GFXD3D9TextureFormat[GFXFormatR8G8B8X8] = D3DFMT_X8R8G8B8;
+   GFXD3D9TextureFormat[GFXFormatB8G8R8A8] = D3DFMT_A8R8G8B8;
    GFXD3D9TextureFormat[GFXFormatR5G6B5] = D3DFMT_R5G6B5;
    GFXD3D9TextureFormat[GFXFormatR5G5B5A1] = D3DFMT_A1R5G5B5;
    GFXD3D9TextureFormat[GFXFormatR5G5B5X1] = D3DFMT_X1R5G5B5;

+ 1 - 0
Engine/source/gfx/gfxEnums.h

@@ -181,6 +181,7 @@ enum GFXFormat
    // 32 bit texture formats...
    GFXFormatR8G8B8A8,// first in group...
    GFXFormatR8G8B8X8,
+   GFXFormatB8G8R8A8,
    GFXFormatR32F,
    GFXFormatR16G16,
    GFXFormatR16G16F,

+ 1 - 1
Engine/source/terrain/terrRender.cpp

@@ -113,7 +113,7 @@ void TerrainBlock::_updateLayerTexture()
    if (  mLayerTex.isNull() ||
          mLayerTex.getWidth() != layerSize ||
          mLayerTex.getHeight() != layerSize )
-      mLayerTex.set( layerSize, layerSize, GFXFormatR8G8B8A8, &TerrainLayerTexProfile, "" );
+      mLayerTex.set( layerSize, layerSize, GFXFormatB8G8R8A8, &TerrainLayerTexProfile, "" );
 
    AssertFatal(   mLayerTex.getWidth() == layerSize &&
                   mLayerTex.getHeight() == layerSize,