Q3ViewerNew returned NULL if application did not call MaxAppleZone() first.
CSG attributes didn't work consistently, particularly when attached directly to a geometric primitive.
Interactive renderer drew pixmap markers in incorrect colors. Public header files didn't include QD3D.h.
Interactive renderer crashed in edge mode when trimeshes that contained no edge list were submitted.
NULL rect parameter passed into Viewer was not permitted.
Backface culling was broken for orthographic cameras in interactive renderer.
Math/matrix routines had insufficient validation in debug version, allowing erroneous input to go undetected.
Subdivision control mechanism for cones, cylinders, etc. was broken - very large or small objects would be over- or under-tessellated.
Custom attribute inheritance didn't work.
Pixmap marker highlighting was incorrect in both the interactive and wireframe renderers.
Wireframe renderer: some lines were not clipped correctly, leading to application crash.
Plug-in renderers had no way to provide a name string that could be localized.
Draw context didn't correctly handle partially-occluded, pane-using, mask-using, monitor-crossing, or partially offscreen windows; this manifested itself as rendered images appearing in incorrect portions of the screen, improper clipping, etc. This was especially serious in single-buffered draw contexts.
On 8-bit monitors, interactive renderer didn't clear window correctly when window crossed two monitors, leaving a narrow strip of pixels uncleared.
Draw region API calls weren't sufficiently validated, allowing incorrect input to be undetected.
Crash when mesh had same instance of a surface shader on several faces.
Z-buffering/drawing artifacts exhibited on some models.
If I/0 "diving into groups" feature was turned on, I/O was erroneously terminated after reading the end of the first group.
Attribute update mechanism for renderers did not work correctly,
resulting in various symptoms (e.g., attributes appeared to persist
incorrectly), particularly when pushing or popping (as in the default
behavior of groups).
Picking when using the wireframe renderer appeared to be extremely slow. Texture shaders did not inherit correctly.
Wireframe renderer called idle method for each primitive, which was way too often.
No API call existed to let application know if renderer is intended to be used in interactive settings.
I/O "diving into groups" could not be turned off once turned on. Lines and polylines sorted incorrectly in picking, resulting in incorrect hits being returned.
Pixmap draw context incorrectly restricted allowable pixel types - it excluded alpha-specifying pixel types, in debug version of library. Picking polylines and lines returned incorrect XYZ location of hits.
Q3Renderer_GetConfigurationData() incorrectly returned kQ3Failure when no configuration data existed. Now returns kQ3Success but fills in return argument with NULL in that case.
On Windows, only one plug-in component could be loaded.
A highlight applied to a cone or cylinder may fail to result in the highlight color being applied to all or part of the object, or would persist after being turned off.
Bitmap markers whose width was such that the data didn't end on a word boundary may have been drawn incorrectly.
For asynchronous/deferred renderers, attempts to cancel the rendering may have failed, resulting in the debug libraries hitting an assertion.
Minor rendering artifacts with the interactive renderer may have appeared in specular highlights.
Memory leaked when resizing a window on the Windows 95/NT version, when using the Win32DCDrawContext and the interactive renderer.
In single-buffered windows, cursor was shielded at the wrong screen locations during rendering.
QD3D Viewer on Windows: "Save As" function didn't work.
Q3GetVersion API call was insufficient for getting complete version (only supplies major and minor numbers, so 1.5.1 can't be distinguished from 1.5). New API call added Q3GetReleaseVersion() which returns full version. Also, similar call added to viewer: Q3ViewerGetReleaseVersion(). Number returned in 'vers" resource format, for compatibility [see IM: Macintosh Toolbox Essentials for more details].
Custom attribute inheritance failed to work.
32-bit Pixmap markers crashed on Windows.
Returning kQ3Failure from application's idle callback failed to cancel rendering (as happens if kQ3Failure is returned from the idle *progress* callback).
Gestalt system version values were out-of-date.
Q3Shared_GetEditTrackingState returned unsigned long - return changed to TQ3Boolean.
Q3File_GetReadInGroup didn't return kQ3FileCurrentCurrentlyInsideGroup properly when inside group.
Missing or broken I/O low-level functions: Q3Int8_Read, Q3Int8_WRite, Q3Int16_Read, Q3Int16_Write, Q3Int64_Write, Q3Int64_Read.
4 Avril 1997