diff --git a/Engine/source/T3D/assets/ImageAsset.h b/Engine/source/T3D/assets/ImageAsset.h index 927d8e03e..a4a32c199 100644 --- a/Engine/source/T3D/assets/ImageAsset.h +++ b/Engine/source/T3D/assets/ImageAsset.h @@ -48,6 +48,8 @@ #include #include "assetMacroHelpers.h" + +#include "gfx/gfxDevice.h" //----------------------------------------------------------------------------- class ImageAsset : public AssetBase { @@ -250,7 +252,8 @@ public: \ }\ else if (!m##name)\ {\ - Con::errorf("%s(%s)::_set%s() - Couldn't load image \"%s\"", macroText(className), getName(), macroText(name), _in);\ + if (GFX->getAdapterType() != NullDevice)\ + Con::errorf("%s(%s)::_set%s() - Couldn't load image \"%s\"", macroText(className), getName(), macroText(name), _in);\ return false;\ }\ return true;\ @@ -392,7 +395,8 @@ public: \ }\ else if (!m##name[index])\ {\ - Con::errorf("%s(%s)::_set%s(%i) - Couldn't load image \"%s\"", macroText(className), getName(), macroText(name), index, _in);\ + if (GFX->getAdapterType() != NullDevice)\ + Con::errorf("%s(%s)::_set%s(%i) - Couldn't load image \"%s\"", macroText(className), getName(), macroText(name), index, _in);\ return false; \ }\ return true;\ diff --git a/Engine/source/gfx/Null/gfxNullDevice.cpp b/Engine/source/gfx/Null/gfxNullDevice.cpp index 98f6c87e2..ea5d8b05d 100644 --- a/Engine/source/gfx/Null/gfxNullDevice.cpp +++ b/Engine/source/gfx/Null/gfxNullDevice.cpp @@ -87,8 +87,16 @@ GFXNullTextureObject::GFXNullTextureObject(GFXDevice * aDevice, GFXTextureProfil class GFXNullTextureManager : public GFXTextureManager { +public: + GFXTextureObject* createTexture(GBitmap* bmp, const String& resourceName, GFXTextureProfile* profile, bool deleteBmp) { return nullptr; } // _createNullTextureObject();} + GFXTextureObject* createTexture(DDSFile* dds, GFXTextureProfile* profile, bool deleteDDS) { return nullptr; } + GFXTextureObject* createTexture(const Torque::Path& path, GFXTextureProfile* profile) { return nullptr; } + GFXTextureObject* createTexture(U32 width, U32 height, void* pixels, GFXFormat format, GFXTextureProfile* profile) { return nullptr; } + GFXTextureObject* createTexture(U32 width, U32 height, U32 depth, GFXFormat format, GFXTextureProfile* profile, U32 numMipLevels = 1) { return nullptr; } + GFXTextureObject* createTexture(U32 width, U32 height, GFXFormat format, GFXTextureProfile* profile, U32 numMipLevels, S32 antialiasLevel) { return nullptr; } + GFXTextureObject* createCompositeTexture(GBitmap* bmp[4], U32 inputKey[4], const String& resourceName, GFXTextureProfile* profile, bool deleteBmp) { return nullptr; } protected: - virtual GFXTextureObject *_createTextureObject( U32 height, + GFXTextureObject *_createTextureObject( U32 height, U32 width, U32 depth, GFXFormat format, diff --git a/Engine/source/materials/processedShaderMaterial.cpp b/Engine/source/materials/processedShaderMaterial.cpp index b6d7be05c..ff8053e5f 100644 --- a/Engine/source/materials/processedShaderMaterial.cpp +++ b/Engine/source/materials/processedShaderMaterial.cpp @@ -295,6 +295,7 @@ void ProcessedShaderMaterial::_determineFeatures( U32 stageNum, MaterialFeatureData &fd, const FeatureSet &features ) { + if (GFX->getAdapterType() == NullDevice) return; PROFILE_SCOPE( ProcessedShaderMaterial_DetermineFeatures ); const F32 shaderVersion = GFX->getPixelShaderVersion(); diff --git a/Engine/source/renderInstance/renderDeferredMgr.cpp b/Engine/source/renderInstance/renderDeferredMgr.cpp index e598e9140..c8c65c280 100644 --- a/Engine/source/renderInstance/renderDeferredMgr.cpp +++ b/Engine/source/renderInstance/renderDeferredMgr.cpp @@ -593,6 +593,7 @@ void ProcessedDeferredMaterial::_determineFeatures( U32 stageNum, MaterialFeatureData &fd, const FeatureSet &features ) { + if (GFX->getAdapterType() == NullDevice) return; Parent::_determineFeatures( stageNum, fd, features ); if (fd.features.hasFeature(MFT_ForwardShading)) return;