JOGL, etwas Grundlegendes

Status
Nicht offen für weitere Antworten.
A

ArtjomZab

Gast
Ich habe ein kleines Jogl-Projekt. Es gibt ein Spielfeld und Figuren darauf. Sie werden jeweils durch
die Klassen Spielfeld und Spielfigur dargestellt. Das Problem: bisher habe ich nur Jogl-Projekte gesehen,
bei denen alles was gezeichnet werden soll (zb Spielfeld - Figur) in einer Klasse war. Dies war deshalb so, weil man ja zum zeichnen das gl-Objekt benutzt und die gesamte Szene nur duch ein einziges solches Objekt gezeichnet werden kann. Wie kann ich Trotzdem ein solches Klassenmodel realisieren. Ich dachte man könnte eine Methode entwickeln, die das gl-Objekt von Klasse zu Klasse weiterreicht.
 

Soulfly

Bekanntes Mitglied
Das wäre der übliche Weg, ja!
Würde man bei einem Szenenmanager, der die einzelnen Spielstati regelt, genauso machen.

MfG
 
A

ArtjomZab

Gast
Wenn ich das gl-Objekt von Klasse zu Klasse weitergebe, dann soll ja davon auch keine Kopie erstellt werden.
Das gl-Objekt, das zb das Spielfeld bereits enthält, soll um die Figur ergänzt werden. Technisch muss ich das doch so lösen, dass ich die gl-Erweiterung im Konstruktor vornehme, oder? Aber das is bei JOGL nicht immer möglich, da man
bereits einen Methodenrahmen hat und aus dem Konstruktor keine solche methode aufrufen kann, da sie automatisch ausgeführt werden.

Eine Klasse die etwas zeichnet sieht so aus:

Code:
public class Figur implements GLEventListener{
      
      public Figur(){}

      // wird als erstes automatisch ausgeführt, um Grafikkontext zu initialisieren
      public void init(){}

      // zeichnet
      public void display(){
          gl? // wie bekomme ich dieses GL aus der Hauptklasse zb Spielfeld hierher?
          gl.draw....
      }
}
 

Soulfly

Bekanntes Mitglied
Dann hast du dich noch nie wirklich mit Java befasst!

Java arbeitet intern mit Zeigern. Du würdest nur einen 32 Bit Integer sozusagen "kopieren".
Da ist keine großer Overhead.

Edit:
Zu der anderen Frage. Denk dir die folgende Struktur:

Renderer
SceneManager
Objekte

Renderer enthält die JOGL-funktionen, bei denen jetzt inner display() ein Aufruf steht scenemanager.display(gl).

Scenemanager ist eine Sammlung von Objekten. In dessen display werden "alle" Objekte durchlaufen álá objekt.display(gl)

Objekt enthält dann nur die tatsächlichen Jogl-Funktionsaufrufen.

Du delegierst hier die Aufgaben an die Objekte und die müssen halt gl kennen.
Mit dieser methode arbeitest du dann immer mit dem gleichen gl-Objekt.
Es existiert eine getGL() (nicht wörtlich) Möglichkeit aber zu der rate ich dir in keinem Fall.
 
A

ArtjomZab

Gast
Naja SoulFly, das mit den Referenzen war eigentlich anders gemeint, aber egal. Bin jetzt in der 12ten Klasse und hab
nen Informtik leistungskurs. Da habe ich in einer Gruppe das Projekt einen Bomberman-Klon zu entwickeln. Ich hab aber immer noch nicht deinen Lösungsansatz mt dem Szenenrenderer verstanden. Ah, ein Geistesblitz... DU meinst, im SceneManager wird ein GL-Objekt erzeugt, global sozusagen, ah ja ...danke
 
A

ArtjomZab

Gast
Ach ja noch eine Frage. Kann das gl-Objekt überhaupt über GL gl = new GL() erzeugt werden. Geht das nicht über Drawable.getGL()
 

Soulfly

Bekanntes Mitglied
Ungefähr genau so, Scenemanager erhält das GL-Objekt vom Renderer und die Objekte können drauf zugreifen.

Zu Zeigern und Referenzen. Sorry lern noch ein bißchen. Soll nicht nach Besserwissen klingen, aber!

Es beruht alles auf dem selben konzept. Was kleines zeigt auf was großes = Speicherersparnis.
Auf jeden Fall sagt das mein Prof. für Compilerbau und OOP und meine Bücher sagen es ebenfalls.
Und 12 Jhg und Leistungskurs ist nicht besonderes, hatte ich auch und jetzt 6. Semester. Unser Lehrer wußte
damals nicht mal das Java objektoriert arbeitet.

Aus Software-Technischer Sicht würde ich zu meiner Methode tendieren, so entstehen viel zu viele weitere Abhängigkeiten. So muss den Objekten der Scenemanager bekannt sein = Ungünstig.
 
A

ArtjomZab

Gast
Wo kommt das GL-Objekt her? Vom Renderer sagst du? Der Renderer erzeugt also ein neues GL-Objekt und der Szenemanager ist sozusagen der Vermittler zwischen Renderer und den Objekten(Figuren). In Jogl formuliert könnte
das dann ungefähr so aussehen?

Renderer:
Code:
public class Renderer implements GLEventlistener{

    public Renderer(){}

    public void init(GLDrawable arg){
       GL gl = arg.getGL();
        gl....//feste Einstellungen vornehmen
    }

    public void display(GLDrawable arg){
       GL gl = arg.getGL();
       Szenemanager sm = new Szenemanager();
       sm.display(gl);
    }

    ....
}

Szenemanager:
Code:
public class Szenemanager{

    public Szenemanager(){}

    public void display(GL gl){

        Figur f = new Figur(gl); // das display der Figur wird ja dann automatisch ausgeführ, jedoch mit dem übergebenen gl
    }
}

Könnte das nach deinen Vorstellungen passen?
 

Soulfly

Bekanntes Mitglied
Jep so kann man es verwenden.

Ich kann dir auch mal folgende Quelle empfehlen:

www.javagaming.org/

Der Entwickler an Jogl höchst persönlich ist dort unterwegs und das Forum bietet
viele Tipps und Tricks zu Jogl. Einfach mal reinschauen.

