Jim Helman (jimh++at++surreal)
Wed, 02 Feb 94 13:12:54 -0800
rgds,
-jim helman
jimh++at++surreal.asd.sgi.com
415/390-1151
What follows is a brief description of bugs that were found in IRIS
Performer 1.0 and fixed in 1.1. This chapter lists the problems with
the IRIS Performer libraries, libpr and libpf, and with the shared
memory configurations.
"libpr"
Floating point exceptions can cause severe and mysterious performance
degradation. pfNotifyLevel levels of PFNFY_DEBUG and PFNFY_INFO enable
floating point exceptions so the application is alerted to this
potentially disastrous situation. In 1.0, underflows were not trapped
and consequently caused some problems. In 1.1, underflows are trapped.
pfFilePath would exit with a FATAL error if it was called twice.
Applying a back-sided material which had a color mode
(pfMtlColorMode), would set the GL lmcolor mode. Since IrisGL does not
support lmcolor for back-sided materials, this could have caused
front-sided materials to use an improper lmcolor mode.
Intersection caching for non-indexed quads was broken and could case a
core dump when intersection with pfGeoSets of this type.
pfGetCurState returned a pfGeoState which was the top of the state
stack rather than the current pfState.
pfGetCurGState returned a pfGeoState which was the top of the state
stack rather than the most recently applied pfGeoState.
"libpf"
Perhaps the most heinous bug in 1.0, pfInitGfx on RealityEngines would
call lsetdepth(0x0, 0x0), essentially disabling zbuffering.
combinLODs() in the MultiGen .flt converter (in file hier.c) did not
set the LOD center of combined LODs. This would result in strange LOD
behavior for LODs which were not modelled about the origin.
pfClone()'ed pfSequences were not updated by pfFrame so they
essentially did not work.
Intersections with pfSequences could sometimes turn them off
(PFSEQ_STOP).
collide.c was shipped with a hardwired intersection mode which turned
off intersection caching, substantially reducing intersection
performance.
pfFlatten()'ed pfLightPoints were broken for multiprocessing modes
when the application and cull processes were separate.
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:10 PDT