README 1.2 KB

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