DGL
https://delphigl.com/forum/

glGetUniformLocation Result = GLint
https://delphigl.com/forum/viewtopic.php?f=20&t=11660
Seite 1 von 1

Autor:  mathias [ Do Jul 26, 2018 17:35 ]
Betreff des Beitrags:  glGetUniformLocation Result = GLint

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 )

Autor:  Aya [ Fr Jul 27, 2018 00:50 ]
Betreff des Beitrags:  Re: glGetUniformLocation Result = GLint

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 ;)

Autor:  mathias [ Fr Jul 27, 2018 07:26 ]
Betreff des Beitrags:  Re: glGetUniformLocation Result = GLint

Dann werde ich einfach -1 auswerten.

Danke.

Autor:  mathias [ Do Aug 02, 2018 17:07 ]
Betreff des Beitrags:  Re: glGetUniformLocation Result = GLint

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}

Autor:  end [ Fr Aug 03, 2018 16:59 ]
Betreff des Beitrags:  Re: glGetUniformLocation Result = GLint

viewtopic.php?f=2&t=1863&start=195#p99848

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/