Re: glUniformMatrix4dv doesn't work?

Posted by Sven Gothel on
URL: https://forum.jogamp.org/glUniformMatrix4dv-doesn-t-work-tp4026160p4026174.html

On 09/14/2012 08:50 PM, clevengr [via jogamp] wrote:

> A followup question:  is there any concise way to figure out what methods in,
> say, a GL3 are always available and which methods require an extension?  The
> reason I didn't test for the shader_fp64 extension was that I didn't realize
> glUniformMatrix4dv() required that extension.  I suppose it makes sense in
> this case, but since the program compiled with a reference to that method I
> overlooked the possibility that an extension was required to use it.  How
> would I have known that (in general) without being intimately familiar with
> all the approved extensions and with what GL3 methods require them?  (Maybe
> the answer is that I need to have that familiarity, but on the other hand not
> everyone has the same level of expert familiarity with the entire spec; I'm
> wondering if there is some obvious way to know that "you can't use method X,
> even if it compiles, unless you have extension Y"...  like, perhaps, an
> interface type which is a subset of GL3 that only uses methods that don't
> require extension? Is there such a thing and I just don't know about it?)
>
> Thanks.
>
I guess this extension is the exception to the rule.
Ofc .. the intention is to have validation via the profiles,
nevertheless it's not 100%.

Look at the generated API doc:

  /** Entry point to C language function: <code> void {@native glGetUniformdv}(GLuint program, GLint location, GLdouble *  params); </code> <br>Part of <code>GL_ARB_gpu_shader_fp64</code>   */
  public void glGetUniformdv(int program, int location, double[] params, int params_offset);

GL2 interface for example contains most of all GL2 compatible extensions,
which may not be available on all platforms.
Hence .. still, the developer shall double check (read the API doc and GL spec)
what to use.

Life is easier w/ the GL2ES2 and GL2ES3 interfaces though.

~Sven



signature.asc (907 bytes) Download Attachment