| [1] | 1 |  | 
|---|
 | 2 | Here are listed the functions that TinyGL understands with the known | 
|---|
 | 3 | limitations. The non mentionned functions are *not* implemented and | 
|---|
 | 4 | must not be used. | 
|---|
 | 5 |  | 
|---|
 | 6 |  | 
|---|
 | 7 | ************ glEnable / glDisable | 
|---|
 | 8 |  | 
|---|
 | 9 | - The following flags are handled: | 
|---|
 | 10 |  | 
|---|
 | 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 | 
|---|
 | 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 |  | 
|---|
 | 22 | OK. | 
|---|
 | 23 |  | 
|---|
 | 24 | ************ glCullFace | 
|---|
 | 25 |  | 
|---|
 | 26 | OK. | 
|---|
 | 27 |  | 
|---|
 | 28 | ************ glPolygonMode | 
|---|
 | 29 |  | 
|---|
 | 30 | OK. | 
|---|
 | 31 |  | 
|---|
 | 32 | ************ glBegin | 
|---|
 | 33 |  | 
|---|
 | 34 | No tests are performed to prevent some functions of being executed | 
|---|
 | 35 | between glBegin/glEnd. | 
|---|
 | 36 |  | 
|---|
 | 37 | ************ glEnd | 
|---|
 | 38 |  | 
|---|
 | 39 | OK. | 
|---|
 | 40 |  | 
|---|
 | 41 | ************ glVertex | 
|---|
 | 42 |  | 
|---|
 | 43 | Some prototypes are not implemented. | 
|---|
 | 44 |  | 
|---|
 | 45 |  | 
|---|
 | 46 | ************ glColor | 
|---|
 | 47 |  | 
|---|
 | 48 | Some prototypes are not implemented. | 
|---|
 | 49 |  | 
|---|
 | 50 | ************ glNormal | 
|---|
 | 51 |  | 
|---|
 | 52 | Some 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 |  | 
|---|
 | 62 | OK. The edge handling has to be tested, although it is not much useful | 
|---|
 | 63 | in 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 |  | 
|---|
 | 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 | 
|---|
 | 75 | version 0.2. | 
|---|
 | 76 |  | 
|---|
 | 77 | ************ glGenLists / glIsList / glNewList / glEndList / glCallList | 
|---|
 | 78 |  | 
|---|
 | 79 | OK. | 
|---|
 | 80 |  | 
|---|
 | 81 | ************ glClear / glClearColor / glClearDepth | 
|---|
 | 82 |  | 
|---|
 | 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. | 
|---|
 | 85 |  | 
|---|
 | 86 | ************ glRenderMode | 
|---|
 | 87 |  | 
|---|
 | 88 | Only the modes GL_RENDER and GL_SELECT are implemented. | 
|---|
 | 89 |  | 
|---|
 | 90 | ************ glSelectBuffer / glInitNames / glPushName / glPopName / glLoadName | 
|---|
 | 91 |  | 
|---|
 | 92 | OK. | 
|---|
 | 93 |  | 
|---|
 | 94 | ************ glGenTextures / glDeleteTextures / glBindTexture  | 
|---|
 | 95 |  | 
|---|
 | 96 | OK. These functions should be used to get the maximum performance with | 
|---|
 | 97 | TinyGL.  | 
|---|
 | 98 |  | 
|---|
 | 99 | ************ glTexImage2D | 
|---|
 | 100 |  | 
|---|
 | 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 | 
|---|
 | 104 | are implemented. | 
|---|
 | 105 |  | 
|---|
 | 106 | ************ glTexEnvi | 
|---|
 | 107 |  | 
|---|
 | 108 | The only supported mode is GL_DECAL, although others are planned if | 
|---|
 | 109 | asked. | 
|---|
 | 110 |  | 
|---|
 | 111 |  | 
|---|
 | 112 | ************ glTexParameteri | 
|---|
 | 113 |  | 
|---|
 | 114 | The other prototypes are not implemented. Only the follwing mode are | 
|---|
 | 115 | implemented: | 
|---|
 | 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 |  | 
|---|
 | 124 | The pixels are alware byte aligned. | 
|---|
 | 125 |  | 
|---|
 | 126 | ************ glMaterialfv / glMaterialf / glColorMaterial | 
|---|
 | 127 |  | 
|---|
 | 128 | OK. | 
|---|
 | 129 |  | 
|---|
 | 130 |  | 
|---|
 | 131 | ************ glLightfv / glLightf / glLightModeli / glLightModelfv | 
|---|
 | 132 |  | 
|---|
 | 133 | OK. The OpenGL lightening is implemented but not optimized. | 
|---|
 | 134 |  | 
|---|
 | 135 |  | 
|---|
 | 136 | ************ glFlush | 
|---|
 | 137 |  | 
|---|
 | 138 | Ignored. | 
|---|
 | 139 |  | 
|---|
 | 140 | ************ glHint | 
|---|
 | 141 |  | 
|---|
 | 142 | Ignored. | 
|---|
 | 143 |  | 
|---|
 | 144 | ************ glGetIntegerv | 
|---|
 | 145 |  | 
|---|
 | 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 | 
|---|
 | 149 |  | 
|---|
 | 150 | ************ glGetIntegerv | 
|---|
 | 151 |  | 
|---|
 | 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 | 
|---|
 | 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 |  | 
|---|
 | 170 | TinyGL GLX emulation: | 
|---|
 | 171 |  | 
|---|
 | 172 |  | 
|---|
 | 173 | ************ glXQueryExtension | 
|---|
 | 174 |  | 
|---|
 | 175 | Returns always True | 
|---|
 | 176 |  | 
|---|
 | 177 | ************ glXChooseVisual | 
|---|
 | 178 |  | 
|---|
 | 179 | Only 8 bit Pseudocolor or 16 bit Truecolor Visual are accepted. The | 
|---|
 | 180 | attribute list is ignored. | 
|---|
 | 181 |  | 
|---|
 | 182 | ************ glXCreateContext | 
|---|
 | 183 |  | 
|---|
 | 184 | The sharing is not implemented although the code could handle it. | 
|---|
 | 185 |  | 
|---|
 | 186 | ************ glXDestroyContext | 
|---|
 | 187 |  | 
|---|
 | 188 | OK. | 
|---|
 | 189 |  | 
|---|
 | 190 | ************ glXMakeCurrent | 
|---|
 | 191 |  | 
|---|
 | 192 | Not all the syntax is supported yet, in particular with the 'NULL' or | 
|---|
 | 193 | 'None' parameters. | 
|---|
 | 194 |  | 
|---|
 | 195 |  | 
|---|
 | 196 | ************ glXSwapBuffers | 
|---|
 | 197 |  | 
|---|
 | 198 | OK. | 
|---|
 | 199 |  | 
|---|
 | 200 | ************ glXWaitGL / glXWaitX | 
|---|
 | 201 |  | 
|---|
 | 202 | Ignored. | 
|---|
 | 203 |  | 
|---|
 | 204 |  | 
|---|
 | 205 | See README.BEOS for BeOS limitations. | 
|---|
 | 206 |  | 
|---|