Q&A- NIFF 2.0

More about NIFF: NIFF Navigator 2
QA1 Will NIFF 1.0 still be supported now that NIFF 2.0 has been released?
QA2 Are IK and envelope calculated in real time?
QA3 How are diffuse, ambient, and emission constructed in NIFF 2.0?
QA4 How big is the system library portion of the mgk library?
QA5 What is NVF?

Q1 Now that NIFF 2.0 has been released, will NIFF 1.0 no longer be supported?

A1Since NIFF 2.0 is an expansion of NIFF 1.0, they are highly compatible. NIFF 1.0 is completely useable, except that the expanded NIFF 2.0 functions cannot be used, and it will of course continue to be supported.


Q2 Are IK and envelope in NVF calculated in real time on the N64?

A2Yes, they are calculated in real time.


Q3 What happens to the diffuse, ambient, and emission light settings in NIFF 2.0 when they are converted to GFX? Also, when should these settings be made?

A3 These cannot be used to generate GFX until heirarchical evaluation is completed. This is because they are constructed to be read as light source settings, with no thought of material, in order to increase the speed in the RSP microcode. The material and light source settings are reflected in the RSP light source as follows:

RSP_ambient = mat_ambient * light_ambient + mat_emission
RSP_diffuse = mat_diffuse * light_color

However, there is a special flag in NVF to handle EnvironmentColor, and when it is set, EnvironmentColor is output to mat_emission or mat_ambient*light_ambient. The above equations are used when NIFF 2.0 data are converted by niff2nvf.


Q4 How big is the system library portion of the mgk library?

A4 Including OS and bss, etc., I think it is around 700KB. However, this does not include the frame buffer and audio library.


Q5 What is the role of NVF here?

A5 NVF is a data format for displaying the functions that are built into NIFF on the N64. Since this is a format which can be directly used on actual N64 control decks, and since there are also libraries available that use it, it is easy to incorporate NIFF into games. Of course, it is also compatible with the new NIFF 2.0 functions described above. The previewer nvfview is also constructed with these libraries.


CG Tools




1.0 or 2.0

Nintendo NIFF Tool Group
niff2gfx niff2nvf User-generated NIFF Tool Group

Output as GFX

Output as NVF

Game Previewer