Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 08, 2025 03:30

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Drahtmodell - glpolygon
BeitragVerfasst: Mo Feb 17, 2003 19:06 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Um die Konturbeschreibung besser sehen zu können, möchte ich ein Objekt (siehe Bild) als Drahtmodell darstellen. Die Kreise sind mittels glpolygon beschrieben und die Verbindungslinien habe ich mit glline gezeichnet. Nun kann man mit "glpolygonmode(gl_back,gl_line);"
bzw. "glpolygonmode(gl_front,gl_line);" das Rendern der Vorder.- oder der Rückseite ausschalten.

"Rückseite":

Bild


"Vorderseite":

Bild

1. Ich möchte aber ganz gerne beide "Seiten" ausschalten, kennt jemand eine Möglichkeit. Am besten für alle Zeichenarten(gl_triangle, gl_triangle_strip, gl_polygon...)


2. Ebenfalls suche ich dann noch eine Möglichkeit, das ganze Objekt danach mit einer einheitlichen RGB Farbe zu rendern. Geht das auch, ohne extra eine Texture zu zuweisen? (...lohnt sich ja eigentlich nicht, da ich das ganze Objekt ja nur in einer Farbe "tapizieren" will.)

Ich bin für jeden Tipp dankbar :idea:

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drahtmodell - glpolygon
BeitragVerfasst: Mo Feb 17, 2003 19:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
1. Ich möchte aber ganz gerne beide "Seiten" ausschalten, kennt jemand eine Möglichkeit. Am besten für alle Zeichenarten(gl_triangle, gl_triangle_strip, gl_polygon...)

Ich schätze du suchst GL_FRONT_AND_BACK.

Zitat:
2. Ebenfalls suche ich dann noch eine Möglichkeit, das ganze Objekt danach mit einer einheitlichen RGB Farbe zu rendern. Geht das auch, ohne extra eine Texture zu zuweisen? (...lohnt sich ja eigentlich nicht, da ich das ganze Objekt ja nur in einer Farbe "tapizieren" will.)

Ich glaub zwar, ich hab dich missverstanden aber ich rate einfach mal: glColor3f(r,g,B) ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drahtmodell - glpolygon
BeitragVerfasst: Mo Feb 17, 2003 19:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
1. Ich möchte aber ganz gerne beide "Seiten" ausschalten, kennt jemand eine Möglichkeit. Am besten für alle Zeichenarten(gl_triangle, gl_triangle_strip, gl_polygon...)

Ich bin mir zwar nicht sicher was du meinst, aber soweit ich deiner Beschreibung entnehmen konnte wäre es in deinem Falle am besten, das Objekt zuerst mit GL_FILL komplett schwarz (sprich in der Hintergrundfarbe) zu zeichnen, und dann das ganze Objekt wieder in der normalen Farbe mit GL_LINE drüberzuzeichnen.

Zitat:
2. Ebenfalls suche ich dann noch eine Möglichkeit, das ganze Objekt danach mit einer einheitlichen RGB Farbe zu rendern. Geht das auch, ohne extra eine Texture zu zuweisen? (...lohnt sich ja eigentlich nicht, da ich das ganze Objekt ja nur in einer Farbe "tapizieren" will.)

Versuchs mal mit glColor3f().Wenn das nicht klappt (was es eigentlich sollte), dann wäre auch eine 1x1 Pixel große einfarbige Textur eine Lösung.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 17, 2003 21:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu,

also wegen dem glPolygonMode... ich würd den weglassen.

Ich hab die erfahrung damit gemacht das die FPS Zahl durch den befehl in den keller rast... Zeichne das Objekt einfach von hand mit Linien (GL_LINES) :)

Au'revoir,
Aya


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 19, 2003 15:52 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
GL_LINE_STRIP ist besser, bei GL_LINES könnte es passieren, das ein paar Linien weggelassen werden.

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Drahtmodell - glpolygon
BeitragVerfasst: Mi Feb 19, 2003 20:21 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Zitat:
Ich schätze du suchst GL_FRONT_AND_BACK.


