2 Here are listed the functions that TinyGL understands with the known
3 limitations. The non mentionned functions are *not* implemented and
7 ************ glEnable / glDisable
9 - The following flags are handled:
11 GL_CULL_FACE, GL_LIGHTING, GL_COLOR_MATERIAL, GL_TEXTURE_2D, GL_NORMALIZE,
12 GL_LIGHTx, GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_POINT,
13 GL_POLYGON_OFFSET_LINE
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).
20 ************ glShadeModel
24 ************ glCullFace
28 ************ glPolygonMode
34 No tests are performed to prevent some functions of being executed
35 between glBegin/glEnd.
43 Some prototypes are not implemented.
48 Some prototypes are not implemented.
52 Some prototypes are not implemented.
54 ************ glTexCoord
56 - Some prototypes are not implemented.
58 - The Matrix transformation is not applied yet.
60 ************ glEdgeFlag
62 OK. The edge handling has to be tested, although it is not much useful
65 ************ glMatrixMode / glLoadMatrixf / glLoadIdentity / glMultMatrixf /
66 glPushMatrix / glPopMatrix / glRotatef / glTranslatef / glScalef /
69 - The prototypes with doubles are not implemented.
71 ************ glViewport
73 GlViewport calls a function pointers to tell glx (or another display
74 system) to resize the Z buffer and the ximage. Made optional in
77 ************ glGenLists / glIsList / glNewList / glEndList / glCallList
81 ************ glClear / glClearColor / glClearDepth
83 The whole zbuffer and the colors are cleared in any case. The clear color
84 can be redefined, by *not* the initial z value.
86 ************ glRenderMode
88 Only the modes GL_RENDER and GL_SELECT are implemented.
90 ************ glSelectBuffer / glInitNames / glPushName / glPopName / glLoadName
94 ************ glGenTextures / glDeleteTextures / glBindTexture
96 OK. These functions should be used to get the maximum performance with
99 ************ glTexImage2D
101 The function accepts only RGB UNSIGNED_BYTES bitmaps. They are
102 internally resized to 256x256 so you'd better use that size. No
103 mipmapping is implemented although it will come if asked. No borders
106 ************ glTexEnvi
108 The only supported mode is GL_DECAL, although others are planned if
112 ************ glTexParameteri
114 The other prototypes are not implemented. Only the follwing mode are
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);
122 ************ glPixelStorei
124 The pixels are alware byte aligned.
126 ************ glMaterialfv / glMaterialf / glColorMaterial
131 ************ glLightfv / glLightf / glLightModeli / glLightModelfv
133 OK. The OpenGL lightening is implemented but not optimized.
144 ************ glGetIntegerv
146 - only GL_VIEWPORT, GL_MAX_MODELVIEW_STACK_DEPTH,
147 GL_MAX_PROJECTION_STACK_DEPTH, GL_MAX_LIGHTS, GL_MAX_TEXTURE_SIZE,
148 GL_MAX_TEXTURE_STACK_DEPTH
150 ************ glGetIntegerv
152 - only GL_TEXTURE_MATRIX, GL_PROJECTION_MATRIX, GL_MODELVIEW_MATRIX,
153 GL_LINE_WIDTH, GL_LINE_WIDTH_RANGE, GL_POINT_SIZE, GL_POINT_SIZE_RANGE
155 ************ glPolygonOffset
157 - only API implemented.
159 ************ glEnableClientState, glDisableClientState,
161 - No support for GL_INDEX_ARRAY_POINTER or GL_EDGE_FLAG_ARRAY_POINTER
163 ************ glVertexPointer, glNormalPointer,
164 glColorPointer, glTexureCoordPointer
168 ------------------------------------------------------------------------------
170 TinyGL GLX emulation:
173 ************ glXQueryExtension
177 ************ glXChooseVisual
179 Only 8 bit Pseudocolor or 16 bit Truecolor Visual are accepted. The
180 attribute list is ignored.
182 ************ glXCreateContext
184 The sharing is not implemented although the code could handle it.
186 ************ glXDestroyContext
190 ************ glXMakeCurrent
192 Not all the syntax is supported yet, in particular with the 'NULL' or
196 ************ glXSwapBuffers
200 ************ glXWaitGL / glXWaitX
205 See README.BEOS for BeOS limitations.