Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Problemy s 3D grafikou

Aktivity
Avatar
Gustav
Neregistrovaný
Avatar
Gustav:14.9.2013 20:41

POtřebuji pomoci s následujícím kódem

package firstaplication;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import javax.swing.JFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.*;

public class FirstAplication extends JFrame{

    public FirstAplication(){
        setTitle("Barevná krychle");
        setSize(500, 500);
        Container pane = this.getContentPane();
        pane.setLayout(new BorderLayout());
        /**
         * Získání objektu GraphicsConfiguration
         * nevé instance třídy Canvas3D
         */
  GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
        Canvas3D canvas = new Canvas3D(config, false);

        pane.add(canvas, BorderLayout.CENTER);
        SimpleUniverse universe = new SimpleUniverse(canvas);

         BranchGroup rootKrychle = new BranchGroup();
        rootKrychle.addChild(new ColorCube(0.3));
        rootKrychle.compile();

        universe.getViewingPlatform().setNominalViewingTransform();
        universe.addBranchGraph(rootKrychle);

        TransformGroup tg = new TransformGroup();
        Transform3D tr1 = new Transform3D();
        tr1.rotX(Math.PI/6);
        Transform3D tr2 = new Transform3D();
        tr2.rotY(Math.PI/3);
        tr2.mul(tr1);
        tg.setTransform(tr2);
        rootKrychle.addChild(tg);

        tg.addChild(new ColorCube(0.3));
    }
    public static Frame nastav(){
        FirstAplication fp = new FirstAplication();
        fp.setLocationRelativeTo(null);
        fp.setVisible(true);
        return fp;
    }

    public static void main(String args[]){
        nastav();
    }
}

píše mi to chybu:
Exception in thread "main" javax.media.j3d­.RestrictedAc­cessException: Group: only a BranchGroup node may be added
at javax.media.j3d­.Group.addChil­d(Group.java:265)
at firstaplicati­on.FirstAplica­tion.<init>(Fir­stAplication.ja­va:50)
at firstaplicati­on.FirstAplica­tion.nastav(Fir­stAplication.ja­va:55)
at firstaplicati­on.FirstAplica­tion.main(Fir­stAplication.ja­va:62)

 
Odpovědět
14.9.2013 20:41
Avatar
goddard
Člen
Avatar
goddard:15.9.2013 19:24

Kdysi jsem prekladal oficialni Java 3D tutorial, tady je prvni kapitola:
http://www.dredwerkz.cz/…/J3DT_1.html

a tady je to ceho chces zrejme dosahnout (nejspis ti chybi i TransformGrou­p.ALLOW_TRANSFOR­M_WRITE):
http://www.dredwerkz.cz/…Java3Dd.java

Jinak se zkus podivat na JavaFX, v nejnovejsi verzi (stahni si JDK 8) je i 3D ktere je uz v JRE takze to neni samostatna 3D knihovna coz ma nesporne vyhody oproti Java 3D (vcetne toho ze uz pouziva v zakladu shadery)

 
Nahoru Odpovědět
15.9.2013 19:24
Avatar
Milan Gallas
Tvůrce
Avatar
 
Nahoru Odpovědět
25.9.2013 12:44
Avatar
Milan Gallas
Tvůrce
Avatar
Odpovídá na
Milan Gallas:25.9.2013 12:44

.

Editováno 25.9.2013 12:45
 
Nahoru Odpovědět
25.9.2013 12:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.