# OpenGl Support für Applet (sun.java2d.opengl=True)



## Christoph.Java (27. Apr 2005)

Hi.

Seit JavaSDK5 (bzw. 1.5.x) gibt es ja die tolle OpenGL-Pipline in Java 

Das geht bei meinem Applet nicht!
Ich bekomme es nicht aktiviert, weil ich nicht weiß, wo ich die magische Zeile:
"-Dsun.java2d.opengl=True" einfügen soll.

Es ist ja ein Applet und daher hab ich keine Main-Anweisung. Deshalb kann ich das ganze
nicht mit Java.exe starten.

Auch "System.setProperty("sun.java2d.opengl", "true");" funktioniert nicht, da ich außerhalb
der "Main-Funktion" immer eine Security-Exception bekomme...und da ich keine Main-Funktion habe...

Hat jemand schonmal den OpenGL-Support geschafft?!

Bin echt verzweifelt und brauch Hilfe!

Grüße Christoph


----------



## Oxygenic (28. Apr 2005)

Gute Frage...die einzige Methode, die ich kenne, ist, dass der Anwender das bei sich lokal für alle Applets konfiguriert - nicht akzeptabel natürlich. Hast du schon mal im Forum von http://www.javadesktop.org oder http://forum.javacore.de gefragt?


----------



## ChsBlue (28. Apr 2005)

Also das füe alle Applets zu konfigurieren wäre ja erstmal ne Lösung. Dann könnte ich schonmal Performance testen usw.

Aber wie konfiguriere ich das?
Hab in der Systemsteuerung das mal konfiguriert - NULL EFFEKT!

Laut Sun, müsste ich in der Console ne Meldung bekommen, wenn es funzt UND AUCH eine wenn es NICHT funzt. Aber da steht nix 

In den Foren hab ich noch nicht gefragt, aber danke für den Tipp 

Sonst jemand ne IDee wie ich openGL im Applet zu laufen bekomm?


----------



## ChsBlue (29. Apr 2005)

Hallo 

Ich habs inzwischen kappiert.
Die Properties beziehen sich nicht auf meine Anwendung sondern auf die VM allgemein...und da darf ich logischerweise nix dran drehen (zumindest vom Applet nicht) 

Bin ein bisschen durch die Foren gesaust und hab die Lösung.
Also...
wenn man in einem Applet die OpenGL-Pipline aktivieren will, geht man unter (zumindest in Windows):
- Systemsteuerung
- Java
- Wählt den "Reiter" Java
- Klickt bei Java-Applet Laufzeiteinstellungen auf "anzeigen"
- Dann fügt man bei der gültigen JRE 1.5.02 unter "Java Runtime-Parameter" einfach die Zeile
"-Dsun.java2d.opengl=true -Dsun.java2d.translaccel=true" ein
- Fertig 

Ab dann laufen alle Applets mit der openGL Pipeline. Der Geschwindigkeitsvorteil ist sehr sehr groß!!! 

Man muss allerdings bei den Imageeinstellungen ein bisschen probieren. Bei meinem Backbuffer hab ichs so gemacht:


```
//
        // "Device" holen
        //
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice gd = ge.getDefaultScreenDevice();
        GraphicsConfiguration gc = gd.getDefaultConfiguration();

        //
        // Backbuffer erstellen
        //
        bi = gc.createCompatibleVolatileImage(width, height, Transparency.TRANSLUCENT);
        big = bi.createGraphics();
```

Laut Sun arbeiten die eh gerade daran, dass die openGL per Default aktiv ist.

Grüße


----------

