Für Applets ist es nicht anders, als für Applikationen, wenn man von den naturgegebenen Unterschieden einmal absieht. Es gab mal ein Applet-Beispiel, aber in 0.97 ist es rausgeflogen. Die Version 0.96 mit dem Beispiel gibt es noch hier drin:
http://www.jpct.net/download/Aber nimm davon nur das Beispiel, nicht die API selber..0.96 ist uralt. Ob das Beispiel noch mit 1.05 compiliert weiß ich nicht genau, aber wenn nicht, dann sollte nicht viel zu ändern sein.
Um ein einfaches Object zu erzeugen, musst du einfach ein Object3D mit der gewünschten Polygonanzahl erzeugen und mit addTriangle(...) deine Dreiecke hinzufügen. Hier ein Beispiel für einen Ring:
private static Object3D buildRing(float maxSize, float minSize, float texSize) {
final float rot=2*0.19634954084936207740391521145497f;
Object3D obj=new Object3D(16*2);
float div=Math.abs(maxSize)*2;
SimpleVector s1=new SimpleVector(-maxSize, 0, 0);
SimpleVector s2=new SimpleVector(-minSize, 0, 0);
SimpleVector st=new SimpleVector(-texSize, 0, 0);
SimpleVector e1=null;
SimpleVector e2=null;
SimpleVector et=null;
int i=0;
while (i<16) {
i++;
e1=new SimpleVector(s1);
e2=new SimpleVector(s2);
et=new SimpleVector(st);
e1.rotateY(rot);
e2.rotateY(rot);
et.rotateY(rot);
if (i==16) {
e1=new SimpleVector(-maxSize, 0, 0);
e2=new SimpleVector(-minSize, 0, 0);
et=new SimpleVector(-texSize, 0, 0);
}
float us1=s1.x/div+0.5f;
float vs1=s1.z/div+0.5f;
float us2=st.x/div+0.5f;
float vs2=st.z/div+0.5f;
float ue1=e1.x/div+0.5f;
float ve1=e1.z/div+0.5f;
float ue2=et.x/div+0.5f;
float ve2=et.z/div+0.5f;
obj.addTriangle(s1, us1, vs1, e1, ue1, ve1, s2, us2, vs2);
obj.addTriangle(e1, ue1, ve1, e2, ue2, ve2, s2, us2, vs2);
s1=e1;
s2=e2;
st=et;
}
return obj;
}
Für ein Band ist es noch eine ganze Ecke einfacher.