# G3*_MaterialColorSpecEmi

## C Specification

      #include <nitro/gx/g3imm.h>
      #include <nitro/gx/g3b.h>
      #include <nitro/gx/g3c.h>

      void G3_MaterialColorSpecEmi(GXRgb specular, GXRgb emission, BOOL IsShininess);

      // Below are APIs for creating the display list (command list):
      void G3B_MaterialColorSpecEmi(
      GXDLInfo* info,
      GXRgb specular,
      GXRgb emission,
      BOOL IsShininess);

      void G3C_MaterialColorSpecEmi(
      GXDLInfo* info,
      GXRgb specular,
      GXRgb emission,
      BOOL IsShininess);

      void G3BS_MaterialColorSpecEmi(
      GXDLInfo* info,
      GXRgb specular,
      GXRgb emission,
      BOOL IsShininess);

      void G3CS_MaterialColorSpecEmi(
      GXDLInfo* info,
      GXRgb specular,
      GXRgb emission,
      BOOL IsShininess);

## Arguments

info | Command List Information
specular | Specular reflection color
emission | Emitted light color xyxyxy
IsShininess | Enable/Disable flag for the specular reflection shininess table

## Return Values

None.

## Description

This function sets the specular reflection color and emission light color for materials. The specular reflection shininess table flag specifies whether to use the specular reflection table (`TRUE`) or not to use the specular reflection table (`FALSE`). See `G3*_Shininess` for details on the specular reflection table.
Note: When conversion does not occur using the specular reflection table, specular (the greater value of 0 and the dot product of the normal vector, N, and the reverse directional half-angle vector, H) is used without modification. Normally, intended specular reflection results can be obtained by setting the specular reflection table to specular raised to the power of `n`.

## See Also

`G3_MaterialColorDiffAmb, G3*_Shininess`

## Revision History

02/09/2004

- Added explanation for the specular reflection shininess table flag

01/19/2004 Initial version

CONFIDENTIAL