Author Topic: Kurze Einleitung gesucht  (Read 8927 times)

Offline nikon

  • byte
  • *
  • Posts: 2
    • View Profile
Kurze Einleitung gesucht
« on: January 24, 2007, 05:53:24 pm »
Halöchen allerseids

Also vorneweg:
Ich bin Anfänger was Java angeht und habe nich viel Ahnung

So also ich hätte mal n paar fragen und zwar wenn ich die jpct.jar bei meinem projekt (bei Eclipse) inluded habe, wie bekomme ich da jetzt einen Körper oder wie mache ich eine Welt in der man sich bewegen kann??
Oder wo habt ihr das rausgefunden? gibts sowas wie ein Tutorial?(bitte nur deutsche mein englisch ist begrenz :) )

Danke im Vorraus für jede antwort!

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12298
    • View Profile
    • http://www.jpct.net
Kurze Einleitung gesucht
« Reply #1 on: January 24, 2007, 10:15:22 pm »
Ein richtiges Tutorial in dem Sinne gibt es nicht. Und gäbe es eines, wäre es in Englisch, also...
...was du noch machen solltest, ist die LWJGL-jars ebenfalls einzubinden und in der "Run as..."-Konfiguration den Verweis auf die externen LWJGL-DLLs zu hinterlegen. Das findest du in dem Dialog unter "Arguments/VM arguments". Dort den Pfad zu den DLLs eintragen, also z.B.

-Djava.library.path=e:\stuff\lib\lwjgl-1.0b3\

Dann kannst du sowohl den Softwarerenderer als auch den Hardwarerenderer benutzen. Zu letzterem hier ein kleines HalloWelt, das eine beleuchtete Kugel malt:

Code: [Select]

package test;

import com.threed.jpct.*;
import com.threed.jpct.util.*;
import org.lwjgl.opengl.*;

public class HelloWorld {

public static void main(String[] args) {
HelloWorld myWorld=new HelloWorld();
myWorld.doStuff();
}

private void doStuff() {
Config.glColorDepth=24;
World world=new World();
world.setAmbientLight(30, 30, 50);

FrameBuffer buffer=new FrameBuffer(800, 600, FrameBuffer.SAMPLINGMODE_HARDWARE_ONLY);
buffer.disableRenderer(IRenderer.RENDERER_SOFTWARE);
buffer.enableRenderer(IRenderer.RENDERER_OPENGL);

Light light=new Light(world);
light.setIntensity(255, 50, 50);
light.setPosition(new SimpleVector(0,-200,-50));

Object3D sphere=Primitives.getSphere(10);
world.addObject(sphere);
world.buildAllObjects();

Camera cam=world.getCamera();
cam.moveCamera(Camera.CAMERA_MOVEOUT, 40);
cam.moveCamera(Camera.CAMERA_MOVEUP, 40);
cam.lookAt(sphere.getTransformedCenter());

while(!Display.isCloseRequested()) {
buffer.clear();
world.renderScene(buffer);
world.draw(buffer);
buffer.update();
buffer.displayGLOnly();
}

buffer.disableRenderer(IRenderer.RENDERER_OPENGL);
buffer.dispose();
System.exit(0);
}
}


Darüber hinaus gibt es die Beispiele, es gibt die Quellen für ein komplettes Spiel (http://www.jpct.net/download/paradroidz_src.zip) und hier im Forum finden sich auch viele Code-Schnipsel bzw. ganze Klassen für dies und das.

Offline nikon

  • byte
  • *
  • Posts: 2
    • View Profile
Kurze Einleitung gesucht
« Reply #2 on: January 25, 2007, 01:12:10 pm »
Quote
und in der "Run as..."-Konfiguration den Verweis auf die externen LWJGL-DLLs zu hinterlegen.


Also wie geht das?

Quote
Das findest du in dem Dialog unter "Arguments/VM arguments".
Dort den Pfad zu den DLLs eintragen, also z.B.

-Djava.library.path=e:\stuff\lib\lwjgl-1.0b3\

öhh wo finde ich den Dialog was ist ein Dialog (ich kenne das nur als unterhaltung 2er Personen)
Quote

Dann kannst du sowohl den Softwarerenderer als auch den Hardwarerenderer benutzen.

Was ist ein Sofware und was ein Hardwarerenderer

Und zuletzt noch wie kann ich 3d animationen aus beispielsweise Milkshape in meiner 3d welt einbinden??
Und dein script also das Helloworld funktioniert (der kann das alles noch nicht importieren " "com.threed" cannot be resolved") noch nicht, liegt warsch. an den sachen die ich noch nicht machen konnte und wo finde ich eine Befehlsübersicht der 3d engine?


Edit also ich hab da jetzt irgendwo bei der .class datei gesagt das der die dieses VM arguments bei
C:\Dokumente und Einstellungen\niikon\Desktop\jpctapi\lib\lwjgl-1.0b3 findet aber er kann diese com. und org. sachen nich includen... why??

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12298
    • View Profile
    • http://www.jpct.net
Kurze Einleitung gesucht
« Reply #3 on: January 27, 2007, 11:07:36 am »
Dann hast du die jars nicht dem Projekt hinzugefügt. Das geht eigentlich z.B. mit Rechtsklick auf das Projekt und dann kannst du da z.B. "Externe Bibliotheken hinzufügen" (oder so ähnlich) wählen und die Teile auswählen. Du müsstest jpct.jar und die von lwjgl hinzufügen. Ob du die dll jetzt korrekt eingebunden, weiß ich nicht...kann ich nicht so ganz nachvollziehen, wo du meinst.

Der Hardwarerenderer nutzt OpenGL fürs Darstellen, der Softwarerenderer nicht. D.h. der HWR braucht eine 3D-Karte mit korrekt installierten OpenGL-Treibern, der SWR nicht. Dafür ist ersterer natürlich viel schneller, sieht besser aus und bietet mehr Möglichkeiten. Es kommt aber ein bisschen drauf an, was genau du machen willst. Mache hier nutzen den SWR, weil sie Dinge damit anstellen, für die der HWR nicht taugt. Aber zum Probieren würde ich ruhig den HWR nehmen, so wie es auch das HelloWorld-Beispiel vormacht.

Edit: Dokumentation ist hier: http://www.jpct.net/doc bzw. in dem jpctapi.zip enthalten (unter...."docs":.. :wink: )

Offline cyberkilla

  • float
  • ****
  • Posts: 413
    • View Profile
    • http://futurerp.net
Kurze Einleitung gesucht
« Reply #4 on: January 27, 2007, 12:38:30 pm »
Quote from: "EgonOlsen"

-Djava.library.path=e:\stuff\lib\lwjgl-1.0b3\


I might try that. Saves me from uploading to my server constantly to test:P
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12298
    • View Profile
    • http://www.jpct.net
Kurze Einleitung gesucht
« Reply #5 on: January 27, 2007, 01:35:41 pm »
Quote from: "cyberkilla"

I might try that. Saves me from uploading to my server constantly to test:P
But you don't need the dll for software rendering... :?: