Usually in programs, if something is wrong with the input data, you can return an error code. Instead this library program uses assert() all over the place, which if left in will stop the program, if removed will leave it in a corrupted state. As a caller, I have no idea how to stop it doing this.
A library like this cannot be trusted if it will take down the program calling it. I have chucked all sorts of rubbish data at the GLU tesselator in my time and it has never crashed.
Usually in programs, if something is wrong with the input data, you can return an error code. Instead this library program uses assert() all over the place, which if left in will stop the program, if removed will leave it in a corrupted state. As a caller, I have no idea how to stop it doing this.
A library like this cannot be trusted if it will take down the program calling it. I have chucked all sorts of rubbish data at the GLU tesselator in my time and it has never crashed.