Ich weiß, dass opengl ist eine Bibliothek, die bestimmte Aufgaben/Aufrufe (wie Shading) auf der GPU für schnellere Berechnungen (hardwarebeschleunigt) ausgeführt werden können. Ich habe im Internet darüber gelesen und frage mich, ob Anrufe bei opengl ohne ein GPU-Geschenk laufen. Zum Beispiel hat jemand in diesem Forum (https://www.gamedev.net/forums/topic/638883-will-opengl-3d-games-run-in-a-pc-without-a-dedicated-video-card/) erwähnt, dass es als Software-Emulation laufen kann. Kann jemand damit sprechen?Können OpenGL-Anrufe ohne eine GPU ausgeführt werden?
Antwort
Ja, wenn es alles nur davon abhängt, ob der Hersteller des Gerätes OpenGL-Treiber für sein System schreiben oder nicht. Alle OpenGL-Funktionen können ohne Grafikkarte implementiert werden, allerdings mit einer Leistungseinbuße.
Genau genommen ist OpenGL keine Bibliothek sondern nur eine Programmierschnittstelle (API). Die spezifischen Details, wie diese API auf einer bestimmten Maschine implementiert wird, bleiben offen und stehen den Systemimplementierern zur Verfügung. Es könnte ein Software-Rasterizer sein, es könnte eine Schnittstelle zu dedizierter Hardware sein.
OpenGL war Teil des ABI (d. H. Der Reihe von Dingen, die sicher sein können, dass Anwendungen auf einem System verfügbar sind) von Windows, LSB4/Desktop (Linux Standard Base/Desktop-Anforderungen) und MacOS. Als solches muss das System sicherstellen, dass es immer einen Weg gibt, zumindest eine minimale Menge an OpenGL-Funktionalität zu haben (wir sprechen OpenGL-1.x hier), selbst wenn es keine Hardwarebeschleunigung dafür gibt.
Es sollte beachtet werden, dass all diese ABIs gegen die Annahme, writting, dass es Dinge an ein Anzeigegerät zu machen, verwendet wird:
Die Implementierung von Windows Ausweich Software-Rasterizer (die übrigens schrecklich langsam ist) Rendering erlaubt zu GDI-Bitmaps, aber keine Unterstützung für PBuffers; und denke nicht einmal über Framebuffer-Objekte nach.
Die Mesa Software Rasterizer ist ziemlich OpenGL-3.x-Funktion abgeschlossen.
- 1. Wie kann CUDA ohne eine GPU mit einer Software-Implementierung ausgeführt werden?
- 2. Können C# -Apps ohne das .NET-Framework ausgeführt werden?
- 3. Können WinObjC-Apps auf iPhones ausgeführt werden?
- 4. Wie mehrere Tensorflow-Codes in einer GPU ausgeführt werden
- 5. Wie können Core Data-Abfragen über eine Beziehung ausgeführt werden?
- 6. VCG-Programme können nicht ausgeführt werden
- 7. Wie können Befehle von D ausgeführt werden?
- 8. Wie können Client-Funktionen remote ausgeführt werden?
- 9. ElasticSearch-Tests können nicht ausgeführt werden
- 10. Können 2 verschiedene Agenten gleichzeitig ausgeführt werden
- 11. SQLite-Updates werden nicht gespeichert oder können nicht ausgeführt werden
- 12. Funktionen können nicht nacheinander ausgeführt werden. Python
- 13. Warum kann getElementsByClassName ohne "window.onload" ausgeführt werden
- 14. DNX-Konsolenanwendungen können nicht ausgeführt werden
- 15. Beide Aktionen können nicht gleichzeitig ausgeführt werden
- 16. Omnet ++ Dateien können nicht ausgeführt werden
- 17. können mehrere Playbooks gleichzeitig ausgeführt werden?
- 18. Wie wird eine GPU-Instanz mit Amazon EC2 Panel ausgeführt?
- 19. Kann eine ASP.NET-Webanwendung ohne web.config ausgeführt werden
- 20. Wie kann ein Sproc ohne eine Transaktion ausgeführt werden?
- 21. Kann P2P ohne Portweiterleitung ausgeführt werden?
- 22. Wie kann die Ausführung von lauffähigen JARs, die unabhängig ausgeführt werden und über eine Webanwendung ausgeführt werden können, eingeschränkt werden?
- 23. Kann MVC ohne einen Anwendungsserver ausgeführt werden?
- 24. Wie kann SendGrid ohne Blockierung ausgeführt werden?
- 25. Wie viele Bildschirmsitzungen können maximal gleichzeitig ausgeführt werden?
- 26. Wie können XGBoost-Ausgaben ohne eine XGBoost-Bibliothek erstellt werden?
- 27. Objekte können nicht ohne eine @ Provide-Annotated-Methode bereitgestellt werden
- 28. JMeter-Aufzeichnung - Alle Aktionen können nicht ausgeführt werden
- 29. Können in PowerShell 2 Funktionen gleichzeitig ausgeführt werden?
- 30. Mehrere Startprojekte in Visual Studio 2015 können nicht ausgeführt werden
[Mesa] (https://en.wikipedia.org/wiki/Mesa_ (computer_graphics) #Software_Renderer). – genpfault