Необходимо отделить типы данных, с которыми работает логика приложения от типов данных, предоставляемых графической прослойкой (например SFML или SDL). Такое абстрагирование и сегрегация сделает тестирование проще, а архитектуру чище.
Например есть объект и его надо отрисовать. Пусть это будет текст. Такая структура содержит текст и его позицию.
struct text {
vector2f pos;