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

Aktuelle Zeit: So Jul 25, 2021 07:30

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



Ein neues Thema erstellen Auf das Thema antworten  [ 215 Beiträge ]  Gehe zu Seite Vorherige  1 ... 11, 12, 13, 14, 15  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Fr Sep 04, 2015 09:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
Nachtrag zur Lizenz : Nachdem ich von Wölfchen darauf hingewiesen wurde dass der Link zur MPL 1.1 nicht mehr funktioniert, hab ich die Lizenz auf die MPL 2.0 aktualisiert. Die ist ja fast identisch, ist aber etwas lockerer bei Verwendung in Projekten die z.B. auf der GPL basieren.

Rechtlich ändert sich dadurch für aktuelle Anwender nichts.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Do Okt 29, 2015 16:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Hat der Header einen Fehler ?

Hier wird ein GLuint (ohne Vorzeichen) zurückgeliefert.
Code:
  1. TglGetUniformBlockIndex = function(program_: GLuint; const uniformBlockName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

Wen aber der uniformBlockName falsch ist, müsste eine -1 zurückgeliefert werden.

Wen ich die Bereichsprüfung des Compilers einschalte, dann knallt es logischerweise hier:
Code:
  1. var
  2.   id: GLint;
  3. begin
  4.   inherited Create;
  5.   BindingPoint := BPInc;
  6.   Inc(BPInc);
  7.   glGenBuffers(1, @buffer);
  8.   id := glGetUniformBlockIndex(Shader.ID, UniformName); // Hier Knallts
  9.   //if id = -1 then begin
  10.   //  ShowMessage(UniformName + ' ' + IntToStr(id));
  11.   //  Exit;
  12.   //end;
  13.   glUniformBlockBinding(Shader.ID, id, BindingPoint);  



So wäre es lösbar, aber dies finde ich keine sauber Lösung.
Code:
  1. var
  2.   id: GLuint; // geändert !
  3. begin
  4.   inherited Create;
  5.   BindingPoint := BPInc;
  6.   Inc(BPInc);
  7.   glGenBuffers(1, @buffer);
  8.   id := glGetUniformBlockIndex(Shader.ID, UniformName);
  9.   if id = GLuint( -1) then begin
  10.     ShowMessage(UniformName + ' ' + IntToStr(GLint( id)));
  11.     Exit;
  12.   end;
  13.   glUniformBlockBinding(Shader.ID, id, BindingPoint);
  14. end;  


Bei GetUniformLocation, ist der Rückgabewert ein glint, bei dem ist -1 möglich.
Code:
  1.   TglGetUniformLocation = function(programObj: GLhandle; const char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Do Okt 29, 2015 17:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
Nein, der Header ist an der Stelle korrekt und entspricht den Spezifikationen : https://www.opengl.org/sdk/docs/man3/xh ... kIndex.xml

Wird der Block nicht gefunden, wird nicht -1 sondern GL_INVALID_INDEX zurückgegeben.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Do Okt 29, 2015 17:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
wird nicht -1 sondern GL_INVALID_INDEX zurückgegeben.

Verstehe ich es jetzt richtig ?
glGetUniformBlockIndex gibt GL_INVALID_INDEX zurück und glGetUniformLocation -1.
Und glGetAttribLocation gibt auch -1.

Wieso diese Unterschiede ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Do Okt 29, 2015 17:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
mathias hat geschrieben:
Zitat:
wird nicht -1 sondern GL_INVALID_INDEX zurückgegeben.

Verstehe ich es jetzt richtig ?
glGetUniformBlockIndex gibt GL_INVALID_INDEX zurück und glGetUniformLocation -1.
Und glGetAttribLocation gibt auch -1.

Wieso diese Unterschiede ?


Ja, siehe auch die entsprechenden Specs. Das ist halt alles historisch gewachsen, und grade bei neueren Funktionen die es auch für OpenGL ES gibt hat man halt ein paar Sachen anders gemacht.

Deshalb kommen ja jetzt auch neue APIs wie z.B. Vulkan die mit dem ganzen Chaos aufräumen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: So Nov 08, 2015 17:02 
Offline
DGL Member

Registriert: Di Aug 23, 2005 09:15
Beiträge: 31
Programmiersprache: FPC/Delphi XE3
FPC's haben seit Jahre TRect. (in Types und Windows). Der doppelter Definition in dglopengl sorgt für Assignment-Inkompatibilitäten.

Man soll das entweder mit FPC_FULLVERSION testen
Code:
  1.  
  2. {$if FPC_FULLVERSION< 20602}
  3.   // aelter als 2.6.2 der bestimmt TRect dort hat.
  4.  {$ifend}
  5.  


oder einfach wegholen (Version bevor 2.6.0 sind nur noch selten im Nutzen), und wahrscheinlich haben eben die letzte 2.4.x Versionen schon TRect.

Danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: So Nov 08, 2015 17:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
FPC's haben seit Jahre TRect. (in Types und Windows). Der doppelter Definition in dglopengl sorgt für Assignment-Inkompatibilitäten.

Wegen dem hatte ich auch schon Konflikte. Von mir aus könnte man dies abändern.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Mo Nov 09, 2015 14:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
marcov hat geschrieben:
FPC's haben seit Jahre TRect. (in Types und Windows). Der doppelter Definition in dglopengl sorgt für Assignment-Inkompatibilitäten.

Man soll das entweder mit FPC_FULLVERSION testen
Code:
  1.  
  2. {$if FPC_FULLVERSION< 20602}
  3.   // aelter als 2.6.2 der bestimmt TRect dort hat.
  4.  {$ifend}
  5.  


oder einfach wegholen (Version bevor 2.6.0 sind nur noch selten im Nutzen), und wahrscheinlich haben eben die letzte 2.4.x Versionen schon TRect.

Danke


Danke für den Hinweis, habe dazu ein Ticket im Repository erfasst und werde es bei Gelegenheit fixen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Mo Nov 23, 2015 10:02 
Offline
DGL Member

Registriert: Di Aug 23, 2005 09:15
Beiträge: 31
Programmiersprache: FPC/Delphi XE3
Sascha Willems hat geschrieben:


Danke für den Hinweis, habe dazu ein Ticket im Repository erfasst und werde es bei Gelegenheit fixen.


Ich habe einen Bugreport bekommen das fragt DglOpenGL mit FPC mitzuliefern (das ist praktisch mindestens 6 Monate weit weg). Was ist deine Meinung darüber?

Siehe http://bugs.freepascal.org/view.php?id=29051


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Mo Nov 23, 2015 13:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
Sascha Willems hat geschrieben:


Danke für den Hinweis, habe dazu ein Ticket im Repository erfasst und werde es bei Gelegenheit fixen.


I just pushed the TRect conditional define to the repository : https://github.com/SaschaWillems/dglOpe ... fabbeaf777

Tested with old and recent versions of FreePascal and it worked fine.

marcov hat geschrieben:
Ich habe einen Bugreport bekommen das fragt DglOpenGL mit FPC mitzuliefern (das ist praktisch mindestens 6 Monate weit weg). Was ist deine Meinung darüber?

Siehe http://bugs.freepascal.org/view.php?id=29051


Getting our headers into free pascal would be great. So yes, I'd appreciate that. If the licensing needs to be changed for inclusion in FPC, just drop me a line.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Do Feb 02, 2017 18:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wo findet man die neuste Version des OpenGL-Headrs ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Do Feb 02, 2017 22:43 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wen diese die aktuelle Version von dglOpenGL.pas ist, dann hat diese immer noch den TRect-Bug.

https://github.com/SaschaWillems/dglOpenGL

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Fr Feb 03, 2017 12:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
Deshalb steht er ja öffentlich auf github. Ich selber nutze Delphi nur noch beruflich (und das hat nix mit 3D zu tun). Wenn du den Bug fixen willst ist ein Pull Request gerne gesehen ;)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Fr Feb 03, 2017 18:25 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Wenn du den Bug fixen willst ist ein Pull Request gerne gesehen

Wen ich im uses-Abschnitt bei Zeile 174 noch ein Types hinzufüge, dann läuft es bei mir mit FPC 3.1.1 und Lazarus 1.7 .
Könnte man nicht bei Datei-Kopf noch einfügen, das es die Version D ist, und ein Änderungs-Datum. :wink:

So nebenbei, ist OpenGL am aussterben, die Version 4.5 gibt es bald 2 1/2 Jahr, und früher gab es jährlich ein Update ?
Oder hat dies mit Vulkan zu tun ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenGL 4.5 Header
BeitragVerfasst: Sa Feb 04, 2017 10:30 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5811
Programmiersprache: C++
mathias hat geschrieben:
Zitat:
Wenn du den Bug fixen willst ist ein Pull Request gerne gesehen

Wen ich im uses-Abschnitt bei Zeile 174 noch ein Types hinzufüge, dann läuft es bei mir mit FPC 3.1.1 und Lazarus 1.7 .
Könnte man nicht bei Datei-Kopf noch einfügen, das es die Version D ist, und ein Änderungs-Datum. :wink:


Wenn du einen github Account hast dann kannst du das über einen Pull Request machen, den muss ich dann nur noch mergen. Das mit dem TRect war afair etwas tricky, müsste also glaub ich noch in ein define rein damit es mit Delphi bzw. alten FPCs keine Probleme macht, siehe Issue #3.

mathias hat geschrieben:
Zitat:
So nebenbei, ist OpenGL am aussterben, die Version 4.5 gibt es bald 2 1/2 Jahr, und früher gab es jährlich ein Update ?
Oder hat dies mit Vulkan zu tun ?


OpenGL wird neben Vulkan weiter existieren. Momentan konzentriert sich aber vieles (v.a. bei den IHVs) auf Vulkan. OpenGL war ja im Spielemarkt kaum eine Alternative zu DirectX, das ist mit Vulkan jetzt anders. Deshalb ist es um OpenGL momentan etwas ruhiger geworden.

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


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 215 Beiträge ]  Gehe zu Seite Vorherige  1 ... 11, 12, 13, 14, 15  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 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.065s | 15 Queries | GZIP : On ]