Setup in OpenGL

I have a uniform in the form:

uniform float abc;

and I get it in Haskell code as:

abc <- GL.get (GL.uniformLocation program "abc")

How to transfer value GLfloatto it?

I see from here that I should probably use uniform1, but this function is not exported by the module.

Each other instance:

instance UniformComponent a => Uniform (Vertex2 a)
instance UniformComponent a => Uniform (Vertex3 a)
instance UniformComponent a => Uniform (Vertex4 a)
instance UniformComponent a => Uniform (TexCoord1 a)
instance UniformComponent a => Uniform (TexCoord2 a)
instance UniformComponent a => Uniform (TexCoord3 a)
instance UniformComponent a => Uniform (TexCoord4 a)
instance UniformComponent a => Uniform (Normal3 a)
instance UniformComponent a => Uniform (FogCoord1 a)
instance UniformComponent a => Uniform (Color3 a)
instance UniformComponent a => Uniform (Color4 a)
instance UniformComponent a => Uniform (Index1 a)

does not seem to cover this simple case.

What can I do?

+4
source share
1 answer

Apparently this is a known bug in the API.

A possible alternative at present is to use overloading Index1, which should be a color index, but works just fine with simple floats.

+3
source

All Articles