The scissor test is a fragment operation whereas clipping is a vertex operation.
Conceptually, yes, but guard-band clipping is pretty much a raster operation as well. So in practice the difference should be quite small. It might even be handled by the same hardware components (actually that's my question). :ninja:
Using scissors is also far more simple than resizing the viewport and adjusting the projection matrix =)
That's relative. But yeah I have the feeling they just added the scissoring concept to the API to make it a little easier to render to an area without scaling. Or it might just be a historical thing, when 3D geometry clipping was handled on the CPU but the graphics chip featured 'accelerated' 2D clipping (so you didn't have to implement a complex clipper in software just for some simple GUI work).
Anyway, I'd just like to know whether the two are in fact entirely redundant, or whether there is something that can't be done without having both? Or in other words, if an API didn't have scissoring, would it still be fully functional?
But yes, I believe you could achieve the same affect with that approach so long as you don't clear any buffers in the process.
Direct3D allows to clear just regions. For OpenGL it appears that setting the scissor rectangle is the only way to control clearing of smaller areas? But that's more of a legacy API limitation than a technical limitation...