MediaWiki API result
This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.
Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.
See the complete documentation, or the API help for more information.
{
"compare": {
"fromid": 1,
"fromrevid": 1,
"fromns": 0,
"fromtitle": "Main Page",
"toid": 2,
"torevid": 2,
"tons": 0,
"totitle": "3D graphics (KDE3 Architecture)",
"*": "<tr>\n <td colspan=\"2\" class=\"diff-lineno\">Line 1:</td>\n <td colspan=\"2\" class=\"diff-lineno\">Line 1:</td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>== 3D graphics with OpenGL ==</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div><strong>MediaWiki has been installed.</strong></div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td class=\"diff-marker\"></td>\n <td class=\"diff-context diff-side-deleted\"><br /></td>\n <td class=\"diff-marker\"></td>\n <td class=\"diff-context diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>The de facto standard for rendering 3D graphics today is </div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[http://www.opengl.org OpenGL]. Implementations of this specification come </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>with Microsoft Windows, Mac OS X and XFree86 and often support the hardware acceleration </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>features offered by modern graphics cards. OpenGL itself only deals with rendering on</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>a specified area of the framebuffer through a ''GL context'' and does not have any</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>interactions with the toolkit of the environment</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\"></td>\n <td class=\"diff-context diff-side-deleted\"><br /></td>\n <td class=\"diff-marker\"></td>\n <td class=\"diff-context diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>Qt offers the widget QGLWidget</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>== Getting started ==</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>which encapsulates a window with an associated GL context. Basically, you use it</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>by subclassing it and reimplementing some methods.</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>*Instead of reimplementing paintEvent() and using QPainter to draw the widget's contents, you override paintGL() and use GL commands to render a scene. QLWidget will take care of making its GL context the current one before paintGL() is called, and it will flush afterwards.</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>*The virtual method initializeGL() is called once before the first time resizeGL() or paintGL() are called. This can be used to construct display lists for objects, and make any initializations.</div></td>\n</tr>\n<tr>\n <td class=\"diff-marker\" data-marker=\"\u2212\"></td>\n <td class=\"diff-deletedline diff-side-deleted\"><div>* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]</div></td>\n <td colspan=\"2\" class=\"diff-empty diff-side-added\"></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>*Instead of reimplementing resizeEvent(), you override resizeGL(). This can be used to set the viewport appropriately.</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>*Instead of calling update() when the state of the scene has changed - for example when you animate it with a timer -, you should call updateGL(). This will trigger a repaint.</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>In general, QGLWidget behaves just like any other widget, i.e. for example</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>you can process mouse events as usual, resize the widget and combine it with</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>others in a layout.</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[[Image:opengl-gears.png|frame|center|OpenGL screenshot]]</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>Qt contains some examples of QGLWidget usage in its <tt>demo</tt> example.</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>A collection of tutorials can be found </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[https://web.archive.org/web/20020206053805/http://www.libsdl.org/opengl/intro.html here],</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>and more information and a reference of OpenGL is available on the</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[http://www.opengl.org OpenGL homepage].</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>== High-level interfaces ==</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>OpenGL is a relatively low-level interface for drawing 3D graphics. In the same</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>way QCanvas gives the programmer a higher-level interface which details with</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>objects and their properties, there are also high-level interfaces for 3D graphics.</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>One of the most popular is Open Inventor. Originally a technology developed by SGI,</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>there is today also the open source implementation </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[http://www.coin3d.org Coin], complemented by a toolkit binding to Qt</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>called SoQt. </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>The basic concept of Open Inventor is that of a ''scene''. A scene can be loaded</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>from disk and saved in a special format closely related to </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[http://en.wikipedia.org/wiki/VRML VRML]. A scene consists of a collection of objects</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>called ''nodes''. Inventor already provides a rich collection of reusable nodes,</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>such as cubes, cylinders and meshes, furthermore light sources, materials, cameras</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>etc. Nodes are represented by C++ classes and can be combined and subclassed.</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>An introduction to Inventor can be found </div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[https://web.archive.org/web/20031115053554/http://www.motifzone.com/tmd/articles/OpenInventor/OpenInventor.html here]</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>(in general, you can substitute all mentions of SoXt by SoQt in this article).</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>''Initial Author:'' [mailto:bernd@kdevelop.org Bernd Gehrmann]</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><br /></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[[Category:KDE3]]</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[[Category:Architecture]]</div></td>\n</tr>\n<tr>\n <td colspan=\"2\" class=\"diff-empty diff-side-deleted\"></td>\n <td class=\"diff-marker\" data-marker=\"+\"></td>\n <td class=\"diff-addedline diff-side-added\"><div>[[Category:Developers]]</div></td>\n</tr>\n"
}
}