TWL-System G3D Library Revision History

Index

2.1.1

Problem Fixes

2.1.0

Added and Changed Features

Bug Fixes

2.0.0

Added and Changed Features

2.0.0 RC

Added and Changed Features

Bug Fixes

2008/04/08 Version

Added and Changed Features

Bug Fixes

2007/11/26 Version

Added and Changed Features

Bug Fixes

2006/05/29 Version

Added and Changed Features

Bug Fixes

2005/09/01 Version

Bug Fixes

2005/06/16 Version

Bug Fixes

2005/06/06 Version

Bug Fixes

2005/03/28 Version

Added and Changed Features

Bug Fixes

2005/01/31 Version

Added and Changed Features

Bug Fixes

2004/12/06 Version

Added and Changed Features

Bug Fixes

2004/11/10 Version

Added and Changed Features

Bug Fixes

2004/10/12 Version

Added and Changed Features

Bug Fixes

2004/09/16 Version

Added and Changed Features

Bug Fixes

2004/09/02 Version

Added and Changed Features

Bug Fixes

2004/08/10 Version

Added and Changed Features

Bug Fixes

Changes in 2.1.1

Note 82-R01: (Library) Reverted the changes related to material skipping

Note 81-R03: (Library) The changes for the material skipping bug prevented materials status from being updated in certain cases, causing invalid colors to be applied to polygons. The changes have been reverted provisionally.

Changes in 2.1.0

Note 81-R01: (Library) Changed the default maximum number of shapes

Because no special restrictions are necessary, the default value for the maximum number of shapes in one model has been changed from 64 to 256.

Note 81-R02: (Converter) Added options

Added the -we option for handling warnings as errors.

Note 81-R03: (Library) Fixed the material skipping bug

During the material update process, a material that is hidden or is the same as the immediately previous material should be skipped and not updated. However, this skipping did not occur. That bug has now been fixed.

Note 81-R04: (Library) Fixed the NNS_G3D_GET_ANM macro bug

The NNS_G3D_GET_ANM macro was using undefined variables as arguments. That has been fixed.

Note 81-R05: (Converter) Removed the debug check feature from g3dcvtr

The g3dcvtr tool in the release package had a check feature for debugging purposes that should have been disabled but was not. This feature caused errors to result from data that could previously be converted. This problem has been fixed.

Note 81-R06: (Converter) Fixed bug specific to large element size in intermediate files

When the intermediate file contained elements with more than 2 MB of content, an error would occur. That has been fixed.

Note 81-R07: (Converter) Fixed error output when name is blank

When the name of a node or material was left blank, an error was not correctly output. That has been fixed.

Changes in 2.0.0

Note 80-R01: (Library) Updated for NDMA

Added support for NDMA added with the TWL.

Changes in 2.0.0 RC

Note 78-R01: (Converter) Added errors to g3dcvtr for irregular matrices

When the modeling matrix of a node referenced from a weighted envelope is a non-regular matrix, an error is now output.

Note 78-R02: (Converter) Fixed bug for uniform processing of frame_step in g3dcvtr

Fixed the problem of the constant component of frame_step being employed for all frame steps when the XYZ components of the rotation data of an ICA file or the RGB components of an IMA file met these two conditions.

Changes in Version 2008/04/08

Note 76-R01: (Converter) Added animation data reference range check to g3dcvtr

For ICA, IVA, IMA, ITP, and ITA intermediate files, added a range check for when the animation data are index-referenced.

Note 76-R02: (Manual) Changed the format of the Revision History

The format of the Revision History has been changed in the following PDF manuals.

Note 76-R03: (Manual) Changed the language of the Xerces-C++ license

Changed the notation of the Xerces-C++ license in the document g3dcvtr_UsersManual.pdf.

Note 76-R04: (Converter) Fixed bug where g3dcvtr does not return correct value on an error

When an error occurred, g3dcvtr returned the normal value 0 instead of returning 1. That has been corrected.

Note 76-R05: (Converter) Changed specifications for the frame_step uniformity process in g3dcvtr

The specification for unifying frame_step for the XYZ components of the rotational data in the ICA file has been changed. Before they were unified to the lowest-precision frame_step. Now they are unified to the highest-precision frame_step.

