Description: | OpenGL subset 3D API | Install: | minigl.lha | Size: | 3Mb 5 | Version: | 2.5 | Date: | 05 Jan 11 | Author: | The MiniGL development team | Submitter: | Hans de Ruiter | Requirements: | A 3D graphics card with a Warp3D driver | Category: | driver/graphics | License: | Other | Distribute: | yes | Min OS Version: | 4.0 |
MiniGL V2.5 preliminary documentation
--------------------------------
MiniGL is a 3D API which is compatible to OpenGL(tm). It implements a subset
of that API and was designed for speed, therefore it directly interfaces with
Warp3D. This also means that there is currently no software mode.
This release is the second release of MiniGL as a set of shared libraries.
There are two such libraries: minigl.library, which is the GL part,
and mglut.library, which implements some of the GLUT API.
The new shared library interface drops a lot of the original functions (mgl*)
in favor of GLUT. Unfortunately, no documentation exists yet. Refer to the
glut source code and src/context.c to get an idea on how it works.
Installing the Developer files
------------------------------
Simply copy the contents of the SDK directory into SDK:.
IMPORTANT: Anyone with MiniGL 1.5.1 or lower developer files in their SDK *must*
delete the
old files from their SDK first. These can be found in the local/clib2 and
local/newlib
directories. In particular, delete the header files contained within these
directories.
Changes in V2.5
---------------
- Fixed the graphics corruption problems introduced in V2.4
- LodePaint's momentary freezes eliminated
Changes in V2.4
---------------
- Implemented a faster square-root function using the frsqrte (get faster
performance in some cases)
- Implemented a reciprocal square-root using the frsqrte assembly code (another
small performance boost)
- A few other optimizations
Changes in V2.3
---------------
- Fixed a bug in display lists for draw elements (cause trouble with the Blender
Game Engine)
- Line drawing with shade mode GL_FLAT was ignoring the colours. Fixed.
- Fixed a bug that would reset GL_TEXTURE_ENV_MODE to GL_MODULATE when a new
texture
is created and bound (caused trouble for Torque Game Engine)
- Fixed a bug in GL_POLYGON rendering that occurred when polygon offset fill was
enabled
- The MiniGL Watchdog thread now only uses 16 KiB stack (or whatever is set as
the minimum
in DOS prefs) instead of the same amount of stack that the main process has
- The read-buffer was set to GL_FRONT every time, whereas it should be GL_BACK
for
double-buffered displays
Changes in V2.2
---------------
- Added support for 1D textures
- Added cel-shading demo (NeHe lesson 37) as a demo of 1D texture use
- Implemented spotlights support
- Added spots demo (demonstrates spotlights)
- Added glGetPointerv()
- Add improved support for applications that want to provide their own bitmaps
for rendering
to, incuding the option of callback function to allow the app to know when the
display needs
updating
- Fix alignment loop bug in displaylists where the number of elements was odd
and data type was
GL_UNSIGNED_BYTE
- Fix to infinite loop bug in select mode and DrawTriangles
- Added AltiVec support to vertex transformation and matrix multiplication
AltiVec pipeline can be disable by setting ENV:MiniGl/UseVectorUnit to '0' or
'off'
- GlCopyPixels() has a special fast routine when depth-testing is disabled and
no colour
scaling/bias is being used
- Fixed a deadlock condition in glCopyPixels()
- It was still possible to overflow the vertex buffer; fixed.
- Fixed a bug in glRasterPos##() that occurred when w != 1.0
- GlutMotionFunc() hook wasn't called when the mouse was close to the right and
bottom borders
of the window; fixed.
- Fixed possible deadlock conditions with the smartlock.
- Fixed a bug in quad rendering code that caused missing polygons
- Fixed a GL selection bug; rendering of triangle primitives would result in
triangles being
rendered instead of being added to the selection list
- Added a stack cookie to the trim demo so that it no longer crashes if the
default stack
size is too small
- GlBitmap() was ignoring GL_UNPACK_ROW_LENGTH; fixed.
- Fixed the lighting bug that caused planet tinting in Celestia when text
overlay was enabled
(e.g., when labels were enabled)'
- Fixed the issues with altivec code and non-altivec machines
- More bug fixes
Changes in V2.1
---------------
- Fixed the bug in the MiniGL watchdog task. GL screensavers should no longer
freeze.
- Fixed a problem that occurred when vertex arrays were included in a display
list
- Fixed a bug in rendering huge vertex arrays
- Fixed rendering of line strips and line loops. No more spurious extra lines
(e.g. Celestia,
GLBoxed blanker and the Dr. Fungi demo)
- Lots of other bug fixes
- Added pop up requesters informing users of problems (e.g., wrong
MiniGL.library version)
- Added stack cookies to demos using GLU NURBS functions in order to ensure that
they have
enough stack
- GLUT now only requests a stencil buffer when applications ask for one
- No longer need -DMINIGL defined when compiling OpenGL apps
Changes in V2.0
---------------
- Added support for evaluators (glMap*, glEvalCoord*, glMapGrid*, glEvalMesh*,
glEvalPoint*)
- Added selection support (glListBase(), glNewList(), glInitNames(),
glLoadName(), glPushName(), glPopName(), glSelectBuffer(), and glRenderMode())
- Added gluPickMatrix()
- Added gluProject()/gluUnProject()
- Added glGetDoublev()
- Added glIsTexture()
- Added glGetTexEnviv()
- Added glGetLight*() functions
- Added GL_PROXY_TEXTURE support
- Fixed some rendering bugs (e.g., a bug causing incorrect lighting for clipped
primitives)
- Added const qualifiers to improve OpenGL compliance
- Mglut.library now has glutKeyboardUpFunc(), glutSpecialUpFunc(), and
glutIgnoreKeyRepeat()
- Added text functions to Mglut.library (glutBitmap*(), glutStroke*())
- Added glPushClientAttrib()/glPopClientAttrib()
- Added glDrawPixels()
- Added game mode to mglut.library
- Added glutDeviceGet(), glutLayerGet(), glutGetModifiers(), glutSetOptions()
and expanded
the number of attributes supported by glutGet()
- Added glut geometry rendering functions including the teapot functions
- Added glut overlay function stubs for completeness (overlay is not actually
supported)
- Added glGetMaterial*()
- Added the complete set of glNormal*() functions
- Added glGetTexImage
- Added full set of glPixelStore modes, as well as glPixelTransfer
- Added glutTimerFunc(), glutCloseFunc(), glutWMCloseFunc()
- Added glutWarpPointer()
- Added glutExtensionSupported(), glutIgnoreKeyRepeat(), glutSetKeyRepeat(),
glutKeyUp(),
glutSpecialUp(), and glutForceJoystickFunc() (note: no joystick support yet)
- Added stubs for glutSetColor(), glutGetColor(), and glutCopyColormap() (note:
these functions really don't make sense
| |