mirror of
https://codeberg.org/ACM/TinyGL-C89.git
synced 2025-08-17 05:03:32 -04:00
Add C89 support
Allow compilation from C89 compilers.
This commit is contained in:
parent
fb4cb83981
commit
9a779bf1a1
66 changed files with 12202 additions and 0 deletions
209
LIMITATIONS
Normal file
209
LIMITATIONS
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
LIMITATIONS
|
||||
===========
|
||||
|
||||
Here are listed the functions that TinyGL understands with the known
|
||||
limitations. The non mentionned functions are *not* implemented and
|
||||
must not be used.
|
||||
|
||||
|
||||
************ glEnable / glDisable
|
||||
|
||||
- The following flags are handled:
|
||||
|
||||
GL_CULL_FACE, GL_LIGHTING, GL_COLOR_MATERIAL, GL_TEXTURE_2D, GL_NORMALIZE,
|
||||
GL_LIGHTx, GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_POINT,
|
||||
GL_POLYGON_OFFSET_LINE
|
||||
|
||||
|
||||
- GL_DEPTH_TEST is accepted, but it is only used for lines. For all
|
||||
other primitives, Z buffer use is assumed. The DepthMode is
|
||||
hardcoded as GL_LESS (OpenGL default).
|
||||
|
||||
************ glShadeModel
|
||||
|
||||
OK.
|
||||
|
||||
************ glCullFace
|
||||
|
||||
OK.
|
||||
|
||||
************ glPolygonMode
|
||||
|
||||
OK.
|
||||
|
||||
************ glBegin
|
||||
|
||||
No tests are performed to prevent some functions of being executed
|
||||
between glBegin/glEnd.
|
||||
|
||||
************ glEnd
|
||||
|
||||
OK.
|
||||
|
||||
************ glVertex
|
||||
|
||||
Some prototypes are not implemented.
|
||||
|
||||
|
||||
************ glColor
|
||||
|
||||
Some prototypes are not implemented.
|
||||
|
||||
************ glNormal
|
||||
|
||||
Some prototypes are not implemented.
|
||||
|
||||
************ glTexCoord
|
||||
|
||||
- Some prototypes are not implemented.
|
||||
|
||||
- The Matrix transformation is not applied yet.
|
||||
|
||||
************ glEdgeFlag
|
||||
|
||||
OK. The edge handling has to be tested, although it is not much useful
|
||||
in TinyGL.
|
||||
|
||||
************ glMatrixMode / glLoadMatrixf / glLoadIdentity / glMultMatrixf /
|
||||
glPushMatrix / glPopMatrix / glRotatef / glTranslatef / glScalef /
|
||||
glFrustum
|
||||
|
||||
- The prototypes with doubles are not implemented.
|
||||
|
||||
************ glViewport
|
||||
|
||||
GlViewport calls a function pointers to tell glx (or another display
|
||||
system) to resize the Z buffer and the ximage. Made optional in
|
||||
version 0.2.
|
||||
|
||||
************ glGenLists / glIsList / glNewList / glEndList / glCallList
|
||||
|
||||
OK.
|
||||
|
||||
************ glClear / glClearColor / glClearDepth
|
||||
|
||||
The whole zbuffer and the colors are cleared in any case. The clear color
|
||||
can be redefined, by *not* the initial z value.
|
||||
|
||||
************ glRenderMode
|
||||
|
||||
Only the modes GL_RENDER and GL_SELECT are implemented.
|
||||
|
||||
************ glSelectBuffer / glInitNames / glPushName / glPopName / glLoadName
|
||||
|
||||
OK.
|
||||
|
||||
************ glGenTextures / glDeleteTextures / glBindTexture
|
||||
|
||||
OK. These functions should be used to get the maximum performance with
|
||||
TinyGL.
|
||||
|
||||
************ glTexImage2D
|
||||
|
||||
The function accepts only RGB UNSIGNED_BYTES bitmaps. They are
|
||||
internally resized to 256x256 so you'd better use that size. No
|
||||
mipmapping is implemented although it will come if asked. No borders
|
||||
are implemented.
|
||||
|
||||
************ glTexEnvi
|
||||
|
||||
The only supported mode is GL_DECAL, although others are planned if
|
||||
asked.
|
||||
|
||||
|
||||
************ glTexParameteri
|
||||
|
||||
The other prototypes are not implemented. Only the follwing mode are
|
||||
implemented:
|
||||
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||
|
||||
************ glPixelStorei
|
||||
|
||||
The pixels are alware byte aligned.
|
||||
|
||||
************ glMaterialfv / glMaterialf / glColorMaterial
|
||||
|
||||
OK.
|
||||
|
||||
|
||||
************ glLightfv / glLightf / glLightModeli / glLightModelfv
|
||||
|
||||
OK. The OpenGL lightening is implemented but not optimized.
|
||||
|
||||
|
||||
************ glFlush
|
||||
|
||||
Ignored.
|
||||
|
||||
************ glHint
|
||||
|
||||
Ignored.
|
||||
|
||||
************ glGetIntegerv
|
||||
|
||||
- only GL_VIEWPORT, GL_MAX_MODELVIEW_STACK_DEPTH,
|
||||
GL_MAX_PROJECTION_STACK_DEPTH, GL_MAX_LIGHTS, GL_MAX_TEXTURE_SIZE,
|
||||
GL_MAX_TEXTURE_STACK_DEPTH
|
||||
|
||||
************ glGetIntegerv
|
||||
|
||||
- only GL_TEXTURE_MATRIX, GL_PROJECTION_MATRIX, GL_MODELVIEW_MATRIX,
|
||||
GL_LINE_WIDTH, GL_LINE_WIDTH_RANGE, GL_POINT_SIZE, GL_POINT_SIZE_RANGE
|
||||
|
||||
************ glPolygonOffset
|
||||
|
||||
- only API implemented.
|
||||
|
||||
************ glEnableClientState, glDisableClientState,
|
||||
|
||||
- No support for GL_INDEX_ARRAY_POINTER or GL_EDGE_FLAG_ARRAY_POINTER
|
||||
|
||||
************ glVertexPointer, glNormalPointer,
|
||||
glColorPointer, glTexureCoordPointer
|
||||
|
||||
- OK
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
TinyGL GLX emulation:
|
||||
|
||||
|
||||
************ glXQueryExtension
|
||||
|
||||
Returns always True
|
||||
|
||||
************ glXChooseVisual
|
||||
|
||||
Only 8 bit Pseudocolor or 16 bit Truecolor Visual are accepted. The
|
||||
attribute list is ignored.
|
||||
|
||||
************ glXCreateContext
|
||||
|
||||
The sharing is not implemented although the code could handle it.
|
||||
|
||||
************ glXDestroyContext
|
||||
|
||||
OK.
|
||||
|
||||
************ glXMakeCurrent
|
||||
|
||||
Not all the syntax is supported yet, in particular with the 'NULL' or
|
||||
'None' parameters.
|
||||
|
||||
|
||||
************ glXSwapBuffers
|
||||
|
||||
OK.
|
||||
|
||||
************ glXWaitGL / glXWaitX
|
||||
|
||||
Ignored.
|
||||
|
||||
|
||||
See README.BEOS for BeOS limitations.
|
||||
|
||||
--- end of LIMITATIONS ---
|
||||
Loading…
Add table
Add a link
Reference in a new issue