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

Aktuelle Zeit: Mi Okt 21, 2020 19:19

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 47 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 13:57 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1210
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Gibt es einen Softwaretreiber oder was ähnliches, damit man auf älteren PCs OpenGL 3 Programme laufen lassen kann ?

_________________
OpenGL


Zuletzt geändert von mathias am Di Jun 06, 2017 20:28, insgesamt 3-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 14:24 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Jaein.

Theoretisch denkbar wäre teilweise ein "OpenGL3.3 -> 2" oder "OpenGL3.3 -> Dx"-Wrapper. Meines Wissens existiert so etwas aber nicht.
Mit Mesa3D gibt es einen Softwarerenderer der gerade auf den Stand von OpenGL 3.3 angekommen ist. Leider ist dieser nicht für Windows vorgesehen. Zumindestens wüste ich nicht wie.

Ich denke mir, wenn du jetzt Software entwickelst. Bis zur ersten Vollständigen Veröffentlichung vergeht ja noch Zeit, bis dahin wird die Verbreitung noch steigen. Und in bestimmten Zielgruppen ist auch der Anteil jetzt schon sehr hoch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 16:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1210
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Mesa3d, war dies nicht früher die einzige Schnittstelle für Linux und OpenGL ?

Ich gerade die Shader-Dateien ein bisschen abgeändert, somit ist mein Code auf einer bisschen älteren Kiste gelaufen.
Ich hoffe ich schränke mich dabei nicht zuviel ein.
Code:
  1. #version 330        
  2. #version 130   // durch dies ersetzt

Ich will im Still dieser Animation, diese auf das neue OpenGL portieren. Nur das Problem in vielen Firmen stehen alte PCs rum, ohne Treiber Update, etc.

Für diese Programme habe ich noch den Quellcode, aber Delphi bringt ich nicht mehr zum laufen, wieso auch immer.
Nicht zu stark als Eigenwerbung betrachten. :wink:
Download Animation

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 17:18 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
Mesa gibt es immernoch, und erst kürzlich sind Compute Shader dazugekommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 17:26 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Damit schränkst du dich in so fern ein, als das du offiziell nicht mehr OpenGL 3.x Features verwenden kannst.
Dinge wie "out" und "in" sollte ein OpenGL 2 Shadercompiler trotzdem bemängeln.

Ja, es gibt natürlich so alte Rechner.
Aber es werden weniger und wenn man altes und neues OpenGL unterstützen will, hat man ungefähr doppelten Aufwand, nur dafür das der halbe Code demnächst total überflüssig und wahrscheinlich in der Praxis die wenigsten selber einen so alten Rechner haben und deine Anwendung starten wollen.

Zu den Features auf Mesa3d kann man hier genaueres nachlesen:
Status of OpenGL 3.x features in Mesa


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 17:43 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1210
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wen wen hier gucke, ist Shader 1.3 Bestandteil von OpenGL 3.0 und nicht von OpenGL 2.0

http://de.wikipedia.org/wiki/OpenGL

Was passiert, wen z.B. so Befehl auf einem OpenGL 1.x oder 2.x Rechner kommt ?
Code:
  1.  glBindVertexArray(VAO);  

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 18:23 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Eine Exception.
"Null function pointer"
Wie das in Delphi genau formuliert ist, weiß ich nicht, ist aber eigentlich auch egal.

Zitat:
Wen wen hier gucke, ist Shader 1.3 Bestandteil von OpenGL 3.0

Ja schon möglich.
Shadermäßig kam der große Umschwung mit OpenGL 3.3. (Und dementsprechend GLSL 3.3)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Mi Jan 15, 2014 18:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 573
Programmiersprache: C++
Was sich in den verschiedenen GLSL-Versionen geändert hat, kannst du hier nachschauen:
http://www.opengl.org/registry/

