From c8a04f9412c1e765a98be86387fd848ca7ea6993 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Mon, 7 Jan 2013 16:20:39 +0100 Subject: [PATCH] Greatly improved Scene Graph Overview documentation Change-Id: I86b6bb9007d268ec039614a1693ecd839901e6d9 Reviewed-by: Jerome Pasion --- .../doc/images/sg-renderloop-singlethreaded.jpg | Bin 0 -> 29515 bytes src/quick/doc/images/sg-renderloop-threaded.jpg | Bin 0 -> 45262 bytes .../doc/src/concepts/visualcanvas/scenegraph.qdoc | 240 +++++++++++++++++--- src/quick/items/qquickitem.cpp | 20 ++- src/quick/items/qquickwindow.cpp | 100 +++----- src/quick/scenegraph/coreapi/qsgmaterial.cpp | 11 + src/quick/scenegraph/coreapi/qsgnode.cpp | 13 + src/quick/scenegraph/util/qsgflatcolormaterial.cpp | 1 + src/quick/scenegraph/util/qsgsimplematerial.cpp | 2 + src/quick/scenegraph/util/qsgtexturematerial.cpp | 4 + .../scenegraph/util/qsgvertexcolormaterial.cpp | 1 + 11 files changed, 292 insertions(+), 100 deletions(-) create mode 100644 src/quick/doc/images/sg-renderloop-singlethreaded.jpg create mode 100644 src/quick/doc/images/sg-renderloop-threaded.jpg diff --git a/src/quick/doc/images/sg-renderloop-singlethreaded.jpg b/src/quick/doc/images/sg-renderloop-singlethreaded.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6d1577138fdf60aeff29e2fe6b8a2f0e78a8281 GIT binary patch literal 29515 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 D_9osh literal 0 HcmV?d00001 diff --git a/src/quick/doc/images/sg-renderloop-threaded.jpg b/src/quick/doc/images/sg-renderloop-threaded.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f7d97591bda47a1334b3a2841a7c5a0a8bb332c GIT binary patch literal 45262 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

_ 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