From: "Zoran Krunic" <[EMAIL PROTECTED]>
> Hi There,
> Is there a way to get FPS measurements with j3D 1.2.1 ?
> Thanks,
> Zoran

There is a generic way to count FPS: see below.
May work with any version of Java3D.
I dont remember the name of the author, but I like to say a
big Thank You to him/her.



/**
 * Title: FPS
 * Description:  FPS measurer
 * Usage:  add to your 3D graph and see the FPS measure at console
 * @author I dont know :(
 * @version 1.0
 */

import javax.media.j3d.*;
import com.sun.j3d.utils.geometry.Text2D;
import javax.vecmath.*;
import java.util.Enumeration;

final class FPS extends Behavior {

 protected int nFrames;
 protected long startTime;
 protected final WakeupCondition w;
 protected static float frameRate;
 public int i=1;
 public Text2D text2D=null;

 public FPS(int nFrames)
 {
  this.nFrames = nFrames;
  w = new WakeupOnElapsedFrames(nFrames);
 }

 public FPS(){
  this(200);
 }


 public FPS(int nFrames, Shape3D texto)
 {
  this(nFrames);
  if (texto instanceof Text2D)
  text2D = (Text2D)texto;

 }

 public void initialize(){
  setSchedulingBounds (new BoundingSphere( new Point3d(), 1000));
  startTime = System.currentTimeMillis();
  wakeupOn(w);
 }

 public void processStimulus(Enumeration criteria){
  long time = System.currentTimeMillis();
  frameRate=1000 * (float)nFrames/(float)(time-startTime);
  String saida = new String("FPS : " + (int)frameRate);
  System.out.println(saida);
  if (text2D != null)
  {
    text2D.setString(saida);
  }
  startTime = System.currentTimeMillis();

  wakeupOn(w);
 }

 public static float getFrameRate() {
    return frameRate;
 }
}
_______________________________________________________________________
Yahoo! Encontros
O lugar certo para encontrar a sua alma gêmea.
http://br.encontros.yahoo.com//

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to