Damit hat es geklappt. Danke.(...die anderen Befehle hatte ich in der Microsoft Hilfe zu OpenGL gefunden, aber der ... Brille - Fielmann :lol:


Zitat:
Ich glaub zwar, ich hab dich missverstanden aber ich rate einfach mal: glColor3f(r,g,B) ?


Damit verändere ich ja nur die Farbe der einzelnen Striche, ich möchte aber das ganze Objekt "tapizieren" (toller Begriff - Komliment an Phobeus und gute Besserung) sprich also das Drahtmodell in ein "Flächenmodell" umwandeln.
Wenn es meine Zeit wieder zu lässt, werde ich mal weiter rumprobieren.
Falls ich eine Lösung finde, post ich die hier, wenn nicht, dann "nerv" ich bestimmt noch mit ein paar Fragen. :twisted:

Zitat:
GL_LINE_STRIP ist besser, bei GL_LINES könnte es passieren, das ein paar Linien weggelassen werden.

Den Quelltext habe ich umgeschrieben auf GL_Lines und bei mir sind alle Linien da.

Vielen dank für Eure Antworten. Ich hoffe diesmal hab ich mich verständlicher ausgedrückt.

Gruß

Philo

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 19, 2003 21:31 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
@GL_LINES Das kommt ganz drauf an, wie du das machst, gl_Lines geht natürlich auch
@"tapizieren" meinst du vielleicht, das man es als ganzen Körper sieht? Dann nimm doch GL_POLYGON oder GL_TRIANGLES oder ...

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 20, 2003 16:31 
Zitat:
Dann nimm doch GL_POLYGON oder GL_TRIANGLES oder ...


Mein Programm soll aber auch auf "langsameren" PC's laufen. Wenn ich den Körper z.B. mit gl_polygon zeichne, dann fällt die FPS in den Keller, wie Ayla schon geschrieben hat.


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 20, 2003 19:30 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Also gl_Triangles dürfte auch auf nem 300 laufen. Auf nem 486 bekommst du das wahrscheinlich schwer zum laufen.

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: FPS
BeitragVerfasst: Fr Feb 21, 2003 07:07 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Ist schon komisch, ich hab das Objekt jetzt einmal mit GL_Lines gezeichnet und dabei eine FPS Zahl von ca 175 erreicht. Anschließend hab ich es mit GL_Polygon ausprobiert und nun läuft es mit 195 FPS 8O .
ich hatte mit GL_Polygon angst, dass die Harwareanforderungen in schwindel erregende Höhen ansteigen, weil die oben gezeigte Grafik nur einen kleinen Teil des Hauptprogrammes ausmacht.
Mein angestrebtes Projekt ist es, eine Simulation für eine Werkzeugmaschine zu schreiben(CNC-Drehmaschine) und dabei kommen noch sehr viele Objekte hinzu.
Naja, probieren macht schlau.

Ich wünsch Euch allen ein schönes Wochenende(Endlich). :)

Gruß

Philo

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 21, 2003 10:34 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Also ich denke Fakt ist, dass GL_TRIANGLES am schnellsten gehen sollte. Du wirst es immer wieder mal erleben, dass es bei der Geschwindigkeit zu solchen Phänomenen kommt, vor allem auch auf langsamen Rechnern. (Vergiss Hintergrund Prozesse nie... als ich mit D3D anfing machte WinAmp im Hintergrund ca. 80% der Rechenleistung aus... und ich wunderte mich, warum es einen Tag schneller und dann wieder langsamer liess... und vor allem nach einem neustart wieder besser *sg* 8) ).

Verlasse dich also nicht darauf. Dazu möchte ich nochmal etwas anmerken, was speziell mit der Entwicklung von modernen Programmen zu tun hat. Ich halte es inzwischen nicht mehr wirklich für tragbar solch alte PCs zu unterstützen. SO hart wie es klingt, ein PC ohne AGP-Bus ist ne Bremse für jeden Prozeß und selbst dafür bekommt man für wenige Euros ne Geforce2 MX, bzw. vor allem in der Branche schwirren mehr von diesen Karten als Ex herum als alte 16MB-Ram-Bausteine. Ich denke also wirklich, dass man diesen Faktor bei der Entwicklung weitergehend ausschließend sollte. Vielleicht nicht auf spezielle Extensions beschränken, die dann keine Grafikkarte hat, aber die Standard-Funktionen von OpenGL sollten einfach weg gebraten werden. Ich untershätze auch immer wieder gerne die Power von modernen Rechnern.. und ich rede dabei immer noch von meinem PIII ;)

My six cent ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 21, 2003 14:09 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
(kleine Anmerkung zum Thema Polygon und Triangle: Warum ist GL_POLYGON schneller als GL_TRIANGLE? Je nachdem was man macht. Erzeugt man mit GL_POLYGON nur 3Ecke, so wird es langsamer als GL_TRIANGLE sein. Hat ein Face aber mehr Kanten, so wird GL_POLYGON allerdings schneller als Triangle - warum? Weil du bei Triangles wesentlich mehr Vertieces über den Bus schubsen musst, die der Prozessor(wegen des Codes) auch erst einmal abarbeiten muss. Je nach Karte kommt die Geometrieeinheit mit Polygonen selbst zurecht oder nutzt den Prozessor zum zerlegen. Je nach Art sparst du einiges an Arbeit(Vertexdaten müssen nur einmal über den Bus), wenn du mit Polygone statt rein Dreiecke verwendest(wenns die Geometrieeinheit selber flott schafft - und nich alles 5 mal über den Bus muss). Wenn du jetzt aber trickreich Triangle Fans oder Triangle Strips verwendest, sind die wieder schneller als das Polygon, da diese nicht erst noch von der Karte in Dreiecke aufgeteilt werden müssen)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.013s | 19 Queries | GZIP : On ]