summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Bragg <robert.bragg@intel.com>2014-03-13 16:22:57 +0000
committerRobert Bragg <robert.bragg@intel.com>2014-03-24 19:37:22 +0000
commita65a5e6db3b6cbfcf36655d97d3aea059dce2bc5 (patch)
tree4492ada69150d28564c4b5a61f710f0d99ceef7c
parent48c8833e7acea939c4cf23c90af2609d28476085 (diff)
downloadcogl-a65a5e6db3b6cbfcf36655d97d3aea059dce2bc5.tar.gz
Update Cogl description in README.in
-rw-r--r--README.in40
1 files changed, 26 insertions, 14 deletions
diff --git a/README.in b/README.in
index e7f34e24..d6f8779b 100644
--- a/README.in
+++ b/README.in
@@ -9,20 +9,32 @@ DESCRIPTION
-------------------------------------------------------------------------------
Cogl is a small open source library for using 3D graphics hardware for
-rendering. The API departs from the flat state machine style of OpenGL and is
-designed to make it easy to write orthogonal components that can render without
-stepping on each others toes.
-
-As well as aiming for a nice API, we think having a single library as opposed
-to an API specification like OpenGL has a few advantages too; like being
-able to paper over the inconsistencies/bugs of different OpenGL
-implementations in a centralized place, not to mention the myriad of OpenGL
-extensions. It also means we are in a better position to provide utility
-APIs that help software developers since they only need to be implemented
-once and there is no risk of inconsistency between implementations.
-
-Having other backends, besides OpenGL, such as drm, Gallium or D3D are
-options we are interested in for the future.
+rendering. The API departs from the flat state machine style of OpenGL
+and is designed to make it easy to write orthogonal components that
+can render without stepping on each others toes.
+
+To understand its relationship to OpenGL it's important to understand
+that OpenGL is a collection of API specifications, with different
+profiles (E.g. Full OpenGL 2/3/4, Embedded OpenGL ES 1/2/3 and WebGL 1/2)
+as well as an unbounded set of vendor specific extension
+specifications. It should also be understood that OpenGL can't be used
+directly without some platform specific code to initialize it, create
+a context and handle presentation. Modern OpenGL is strictly only
+concerned with standardising apis for submitting work to a GPU and
+avoids specifying any utility apis, such as math utilities, a matrix
+stack api or format conversion apis which almost all real-time graphics
+software needs in practice.
+
+Cogl provides a single concrete library as opposed to an API
+specification. This distinction makes it possible for us to provide an
+api that works consistently across multiple OpenGL profiles and
+versions; allows us to tame the myriad of vendor extensions (There is
+is a lot of redundancy between OpenGL extensions); and enables us to
+work around some inconsistencies between different implementations in
+one place.
+
+Cogl is designed foremost as a library to support practical real-time
+graphics rendering with a GPU.
--
REQUIREMENTS