1234567891011121314151617181920212223 |
- When creating graphic libraries you most likely end up dealing with
- points and rectangles. If you're particularly unlucky, you may end
- up dealing with affine matrices and 2D transformations. If you're
- writing a graphic library with 3D transformations, though, you are
- going to hit the jackpot: 4x4 matrices, projections, transformations,
- vectors, and quaternions.
- Most of this stuff exists, in various forms, in other libraries,
- but it has the major drawback of coming along with the rest of those
- libraries, which may or may not be what you want. Those libraries
- are also available in various languages, as long as those languages
- are C++; again, it may or may not be something you want.
- For this reason, I decided to write the thinnest, smallest possible
- layer needed to write a canvas library; given its relative size, and
- the propensity for graphics libraries to have a pun in their name,
- I decided to call it Graphene.
- This library provides types and their relative API; it does not deal
- with windowing system surfaces, drawing, scene graphs, or input. You're
- supposed to do that yourself, in your own canvas implementation,
- which is the whole point of writing the library in the first place.
|