diff options
Diffstat (limited to 'graphics/graphene/README')
-rw-r--r-- | graphics/graphene/README | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/graphics/graphene/README b/graphics/graphene/README new file mode 100644 index 0000000000..08152a6c50 --- /dev/null +++ b/graphics/graphene/README @@ -0,0 +1,22 @@ +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. |