Viel Spaß noch!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E JOGL kein zugriff auf manche methoden Spiele- und Multimedia-Programmierung 5
A Spielfelder erstellen mit Jogl Java durch ein Koordinaten Array Spiele- und Multimedia-Programmierung 1
M [JOGL] Maus über einem gezeichnetem Objekt abfragen? Spiele- und Multimedia-Programmierung 5
M [JOGL] eclipse export Runnable Jar - startet nicht Spiele- und Multimedia-Programmierung 3
D [JOGL] bibliothek aus jar laden Spiele- und Multimedia-Programmierung 3
A JOGL Shader Anfängerprobleme Spiele- und Multimedia-Programmierung 2
A JOGL FloatBuffer vs Buffers Spiele- und Multimedia-Programmierung 2
A JOGL glBindBuffer einmalig oder mehrmalig? Spiele- und Multimedia-Programmierung 3
A Aufbau einer JOGL Anwendung Spiele- und Multimedia-Programmierung 12
Z lwjgl oder jogl nutzen Spiele- und Multimedia-Programmierung 9
A Jogl-Projekt unter 32-Bit kompiliert und unter 64-Bit ausführen, geht das überhaubt ?? Spiele- und Multimedia-Programmierung 9
turing JOGL Cubes performant Spiele- und Multimedia-Programmierung 17
M JOGL Cubus mit Rand darstellen Spiele- und Multimedia-Programmierung 3
T JOGL 2D Objekte drehen rotate Spiele- und Multimedia-Programmierung 4
X JOGL - wie zum laufen bringen? Spiele- und Multimedia-Programmierung 2
M Schatten mit JOGL Spiele- und Multimedia-Programmierung 4
D [JOGL 2.0] Kleines Problem mit freier Flugsteuerung Spiele- und Multimedia-Programmierung 3
U [JOGL 1.1.1a]Kleines Problem mit Text Overlays: Spiele- und Multimedia-Programmierung 19
D [JOGL] Freibewegliche Lichtquelle im Raum Spiele- und Multimedia-Programmierung 4
H JOGL 2.0 jars fehlen Spiele- und Multimedia-Programmierung 8
R JOGL: glUniformLocation gibt immer -1 zurück Spiele- und Multimedia-Programmierung 4
BattleMaster246 Problem mit Jogl Spiele- und Multimedia-Programmierung 14
Mikescher [JOGL] Access restriction Spiele- und Multimedia-Programmierung 6
K jogl einbinden Spiele- und Multimedia-Programmierung 6
X JOGL - Textur auf Quad verzerrt Spiele- und Multimedia-Programmierung 2
X JOGL - 2D Sprite richtig platzieren Spiele- und Multimedia-Programmierung 4
T JOGL im OrthoMode und Texturen verfärben sich Spiele- und Multimedia-Programmierung 3
J JOGL konfigurieren / Windows 7 64-bit Spiele- und Multimedia-Programmierung 7
R JOGL polygon smooth Spiele- und Multimedia-Programmierung 20
J [JOGL] Kamera zentrieren über Achse Spiele- und Multimedia-Programmierung 4
BattleMaster246 Schussrichtung festlegen - JOGL Spiele- und Multimedia-Programmierung 8
BattleMaster246 Jogl Libs werden nicht geladen Spiele- und Multimedia-Programmierung 5
A [JOGL] TextRenderer malt Fläche hinter Buchstaben aus Spiele- und Multimedia-Programmierung 2
V Jogl: Objekt trotz Rotation immer in gleiche Richtung bewegen Spiele- und Multimedia-Programmierung 5
U [JOGL]Libs und Dlls mitliefern: Spiele- und Multimedia-Programmierung 9
S JOGL Perspektive Spiele- und Multimedia-Programmierung 2
R 2D Grafik JOGL Spiele- und Multimedia-Programmierung 18
D jogl downloaden ... wo? Spiele- und Multimedia-Programmierung 3
S JOGL 64 bit Spiele- und Multimedia-Programmierung 7
A jogl 2d performance Spiele- und Multimedia-Programmierung 20
J JOGL mit Netbeans Spiele- und Multimedia-Programmierung 3
S Jogl findet keine GLProfile ? Spiele- und Multimedia-Programmierung 6
C Frage zu Ray-Picking mit JOGL Spiele- und Multimedia-Programmierung 13
F Game mit LWJGL/JOGL in executable JAR packen, wie? Spiele- und Multimedia-Programmierung 6
D Jogl:Textur auf GLUquadric wird vertikal spiegelverkehrt dargestellt Spiele- und Multimedia-Programmierung 2
F LWJGL Smoother animieren lassen (wie bei JOGL = Animator) Spiele- und Multimedia-Programmierung 3
F JOGL 2.0 Bug? Spiele- und Multimedia-Programmierung 3
F Jogl oder Java3D ? Spiele- und Multimedia-Programmierung 20
N Ein paar fragen zu JOGL Spiele- und Multimedia-Programmierung 4
M JOGL - Mehr als nur ein Canvas - Texturpool Spiele- und Multimedia-Programmierung 7
S Jogl, no gluegen-rt :-( Spiele- und Multimedia-Programmierung 4
BattleMaster246 Pong - JOGL Spiele- und Multimedia-Programmierung 2
I JOGL: Problem mit Blending bei Billboards (Transparenz) Spiele- und Multimedia-Programmierung 2
1 JOGL: Fensterinhalt verschwindet sofort wieder Spiele- und Multimedia-Programmierung 3
jemandzehage JOGL 3D-Koordinaten des Klicks bestimmen Spiele- und Multimedia-Programmierung 2
P Erkennen auf welche Objekte gezeigt wird in JoGL Spiele- und Multimedia-Programmierung 6
E JOGL nur weißes Fenster Spiele- und Multimedia-Programmierung 2
Y 3D Koordinatensystem==> JOGL Spiele- und Multimedia-Programmierung 7
Y JOGL / OPENGL in Frame Spiele- und Multimedia-Programmierung 11
A JOGL Würfel hat durchsichtige Seiten? Spiele- und Multimedia-Programmierung 13
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
A Bewegungen mit JOGL Spiele- und Multimedia-Programmierung 12
P JOGL Button-klick-Problem Spiele- und Multimedia-Programmierung 2
S Jogl Problem bei Darstellung Spiele- und Multimedia-Programmierung 9
G JOGL Color stimmt nicht Spiele- und Multimedia-Programmierung 3
S JOGL Maven Dependency Spiele- und Multimedia-Programmierung 7
Developer_X JOGL - Sichtweite Spiele- und Multimedia-Programmierung 3
Developer_X JOGL Texturing Spiele- und Multimedia-Programmierung 31
Developer_X JOGL- Ich möchte mitmachen! Spiele- und Multimedia-Programmierung 23
X JOGL GL Kontext Initialisierung Spiele- und Multimedia-Programmierung 3
X Vertex Buffer Objects mit JOGL Spiele- und Multimedia-Programmierung 7
A JOGL / OpenGL Spiele- und Multimedia-Programmierung 7
P JOGL Cubemap Spiele- und Multimedia-Programmierung 7
P JOGL Installation Spiele- und Multimedia-Programmierung 15
J JOGL - Bild wird immer wieder weiß Spiele- und Multimedia-Programmierung 2
Antoras J3D / JME oder JOGL Spiele- und Multimedia-Programmierung 2
P GLSL in JOGL Spiele- und Multimedia-Programmierung 15
S jogl ins system einbinden Spiele- und Multimedia-Programmierung 3
W JOGL bleibt nach display() in PaintArea.paintComponent hängen Spiele- und Multimedia-Programmierung 5
S java /jogl /Texturen mit j3d Spiele- und Multimedia-Programmierung 3
S JOGL Fonts Spiele- und Multimedia-Programmierung 4
S JOGL Selection By Color Spiele- und Multimedia-Programmierung 3
E JOGL und TextRenderer Spiele- und Multimedia-Programmierung 9
H JoGL mit Anwendung verteilen... Spiele- und Multimedia-Programmierung 9
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
H Jogl-Animator - Inhalt ändert sich nicht Spiele- und Multimedia-Programmierung 4
S JOGL + Multithreading Spiele- und Multimedia-Programmierung 2
P Probleme mit Vista und JOGL Spiele- und Multimedia-Programmierung 2
J Alpha Blending (jogl) Spiele- und Multimedia-Programmierung 5
G JOGL - glTranslate - Unterschiede bei zweimal Ausführen Spiele- und Multimedia-Programmierung 9
Kr0e Schattenproblem, JOGL, gluPerspective. Spiele- und Multimedia-Programmierung 2
J OpenGL (JOGL) - Radial Blur Effekt (Glow) Spiele- und Multimedia-Programmierung 2
J jogl - verschiedene Versionen Spiele- und Multimedia-Programmierung 7
Kr0e "gluSphere" (JOGL) soll Schatten werfen können Spiele- und Multimedia-Programmierung 5
A JOGL, Models Spiele- und Multimedia-Programmierung 4
Kr0e JOGL & Anpassung ins Fenster Spiele- und Multimedia-Programmierung 2
G JOGL: per Mausbewegung Objekt verschieben Spiele- und Multimedia-Programmierung 2
S In JOGL Java einbauen Spiele- und Multimedia-Programmierung 5
S Java 3D, JOGL, . Spiele- und Multimedia-Programmierung 3
P JOGL: mit glTranslated wird nichts gezeichnet Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben