Main Menu

Kurze Einleitung gesucht

Started by nikon, January 24, 2007, 05:53:24 PM

Previous topic - Next topic

nikon

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!

EgonOlsen

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:


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.

nikon

Quoteund in der "Run as..."-Konfiguration den Verweis auf die externen LWJGL-DLLs zu hinterlegen.

Also wie geht das?

QuoteDas 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??

EgonOlsen

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: )

cyberkilla

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

EgonOlsen

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... :?: