OS4 DepotLogo by Browallia 
(anonymous IP: 54.159.64.205,833) 
 HomeRecentStatsSearchSubmitUploadsMirrorsContactInfoDisclaimerConfigAdmin
 Menu

 Features
   Crashlogs
   Bug tracker
   Locale browser
 
 Categories

   o Audio (319)
   o Datatype (47)
   o Demo (176)
   o Development (492)
   o Document (20)
   o Driver (84)
      o Audio (10)
      o Filesystem (8)
      o Graphics (2)
      o Handler (7)
      o Input (12)
      o Misc (23)
      o Network (3)
      o Printer (4)
      o Storage (9)
      o Utility (5)
      o Video (1)
   o Emulation (134)
   o Game (811)
   o Graphics (430)
   o Library (80)
   o Network (189)
   o Office (51)
   o Utility (750)
   o Video (56)

Total files: 3639

Full index file. Download
Recent index file. Download




 Links

  Amigans.net
  OpenAmiga
  Aminet
  UtilityBase
  IntuitionBase
  AmigaBounty


Support the site


 Readme for:  Driver » Graphics » minigl.lha

Minigl

Description: OpenGL subset 3D API
Download: minigl.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 3Mb
Version: 2.20
Date: 31 Mar 15
Author: The MiniGL development team
Submitter: Hans de Ruiter
Requirements: A 3D graphics card with a Warp3D driver
Category: driver/graphics
Replaces: driver/graphics/minigl.lha
License: Other
Distribute: yes
Min OS Version: 4.0
FileID: 9254
 
Comments: 6
Snapshots: 0
Downloads: 1073  (Current version)
4075  (Accumulated)
Votes: 22 (0/0)  (30 days/7 days)

Show comments Show snapshots Show content Show crashlogs Replace file 
MiniGL V2.20 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.20
----------------
- Fixed the GL_BGRA GL_UNSIGNED_INT_8_8_8_8_REV packer used by glReadPixels()
(caused
  incorrect colours and mouse trails when pop-up menus were shown in Freespace
2)

Changes in v2.19
----------------
- Fixed a texture conversion issue that caused pixels to be in the incorrect
order (caused the
  text in Freespace 2 to be scrambled, amongst other things)

Changes in v2.18
----------------
- The backface cull fix (for Frogatto) caused missing triangles elsewhere. So,
fixed this issue yet
  again. This time it looks like everything works
- Profiling was accidentally left enabled in 2.17. Disabled it again

Changes in v2.17
----------------
- Added support for loading textures with the format GL_RGBA,
GL_UNSIGNED_INT_8_8_8_8_REV
 (ResidualVM uses it for Myst III: Exile)
- Fixed yet another backface cull issue with vertex arrays and triangle-strips
(caused missing 
  triangles in Frogatto)
- Reworked the bitmap/texture conversion system to use ARGB internally, so that
updating 
  ARGB textures can skip one conversion step (lowers the overhead under some
circumstances)

Changes in v2.16
----------------
- Fixed another issue with fogging for drivers that use standard Warp3D fogging
rather than
  z-fogging
- Added some missing blend modes

Changes in v2.15
----------------
- Added a Warp3D version check to make sure that anisotropic filtering really is
available

Changes in v2.14
----------------
- Fixed a bug in quad rendering that caused some quads to be culled incorrectly
(e.g., caused
  missing quads in the GLexcess demo)
- Fixed a bug in rendering of tri-fan vertex arrays that caused missing
triangles, especially
  in flat shade mode (caused missing triangles in PrBoom)

Changes in V2.13
----------------
- Triangle-strip rendering of vertex arrays broke in 2.11 (half the triangles
weren't rendered).
  FIXED
- Backface culling could be incorrectly left enabled under certain circumstances
(caused areas
  to be missing in Homeworld). FIXED
- Added some more Warp3D flush points where needed

Changes in V2.12
----------------
- Fixed the comparison used to intercept invalid fog parameters before they're
sent to Warp3D
  (caused most graphics in SpeedDreams to be rendered black with some graphics
cards)

Changes in V2.11
----------------
- Tweaked the include files so that glext.h does generate function prototype
typedefs (needed
  to compile some programs properly (e.g., Cube 2: Sauerbraten)
- Added some missing const specifiers to certain functions, to make them OpenGL
spec. 
  compliant (e.g., glFogfv())
- Vertex arrays were being drawn in one colour if flat shading was enabled.
FIXED
- Flat shading in immediate mode (i.e., using glBegin()/glEnd()) now uses the
colour/normals/etc.
  from the last vertex in a primitive as per the specification (except for with
GL_POLYGON, which is
  supposed to use the colour from the first vertex).
- Strange colour changes could occur with flat shaded polygons that were being
clipped. FIXED
- Added the GL_SUBTRACT multitexturing combine operation
- Now indicates that it supports the GL_EXT_texture_env_combine extension (which
is a.k.a.
  GL_ARB_texture_env_combine)
- Added support for the GL_EXT_texture_env_dot3 combine types (they're
equivalent to 
  GL_ARB_texture_env_dot3, but have different values)
- Now indicates that it supports GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3
if the hardware
  supports GL_ARB_texture_env_crossbar
- GlTexImage*()/glTexSubImage*() functions now respect the pixel transfer mode
- Texture mapping could be left enabled, if the texture units weren't disabled
in exactly the right
  order. FIXED
- Fixed some unpack functions that could cause a buffer overrun (caused Aquaria
to crash when
  moving from one cavern to the next)
- Now flush Warp3D before blitting the front buffer to the window
- Worked around an issue where unused but invalid fog parameters could prevent
the fog setting from 
  being updated
- GlGetString(GL_RENDERER) can now get the Warp3D driver's name without needing
to know its chip
  ID

Changes in V2.10
----------------
- Fixed a bug introduced somewhere in versions 2.6-2.8 that caused GL_RGBA
textures to be 
  uploaded incorrectly. FIXED
- Fixed the ARGB unpacker (rarely used, but don't want the channels to be
swapped)
- Now enable W3D_FOG_COORD explicitly instead of expecting Warp3D to implicitly
enable it
- Fixed the AutoInstall script


Changes in V2.9
---------------
- Version 2.8 caused Blender to lockup on startup. FIXED
- Fixed a bug that caused crashes if the Warp3D's max-texture-units exceeded
MiniGL's 
  max-texture-units

Changes in V2.8
---------------
 - Reworked various gl getter functions to eliminate duplicated code, fixed some
bugs in
   the behaviour of glGetBooleanv() when requesting parameters internally
represented as
   floating point data.
 - Added support for anisotropic filtering on supported Warp3D drivers
 - Added support for Z hinting on supported Warp3D drivers (not yet operational
on Radeon)
 - Numerius bug fixes

Changes in V2.7
---------------
 - Fixed bug introduced in 2.6's handling of logical operations
 - Implemented single-texture support for Permedia2
 - Improved performance of display list execution

Changes in V2.6
---------------
 - Recompiled with GCC 4.4.3
 - Code refactor, exposing many minor bugs that were fixed.
 - Fixed several thread-safety issues.
 - Significantly reduced stack overhead for clipping code.
 - Implemented faster conversions for normalized floats to 8 and 16-bit unsigned
integers.
 - Added profiler for debug builds

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


Copyright (c) 2004-2015 by Björn Hagström All Rights Reserved
Amiga OS and its logos are registered trademarks of Hyperion Entertainment