File: features.html

package info (click to toggle)
libqglviewer 2.8.0%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 6,092 kB
  • sloc: cpp: 25,884; makefile: 24; sh: 14
file content (162 lines) | stat: -rw-r--r-- 7,511 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>QGLViewer features</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link href="qglviewer.css" rel="stylesheet" type="text/css" />
  <link rel="shortcut icon" href="images/qglviewer.ico" type="image/x-icon" />
  <link rel="icon" href="images/qglviewer.icon.png" type="image/png" />
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23223012-2']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>
<body>

<div class="banner">
  <a class="qindex highlight" href="index.html">Home</a>
  <a class="qindex" href="download.html">Download</a>
  <a class="qindex" href="examples/index.html">Gallery</a>
  <a class="qindex" href="refManual/hierarchy.html">Documentation</a>
  <a class="qindex" href="developer.html">Developer</a>
</div>

<h1>libQGLViewer features</h1>

Most of these functionalities are illustrated by an example, that is referenced by the
<img src="images/sphere.png" width="14" height="14" alt="sphere"/>

<h2>Main features</h2>
<ul>
<li>A camera trackball to easily move the camera in the scene (explorer or fly mode)
<a href="examples/simpleViewer.html">
<img src="images/sphere.png" width="14"height="14" alt="simpleViewer example"/></a>
<a href="examples/callback.html">
<img src="images/sphere.png" width="14" height="14" alt="callback example"/></a></li>

<li>Definition of a intuitive world coordinates system (aka the OpenGL modelView matrix made easy)
 <a href="examples/simpleViewer.html">
<img src="images/sphere.png" width="14" height="14" alt="simpleViewer example"/></a></li>

<li>Coordinate systems (and hence objects) can easily be moved with the mouse
<a href="examples/manipulatedFrame.html">
<img src="images/sphere.png" width="14" height="14" alt="manipulatedFrame example"/></a>
<a href="examples/luxo.html">
<img src="images/sphere.png" width="14" height="14" alt="luxo example"/></a></li>

<li>Hierarchical coordinate systems (frames), with functions to convert from a frame to any other
<a href="examples/luxo.html">
<img src="images/sphere.png" width="14" height="14" alt="luxo example"/></a>
<a href="examples/frameTransform.html">
<img src="images/sphere.png" width="14" height="14" alt="frameTransform example"/></a></li>

<li>KeyFrameInterpolator to animate those frames, the camera being one of them
<a href="examples/keyFrames.html">
<img src="images/sphere.png" width="14" height="14" alt="keyFrames example"/></a>
<a href="examples/simpleViewer.html">
<img src="images/sphere.png" width="14" height="14" alt="simpleViewer example"/></a></li>

<li>Simple object selection using the mouse
<a href="examples/select.html">
<img src="images/sphere.png" width="14" height="14" alt="select example"/></a>
<a href="examples/multiSelect.html">
<img src="images/sphere.png" width="14" height="14" alt="multiSelect example"/></a></li>


<li>Screenshot saving at arbitrary sizes and in different file formats (jpg, png, bmp...), including vectorial rendering (eps, ps, xfig) 
<a href="examples/simpleViewer.html">
<img src="images/sphere.png" width="14" height="14" alt="simpleViewer example"/></a></li>

<li>Complete and entirely customizable <a href="keyboard.html">keyboard shortcuts</a> and
<a href="mouse.html">mouse</a> behavior <a href="examples/keyboardAndMouse.html">
<img src="images/sphere.png" width="14" height="14" alt="keyboardAndMouse example"/></a></li>
</ul>


<h2>and also...</h2>
<ul>
<li>Many simple <a href="examples/index.html">examples</a> illustrating the different functions
<a href="examples/index.html">
<img src="images/sphere.png" width="14" height="14" alt="List of examples"/></a></li>

<li>A complete reference <a href="refManual/hierarchy.html">documentation</a>
<a href="refManual/hierarchy.html">
<img src="images/sphere.png" width="14" height="14" alt="Reference documentation"/></a></li>

<li>Display of the frame rate, of a world axis, of a 2D grid and of camera paths, full screen display...
<a href="examples/simpleViewer.html">
<img src="images/sphere.png" width="14" height="14" alt="simpleViewer example"/></a></li>

<li>Easy drawing of text directly in screen coordinate system (2D overlay) or in 3D
<a href="examples/screenCoordSystem.html">
<img src="images/sphere.png" width="14" height="14" alt="screenCoordSystem example"/></a></li>

<li>Extendable displacement constraints that can be applied on frames
<a href="examples/constrainedFrame.html">
<img src="images/sphere.png" width="14" height="14" alt="constrainedFrame example"/></a>
<a href="examples/constrainedCamera.html">
<img src="images/sphere.png" width="14" height="14" alt="constrainedCamera example"/></a></li>

<li>Viewer state is saved and can be restored at each application start
<a href="examples/simpleViewer.html">
<img src="images/sphere.png" width="14"height="14" alt="simpleViewer example"/></a></li>

<li>A simplified drawing function can be provided to guarantee interactivity, even with large scenes
<a href="examples/fastDraw.html">
<img src="images/sphere.png" width="14" height="14" alt="fastDraw example"/></a></li>

<li>The possibility to mix 3D and 2D drawing, with intuitive pixel coordinates
<a href="examples/screenCoordSystem.html">
<img src="images/sphere.png" width="14" height="14" alt="screenCoordSystem example"/></a></li>

<li>Animation of the scene at a given frame rate
<a href="examples/animation.html">
<img src="images/sphere.png" width="14" height="14" alt="animation example"/></a></li>

<li>Stereo display when hardware supports it
<a href="examples/stereoViewer.html">
<img src="images/sphere.png" width="14" height="14" alt="stereoViewer example"/></a></li>

<li>State of the art implementation of the basic <code>Vec, Quaternion</code> and <code>Frame</code> classes
<a href="examples/frameTransform.html">
<img src="images/sphere.png" width="14" height="14" alt="frameTransform example"/></a></li>

<li>Copy buffer to texture function</li>

<li>Customizable help window
<a href="examples/keyboardAndMouse.html">
<img src="images/sphere.png" width="14" height="14" alt="keyboardAndMouse example"/></a></li>
</ul>

<h2>Philosophy</h2>

Classical 3D viewer features are directly available, so that you can quickly start the development of a new application, focussing on <i>what</i> is drawn instead of <i>how</i>
to make your software draw it.

<p>
All these functions are very easy to use. Adding code to select scene
objects and then manipulate them using the mouse can be done in 5 minutes.
</p>

See the different <a href="examples/index.html">examples</a> to get a more precise idea.


<a href="mailto:contact@libqglviewer.com">Send an email</a> if you think of
a new feature.

<p>
  <a href="http://validator.w3.org/check/referer"><img src="images/xhtml.png" alt="Valid XHTML 1.0!" height="31" width="88"/></a>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="images/css.gif" alt="Valid CSS!" width="88" height="31"/></a>
  <i>Last modified on Sunday, March 13, 2022.</i>
</p>

</body></html>