#pragma once struct SpriteComponent { public: void* texture; // void* to abstract Texture2D void Render(float x, float y) const; }; // Usage: // SpriteComponent sprite; // sprite.texture = static_cast(&your_texture);