Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  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.  
  207.