The graphics card only understands points, lines or triangles (quads are split in two triangles internally). So yes, if you work with a low-level entity such as the vertex array, you'll have to split your geometry into triangles.
Another solution is to use a higher-level class:
- sf::ConvexShape if your shape is convex
- thor::ConcaveShape otherwise