Wenn du runterscrollst, gibt es einen Abschnitt "Older OpenGL and GLX Specifications and Reference Pages". Dort sind die offiziellen Spezifikationen aufgelistet. Für OpenGL 3.3 also "OpenGL Shading Language 3.30.6 Specification". Irgendwo gibt es da auch PDFs, in denen die Unterschiede zu älteren Versionen kenntlich gemacht sind. Leider finde ich die jetzt nicht wieder. In meinem Browserverlauf habe ich jedoch noch dieses Dokument gefunden, welches die Unterschiede zwischen #version 330 und #version 150 kenntlich macht.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 12:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1210
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Von wo kommt diese Fehlermeldung, ich wollte heute in der Firma eine neue Animation starten ?

An den Buttons sieht es stark nach Lazarus aus, sehr warscheinlich kommt sie von meinem Projekt.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 12:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Access Violation kann z.B. auftreten, wenn du OpenGL-Funktionen verwendest, die von der OpenGL-Version auf dem System nicht unterstützt werden.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 573
Programmiersprache: C++
Allerdings müsste dir eigentlich schon beim Erstellen des OpenGL-Kontextes auffallen, wenn dies schiefgeht. OpenGL3-Kontexte lassen sich nämlich nur auf Maschinen erstellen, die entsprechende Treiber installiert haben. Das wäre ein Anlass, um deine Fehlerbehandlung zu überprüfen. Bei der Nutzung von Extensions ist es sowieso selbstverständlich, dass man zunächst deren Verfügbarkeit prüft.

Edit hat einen Rechtschreibfehler behoben.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Zuletzt geändert von glAwesome am Do Jan 16, 2014 18:45, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 16:17 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Ich vermute eher Zugriff auf nicht existierende Funktionen.
Die OpenGL-Funktionen sind intern Funktionszeiger in eine externe Bibliothek.
Wenn eine Funktion nicht existiert, bleibt dem OpenGL-Loader nichts anderes übrig, als den Funktionszeiger einfach auf 0 zu setzen. Beim Zugriff auf den Zeiger, wird versucht an Position 0 zu springen, was natürlich scheitert. Dann gibt es die Meldung, dass du auf Speicher zugegriffen hast, der dir nicht zusteht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 16:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 573
Programmiersprache: C++
Ja, aber man sollte sich darauf verlassen können, dass alle Core-Funktionen zur Verfügung stehen, wenn die Erstellung des Kontextes erfolgreich war, oder nicht?

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 16:47 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Ich glaube nicht, dass er einen "Core"-Context erstellt.
Auch wenn ich das schon mehrfach empfohlen habe.
Bei niedrigeren Versionen stehen auch weniger Funktionen bereit.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 3 und alte PCs
BeitragVerfasst: Do Jan 16, 2014 18:21 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1210
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
glAwesome hat geschrieben:
Allerdings müsste dir eigentlich schon beim Erstellen des OpenGL-Kontextes auffallen, wenn dies schiefgeht. OpenGL3-Kontexte lassen sich nämlich nur auf Maschinen erstellen, die entsprechende Treiber installiert haben. Das wäre ein Anlass, um deine Fehlerbehandlung zu überprüfen. Bei der Nutzung von Extensions ist es sowieso selbstverständlich, dass zunächste deren Verfügbarkeit prüft.

Wie erstelle ich solch einen Kontext für OpenGL 3.3 ?

Ich habe jetzt wenigsten mal eine Abfrage der OpenGl Version.
Code:
  1. Memo1.Text:=
  2.   'GL_VENDOR: ' + glGetString(GL_VENDOR) + #13#10#13#10 +
  3.   'GL_RENDERER: ' + glGetString(GL_RENDERER) +  #13#10#13#10 +
  4.   'GL_VERSION: ' + glGetString(GL_VERSION) + #13#10#13#10 +
  5.   'GL_SHADING_LANGUAGE_VERSION: ' +    glGetString(GL_SHADING_LANGUAGE_VERSION) +#13#10#13#10 +
  6.   'GL_EXTENSIONS: ' + glGetString(GL_EXTENSIONS);  


In der Firma wollte ich heute die Grafiktreiber aktualisieren, das ging leider schiff.
Es kam einer Fehlermeldung: Mindestanforderung nicht erfüllt

Es ist eine Compac Kiste mit einer Intel® HD-Grafik 3000/2000 Grafikeinheit.
Da kann ich wohl OpenGL 3.3 vergessen. :cry:

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 47 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.027s | 17 Queries | GZIP : On ]