| [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 |  | 
|---|