forked from coin3d/sogui
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUGS.txt
161 lines (115 loc) · 5.87 KB
/
BUGS.txt
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
=====================================================================
NOTE: see also So@Gui@/BUGS.txt.
=====================================================================
000 SoText2 won't show with drawstyle == hidden line. Bug reported by
Jean Davy. Reproduce with this minimal, stand-alone example:
----8<--- [snip] ---------8<--- [snip] ---------8<--- [snip] ---
#include <Inventor/Qt/SoQt.h>
#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
#include <Inventor/nodes/SoCone.h>
#include <Inventor/nodes/SoSeparator.h>
#include <Inventor/nodes/SoText2.h>
int
main(int argc, char* argv[])
{
QWidget * mainwin = SoQt::init(argv[0]);
SoSeparator * root = new SoSeparator;
root->addChild(new SoCone);
SoText2 * text2d = new SoText2;
root->addChild(text2d);
text2d->string = "tjo-bing";
SoQtExaminerViewer * viewer = new SoQtExaminerViewer(mainwin);
viewer->setSceneGraph(root);
viewer->setDrawStyle(SoQtExaminerViewer::STILL,
SoQtExaminerViewer::VIEW_HIDDEN_LINE);
SoQt::show(mainwin);
SoQt::mainLoop();
return 0;
}
----8<--- [snip] ---------8<--- [snip] ---------8<--- [snip] ---
This is the cause of the bug, according to <[email protected]>:
We use GL polygon offset to do hidden line rendering, and this
caused problems since the SoText2 characters are rendered twice
(for the first pass we just draw everything black, with an
z-buffer offset). SoText2 characters are drawn as bitmaps, which
are not affected by polygon offset.
Consider this a fairly low priority bug.
<[email protected]> 20020521.
=====================================================================
002 Should search for and pick up VRML97 Viewpoint and other bindable
nodes.
As of now, the SoGuiViewer only scans a newly set scene graph for
SoCamera nodes. (If found, it will "attach" the viewer controls to
the first one.) If none is found, the viewer sets up its own in
its private "control graph".
This doesn't work with VRML97 scene graphs, obviously, so
SoGuiViewer should also scan for Viewpoint nodes to be set up as
the viewer's camera.
Note that matters are complicated a bit by the fact that we can't
be sure that an implementation of any VRML97 nodes is actually
present in the Coin / Inventor library (it could be SGI Inventor,
or it could be Coin configured to exclude VRML97 support). So we
need to search for them by using the SoType::fromName("Viewpoint")
type (check that this is != SoType::badType() to see whether
VRML97 is supported), and connect up its position, orientation
and fieldOfViewer fields by using the introspection features of
SoFieldContainer.
In addition to the Viewpoint nodes, other bindable nodes should
also be handled (Fog and Background).
20030107 mortene.
=====================================================================
003 View volume settings becomes incorrect for "point scene".
If the scene graph just contains a single point in 3D space, the
view volume setup will cause heaps of error messages when running
on top of debug-mode Coin.
Can be reproduced by loading this into an examinerviewer and
interacting with the camera:
----8<--- [snip] ---------8<--- [snip] ---------8<--- [snip] ---
#Inventor V2.1 ascii
Coordinate3 { point 42 4242 424242 }
PointSet { }
----8<--- [snip] ---------8<--- [snip] ---------8<--- [snip] ---
A suggestion for a solution: should most likely handle this
problem by detecting when the scene bounding sphere is below a
certain radius, and then "artificially" expand it to a minimum
value.
20030916 mortene.
=====================================================================
004 Switching back and forth between camera types causes bugs in
height / heightAngle fields.
To reproduce, load a simple scene into the SoGuiExaminerViewer,
then switch camera modes, zoom back and forth, switch, zoom,
etc. Eventually, the field-of-view for the SoPerspectiveCamera
will go bonkers.
20040726 mortene.
=====================================================================
005 Switching back and forth between camera types causes weird
behavior with "view all".
To reproduce buggy behavior: load an iv-file just containing an
SoSphere node into an SoGuiExaminerViewer. Go to ortho camera,
click "view all", switch to perspective camera, click "view
all". The camera will now be a great deal further away from the
sphere than when in ortho camera mode.
This bug may be related to the generally buggy re-calculation of
height / heightAngle when switching back and forth between ortho
and perspective camera, as described in bug #004.
20040726 mortene.
=====================================================================
006 Static building of the So* libraries under Windows linking with a
statically built Coin causes Coin to be included within the So*
lib-file.
This will typically cause multiple Coin instances in the final
executable, as the user is likely to link with Coin again for the
app code. The same problem also probably manifests itself with
e.g. SIM Voleon, SIM Aruba, and our other libraries dependent on
Coin.
20041021 mortene.
Update 20041103 larsa: Fixed, but not for SIM Voleon and
SmallChange. WIll fix for those and remove this item RSN.
=====================================================================
007 Catch GL errors in a proper manner.
glGetError() should always be called in a loop, i.e. as we do in
Coin with the coin_catch_gl_errors() call in src/glue/gl.c.
Audit and fix all code in the So* libraries in this regard.
20051115 mortene.
=====================================================================