<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;feed=atom&amp;action=history</id>
		<title>Development/Architecture/KDE3/OpenGL Support - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;action=history"/>
		<updated>2013-06-19T05:35:43Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=8943&amp;oldid=prev</id>
		<title>Dhaumann: Development/Architecture/KDE 3 Architecture/OpenGL Support moved to Development/Architecture/KDE3/OpenGL Support</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=8943&amp;oldid=prev"/>
				<updated>2007-03-11T21:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Development/Architecture/KDE_3_Architecture/OpenGL_Support&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Development/Architecture/KDE 3 Architecture/OpenGL Support (page does not exist)&quot;&gt;Development/Architecture/KDE 3 Architecture/OpenGL Support&lt;/a&gt; moved to &lt;a href=&quot;/Development/Architecture/KDE3/OpenGL_Support&quot; title=&quot;Development/Architecture/KDE3/OpenGL Support&quot;&gt;Development/Architecture/KDE3/OpenGL Support&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:35, 11 March 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=7659&amp;oldid=prev</id>
		<title>Dhaumann: Category:Architecture</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=7659&amp;oldid=prev"/>
				<updated>2007-01-23T09:34:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/Category:Architecture&quot; title=&quot;Category:Architecture&quot;&gt;Category:Architecture&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:34, 23 January 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 53:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:KDE3]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:KDE3]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Architecture]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=7093&amp;oldid=prev</id>
		<title>CuCullin: Category KDE3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=7093&amp;oldid=prev"/>
				<updated>2007-01-10T02:35:07Z</updated>
		
		<summary type="html">&lt;p&gt;Category KDE3&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:35, 10 January 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Initial Author:'' [mailto:bernd@kdevelop.org Bernd Gehrmann]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Initial Author:'' [mailto:bernd@kdevelop.org Bernd Gehrmann]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:KDE3]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CuCullin</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=6916&amp;oldid=prev</id>
		<title>Dhaumann at 18:42, 7 January 2007</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=6916&amp;oldid=prev"/>
				<updated>2007-01-07T18:42:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 18:42, 7 January 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== 3D graphics with OpenGL ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== 3D graphics with OpenGL ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;== Low-level interface ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The de facto standard for rendering 3D graphics today is &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The de facto standard for rendering 3D graphics today is &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;others in a layout.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;others in a layout.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Image:opengl-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;scene&lt;/del&gt;.png|frame|center|OpenGL screenshot]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Image:opengl-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gears&lt;/ins&gt;.png|frame|center|OpenGL screenshot]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Qt contains some examples of QGLWidget usage in its &amp;lt;tt&amp;gt;demo&amp;lt;/tt&amp;gt; example.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Qt contains some examples of QGLWidget usage in its &amp;lt;tt&amp;gt;demo&amp;lt;/tt&amp;gt; example.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=6914&amp;oldid=prev</id>
		<title>Dhaumann: port of http://developer.kde.org/documentation/library/kdeqt/kde3arch/graphics/qglwidget.html</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/OpenGL_Support&amp;diff=6914&amp;oldid=prev"/>
				<updated>2007-01-07T18:40:46Z</updated>
		
		<summary type="html">&lt;p&gt;port of http://developer.kde.org/documentation/library/kdeqt/kde3arch/graphics/qglwidget.html&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 3D graphics with OpenGL ==&lt;br /&gt;
&lt;br /&gt;
== Low-level interface ==&lt;br /&gt;
&lt;br /&gt;
The de facto standard for rendering 3D graphics today is &lt;br /&gt;
[http://www.opengl.org OpenGL]. Implementations of this specification come &lt;br /&gt;
with Microsoft Windows, Mac OS X and XFree86 and often support the hardware acceleration &lt;br /&gt;
features offered by modern graphics cards. OpenGL itself only deals with rendering on&lt;br /&gt;
a specified area of the framebuffer through a ''GL context'' and does not have any&lt;br /&gt;
interactions with the toolkit of the environment&lt;br /&gt;
&lt;br /&gt;
Qt offers the widget {{qt3|QGLWidget}}&lt;br /&gt;
which encapsulates a window with an associated GL context. Basically, you use it&lt;br /&gt;
by subclassing it and reimplementing some methods.&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*Instead of reimplementing resizeEvent(), you override resizeGL(). This can be used to set the viewport appropriately.&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
In general, QGLWidget behaves just like any other widget, i.e. for example&lt;br /&gt;
you can process mouse events as usual, resize the widget and combine it with&lt;br /&gt;
others in a layout.&lt;br /&gt;
&lt;br /&gt;
[[Image:opengl-scene.png|frame|center|OpenGL screenshot]]&lt;br /&gt;
&lt;br /&gt;
Qt contains some examples of QGLWidget usage in its &amp;lt;tt&amp;gt;demo&amp;lt;/tt&amp;gt; example.&lt;br /&gt;
A collection of tutorials can be found &lt;br /&gt;
[http://www.libsdl.org/opengl/intro.html here],&lt;br /&gt;
and more information and a reference of OpenGL is available on the&lt;br /&gt;
[http://www.opengl.org OpenGL homepage].&lt;br /&gt;
&lt;br /&gt;
== High-level interfaces ==&lt;br /&gt;
&lt;br /&gt;
OpenGL is a relatively low-level interface for drawing 3D graphics. In the same&lt;br /&gt;
way QCanvas gives the programmer a higher-level interface which details with&lt;br /&gt;
objects and their properties, there are also high-level interfaces for 3D graphics.&lt;br /&gt;
One of the most popular is Open Inventor. Originally a technology developed by SGI,&lt;br /&gt;
there is today also the open source implementation &lt;br /&gt;
[http://www.coin3d.org Coin], complemented by a toolkit binding to Qt&lt;br /&gt;
called SoQt. &lt;br /&gt;
&lt;br /&gt;
The basic concept of Open Inventor is that of a ''scene''. A scene can be loaded&lt;br /&gt;
from disk and saved in a special format closely related to &lt;br /&gt;
[http://www.vrml.org VRML]. A scene consists of a collection of objects&lt;br /&gt;
called ''nodes''. Inventor already provides a rich collection of reusable nodes,&lt;br /&gt;
such as cubes, cylinders and meshes, furthermore light sources, materials, cameras&lt;br /&gt;
etc. Nodes are represented by C++ classes and can be combined and subclassed.&lt;br /&gt;
&lt;br /&gt;
An introduction to Inventor can be found &lt;br /&gt;
[http://www.motifzone.com/tmd/articles/OpenInventor/OpenInventor.html here]&lt;br /&gt;
(in general, you can substitute all mentions of SoXt by SoQt in this article).&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' [mailto:bernd@kdevelop.org Bernd Gehrmann]&lt;/div&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	</feed>