Changes in Version 2007/11/26

Note 71-R01: (Library) Changed specifications

Note 71-R02: (Converter) Changed g3dcvtr specifications

Under previous specifications, an error would result if the frame_step for the red, green, and blue components were not all the same when converting IMA files. This has been changed so that conversion is performed using the frame_step having the highest precision.

Note 71-R03: (Library) Fixed ASSERT bug

Note 71-R04: (Converter) Fixed bug where incorrect rotation data was output when converting the ICA file

A problem has been corrected when converting ICA files where the wrong rotate data was being output depending on the combination of frame_size and frame_step_mode being used.

Note 71-R05: (Converter) Fixed bug where NODEDESC command of the SCB command was not issued correctly when converting g3dcvtr's IMD file

A problem has been corrected when converting IMD files where the NODEDESC instruction of the SBC instruction was not being correctly issued depending on the node configuration and <display>::priority setting.

Changes in Version 2006/05/29

Note 59-R01: (Converter) Revised to read the command line argument from the file with g3dcvtr

Command-line arguments can now be read from a file. Command-line arguments starting with an at sign (@) are interpreted as a filename past the second character, and the contents of that file are expanded as arguments. Expansion of multiple files and multiple nested layers is possible. An error will result if file access cycles.

Note 59-R02: (Converter) Added -tex-nomerge option to g3dcvtr

The -tex-nomerge option has been added to g3dcvtr. If the texture or palette names are different when using this option, they are not merged even if the data is the same and separate memory is allocated.

Note 59-R03: (Library) Revised comments

Comments for the NNS_G3dGeUseFastDma function have been revised.

Note 59-R04: (Converter) Fixed bug where intermediate files that include billboards could not be converted

A problem where intermediate files that include billboards could not be converted has been corrected.

Changes in Version 2005/09/01

Note 50-R01: (Library) Fixed bug where rotate animations using a small angle were not being animated smoothly

Fixed bug to smoothly do animations that rotate through small angles.

Changes in Version 2005/06/16

Note 46-R01: (Library) Fixed various bugs

Bugs in the 2005/06/06 version have been corrected.

Changes in Version 2005/06/06

Note 45-R01: (Library) Fixed bug when playing animations

When converting ICA files using the –OS option, replay did not work in some cases. This bug was fixed.

Changes in Version 2005/03/28

Note 43-R01: (Library) Improved the precision of frame interpolation

When frame interpolation was used with joint animation and the amount of rotations between key frames was large, distortions in the models would increase in size in some cases. This was improved.

Note 43-R02: (Library) Fixed bug in SBC instruction callback

In SBC instructions NODEDESC and BBY, with TIMING_C, the NNS_G3D_RSFLAG_SKIP flag for TIMING_B was used by mistake. This problem was fixed. Also in SBC instructions NODEDESC, BBY, and BB, if processing was skipped with TIMING_C, subsequent processing would fail. This problem was fixed.

Note 43-R03: (Converter) Fixed bug where code used for the environment map when using g3dcvtr was working incorrectly

When multiple IMD files were converted, the environment map codes would malfunction. This bug was fixed.

Changes in Version 2005/01/31

Note 39-R01: (Library) Support for environmental and projection mapping

Added the NNSi_G3dFuncSbc_ENVMAP and NNSi_G3dFuncSbc_PRJMAP functions to support environment and projection mapping (orthogonal projection).

Note 39-R02: (Sample) Added samples

The following samples have been added.

Note 39-R03: (Converter) Updated g3dcvtr for NITRO intermediate file version 1.6.0

g3dcvtr now supports NITRO intermediate file version 1.6.0. IMD files that include an environment map and/or projection map can be converted.

Note 39-R04: (Library) Fixed bug in rendering weighted envelope models

Fixed the bug in which the drawing was not performed properly because a portion of the data in the NSBMD file output by g3dcvtr is invalid if classic scale off was configured with a weighted-envelope model (Softimage3D or Softimage|XSI).

Changes in Version 2004/12/06

Note 34-R01: (Sample) Added samples

The following samples have been added.

Note 34-R02: (Documentation) Added a document about the G3D binary file format

The binary file format used with G3D is described in NitroSystem\docs\G3D\G3D_BinaryFormat.pdf.

