gspFast3D microcode is the most full-featured of the microcode types. It is also the microcode used in the majority of the demo applications. gspFast3D supports 3D triangles, 3D clipping, Z-buffering, near and far clipping, lighting, mip-mapped textures, perspective textures, fog, and matrix stack operations. It does not support the GBI command, gSPLine3D. gspF3DNoN microcode is similar to gspFast3D microcode, except it does not handle near plane clipping in the same manner. When using gspFast3D microcode, objects between the eye and the near plane are clipped. When using gspF3DNoN microcode, objects between the eye and the near plane are not clipped. However, the area between the eye and the near clipping plane does not implement Z-buffering. This means that objects that fall into this area must be rendered in order from far to near. gspLine3D microcode contains many of the features contained in gspFast3D, except that instead of rendering triangles, it draws 3D lines. This is useful for producing wireframe effects. If a gSP1Triangle command is encountered it will render the three edges of the triangle, but not the center portion of the triangle. gspTurbo3D microcode is a reduced-feature, reduced-precision, microcode that delivers significantly faster performance. The features not supported by gspTurbo3D are: Clipping, lighting, perspective-corrected textures, and matrix stack operations. The quality of the anti-aliasing also suffers, due to the lack of precision used by gspTurbo3D. This loss of precision can also manifest itself as various visual artifacts, depending on the content. gspTurbo3D uses a different format for the display list. gspSprite2D microcode is optimized for rendering 2D sprite images. Sprites are implemented as textured screen rectangles. gspSprite2D does not support 3D lines, 3D triangles, vertex operations, matrix operations, lighting, or fog. All of the DP commands such as blender modes, and color combiner modes are supported. Z-buffering can be used to arrange the order of the sprites from front to back. The F3DEX series is a tuned version of the previous Fast3D and Line3D microcode. The new version uses .fifo exclusively as the method by which commands are passed from the RSP to the RDP. In addition, the vertex cache size is increased, and the matrix stack is increased from 10 levels to 18 levels. The seven microcode versions in this series are listed below. Among them are several versions designed to improve performance by restricting function. The features of each microcode are as follows.
25.1.1 gspFast3D
25.1.2 gspF3DNoN
25.1.3 gspLine3D
25.1.4 gspTurbo3D
25.1.5 gspSprite2D
25.1.6 gspF3DEX (Fast3D Series Improved Version)