al2950's commit was in May 2019, then there were several other changes to Ogre. The biggest change should be the "deprecated" one (which caused OgrePixelBox.h to be removed in my version, and mTmpData changed to Ogre::uint8*), so it's normal that you can't compile
Anyway, I'm attaching my personal changes after May 2019 (actually the first change happened in Sept. 2019). Since the diff is based on my version, not al2950, there maybe it's not 100% applicable to your case, so you need to make some adjustments.
Also, the diff looks long because part of my modification is to remove Ogre 2.1 support, but if you look at it carefully it should be easy to understand
Code: Select all
.../Ogre2Platform/include/MyGUI_Ogre2Platform.h | 4 -
.../Ogre2Platform/include/MyGUI_Ogre2RTTexture.h | 10 -
.../include/MyGUI_Ogre2RenderManager.h | 34 ----
.../Ogre2Platform/include/MyGUI_Ogre2Texture.h | 32 +--
.../include/MyGUI_Ogre2VertexBuffer.h | 1 -
.../Ogre2Platform/src/MyGUI_Ogre2RTTexture.cpp | 34 +---
.../Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp | 44 +----
.../Ogre2/Ogre2Platform/src/MyGUI_Ogre2Texture.cpp | 215 +--------------------
8 files changed, 11 insertions(+), 363 deletions(-)
diff --git a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Platform.h b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Platform.h
index 88bd536..f176f6b 100644
--- a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Platform.h
+++ b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Platform.h
@@ -42,11 +42,7 @@ namespace MyGUI
delete mLogManager;
}
-#if OGRE_VERSION_MINOR < 2
- void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene, const std::string& _group = Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, const std::string& _logName = MYGUI_PLATFORM_LOG_FILENAME)
-#else
void initialise(Ogre::Window* _window, Ogre::SceneManager* _scene, const std::string& _group = Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, const std::string& _logName = MYGUI_PLATFORM_LOG_FILENAME)
-#endif
{
assert(!mIsInitialise);
mIsInitialise = true;
diff --git a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RTTexture.h b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RTTexture.h
index b592306..ea4f59d 100644
--- a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RTTexture.h
+++ b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RTTexture.h
@@ -21,11 +21,7 @@ namespace MyGUI
public IRenderTarget
{
public:
-#if OGRE_VERSION_MINOR < 2
- Ogre2RTTexture(Ogre::TexturePtr _texture);
-#else
Ogre2RTTexture(Ogre::TextureGpu* _texture);
-#endif
virtual ~Ogre2RTTexture();
virtual void begin();
@@ -40,15 +36,9 @@ namespace MyGUI
private:
RenderTargetInfo mRenderTargetInfo;
-#if OGRE_VERSION_MINOR < 2
- Ogre::Viewport* mViewport;
- Ogre::Viewport* mSaveViewport;
- Ogre::TexturePtr mTexture;
-#else
Ogre::RenderPassDescriptor* mRenderPassDesc;
Ogre::RenderPassDescriptor* mSaveRenderPassDesc;
Ogre::TextureGpu* mTexture;
-#endif
Ogre::Matrix4 mProjectMatrix;
};
diff --git a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RenderManager.h b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RenderManager.h
index da00bce..dde2641 100644
--- a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RenderManager.h
+++ b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2RenderManager.h
@@ -41,13 +41,8 @@ namespace MyGUI
class MyGUIPass : public Ogre::CompositorPass
{
public:
-#if OGRE_VERSION_MINOR < 2
- MyGUIPass(const Ogre::CompositorPassDef *definition, const Ogre::CompositorChannel &target,
- Ogre::CompositorNode *parentNode);
-#else
MyGUIPass(const Ogre::CompositorPassDef *definition, const Ogre::RenderTargetViewDef* rtv,
Ogre::CompositorNode *parentNode);
-#endif
virtual void execute(const Ogre::Camera *lodCameraconst);
};
@@ -68,21 +63,12 @@ namespace MyGUI
return OGRE_NEW MyGUI::MyGUIPassDef(parentTargetDef);
}
-#if OGRE_VERSION_MINOR < 2
- Ogre::CompositorPass* addPass(const Ogre::CompositorPassDef *definition, Ogre::Camera *defaultCamera,
- Ogre::CompositorNode *parentNode, const Ogre::CompositorChannel &target,
- Ogre::SceneManager *sceneManager)
- {
- return OGRE_NEW MyGUI::MyGUIPass(definition, target, parentNode);
- }
-#else
Ogre::CompositorPass* addPass(const Ogre::CompositorPassDef *definition, Ogre::Camera *defaultCamera,
Ogre::CompositorNode *parentNode, const Ogre::RenderTargetViewDef* rtv,
Ogre::SceneManager *sceneManager)
{
return OGRE_NEW MyGUI::MyGUIPass(definition, rtv, parentNode);
}
-#endif
static Ogre::IdString mPassId;
};
@@ -100,11 +86,7 @@ namespace MyGUI
// FrameListener
bool frameStarted(const Ogre::FrameEvent &evt);
-#if OGRE_VERSION_MINOR < 2
- void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene);
-#else
void initialise(Ogre::Window* _window, Ogre::SceneManager* _scene);
-#endif
void shutdown();
static Ogre2RenderManager& getInstance();
@@ -145,21 +127,13 @@ namespace MyGUI
void setRenderSystem(Ogre::RenderSystem* _render);
Ogre::RenderSystem* getRenderSystem();
-#if OGRE_VERSION_MINOR < 2
- void setRenderWindow(Ogre::RenderWindow* _window);
-#else
void setRenderWindow(Ogre::Window* _window);
-#endif
/** Set scene manager where MyGUI will be rendered */
void setSceneManager(Ogre::SceneManager* _scene);
Ogre::SceneManager* getSceneManager();
-#if OGRE_VERSION_MINOR < 2
- Ogre::RenderWindow* getRenderWindow();
-#else
Ogre::Window* getRenderWindow();
-#endif
bool getManualRender();
void setManualRender(bool _value);
@@ -173,11 +147,7 @@ namespace MyGUI
#endif
private:
-#if OGRE_VERSION_MINOR < 2
- virtual void windowResized(Ogre::RenderWindow* _window);
-#else
virtual void windowResized(Ogre::Window* _window);
-#endif
// восстанавливаем буферы
virtual void eventOccurred(const Ogre::String& eventName, const Ogre::NameValuePairList* parameters);
@@ -196,11 +166,7 @@ namespace MyGUI
VertexColourType mVertexFormat;
// окно, на которое мы подписываемся для изменения размеров
-#if OGRE_VERSION_MINOR < 2
- Ogre::RenderWindow* mWindow;
-#else
Ogre::Window* mWindow;
-#endif
Ogre::RenderSystem* mRenderSystem;
diff --git a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Texture.h b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Texture.h
index cd2eb2c..80b08b6 100644
--- a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Texture.h
+++ b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Texture.h
@@ -15,8 +15,6 @@
#include <Ogre.h>
#include <OgreResource.h>
-#include <OgreTexture.h>
-#include <OgrePixelBox.h>
#include <OgreSharedPtr.h>
#include <OgreHlms.h>
@@ -25,9 +23,7 @@
#include <OgreHlmsManager.h>
#include <Hlms/Unlit/OgreHlmsUnlitDatablock.h>
-#if OGRE_VERSION_MINOR > 1
#include "OgrePixelFormatGpu.h"
-#endif
#include "MyGUI_LastHeader.h"
@@ -119,27 +115,14 @@ namespace MyGUI
virtual IRenderTarget* getRenderTarget();
- static Ogre::TextureUsage convertUsage(TextureUsage _usage);
-#if OGRE_VERSION_MINOR > 1
static Ogre::PixelFormatGpu convertFormat(PixelFormat _format);
-#else
- static Ogre::PixelFormat convertFormat(PixelFormat _format);
-#endif
/*internal:*/
-#if OGRE_VERSION_MINOR > 1
Ogre::TextureGpu* getOgreTexture()
-#else
- Ogre::TexturePtr getOgreTexture()
-#endif
{
return mTexture;
}
-#if OGRE_VERSION_MINOR > 1
void setOgreTexture(Ogre::TextureGpu* _value)
-#else
- void setOgreTexture(Ogre::TexturePtr _value)
-#endif
{
mTexture = _value;
}
@@ -153,18 +136,10 @@ namespace MyGUI
virtual void loadResource(Ogre::Resource* resource);
-#if OGRE_VERSION_MINOR > 1
void setDataBlockTexture(Ogre::TextureGpu* _value);
-#else
- void setDataBlockTexture(Ogre::TexturePtr _value);
-#endif
private:
-#if OGRE_VERSION_MINOR > 1
Ogre::TextureGpu* mTexture;
-#else
- Ogre::TexturePtr mTexture;
-#endif
std::string mName;
std::string mGroup;
@@ -172,16 +147,11 @@ namespace MyGUI
PixelFormat mOriginalFormat;
size_t mNumElemBytes;
-#if OGRE_VERSION_MINOR > 1
Ogre::PixelFormatGpu mPixelFormat;
-#else
- Ogre::PixelFormat mPixelFormat;
-#endif
- Ogre::TextureUsage mUsage;
ITextureInvalidateListener* mListener;
IRenderTarget* mRenderTarget;
- Ogre::PixelBox mTmpData;
+ Ogre::uint8* mTmpData;
Ogre::HlmsUnlitDatablock* mDataBlock;
diff --git a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2VertexBuffer.h b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2VertexBuffer.h
index 912597c..a13fa2c 100644
--- a/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2VertexBuffer.h
+++ b/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2VertexBuffer.h
@@ -15,7 +15,6 @@
#include <OgrePrerequisites.h>
#include <OgreRenderOperation.h>
#include <OgreRenderSystem.h>
-#include <OgreTextureManager.h>
#include <OgreTextureUnitState.h>
#include "MyGUI_LastHeader.h"
diff --git a/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RTTexture.cpp b/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RTTexture.cpp
index 72a57b5..bf77ff0 100644
--- a/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RTTexture.cpp
+++ b/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RTTexture.cpp
@@ -8,22 +8,14 @@
#include "MyGUI_Ogre2RTTexture.h"
#include "MyGUI_Ogre2RenderManager.h"
-#if OGRE_VERSION_MINOR > 1
#include "OgreTextureGpu.h"
-#endif
namespace MyGUI
{
-#if OGRE_VERSION_MINOR < 2
- Ogre2RTTexture::Ogre2RTTexture(Ogre::TexturePtr _texture) :
- mViewport(nullptr),
- mSaveViewport(nullptr),
-#else
Ogre2RTTexture::Ogre2RTTexture(Ogre::TextureGpu* _texture) :
mRenderPassDesc(nullptr),
mSaveRenderPassDesc(nullptr),
-#endif
mTexture(_texture)
{
mProjectMatrix = Ogre::Matrix4::IDENTITY;
@@ -44,11 +36,7 @@ namespace MyGUI
mRenderTargetInfo.pixScaleY = 1.0f / float(height);
}
-#if OGRE_VERSION_MINOR < 2
- if (mTexture->getBuffer()->getRenderTarget()->requiresTextureFlipping())
-#else
if (mTexture->requiresTextureFlipping())
-#endif
{
mProjectMatrix[1][0] = -mProjectMatrix[1][0];
mProjectMatrix[1][1] = -mProjectMatrix[1][1];
@@ -64,21 +52,6 @@ namespace MyGUI
void Ogre2RTTexture::begin()
{
-#if OGRE_VERSION_MINOR < 2
- Ogre::RenderTexture* rtt = mTexture->getBuffer()->getRenderTarget();
-
- if (mViewport == nullptr)
- {
- mViewport = rtt->addViewport();
- mViewport->setOverlaysEnabled(false);
- }
-
- Ogre::RenderSystem* system = Ogre::Root::getSingleton().getRenderSystem();
- system->_setProjectionMatrix(mProjectMatrix);
- mSaveViewport = system->_getViewport();
- system->_setViewport(mViewport);
- system->clearFrameBuffer(Ogre::FBT_COLOUR, Ogre::ColourValue::ZERO);
-#else
Ogre::RenderSystem* system = Ogre::Root::getSingleton().getRenderSystem();
if (mRenderPassDesc == nullptr)
{
@@ -100,18 +73,13 @@ namespace MyGUI
//mSaveRenderPassDesc = system->getCurrentPassDescriptor();
Ogre::Vector4 viewportSize(0, 0, 1, 1);
Ogre::Vector4 scissors(0, 0, 1, 1);
- system->beginRenderPassDescriptor(mRenderPassDesc, mTexture, 0, viewportSize, scissors, false, false);
-#endif
+ system->beginRenderPassDescriptor(mRenderPassDesc, mTexture, 0, &viewportSize, &scissors, 1, false, false);
}
void Ogre2RTTexture::end()
{
Ogre::RenderSystem* system = Ogre::Root::getSingleton().getRenderSystem();
-#if OGRE_VERSION_MINOR < 2
- system->_setViewport(mSaveViewport);
-#else
// no need to restore RenderPassDesc
-#endif
#if OGRE_VERSION >= MYGUI_DEFINE_VERSION(1, 7, 0) && OGRE_NO_VIEWPORT_ORIENTATIONMODE == 0
Ogre::OrientationMode orient = mSaveViewport->getOrientationMode();
system->_setProjectionMatrix(Ogre::Matrix4::IDENTITY * Ogre::Quaternion(Ogre::Degree(orient * 90.f), Ogre::Vector3::UNIT_Z));
diff --git a/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp b/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp
index f202ef0..8b5c421 100644
--- a/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp
+++ b/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp
@@ -14,31 +14,21 @@
#include <Compositor/OgreCompositorManager2.h>
-#if OGRE_VERSION_MINOR > 1
#include "OgreTextureGpu.h"
#include "OgreTextureGpuManager.h"
#include "OgreWindow.h"
-#endif
namespace MyGUI
{
const Ogre::uint8 Ogre2RenderManager::RENDER_QUEUE_OVERLAY = 254;
Ogre::IdString OgreCompositorPassProvider::mPassId = Ogre::IdString("MYGUI");
-#if OGRE_VERSION_MINOR < 2
- MyGUIPass::MyGUIPass(const Ogre::CompositorPassDef *definition, const Ogre::CompositorChannel &target,
- Ogre::CompositorNode *parentNode)
- : Ogre::CompositorPass(definition, target, parentNode)
- {
- }
-#else
MyGUIPass::MyGUIPass(const Ogre::CompositorPassDef *definition, const Ogre::RenderTargetViewDef* rtv,
Ogre::CompositorNode *parentNode)
: Ogre::CompositorPass(definition, parentNode)
{
this->initialize(rtv);
}
-#endif
void MyGUIPass::execute(const Ogre::Camera *lodCameraconst)
{
@@ -65,11 +55,7 @@ namespace MyGUI
{
}
-#if OGRE_VERSION_MINOR < 2
- void Ogre2RenderManager::initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene)
-#else
void Ogre2RenderManager::initialise(Ogre::Window* _window, Ogre::SceneManager* _scene)
-#endif
{
MYGUI_PLATFORM_ASSERT(!mIsInitialise, getClassTypeName() << " initialised twice");
MYGUI_PLATFORM_LOG(Info, "* Initialise: " << getClassTypeName());
@@ -169,11 +155,7 @@ namespace MyGUI
return mRenderSystem;
}
-#if OGRE_VERSION_MINOR < 2
- void Ogre2RenderManager::setRenderWindow(Ogre::RenderWindow* _window)
-#else
void Ogre2RenderManager::setRenderWindow(Ogre::Window* _window)
-#endif
{
// отписываемся
if (mWindow != nullptr)
@@ -239,6 +221,7 @@ namespace MyGUI
//This will add renderbles to the Ogre render queue
onRenderToTarget(this, mUpdate);
+ mSceneManager->getRenderQueue()->renderPassPrepare(false, false);
mSceneManager->getRenderQueue()->render(mSceneManager->getDestinationRenderSystem(), RENDER_QUEUE_OVERLAY, RENDER_QUEUE_OVERLAY+1, false, false);
// сбрасываем флаг
@@ -268,11 +251,7 @@ namespace MyGUI
}
// для оповещений об изменении окна рендера
-#if OGRE_VERSION_MINOR < 2
- void Ogre2RenderManager::windowResized(Ogre::RenderWindow* _window)
-#else
void Ogre2RenderManager::windowResized(Ogre::Window* _window)
-#endif
{
mViewSize.set(_window->getWidth(), _window->getHeight());
@@ -342,15 +321,6 @@ namespace MyGUI
MapTexture::const_iterator item = mTextures.find(_name);
if (item == mTextures.end())
{
-#if OGRE_VERSION_MINOR < 2
- Ogre::TexturePtr texture = (Ogre::TexturePtr)Ogre::TextureManager::getSingleton().getByName(_name);
- if (!texture.isNull())
- {
- ITexture* result = createTexture(_name);
- static_cast<Ogre2Texture*>(result)->setOgreTexture(texture);
- return result;
- }
-#else
Ogre::TextureGpuManager *textureMgr = Ogre::Root::getSingletonPtr()->getRenderSystem()->getTextureGpuManager();
const Ogre::String* name = textureMgr->findResourceNameStr(_name);
if (name) {
@@ -365,7 +335,6 @@ namespace MyGUI
static_cast<Ogre2Texture*>(result)->setOgreTexture(texture);
return result;
}
-#endif
return nullptr;
}
return item->second;
@@ -373,15 +342,8 @@ namespace MyGUI
bool Ogre2RenderManager::isFormatSupported(PixelFormat _format, TextureUsage _usage)
{
-#if OGRE_VERSION_MINOR == 1
- return Ogre::TextureManager::getSingleton().isFormatSupported(
- Ogre::TEX_TYPE_2D,
- Ogre2Texture::convertFormat(_format),
- Ogre2Texture::convertUsage(_usage));
-#else
if (_format == PixelFormat::L8A8) return false; // 不支持!
return true; // FIXME
-#endif
}
void Ogre2RenderManager::destroyAllResources()
@@ -425,11 +387,7 @@ namespace MyGUI
return mInfo;
}
-#if OGRE_VERSION_MINOR < 2
- Ogre::RenderWindow* Ogre2RenderManager::getRenderWindow()
-#else
Ogre::Window* Ogre2RenderManager::getRenderWindow()
-#endif
{
return mWindow;
}
diff --git a/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2Texture.cpp b/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2Texture.cpp
index 93ae03a..e998133 100644
--- a/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2Texture.cpp
+++ b/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2Texture.cpp
@@ -14,13 +14,11 @@
#include "MyGUI_LastHeader.h"
-#if OGRE_VERSION_MINOR > 1
#include "OgreTextureGpu.h"
#include "OgreTextureGpuManager.h"
#include "OgrePixelFormatGpu.h"
#include "OgrePixelFormatGpuUtils.h"
#include "OgreStagingTexture.h"
-#endif
namespace MyGUI
{
@@ -29,16 +27,11 @@ namespace MyGUI
mName(_name),
mGroup(_group),
mNumElemBytes(0),
-#if OGRE_VERSION_MINOR == 1
- mPixelFormat(Ogre::PF_UNKNOWN),
-#else
mPixelFormat(Ogre::PixelFormatGpu::PFG_UNKNOWN),
-#endif
- mUsage(Ogre::TU_DEFAULT),
mListener(nullptr),
mRenderTarget(nullptr)
{
- mTmpData.data = nullptr;
+ mTmpData = nullptr;
mDataBlock = HLMS_BLOCKS.createUnlitDataBlock(_name);
}
@@ -56,13 +49,6 @@ namespace MyGUI
void Ogre2Texture::saveToFile(const std::string& _filename)
{
Ogre::uchar* readrefdata = static_cast<Ogre::uchar*>(lock(TextureUsage::Read));
-#if OGRE_VERSION_MINOR == 1
- Ogre::Image img;
- img = img.loadDynamicImage(readrefdata, mTexture->getWidth(), mTexture->getHeight(), mTexture->getFormat());
- img.save(_filename);
-#else
-#endif
-
unlock();
}
@@ -73,31 +59,17 @@ namespace MyGUI
void Ogre2Texture::destroy()
{
- if (mTmpData.data != nullptr)
- {
- delete [] (uint8*)mTmpData.data;
- mTmpData.data = nullptr;
- }
-
if (mRenderTarget != nullptr)
{
delete mRenderTarget;
mRenderTarget = nullptr;
}
-#if OGRE_VERSION_MINOR == 1
- if (!mTexture.isNull())
- {
- Ogre::TextureManager::getSingleton().remove(mTexture->getName());
- mTexture.setNull();
- }
-#else
if (mTexture)
{
Ogre::TextureGpuManager *textureMgr = Ogre::Root::getSingletonPtr()->getRenderSystem()->getTextureGpuManager();
textureMgr->destroyTexture(mTexture);
mTexture = nullptr;
}
-#endif
}
int Ogre2Texture::getWidth()
@@ -112,63 +84,29 @@ namespace MyGUI
void* Ogre2Texture::lock(TextureUsage _access)
{
-#if OGRE_VERSION_MINOR == 1
- if (_access == TextureUsage::Write)
- {
- return mTexture->getBuffer()->lock(Ogre::v1::HardwareBuffer::HBL_DISCARD);
- }
-
- // здесь проверить режим создания, и возможно так залочить без пиксель бокса
-
- // для чтения копируем в пиксель бокс
- if (mTmpData.data != nullptr)
- {
- delete [] (uint8*)mTmpData.data;
- mTmpData.data = nullptr;
- }
-
- mTmpData = Ogre::PixelBox(mTexture->getWidth(), mTexture->getHeight(), mTexture->getDepth(), mTexture->getFormat());
- mTmpData.data = new uint8[mTexture->getBuffer()->getSizeInBytes()];
-
- mTexture->getBuffer()->blitToMemory(mTmpData);
-
- return mTmpData.data;
-#else
if (_access == TextureUsage::Write) {
const uint32 rowAlignment = 4u;
const size_t dataSize = Ogre::PixelFormatGpuUtils::getSizeBytes(mTexture->getWidth(), mTexture->getHeight(), 1u, 1u,
mTexture->getPixelFormat(),
rowAlignment);
uint8 *imageData = reinterpret_cast<uint8*>(OGRE_MALLOC_SIMD(dataSize, Ogre::MEMCATEGORY_RESOURCE));
- mTmpData.data = imageData;
- return mTmpData.data;
+ mTmpData = imageData;
+ return mTmpData;
}
else {
// FIXME
return nullptr;
}
-#endif
}
void Ogre2Texture::unlock()
{
-#if OGRE_VERSION_MINOR == 1
- if (mTexture->getBuffer()->isLocked())
- {
- mTexture->getBuffer()->unlock();
- }
- else if (mTmpData.data != nullptr)
- {
- delete [] (uint8*)mTmpData.data;
- mTmpData.data = nullptr;
- }
-#else
Ogre::TextureGpuManager *textureManager = Ogre::Root::getSingletonPtr()->getRenderSystem()->getTextureGpuManager();
- if (mTmpData.data != nullptr)
+ if (mTmpData != nullptr)
{
// write
- uint8 *imageData = reinterpret_cast<uint8*>(mTmpData.data);
+ uint8 *imageData = reinterpret_cast<uint8*>(mTmpData);
const size_t bytesPerRow = mTexture->_getSysRamCopyBytesPerRow(0);
mTexture->_transitionTo(Ogre::GpuResidency::Resident, imageData);
@@ -187,69 +125,17 @@ namespace MyGUI
stagingTexture = 0;
OGRE_FREE_SIMD(imageData, Ogre::MEMCATEGORY_RESOURCE);
- mTmpData.data = nullptr;
+ mTmpData = nullptr;
mTexture->notifyDataIsReady();
}
-#endif
}
bool Ogre2Texture::isLocked()
{
-#if OGRE_VERSION_MINOR == 1
- return mTexture->getBuffer()->isLocked();
-#else
// FIXME
return false;
-#endif
- }
-
- Ogre::TextureUsage Ogre2Texture::convertUsage(TextureUsage _usage)
- {
- if (_usage == TextureUsage::Default)
- {
- return Ogre::TU_STATIC_WRITE_ONLY;
- }
- else if (_usage == TextureUsage::RenderTarget)
- {
- return Ogre::TU_RENDERTARGET;
- }
- else if (_usage.isValue(TextureUsage::Static))
- {
- if (_usage.isValue(TextureUsage::Write))
- {
- return Ogre::TU_STATIC_WRITE_ONLY;
- }
- else
- {
- return Ogre::TU_STATIC;
- }
- }
- else if (_usage.isValue(TextureUsage::Dynamic))
- {
- if (_usage.isValue(TextureUsage::Write))
- {
- return Ogre::TU_DYNAMIC_WRITE_ONLY;
- }
- else
- {
- return Ogre::TU_DYNAMIC;
- }
- }
- else if (_usage.isValue(TextureUsage::Stream))
- {
- if (_usage.isValue(TextureUsage::Write))
- {
- return Ogre::TU_DYNAMIC_WRITE_ONLY_DISCARDABLE;
- }
- else
- {
- return Ogre::TU_DYNAMIC;
- }
- }
- return Ogre::TU_DEFAULT;
}
-#if OGRE_VERSION_MINOR > 1
Ogre::PixelFormatGpu Ogre2Texture::convertFormat(PixelFormat _format)
{
if (_format == PixelFormat::L8) return Ogre::PixelFormatGpu::PFG_R8_UNORM;
@@ -259,17 +145,6 @@ namespace MyGUI
return Ogre::PixelFormatGpu::PFG_UNKNOWN;
}
-#else
- Ogre::PixelFormat Ogre2Texture::convertFormat(PixelFormat _format)
- {
- if (_format == PixelFormat::L8) return Ogre::PF_BYTE_L;
- else if (_format == PixelFormat::L8A8) return Ogre::PF_BYTE_LA;
- else if (_format == PixelFormat::R8G8B8) return Ogre::PF_R8G8B8;
- else if (_format == PixelFormat::R8G8B8A8) return Ogre::PF_A8R8G8B8;
-
- return Ogre::PF_UNKNOWN;
- }
-#endif
void Ogre2Texture::setFormat(PixelFormat _format)
{
@@ -286,28 +161,13 @@ namespace MyGUI
void Ogre2Texture::setUsage(TextureUsage _usage)
{
mOriginalUsage = _usage;
- mUsage = convertUsage(_usage);
+ //mUsage = convertUsage(_usage);
}
void Ogre2Texture::createManual(int _width, int _height, TextureUsage _usage, PixelFormat _format)
{
setFormat(_format);
setUsage(_usage);
-#if OGRE_VERSION_MINOR == 1
- mTexture = Ogre::TextureManager::getSingleton().createManual(
- mName,
- mGroup,
- Ogre::TEX_TYPE_2D,
- _width,
- _height,
- 0,
- mPixelFormat,
- mUsage,
- this,
- true);
-
- mTexture->load();
-#else
uint32 textureFlags = 0; // Ogre::TextureFlags::PrefersLoadingFromFileAsSRGB
if (_usage.isValue(TextureUsage::RenderTarget)) {
textureFlags |= Ogre::TextureFlags::RenderToTexture;
@@ -335,8 +195,6 @@ namespace MyGUI
mTexture->_setNextResidencyStatus(Ogre::GpuResidency::Resident);
}
}
-
-#endif
setDataBlockTexture(mTexture);
}
@@ -344,13 +202,8 @@ namespace MyGUI
{
setUsage(TextureUsage::Default);
- Ogre::TextureManager* manager = Ogre::TextureManager::getSingletonPtr();
-
-#if OGRE_VERSION_MINOR > 1
bool needLoadTexture = false;
-#endif
-
- if ( !manager->resourceExists(_filename) )
+ if ( false )
{
DataManager& resourcer = DataManager::getInstance();
if (!resourcer.isDataExist(_filename))
@@ -359,23 +212,14 @@ namespace MyGUI
}
else
{
-#if OGRE_VERSION_MINOR == 1
- mTexture = manager->load(_filename, mGroup, Ogre::TEX_TYPE_2D, 0, 1.0f, false, Ogre::PF_UNKNOWN, true);
-#else
needLoadTexture = true;
-#endif
}
}
else
{
-#if OGRE_VERSION_MINOR == 1
- mTexture = manager->getByName(_filename);
-#else
needLoadTexture = true;
-#endif
}
-#if OGRE_VERSION_MINOR > 1
if (needLoadTexture) {
Ogre::TextureGpuManager *textureMgr = Ogre::Root::getSingletonPtr()->getRenderSystem()->getTextureGpuManager();
mTexture = textureMgr->createOrRetrieveTexture(
@@ -391,7 +235,6 @@ namespace MyGUI
mTexture->waitForData();
}
}
-#endif
setFormatByOgreTexture();
setDataBlockTexture(mTexture);
@@ -401,40 +244,6 @@ namespace MyGUI
{
mOriginalFormat = PixelFormat::Unknow;
mNumElemBytes = 0;
-#if OGRE_VERSION_MINOR == 1
- mPixelFormat = Ogre::PF_UNKNOWN;
- if (!mTexture.isNull())
- {
- mPixelFormat = mTexture->getFormat();
-
- if (mPixelFormat == Ogre::PF_BYTE_L)
- {
- mOriginalFormat = PixelFormat::L8;
- mNumElemBytes = 1;
- }
- else if (mPixelFormat == Ogre::PF_BYTE_LA)
- {
- mOriginalFormat = PixelFormat::L8A8;
- mNumElemBytes = 2;
- }
- else if (mPixelFormat == Ogre::PF_R8G8B8)
- {
- mOriginalFormat = PixelFormat::R8G8B8;
- mNumElemBytes = 3;
- }
- else if (mPixelFormat == Ogre::PF_A8R8G8B8)
- {
- mOriginalFormat = PixelFormat::R8G8B8A8;
- mNumElemBytes = 4;
- }
- else
- {
- mOriginalFormat = PixelFormat::Unknow;
- mNumElemBytes = Ogre::PixelUtil::getNumElemBytes(mPixelFormat);
- }
-
- }
-#else
mPixelFormat = Ogre::PixelFormatGpu::PFG_UNKNOWN;
if (mTexture)
{
@@ -467,7 +276,6 @@ namespace MyGUI
}
}
-#endif
}
void Ogre2Texture::loadResource(Ogre::Resource* resource)
@@ -484,17 +292,10 @@ namespace MyGUI
return mRenderTarget;
}
-#if OGRE_VERSION_MINOR > 1
void Ogre2Texture::setDataBlockTexture( Ogre::TextureGpu* _value )
{
mDataBlock->setTexture(TEXTURE_UNIT_NUMBER, _value);
}
-#else
- void Ogre2Texture::setDataBlockTexture(Ogre::TexturePtr _value)
- {
- mDataBlock->setTexture(TEXTURE_UNIT_NUMBER, 0, _value);
- }
-#endif
Ogre::HlmsDatablock* Ogre2Texture::getDataBlock()
{