In general it's always about how easy it is to maintain and expand your code. Tomorrow you figure out that you don't like the graphics API you're using currently, and want to switch. Will you now have to go through all of your objects classes and change everything, or do you still just need to change your code in one central point of the project?
It depends on what your objects are really doing when you call render(). As long as they just wrap method calls around your graphics engine, it's completely fine, since logics <-> graphics distinction will still be given.
For example, if your render() methods are basically convenience-methods and look something like this:
void MyClass::render(const Graphics &g)
{
g.draw(this);
}
or
void MyClass::render()
{
mySprite->render();
}
or
void MyClass::render()
{
mySprite->UseShader(thatshader);
mySprite->render();
}
or close to that, I don't think it's a problem whatsoever.