Note 34-R03: (Converter) Updated g3dcvtr for specifications added to NITRO intermediate file version 1.5.0

Provided support for addition attributes for <material> and <display> elements added with version 1.5.0 of the NITRO intermediate files.

Note 34-R04: (Converter) Improved binary generation

Binary generation has been improved when a billboard is added to a joint with multiple <display> elements.

Note 34-R05: (Library) Fixed bug in Y-axis billboard conversion

A bug where thick objects did not appear properly when a Y-axis billboard conversion occurred has been fixed.

Note 34-R06: (Library) Fixed bug where callbacks were not called correctly

A bug where the wrong callback was called when the NNS_G3D_SBC_CALLBACK_TIMING_A_DISABLE macro was defined and G3D was compiled has been fixed.

Changes in Version 2004/11/10

Note 31-R01: (Library) Support for partial playback of joint animations

Added the NNS_G3dAnmObjDisableID and NNS_G3dAnmObjEnableID functions to support the playback of the joint animation in which only some of joints are animated.

Note 31-R02: (Library) Support for fractional frame interpolation playback in joint animations

If linear is specified for <node_anm_info>::interpolation in the ICA file, when the decimal part of the frame is specified, the joint animation is played back by performing linear interpolation with neighboring frames. To loop playback of the animation, <node_anm_info>::interp_end_to_start must be set to ON.

Note 31-R03: (Library) Increased display speed of weighted envelopes

Improved the implementation of the NNSi_G3dFuncSbc_NODEMIX function and accelerated display of models that have weighted envelopes.

Note 31-R04: (Library) Added accessors for the NNSG3dRenderObj and NNSG3dRS structures

Added accessor for the NNS_G3dRenderObj and NNS_G3dRS structures.

Note 31-R05: (Sample) Added samples

The following samples have been added.

Note 31-R06: (Library) Fixed bug where alpha-value animations did not play accurately

A bug in the 2004/10/12 version that kept animations with alpha values for the material color animation from playing back properly has been fixed.

Note 31-R07: (Library) Fixed bug where animation data was sometimes output in duplicate

A bug where redundant animation data near the last frame was sometimes being generated if the frame step was set to 2 or 4 when converting ICA files with g3dcvtr has been fixed.

Note 31-R08: (Library) Fixed bug where playback using a frame step of 2 or 4 was undefined

A bug where invalid playback resulted when the frame step was set to 2 or 4 if there were frames with scale greater than or equal to 8 or less than or equal to 0.125 in the joint animation has been fixed.

Note 31-R09: (Library) Fixed bug where display was invalid

A bug where an invalid display would result if the camera was far or close when using weighted envelopes because it caused the temporary variable being used in G3D to overflow has been fixed.

Note 31-R10: (Converter) Fixed bug where some data was illegally output by g3dcvtr

A bug where some data was output improperly when converting multiple IMD files into one NSBMD file with g3dcvtr has been fixed.

Note 31-R11: (Converter) Fixed bug in alignment of animation data when using g3dcvtr

A bug where inappropriate alignment of the second and subsequent animation data was used when converting multiple IMA files with g3dcvtr has been fixed.

Note 31-R12: (Converter) Fixed bug in output of pos_scale value of <box text> when using g3dcvtr

A bug where the pos_scale value of <model_info> was output as data corresponding to the pos_scale value of <box_test> used by g3dcvtr has been fixed.

Changes in Version 2004/10/12

Note 26-R01: (Library) Added the display of weighted envelopes

The NNSi_G3dFuncSbc_NODEMIX function was added, and now models having weighted envelopes converted with g3dcvtr can be displayed. In addition, the NSBMD file format has been extended, and IMD files must be converted again.

Note 26-R02: (Library) Changed callback specifications

Callback specifications were changed. In some cases, they may not be compatible with previous versions.

Note 26-R03: (Library) Tuned material animations

The performance of material color animations and texture SRT animations was improved, and the code was reduced in size. Fixed the bug that always enabled the specular reflection shininess table when a material color animation was executed.

Note 26-R04: (Sample) Added samples

The following samples have been added.

Note 26-R05: (Converter) Made changes to the g3dcvtr summary display format (NSBMA, NSBTP, and NSBTA files)

