Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

31

11.07.2012, 14:44

Zitat

Selbst das GL Committee ist ja mittlerweile dahinter gekommen, dass der alte Entwurf bescheiden war.
Hast du einen Link wo das Diskutiert / Erläutert wird ?
Ich habe dazu im Netz nichts gefunden.
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

32

11.07.2012, 14:49

Vermutlich bezieht er sich auf Longs Peak, das, was ursprünglich mal OpenGL 3.0 heißen sollte und mit dem man zumindest die meisten dieser Probleme endlich lösen wollte. Das Projekt ist aber leider gescheitert und am Ende kam das OpenGL 3.0 raus, das wir heute haben...

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »dot« (11.07.2012, 15:04)


David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

33

11.07.2012, 15:08

... genau, und außerdem erkennt man ein redesign an neueren Interfaces.
@D13_Dreinig

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

34

11.07.2012, 16:23

Die Storry mit Long Peaks ist bekannt. Khronos hat da Erwartungen geweckt die nicht erfüllt worden sind.
Ich denke aber wenn so viele Entwickler sich an dem OpenGL Objektmodel stören würden, dann wäre die Resonanz
auf dieses Thema im Netz größer. Pro/Contra OpenGL DirectX findet man viel, aber ich habe noch nicht gesehen das
sich jemand konkret über das Objektmodel beschwert hat.

Um noch mal auf das Multithreading zurück zu kommen ...
Ich habe noch keine Applikation geschrieben die eine Trennung von Renderloop und der Resourcenaufbereitung erfordert hätte.
Ich habe Buffer und Texturen die zusammen mehrere Modelle ergeben die ich gerendert haben will.
An den Resourcen die mit Bind angesprochen werden (VBO, VAO, Textures, Locations, Shader usw.) ändert sich bei mir nichts.
Neben dem eigenlichen Rendern besteht die Aufgabe der Applikation darin anhand von der Vergangenen Zeit seit dem Letzen Frame
Matrizen, Vectoren und Winkel für die Modelle zu berechnen. Das könnte man in einem extra Thread erledigen der die Renderzeit nutzt.
Allerdings sehe ich da dann auch keine Multithreading Probleme die aus dem OpenGL Objektmodell resultieren.

Kann aber auch daran liegen das meine Applikationen einfach noch zu primitiv sind und ich noch nicht in Regionen vorgestoßen bin
wo ich auf die von euch beschriebenen Probleme stoße.
Vieleicht kann einer von euch die Sache mal an einem konkreten Problem erläutern.
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

35

11.07.2012, 16:40

Es stimmt schon, dass multithreaded Rendering im Moment wohl noch nicht so wichtig ist. Abgesehen davon, gibt es jetzt, was das betrifft, aber tatsächlich nichts, was man in OpenGL theoretisch nicht auch machen kann. Es ist im Vergleich zu anderen APIs nur eben einfach alles andere als elegant und intuitiv, sowohl was das Benutzen, als auch, was man so hört, das Implementieren der API angeht. Ich hatte z.B. einiges mit Mutidisplay Anwendungen zu tun und da merkt man z.B. imo schon recht stark, wie OpenGL schwächelt. Das fängt schon damit an, dass man mit OpenGL unter Windows nichtmal einen ordentlichen Fullscreen Modus zu Stande bekommt (falls du da eine Lösung kennst, wäre ich sehr interessiert) und die Geschichte mit Devices, Swapchains und Contexts ist in DirectX imo eindeutig wesentlich besser gelöst.
Andere Dinge, die ich in OpenGL schmerzlich vermisse, wären Random Memory Access in Shadern, bzw. zuallermindest Loads aus beliebigen Buffer Objects (dafür gibts im Moment natürlich wieder mal mindestens drei verschiedene Extensions), Bufferless Draw und die Möglichkeit Shader offline zu kompilieren.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (11.07.2012, 16:47)


FSA

Community-Fossil

  • Private Nachricht senden

36

11.07.2012, 16:45

@Dot: Soweit ich weiß verwenden OpenGL Spiele die SDL um Vollbild darzustellen.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

37

11.07.2012, 16:48

Und wie mach SDL das ab Windows Vista aufwärts?

FSA

Community-Fossil

  • Private Nachricht senden

38

11.07.2012, 16:53

Das kann ich nicht genau sagen, aber ich habe Quellcode von Penumbra und der HPL Engine. Ich kann dort mal suchen. Falls es dich interessiert: https://github.com/FrictionalGames . Da gibt es die Quellcodes.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

39

11.07.2012, 16:57

HPL setzt offenbar auf SDL auf und SDL macht, soweit ich das nach kurzem drüberschauen sehen kann, auch nix andres als ein topmost Fenster ohne Rahmen, das über den ganzen Bildschirm geht...

Powerpaule

Treue Seele

Beiträge: 162

Wohnort: Berlin

Beruf: Softwareentwickler

  • Private Nachricht senden

40

11.07.2012, 20:19

Wird nicht in einem der ersten Nehe-Tutorials sowas gemacht? (http://nehe.gamedev.net/tutorial/creatin…win32%29/13001/ )
Ich hatte irgendwann mal danach eine entsprechende Klasse zusammengefitzelt. Das hat eigentlich funktioniert (also auch mit anderen Auflösungen Windows hat beim Minimieren wieder auf die Standard-Auflösung umgestellt etc). Oder ich vestehe falsch, was du mit richtigem Fullscreen meinst.^^

Werbeanzeige