njControl3D | Japanese
    --|INDEX|->
Controls the drawing surface for a 3D object.

### FORMAT

      #include  <Ninja.h>
      void    njControl3D( flag )
      Uint32  flag

### PARAMETERS

flag
  control parameters

### RETURN VALUE

  None

### ERROR VALUE

  None

### FUNCTION

- Controls the drawing surface for models and objects.
- Parameters that can be set are as follows.

  NJD_CONTROL_3D_DISP_AXIS
    Draws axes (1 long) at the origin for each model.
    X axis:blue, Y axis:green, Z axis:red

  NJD_CONTROL_3D_NO_CLIP_CHECK
    Specifies not to perform clipping check when drawing models.
    With this parameter set, drawing efficiency will be up if model drawing is within a screen completely.

  NJD_CONTROL_3D_CONSTANT_ATTR
    Allows to change model attribute. Changing parameters should be specified with njSetConstantAttr().

  NJD_CONTROL_3D_CONSTANT_MATERIAL
    Changes material data of models to fixed value. Changing parameters should be specified with njSetConstantMaterial().

  NJD_CONTROL_3D_OFFSET_MATERIAL
    Supplements material data of models. Supplementing parameters should be specified with njSetConstantMaterial().

  NJD_CONTROL_3D_DEPTH_QUEUE
    Validates depth queue. Depth queue here means to change degree of transparency accommodating with distance.
    Depth queue parameters should be specified with njSetDepthQueue().

  NJD_CONTROL_3D_VERTEX_OFFSET
    Moves vertex data in normal line direction.
    The offset to move is specified by _nj_vertex_offset_ variable.

  NJD_CONTROL_3D_MODEL_CLIP
    Validates clipping by model.

  NJD_CONTROL_3D_CONSTANT_TEXTURE_MATERIAL
    Makes texture material color white.
    In default, it uses material color.

### EXAMPLE

      njInitSystem( NJD_RESOLUTION_VGA, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
      njInitMatrix( matrix, 128 );
      njInit3D( vbuf, 4096 );
      njInitView( &view );
      njCreateLight( &light, NJD_DIR_LIGHT );
      njSetView( &view );

      njControl3D( NJD_CONTROL_3D_NO_CLIP_CHECK | NJD_CONTROL_3D_DISP_AXIS );

      while(1) {
        njClearMatrix();
        njTranslate( NULL, 0.f, 0.f, -10.f );
        njRotateXYZ( NULL, xx,yy,zz );
        njDrawObject( object );
        xx += 257;
        yy += 179;
        zz += 193;
        njWaitVSync();
      }

### NOTES

### RELATED TOPICS

  njInit3D()
  njDrawModel()
  njDrawObject()
  njSetConstantAttr()
  njSetConstantMaterial()
  njSetTextureMode()
  njDrawAlphaBuf()
  njSetDepthQueue()

njControl3D |
    --|INDEX|->