The format of the summary display shown when NSBMA, NSBTP, and NSBTA files are passed to g3dcvtr as arguments has been changed.

Note 26-R06: (Library) Fixed bug where execution would hang when using NNS_G3dGeSendDL

A bug has been fixed where execution would hang if the NNS_G3dGeSendDL function was used while GX_DMA_NOT_USE was selected with NITRO-SDK's GX_InitEx function.

Note 26-R07: (Library) Fixed bug where texture scaling was wrong

A bug where texture scaling became invalid when a textured model was created using SoftImage3D has been fixed.

Note 26-R08: (Library) Fixed bug where write direction was set illegally

Fixed bug where the light direction was being set improperly by the NNS_G3dGlbFlushWVP function.

Note 26-R09: (Library) Fixed bug for large textures

A bug where large textures were sometimes not displayed has been fixed.

Changes in Version 2004/09/16

Note 21-R01: (Library) Added function to get current matrix

The current position coordinate and direction vector matrices can be obtained with the NNS_G3dGetCurrentMtx function.

Note 21-R02: (Library) Added the NNS_G3dGlbFlushP, NNS_G3dGlbFlushVP, and NNS_G3dGlbFlushWVP functions

The various functions that initialize the current matrix and so on before rendering were broken into three types. These functions differ only in how they set the current matrix, as described below.

Due to the above function differences, the current matrices obtained during rendering will be the camera coordinate system, world coordinate system, and local coordinate system matrices, respectively. By using these three functions accordingly, calculations such as multiplying an inverse matrix can be omitted when getting necessary data.

The NNS_G3dGlbFlushP function works the same as the existing NNS_G3dGlbFlush function. The same is true for the NNS_G3dGlbFlushWVP and NNS_G3dGlbFlushAlt functions.

Note 21-R03: (Library) Added an accessor for the NNSG3dGlb structure

Added accessor functions that read from and write to the data in the NNSG3dGlb structure.

Note 21-R04: (Library) Deleted unused code

Unused code has been deleted.

Note 21-R05: (Converter) Changed the g3dcvtr summary display format (NSBCA and NSBVA files)

Changed the summary display format used when NSBCA and NSBVA files are passed as arguments to g3dcvtr.

Note 21-R06: (Library) Fixed bug where scaling was not applied correctly

A bug has been fixed where scaling was not applied correctly with the NNS_G3dDraw1Mat1Shp function.

Note 21-R07: (Library) Fixed bug where models that use textures with a TexCoord source were not rendered correctly

Fixed bug that caused the NNS_G3dDraw1Mat1Shp function to incorrectly render models that use textures based on TexCoord source.

Changes in Version 2004/09/02

Note 20-R01: (Library) Added functions to render simple objects quickly

Added the NNS_G3dDraw1Mat1Shp function, which allows a simple object to be rendered quickly.

Note 20-R02: (Library) Treated a bug in the geometry FIFO (2004/09/01)

Fixed bug in Geometry FIFO.

Note 20-R03: (Library) Optimized code

A display list that is shorter than 256 bytes is transferred via the CPU without using the DMA.

Note 20-R04: (Converter) Improved g3dcvtr error display

Improved the error display of the error in the input XML file.

Note 20-R05: (Converter) Improved g3dcvtr output

Because the output of g3dcvtr was improved, the stall period that is related to the DMA transfer of the display list was shortened.

Note 20-R06: (Library) Fixed bug where child node list was wrong

Fixed bug where the child node list output by the NNS_G3dGetChildNodeIDList function was not correct.

Note 20-R07: (Library) Fixed bug in adding multiple animations

Fixed bug that did not play back the animation when multiple animations were added to the same rendering object.

Note 20-R08: (Converter) Fixed bug for the conversion of fully weighted envelope models

A bug where fully weighted envelope models were not being converted correctly by g3dcvtr has been fixed.

Changes in Version 2004/08/10

Note 16-R01: (Library) Updated for material color animations

The library now supports the playback of material color animations.

Note 16-R02: (Library) Updated for texture SRT animations

The library now supports the playback of texture SRT animations.

Note 16-R03: (Library) Fixed various bugs

Bugs in texture matrix calculation, animation blending, texture pattern animation, and so on have been fixed.














































CONFIDENTIAL