*/
  public void materialfv (int face, int pname, float [] params) {
    int n = 0;

    switch (pname) {
    case SHININESS: n = 1; break;
    case COLOR_INDEXES: n = 3; break;
    case AMBIENT:               // fall through
    case DIFFUSE:               // fall through
    case SPECULAR:              // fall through
    case EMISSION:              // fall through
    case AMBIENT_AND_DIFFUSE: n = 4; break;
    }

    RequestOutputStream o = display.out;
    synchronized (o) {
      begin_render_request (o, 96, 12 + 4 * n);
      o.write_int32 (face);
      o.write_int32 (pname);
      for (int i = 0; i < n; i++)
        o.write_float (params [i]);
    }
  }