java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Spiele- und Multimedia-Programmierung

Antwort     Ist dieses Thema erledigt?
Themen-Optionen Thema durchsuchen Ansicht
Alt 11.08.2012, 00:07   #1 (permalink)
Benutzer
double
 
Benutzerbild von Turakar
 
Registriert seit: 11.08.2012
Fachbeiträge: 71
Abgegebene Danke: 22
Erhielt 2 Danke für 2 Beiträge
Standard Java3D Rendering Problem

Hallo,

ich habe ein Problem beim Rendern meines SimpleUniverse auf einem MainFrame.
Hier ist mein (momentan schlanker) Code:
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package main;
 
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
 
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
 
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
 
public class Simple3D extends Applet
{
    private SimpleUniverse u;
    
 
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
        Frame frame = new MainFrame(new Simple3D(), 256, 256);
        
    }
    
    public Simple3D()
    {
        this.setLayout(new BorderLayout());
        Canvas3D canavas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        BranchGroup szene = macheSzenegraph();
        szene.compile();
        u = new SimpleUniverse(canavas3D);
        u.getViewingPlatform().setNominalViewingTransform();
        u.addBranchGraph(szene);
    }
    
    public BranchGroup macheSzenegraph()
    {
        BranchGroup objWurzel = new BranchGroup();
        Transform3D drehung = new Transform3D();
        Transform3D drehung2 = new Transform3D();
        drehung.rotX(Math.PI / 4.0d);
        drehung2.rotY(Math.PI / 5.0d);
        drehung.mul(drehung2);
        TransformGroup objDreh = new TransformGroup(drehung);
        objDreh.addChild(new ColorCube(0.4));
        objWurzel.addChild(objDreh);
        return objWurzel;
    }
 
}

Freue mich über schnelle Antworten!

Turakar
Turakar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 11.08.2012, 01:02   #2 (permalink)
Benutzer
double
Themenstarter
 
Benutzerbild von Turakar
 
Registriert seit: 11.08.2012
Fachbeiträge: 71
Abgegebene Danke: 22
Erhielt 2 Danke für 2 Beiträge
Ich hab vergessen zu sagen das ich als Ausgabe einen graues Window kriege
Turakar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 11.08.2012, 01:47   #3 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 06.01.2007
Fachbeiträge: 16.732
Abgegebene Danke: 0
Erhielt 1.637 Danke für 1.482 Beiträge
Ruf' mal als erste Zeile der main
System.setProperty("sun.awt.noerasebackground", "true");
auf...
Marco13 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
Turakar (11.08.2012)
Alt 11.08.2012, 11:19   #4 (permalink)
Benutzer
double
Themenstarter
 
Benutzerbild von Turakar
 
Registriert seit: 11.08.2012
Fachbeiträge: 71
Abgegebene Danke: 22
Erhielt 2 Danke für 2 Beiträge
Zitat: Marco13
Beitrag anzeigen
Ruf' mal als erste Zeile der main
System.setProperty("sun.awt.noerasebackground", "true");
auf...
Was bewirkt diese Codezeile genau?
Turakar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Alt 11.08.2012, 13:03   #5 (permalink)
Java-Forum Team
Moderator
 
Registriert seit: 06.01.2007
Fachbeiträge: 16.732
Abgegebene Danke: 0
Erhielt 1.637 Danke für 1.482 Beiträge
noerasebackground bewirkt dass er keinhintergrundlöschen durchführt Bei vielen Anwendungen mit OpenGL und manchen Grafikkarten wird (vereinfacht gesagt) das von OpenGL gerenderte Bild durch das Löschen des Canvas-Hintergrundes "übermalt". Hilft es denn?
Marco13 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagen:
JVTH (11.08.2012), Turakar (11.08.2012)
Alt 11.08.2012, 16:17   #6 (permalink)
Benutzer
int
 
Registriert seit: 15.05.2012
Fachbeiträge: 44
Abgegebene Danke: 7
Erhielt 2 Danke für 2 Beiträge
Klappt nicht, hab immer noch das graue Window.
JVTH ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
Turakar (11.08.2012)
Alt 11.08.2012, 16:18   #7 (permalink)
Benutzer
int
 
Registriert seit: 15.05.2012
Fachbeiträge: 44
Abgegebene Danke: 7
Erhielt 2 Danke für 2 Beiträge
Zitat: JVTH
Beitrag anzeigen
Klappt nicht, hab immer noch das graue Window.
schreib vom account meines Bruders, sry
JVTH ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Danke sagt:
Turakar (11.08.2012)
Alt 11.08.2012, 22:27   #8 (permalink)
Benutzer
double
Themenstarter
 
Benutzerbild von Turakar
 
Registriert seit: 11.08.2012
Fachbeiträge: 71
Abgegebene Danke: 22
Erhielt 2 Danke für 2 Beiträge
Gelöst!!!
Durch das hinzufügen von folgender Codezeile
Java Code: Quelltext in neuem Fenster öffnen
41
add("Center", canavas3D);
klappt es!
Hier der gesamte Code zum kopieren und/oder durchlesen:
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.applet.Applet;
import java.awt.BorderLayout;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
 
@SuppressWarnings("serial")
public class Simple3D extends Applet
{
    private SimpleUniverse u;
    
 
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
        new MainFrame(new Simple3D(), 256, 256);
        
    }
    
    public Simple3D()
    {
        this.setLayout(new BorderLayout());
        Canvas3D canavas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        add("Center", canavas3D);
        BranchGroup szene = macheSzenegraph();
        szene.compile();
        u = new SimpleUniverse(canavas3D);
        u.getViewingPlatform().setNominalViewingTransform();
        u.addBranchGraph(szene);
    }
    
    public BranchGroup macheSzenegraph()
    {
        BranchGroup objWurzel = new BranchGroup();
        Transform3D drehung = new Transform3D();
        Transform3D drehung2 = new Transform3D();
        drehung.rotX(Math.PI / 4.0d);
        drehung2.rotY(Math.PI / 5.0d);
        drehung.mul(drehung2);
        TransformGroup objDreh = new TransformGroup(drehung);
        objDreh.addChild(new ColorCube(0.4));
        objWurzel.addChild(objDreh);
        return objWurzel;
    }
 
}
Turakar ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort     Ist dieses Thema erledigt?

Stichworte
java3d , problem , render , simpleuniverse

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Jogl oder Java3D ? Friedhelm Spiele- und Multimedia-Programmierung 20 07.08.2010 08:47
AWS Event Notification Service Sample ausführen... iSun84 Java Basics - Anfänger-Themen 7 24.03.2010 09:50
(SWT) KeyListener Funktionstasten Problem v Ralle v AWT, Swing, JavaFX & SWT 0 17.03.2010 10:30
Java3d - von DirectX nach OpenGL? Hermelin Spiele- und Multimedia-Programmierung 0 25.05.2006 04:31
Problem mit zeitsynchroner Hauptschleife/Threads 0xdeadbeef Spiele- und Multimedia-Programmierung 28 23.02.2006 19:12


Lesezeichen

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de