summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.h184
2 files changed, 0 insertions, 184 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 2025912174c4cf99270b7439ec3b021e1d089ae
diff --git a/src/Runtime/ogl-runtime/src/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.h b/src/Runtime/ogl-runtime/src/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.h
deleted file mode 100644
index f0194000..00000000
--- a/src/Runtime/ogl-runtime/src/runtimerender/resourcemanager/Qt3DSRenderLoadedTexture.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2008-2012 NVIDIA Corporation.
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt 3D Studio.
-**
-** $QT_BEGIN_LICENSE:GPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 or (at your option) any later version
-** approved by the KDE Free Qt Foundation. The licenses are as published by
-** the Free Software Foundation and appearing in the file LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#pragma once
-#ifndef QT3DS_RENDER_LOADED_TEXTURE_H
-#define QT3DS_RENDER_LOADED_TEXTURE_H
-#include "Qt3DSRender.h"
-#include "foundation/Qt3DSSimpleTypes.h"
-#include "render/Qt3DSRenderBaseTypes.h"
-#include "Qt3DSRenderLoadedTextureDDS.h"
-#include "foundation/Qt3DSRefCounted.h"
-#include <QImage>
-
-namespace qt3ds {
-namespace foundation {
- class ISeekableIOStream;
- class IInStream;
-}
-}
-
-namespace qt3ds {
-namespace render {
-
- class IInputStreamFactory;
-
- struct STextureData
- {
- void *data;
- QT3DSU32 dataSizeInBytes;
- qt3ds::render::NVRenderTextureFormats::Enum format;
- STextureData()
- : data(NULL)
- , dataSizeInBytes(0)
- , format(qt3ds::render::NVRenderTextureFormats::Unknown)
- {
- }
- };
- struct ExtendedTextureFormats
- {
- enum Enum {
- NoExtendedFormat = 0,
- Palettized,
- CustomRGB,
- };
- };
- // Utility class used for loading image data from disk.
- // Supports jpg, png, and dds.
- struct SLoadedTexture : public NVReleasable
- {
- private:
- ~SLoadedTexture();
-
- public:
- NVAllocatorCallback &m_Allocator;
- QT3DSI32 width;
- QT3DSI32 height;
- QT3DSI32 components;
- void *data;
- QImage image;
- QT3DSU32 dataSizeInBytes;
- qt3ds::render::NVRenderTextureFormats::Enum format;
- Qt3DSDDSImage *dds;
- ExtendedTextureFormats::Enum m_ExtendedFormat;
- // Used for palettized images.
- void *m_Palette;
- QT3DSI32 m_CustomMasks[3];
- int m_BitCount;
- char8_t m_BackgroundColor[3];
- uint8_t *m_TransparencyTable;
- int32_t m_TransparentPaletteIndex;
-
- SLoadedTexture(NVAllocatorCallback &inAllocator)
- : m_Allocator(inAllocator)
- , width(0)
- , height(0)
- , components(0)
- , data(NULL)
- , image(0)
- , dataSizeInBytes(0)
- , format(qt3ds::render::NVRenderTextureFormats::RGBA8)
- , dds(NULL)
- , m_ExtendedFormat(ExtendedTextureFormats::NoExtendedFormat)
- , m_Palette(NULL)
- , m_BitCount(0)
- , m_TransparencyTable(NULL)
- , m_TransparentPaletteIndex(-1)
- {
- m_CustomMasks[0] = 0;
- m_CustomMasks[1] = 0;
- m_CustomMasks[2] = 0;
- m_BackgroundColor[0] = 0;
- m_BackgroundColor[1] = 0;
- m_BackgroundColor[2] = 0;
- }
- void setFormatFromComponents()
- {
- switch (components) {
- case 1: // undefined, but in this context probably luminance
- format = qt3ds::render::NVRenderTextureFormats::Luminance8;
- break;
- case 2:
- format = qt3ds::render::NVRenderTextureFormats::LuminanceAlpha8;
- break;
- case 3:
- format = qt3ds::render::NVRenderTextureFormats::RGB8;
- break;
-
- default:
- // fallthrough intentional
- case 4:
- format = qt3ds::render::NVRenderTextureFormats::RGBA8;
- break;
- }
- }
-
- void EnsureMultiplerOfFour(NVFoundationBase &inFoundation, const char *inPath);
- // Returns true if this image has a pixel less than 255.
- bool ScanForTransparency();
-
- // Be sure to call this or risk leaking an enormous amount of memory
- void release() override;
-
- // Not all video cards support dxt compression. Giving the last image allows
- // this object to potentially reuse the memory
- STextureData DecompressDXTImage(int inMipMapIdx, STextureData *inOptLastImage = NULL);
- void ReleaseDecompressedTexture(STextureData inImage);
-
- static SLoadedTexture *Load(const QString &inPath, NVFoundationBase &inAllocator,
- IInputStreamFactory &inFactory, bool inFlipY = true,
- NVRenderContextType renderContextType
- = NVRenderContextValues::NullContext, bool preferKTX = false);
- static SLoadedTexture *LoadDDS(IInStream &inStream, QT3DSI32 flipVertical,
- NVFoundationBase &fnd,
- NVRenderContextType renderContextType);
- static SLoadedTexture *LoadKTX(IInStream &inStream, QT3DSI32 flipVertical,
- NVFoundationBase &fnd,
- NVRenderContextType renderContextType);
- static SLoadedTexture *LoadBMP(ISeekableIOStream &inStream, bool inFlipY,
- NVFoundationBase &inFnd,
- NVRenderContextType renderContextType);
- static SLoadedTexture *LoadGIF(ISeekableIOStream &inStream, bool inFlipY,
- NVFoundationBase &inFnd,
- NVRenderContextType renderContextType);
- static SLoadedTexture *LoadHDR(ISeekableIOStream &inStream, NVFoundationBase &inFnd,
- NVRenderContextType renderContextType);
-
- static SLoadedTexture *LoadQImage(const QString &inPath, QT3DSI32 flipVertical,
- NVFoundationBase &fnd,
- NVRenderContextType renderContextType);
-
- private:
- // Implemented in the bmp loader.
- void FreeImagePostProcess(bool inFlipY);
- };
-}
-}
-
-#endif