示例#1
0
  void updateScreen() {
    re.BeginFrame(0.0f);

    switch (currentState) {
      case 0:
        re.DrawStretchPic(0, 0, viddef.getWidth(), viddef.getHeight(), "conback");
        re.DrawPic(viddef.getWidth() / 2 - 50, viddef.getHeight() / 2, "loading");
        currentState = 1;
        break;
      case 1:
        // register the map
        re.SetSky("space1", 0, new float[] {0, 0, 0});
        re.BeginRegistration("ColorTest");
        re.EndRegistration();
        currentState = 2;
        // break;
      default:
        if (framecount % 500 == 0) {
          long time = System.currentTimeMillis();
          fps = 500000.0f / (time - start);
          start = time;
        }
        String text = fps + " fps";

        testMap();

        drawString(10, viddef.getHeight() - 16, text);
    }

    re.EndFrame();
    framecount++;
  }
示例#2
-1
  private void testMap() {

    if (refdef == null) {
      refdef = new refdef_t();

      refdef.x = 0;
      refdef.y = 0;
      refdef.width = viddef.getWidth();
      refdef.height = viddef.getHeight();
      refdef.fov_x = fov_x;
      refdef.fov_y = CalcFov(fov_x, refdef.width - 10, refdef.height - 10);
      refdef.vieworg = new float[] {0, 0, 0};

      refdef.viewangles[0] = 0;
      refdef.viewangles[1] = 90;
      refdef.viewangles[2] = 0;

      refdef.blend = new float[] {0.0f, 0.0f, 0.0f, 0.0f};

      refdef.areabits = null; // draw all
      //			refdef.areabits = new byte[Defines.MAX_MAP_AREAS / 8];
      //			Arrays.fill(refdef.areabits, (byte) 0xFF);

      refdef.num_entities = 0;
      refdef.entities = null;

      lightstyle_t light = new lightstyle_t();
      light.rgb = new float[] {1.0f, 1.0f, 1.0f};
      light.white = 3.0f;

      refdef.lightstyles = new lightstyle_t[Defines.MAX_LIGHTSTYLES];
      for (int i = 0; i < Defines.MAX_LIGHTSTYLES; i++) {
        refdef.lightstyles[i] = new lightstyle_t();
        refdef.lightstyles[i].rgb = new float[] {1.0f, 1.0f, 1.0f};
        refdef.lightstyles[i].white = 3.0f; // r + g + b
      }
    }

    refdef.time = time() * 0.001f;

    refdef.viewangles[0] += KBD.my * 0.1f;
    refdef.viewangles[1] -= KBD.mx * 0.1f;

    refdef.vieworg[0] = 0; // + 30 * (float)Math.sin(time() * 0.0005f);
    refdef.vieworg[1] = -79;
    refdef.vieworg[2] = -131;

    // wichtig da aufloesung 1/8
    // --> ebenen schneiden nie genau die sicht
    refdef.vieworg[0] += 1.0f / 16;
    refdef.vieworg[1] += 1.0f / 16;
    refdef.vieworg[2] += 1.0f / 16;

    re.RenderFrame(refdef);
  }