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

Aktuelle Zeit: Di Mär 19, 2024 04:03

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: glGetUniformLocation Result = GLint
BeitragVerfasst: Do Jul 26, 2018 17:35 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1272
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wen ich in der dglopengl.pas Zeile 8386 gucke, wird ein gIint zurück gegeben. Müsste dies nicht ein glUint sein ?
Code:
  1. TglGetUniformLocation = function(programObj: GLhandle; const char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

Das Funktionsergebnis überprüft man mit GL_INVALID_INDEX ( Zeile: 3698 ) und dies ist ein glUint.

glGetUniformLocation gibt bei einem Fehler -1 anstelle von $FFFFFFFF zurück, weil es als glInt deklariert ist.

Ich verwende den neusten Header ( OpenGL 4.6 - Headertranslation )

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Jul 27, 2018 00:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2101
Wohnort: Vancouver, BC, Canada
Programmiersprache: C++
glGetUniformLocation returned -1 wenn keine uniform variable mit dem namen gefunden wird.

GL_INVALID_INDEX hat mit glGetUniformLocation nichts zu tun und wird nur bei funktionen wie z.B. glGetProgramResourceIndex benutzt die als return value tatsaechlich ein GLuint haben :)

Warum das so ist .. keine ahnung, hat Khronos so festgelegt ;)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Jul 27, 2018 07:26 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1272
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Dann werde ich einfach -1 auswerten.

Danke.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Aug 02, 2018 17:07 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1272
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Etwas ist mir aber immer noch nicht klar.
Diese drei Funktionen ermitteln alle Variablen im Shader.
Wieso wird einmal glint und das andere mal gluint zurück gegeben ?

Code:
  1.   TglGetUniformLocation = function(programObj: GLhandle; const char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  2.   TglGetUniformBlockIndex = function(program_: GLuint; const uniformBlockName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
  3.   TglGetAttribLocation = function(programObj: GLhandle; char: PGLChar): glint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Aug 03, 2018 16:59 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
viewtopic.php?f=2&t=1863&start=195#p99848

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.025s | 17 Queries | GZIP : On ]