In my career, I've dug through a number of scene graph renderer internals. Almost always, they claim to be "hardware independent" by abstracting the hardware, and then they go ahead and expose functions like "bindSecondTexture()" and "setAlphaBlendFunc()" to objects, and have objects "render" themselves by calling those functions.
Car Simulation Using the Open Dynamics Engine
I've put together a simple demo of a four-wheeled car using the ODE dynamics engine and some rather crude OpenGL graphics. It uses Hinge2 joints for the suspension, and additionally adds friction, damping, sway bar, inner and outer turn radius, and other controls to make the driving better and make the car not immediately flip over.