source: trunk/sys/TinyGL/LIMITATIONS @ 50

Last change on this file since 50 was 1, checked in by alain, 8 years ago

First import

File size: 4.4 KB
Line 
1
2Here are listed the functions that TinyGL understands with the known
3limitations. The non mentionned functions are *not* implemented and
4must not be used.
5
6
7************ glEnable / glDisable
8
9- The following flags are handled:
10
11GL_CULL_FACE, GL_LIGHTING, GL_COLOR_MATERIAL, GL_TEXTURE_2D, GL_NORMALIZE,
12GL_LIGHTx, GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_POINT,
13GL_POLYGON_OFFSET_LINE
14
15
16- GL_DEPTH_TEST is accepted, but it is only used for lines. For all
17  other primitives, Z buffer use is assumed.  The DepthMode is
18  hardcoded as GL_LESS (OpenGL default).
19
20************ glShadeModel
21
22OK.
23
24************ glCullFace
25
26OK.
27
28************ glPolygonMode
29
30OK.
31
32************ glBegin
33
34No tests are performed to prevent some functions of being executed
35between glBegin/glEnd.
36
37************ glEnd
38
39OK.
40
41************ glVertex
42
43Some prototypes are not implemented.
44
45
46************ glColor
47
48Some prototypes are not implemented.
49
50************ glNormal
51
52Some prototypes are not implemented.
53
54************ glTexCoord
55
56- Some prototypes are not implemented.
57
58- The Matrix transformation is not applied yet.
59
60************ glEdgeFlag
61
62OK. The edge handling has to be tested, although it is not much useful
63in TinyGL.
64
65************ glMatrixMode / glLoadMatrixf / glLoadIdentity / glMultMatrixf /
66             glPushMatrix / glPopMatrix / glRotatef / glTranslatef / glScalef /
67             glFrustum
68
69- The prototypes with doubles are not implemented.
70
71************ glViewport
72
73GlViewport calls a function pointers to tell glx (or another display
74system) to resize the Z buffer and the ximage. Made optional in
75version 0.2.
76
77************ glGenLists / glIsList / glNewList / glEndList / glCallList
78
79OK.
80
81************ glClear / glClearColor / glClearDepth
82
83The whole zbuffer and the colors are cleared in any case. The clear color
84can be redefined, by *not* the initial z value.
85
86************ glRenderMode
87
88Only the modes GL_RENDER and GL_SELECT are implemented.
89
90************ glSelectBuffer / glInitNames / glPushName / glPopName / glLoadName
91
92OK.
93
94************ glGenTextures / glDeleteTextures / glBindTexture
95
96OK. These functions should be used to get the maximum performance with
97TinyGL.
98
99************ glTexImage2D
100
101The function accepts only RGB UNSIGNED_BYTES bitmaps. They are
102internally resized to 256x256 so you'd better use that size. No
103mipmapping is implemented although it will come if asked. No borders
104are implemented.
105
106************ glTexEnvi
107
108The only supported mode is GL_DECAL, although others are planned if
109asked.
110
111
112************ glTexParameteri
113
114The other prototypes are not implemented. Only the follwing mode are
115implemented:
116
117  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
118  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
119  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
120  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
121
122************ glPixelStorei
123
124The pixels are alware byte aligned.
125
126************ glMaterialfv / glMaterialf / glColorMaterial
127
128OK.
129
130
131************ glLightfv / glLightf / glLightModeli / glLightModelfv
132
133OK. The OpenGL lightening is implemented but not optimized.
134
135
136************ glFlush
137
138Ignored.
139
140************ glHint
141
142Ignored.
143
144************ glGetIntegerv
145
146- only GL_VIEWPORT, GL_MAX_MODELVIEW_STACK_DEPTH,
147GL_MAX_PROJECTION_STACK_DEPTH, GL_MAX_LIGHTS, GL_MAX_TEXTURE_SIZE,
148GL_MAX_TEXTURE_STACK_DEPTH
149
150************ glGetIntegerv
151
152- only GL_TEXTURE_MATRIX, GL_PROJECTION_MATRIX, GL_MODELVIEW_MATRIX,
153GL_LINE_WIDTH, GL_LINE_WIDTH_RANGE, GL_POINT_SIZE, GL_POINT_SIZE_RANGE
154
155************ glPolygonOffset
156
157- only API implemented.
158
159************ glEnableClientState, glDisableClientState,
160             
161- No support for GL_INDEX_ARRAY_POINTER or GL_EDGE_FLAG_ARRAY_POINTER
162
163************ glVertexPointer, glNormalPointer,
164             glColorPointer, glTexureCoordPointer
165
166- OK
167
168------------------------------------------------------------------------------
169
170TinyGL GLX emulation:
171
172
173************ glXQueryExtension
174
175Returns always True
176
177************ glXChooseVisual
178
179Only 8 bit Pseudocolor or 16 bit Truecolor Visual are accepted. The
180attribute list is ignored.
181
182************ glXCreateContext
183
184The sharing is not implemented although the code could handle it.
185
186************ glXDestroyContext
187
188OK.
189
190************ glXMakeCurrent
191
192Not all the syntax is supported yet, in particular with the 'NULL' or
193'None' parameters.
194
195
196************ glXSwapBuffers
197
198OK.
199
200************ glXWaitGL / glXWaitX
201
202Ignored.
203
204
205See README.BEOS for BeOS limitations.
206
Note: See TracBrowser for help on using the repository browser.