SourceForge.net Logo
Home
Documentation
    GLwrapper
    Items
    Armature
    LumFile
Tutorials
Links
Support This Project
OpenGL
Openglwrapper

Each script owns a Opengl wrapper object it's named "gl" Newer features may be not
documented here. In that case use the completion box doxygen based short reference...

void Begin(enum mode)
enum: gl.POINTS gl.TRIANGLES gl.QUADS gl.TRIANGLE_STRIP gl.QUAD_STRIP
Begins drawing primitives.

void End()
Ends drawing primitives.

void Vertex(number x, number y, number z, number w)
default: 0;0;0;1
Sets the vertex position part.

void TexCoord(number s, number t, number p, number q)
defaults: 0;0;0;0
Sets the vertex texcoords part

void Normal(number x, number y, number z)
Sets the vertex normal vector

void Color (number r, number g, number b, number a)
defaults 0;0;0;1
Sets the vertex color part

void Color (QColor color)
Overloaded function for using QTs QColor Object

void Translate(number x, number y, number z)
Transformationmatrix function

void Rotate(number angle, number x, number y, number z)
Transformationmatrix function

void Scale(number x, number y, number z)
Transformationmatrix function

void PushMatrix()
Push the transformationmatrix on the stack. Don't forget PopMatrix().

void PopMatrix()
Pop the transformationmatrix from the stack.

void Light(number Lightnum, enum mode, number x, number y, number z, number w)

Sets Lightparameters
Lightnum: Opengl supports minimum 8 lightsources. For Lumina is the limit 8
mode: gl.POSITION AMBIENT DIFFUSE SPECULAR POSITION SPOT_DIRECTION SPOT_EXPONENT
SPOT_CUTOFF CONSTANT_ATTENUATION LINEAR_ATTENUATION QUADRATIC_ATTENUATION
x,y,z,w numeric values

object Shader(Vertexshader, Fragmentshader)
This function returns a compiled shader object. The arguments are Objects from the
Scenetree or Strings.

object Shader(Vertexshader, Geometryshader, Fragmentshader, enum inPrimitive,
enum outPrimitve, number max_Vertices)


Overloaded function for supporting geometry shaders requires lumina-0.2.0
Example:
shader = gl.Shader(Vertexshader, Geometryshader, Fragmentshader, gl.POINTS,
gl.TRIANGLES, 3);

object Shader(Vertexshader)
This version returns a shader object without fragment shader. Only useful for transform
feedback.

object Shader(Vertexshader, Geometryshader, enum inPrimitive,
enum outPrimitve, number max_Vertices)

Another version with vertex and geometry shader. Only useful for transform feedback.

void Screenshot(string Filename)
Filename String
saves the actual buffer as PNG or JPG

Shader object

void Bind ()
Bind the shader

void Unbind ()
Unbind the shader. (not required anymore)

int Loc (String var)
returns the names attribute location

void Uniform (String var, number x[, number y[, number z[, number w]]])
set float, vec2, vec3 or vec4 uniforms

void Uniformi (String var, number x[, number y[, number z[, number w]]])
set int, ivec2, ivec3 or ivec4 and sampler uniforms

void Uniform (String var, Buffer obj)
used for bindable uniforms, bind the Buffer or (mesh) Component

void NormalQuaternion (String var)
create a quaternion from the modelview matrix rotation part and store it in uniform var

Glwrapper Framebuffer
The Framebuffer object can be used for Framebuffer objects with more than one
attachment. it will be returned by gl.Framebuffer(). It has only 3 functions:

void Bind()
bind the framebuffer object for rendering.

void Unbind()
stop rendering into the FBO.

void Append (Texture , number layer=0, int slice=0)
Attach a texture to the FBO, a depth texture will be used as zbuffer, color as color
attachment. The second parameter is for multiple render targets, to bind more than one
color texture (use 0,1,2,3).
The slice is only for 3d textures, to bind a slice as 2d texture. (not tested)
EDIT