This is a bit of a quick and silly amateur question, but what sort of conventions (if any) do you follow when naming uniforms in OpenGL shaders, and their respective handles in your program?

For example, I have uniforms in my shader named "gScale" and "vineRotation". Their handles in my program are called "gScaleHandle" and "vineRotationHandle" respectively. The whole "somethingHandle" seems a bit long and cumbersome. I've seen other people prefixing things with 'm' and 'h' etc.; is that the generally accepted way to do things?

Don't think it's a silly question: good conventions can only be a good thing, both for yourself and others (if you're sharing shader code with others).

For my personal projects I use the following prefixes:

gl_ These are pre-defined by GLSL, e.g. gl_Colorg_ Global data that is always present should the shader choose to use it, e.g. g_modelview, g_elapsedm_ Material properties, these are shader parameters set by materials at each node in the scene or via animation, e.g. m_rotationAngle, m_Colourin_ Also use in_ as a prefix for the various incoming vertex attributes.

Thankyou Stride. I'll give it a go instead of using my long-winded version.

Out of pure interest, where do these standards come from? Is it something you learn whilst on the job, or studying perhaps? This is one of the downsides of being an armchair programmer; I don't get nor seek much exposure to these things.

Out of pure interest, where do these standards come from? Is it something you learn whilst on the job, or studying perhaps?

I guess it's generally organic: someone comes up with a good idea for a standard, others think it's good and adopt it, eventually it becomes the 'standard'.

Probably the best example I can think of professionally was [url url='http://en.wikipedia.org/wiki/Hungarian_notation']Hungarian Notation[/url] which cleverly solved a problem and pretty much became the de-facto standard for parameter/variable names back in my C days.

Quote

This is one of the downsides of being an armchair programmer; I don't get nor seek much exposure to these things.

I don't think this matters too much so long as you stick to your own conventions.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org