OpenGL oder Vulkan lernen?



  • Naja, wenn man ehrlich ich, ist C++ auch ein kleines böses Biest. Ich studierte E-Technik im Master, war aber schon seit meiner Kindheit ein begeisterter Programmierer (Bin der klassische Nerd!). Daher habe ich die sprachliche Entwicklung von C++ noch gut mitbekommen. Wenn ich aber sehe wie viele meiner Komilitonen bereits mit dem klassischen OOP Konzepten von C++ überfordert sind und bei den eingeführten C++11 Features entgültig der Kopf explodiert, frage ich mich schon manchmal, ob es mir Heute noch spaß machen würde C++ zu lernen.

    Ich bin auf jeden Fall gespannt, ob sich diese Low"er" Level API's wie Vulkan und D3D12 durchsetzen werden.



  • Ich bin auch die ganze Zeit am recherchieren und irgendwie scheint DX12 und Vulkan wirklich was für absoluten Spezialisten zu sein und nicht wirklich was für den Einsteiger.

    Und was ich von C++ halten soll weiß ich ehrlich gesagt auch nicht so recht. Ich habe wirklich schon viele Versuche gestartet mit C++ warm zu werden und jedesmal habe ich wieder hingeschmisse. Dann die neuen Standards, die bestimmt viel verbessern, aber mich nun komplett verwirren. Es kommt mir so vor als würde immer mehr an die Sprache rangeflanscht und nur 5 von 100 C++ Coder blicken da wirklich durch und schreiben auch guten Code. Ist aber nur so ein Gefühl.

    Gibt es wirklich Leute die C++ mögen und nicht nur nutzen wegen der großen Codebase?

    Welche Programmiersprache macht euch denn so richtig Spaß?



  • Ich mag C++ sehr. Der Hauptgrund dürfte RAII, Templates und Sachen wie const sein. Besonders ersteres hält mich von C# oder Java ab. Sprachen wie Rust setzen zwar auf Ähnliches, jedoch würde ich gerne die gewohnte C-Syntax benutzen.



  • Ich programmiere auch gerne C++. Aber im Embedded Bereich (Microcontroller, etc ... ) hat man da eh nicht viele Auswahlmöglichkeiten 😃



  • Ich dachte Mikrocontroller werden hauptsächlichen in ASM und C programmiert und weniger in C++?



  • Mit dem Vormarsch der Cortex M Serie hat das sehr stark nachgelassen. Die Cortex M sind extrem günstig und mit den modernen C++ Compilern kann man sehr effizienten Code produzieren. Einige C++ Features wie z.B. Templates sind wie geschaffen für flexiblen + performanten Code!

    Meist steckt der Rechenleistung fressende Teil eh nur in ein paar wenigen Zeilen Code, und die kann man dann immernoch in ASM schreiben. Aber das ist sehr selten nötig, die Compiler produzieren meist bereits optimalen Code.

    Und auch in dem Bereich wird die Software immer umfangreicher. Und vorallem hat man heute viele Unterschieldiche Hardware die in kombination entworfen wird, die man aber gerne mit der gleichen Sprache programmieren würde. Für fast jede Platform gibt es inzwischen C++ ähnliche Sprachen zum programmieren. Günstige Microcontroller, programmierbare Grafikkarten, leistungsfähige FPGA's, tolle Zeit in der wir leben! 😃



  • Ok, danke für die Info. Gibt es Themen bei C++ die man unbedingt lernen sollte? Ich meine alles von C++ zu lernen bevor man anfängt produktiv damit zu arbeiten verdirbt einem ja jegliche Lust an der Sprache.



  • So, ich habe mir jetzt das Buch "Eine Tour durch C++" von Bjarne Stroustrup besorgt und werde das durch arbeiten. Vielleicht hilft mir das ja die Grundlagen richtig zu lernen.


  • Mod

    Mit einem guten tutorial wuerde man feststellen, dass Vulkan und D3D12 eigentlich wieder naeher dran sind so zu sein. Leider bleiben beide sehr sehr code aufwendig.

    NVidia bietet die moeglichkeit ueber opengl an vulkan zu arbeiten. Damit kann zumindestens in der lernphase einiges einfacher sein als von 0 alles auf vulkan zu portieren (bzw ueberhaupt anzufangen).
    http://www.gdcvault.com/play/1023525/Vulkan-and-NVIDIA-The-Essentials



  • Finde es irgendwie komisch dass OpenGL auf Eis gelegt wird, aber es keinen "einfachen" Modus für Vulkan gibt, der ähnlich wie OpenGL auch ohne eine Menge Code zu schnellen Ergebnissen führt.



  • opengl wird nicht auf eis gelegt, es wird weiterhin das mittel der wahl sein bei vielen dingen die nicht CPU limitiert sind.



  • Ach OpenGL wird weiterentwickelt? Das ist ja toll.



  • Genauso wie der D3D11 Vorgänger 🙂

    D3D12 und Vulkan sind noch viel zu neu und vorallem ist es noch viel zu ungewiss, ob sich diese "low level" API's durchsetzen werden!



  • Naja, ich glaub schon, dass Vulkan über kurz oder lang OpenGL ersetzen wird, das meine ich auch irgendwann mal als Statement vom Revision Board gelesen zu haben. Momentan sind wir da in einer Hybrid-Phase. Wahrscheinlich wird immer irgendwo ein GL-Layer bleiben, sozusagen als Middleware, um die Nutzung mit Vulkan vertrauter zu machen, aber lang- und mittelfristig macht es einfach keinen Sinn, beide Schnittstellen mit entsprechender Hingabe zu maintainen.

    Das mal vorausgesetzt würde ich dir aber auch zu GL raten. Die Zusammenhänge sind hier einfach etwas klarer (nicht klar! Nur klarer 😉 als bei Vulkan, da kommt noch so eingewaltiger Overhead an Dingen dazu und als Anfänger rennt man da in jede Fallgrube, was daneben auch so einfach keinen Spaß macht.

    Nutze selbst schon seit Jahren GL und bin recht firm in dem, was ich tue, aber Vulkan... heieiei, da braucht's noch ein Weilchen für mich.


  • Mod

    manchmal ist einfachheit oekonomischer als volle kontrolle haben zu muessen. Deswegen ist Vulkan kein GL5, als Zeichen dafuer dass beides bleibt. Jetzt, wo GL nicht in beide Richtungen entwickelt werden muss, wird es vielleicht auch wieder simpler.


Anmelden zum Antworten