Aktuelle Zeit: 20.04.2025, 13:26

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Bounding Box zeichnen
BeitragVerfasst: 15.07.2007, 22:54 
Offline

Registriert: 15.06.2007, 13:42
Beiträge: 12
Hy ich hab mal ne frage. Ich arbeite an einem kleinen Strategiespiel und habe mich jetzt entschieden die Grafik mit Irrlicht zu realisieren.

Jetzt hab ich ein Problem

Ich würde gerne die Bounding Box eines Objektes nachzeichnen aber ich hab noch keine Möglichkeit gefunden wie das geht. Hat jemand eine Ahnung.

Gruß Waigie


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 16.07.2007, 10:56 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Code:
ISceneNode::setDebugDataVisible(EDS_BBOX);

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 16.07.2007, 16:40 
Offline

Registriert: 15.06.2007, 13:42
Beiträge: 12
Ja das ist schon mal ne schöne sache.

Jedoch kann es sein das ich später mal die Umrandung anders Zeichen will. Und daher ging es mir ehr darum wie ich Linien in 3d zeichnen kann.

Geht das auch ohne Custom Scene Nodes oder nativ OGL??

Gruß Christoph


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 16.07.2007, 18:14 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Schau dir mal die dokumentation des IVideoDrivers an.
Dort gibt es diverse Funktionen zum zeichnen, darunter auch draw3DLine() und draw3DBox()

Wenn du eine Grafik-Engine wie Irrlicht verwendest, dann musst du dich nicht mit OpenGL oder DirectX rumschlagen, denn das macht die Engine ja für dich

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 16.07.2007, 19:58 
Offline

Registriert: 15.06.2007, 13:42
Beiträge: 12
Ich hab ja keine Problem mit OGL oder DX hab ich mich ja auch schon mit beschäftigt. Aber ich war mir jetzt nicht sicher ob man mit Irrlicht Linien in 3d zeichnen kann. Das ist alles.


Da ich jetzt weiß das man das mit dem Driver machen kann, bin ich völlig befriedigt.

Danke Sylence


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 31.07.2007, 16:40 
Offline

Registriert: 15.06.2007, 13:42
Beiträge: 12
So hab jetzt einiges probiert nur leider zeichnet der bei mir gar nichts ich werde gleich mal den Code reinstellen.
Der Code steht zwischen den driver->beginScene() und driver->endScene() Befehlen.

Code:
driver->setTransform(ETS_WORLD, matrix4());
SMaterial mtl;
mtl.Lighting = false;
driver->setMaterial(mtl);

SColor color = SColor(255,255,255,255);

driver->draw3DLine(edges[4],edges[1],color);

driver->draw3DLine(edges[0],edges[0]+((edges[1]-edges[0])/3) ,color);
driver->draw3DLine(edges[1],edges[1]-((edges[1]-edges[0])/3) ,color);

driver->draw3DLine(edges[2],edges[2]+((edges[3]-edges[2])/3) ,color);
driver->draw3DLine(edges[3],edges[3]-((edges[3]-edges[2])/3) ,color);

driver->draw3DLine(edges[4],edges[4]+((edges[5]-edges[4])/3) ,color);
driver->draw3DLine(edges[5],edges[5]-((edges[5]-edges[4])/3) ,color);

driver->draw3DLine(edges[6],edges[6]+((edges[7]-edges[6])/3) ,color);
driver->draw3DLine(edges[7],edges[7]-((edges[7]-edges[6])/3) ,color);

// Draw upper Vertival Lines

driver->draw3DLine(edges[1],edges[3], color);
driver->draw3DLine(edges[5],edges[7], color);
driver->draw3DLine(edges[1],edges[5], color);
driver->draw3DLine(edges[3],edges[7], color);

// Draw lower vertical lines

driver->draw3DLine(edges[0],edges[2], color);
driver->draw3DLine(edges[4],edges[6], color);
driver->draw3DLine(edges[0],edges[4], color);
driver->draw3DLine(edges[2],edges[6], color);

// End draw active box;


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 31.07.2007, 19:49 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
hm... das sieht soweit alles richtig aus... vielleicht liegt es an der farbe.
Spiel mal ein bisschen mit der farbe, insbesondere mit dem alpha wert rum

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 01.08.2007, 14:15 
Offline

Registriert: 15.06.2007, 13:42
Beiträge: 12
Ja der Code war auch völlig in Ordnung gab nur zwei Probleme.

1. Das Array edges war mit gar keinen Werten gefüllt.
2. Hab ich mein Modell skaliert und dabei wird die Bounding Box net angepasst wodurch meine Zeichnung innerhalb des Modells gezeichnet wurde und nicht wie ich wollte an den ecken.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 01.08.2007, 17:49 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
die angepasste bounding box bekommst du durch getTransformedBoundingBox()

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Bounding Box zeichnen
BeitragVerfasst: 01.08.2007, 22:08 
Offline

Registriert: 15.06.2007, 13:42
Beiträge: 12
oh cool danke das brauche ich auch sonst wird schwer.

Hatte schon überlegt die Koords selber umzurechnen.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de