mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-09 20:58:31 +09:00
[Feat] (MG_State/TextureState): Stubs for unimplemented texture types.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
#include "MG_State/GLState/TextureState/TextureEnum.h"
|
||||
#include "TextureObject.h"
|
||||
|
||||
namespace MobileGL {
|
||||
namespace MG_State {
|
||||
namespace GLState {
|
||||
/* These texture types are not yet implemented:
|
||||
* TextureRectangle,
|
||||
* Texture2DMultisample,
|
||||
* TextureBuffer,
|
||||
* Texture1DArray,
|
||||
* Texture2DArray,
|
||||
* TextureCubeMapArray,
|
||||
* Texture2DMultisampleArray
|
||||
*/
|
||||
#define STUB_TEXTURE_OBJECT_CLASS_DEFINITION(className, texTarget, uploadTargets) \
|
||||
class className : public TextureObjectWithOneMipmap { \
|
||||
public: \
|
||||
explicit className(Uint externalIndex) : TextureObjectWithOneMipmap(texTarget, externalIndex) {} \
|
||||
const Vector<TextureUploadTarget>& GetUploadTargets() const override { return m_uploadTargets; } \
|
||||
\
|
||||
protected: \
|
||||
Uint GetIndexOfTextureUploadTarget(TextureUploadTarget target) const override { return 0; } \
|
||||
const Vector<TextureUploadTarget> m_uploadTargets = uploadTargets; \
|
||||
};
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObjectRectangle, TextureTarget::TextureRectangle,
|
||||
{TextureUploadTarget::TextureRectangle});
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObject2DMultisample, TextureTarget::Texture2DMultisample,
|
||||
{TextureUploadTarget::Texture2DMultisample});
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObjectBuffer, TextureTarget::TextureBuffer,
|
||||
{TextureUploadTarget::Unknown});
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObject1DArray, TextureTarget::Texture1DArray,
|
||||
{TextureUploadTarget::Texture1DArray});
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObject2DArray, TextureTarget::Texture2DArray,
|
||||
{TextureUploadTarget::Texture2D});
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObjectCubeMapArray, TextureTarget::TextureCubeMapArray,
|
||||
{TextureUploadTarget::CubeMapArray});
|
||||
|
||||
STUB_TEXTURE_OBJECT_CLASS_DEFINITION(TextureObject2DMultisampleArray,
|
||||
TextureTarget::Texture2DMultisampleArray,
|
||||
{TextureUploadTarget::Texture2DMultisampleArray});
|
||||
#undef STUB_TEXTURE_OBJECT_CLASS_DEFINITION
|
||||
|
||||
} // namespace GLState
|
||||
} // namespace MG_State
|
||||
} // namespace MobileGL
|
||||
Reference in New Issue
Block a user