Main Page   Modules  

Internal Functions


Functions

void _NormalTransform (const _NORMALCOORD n)
 Transforms and updates the current normal. More...

void _NormalLorentz (_NORMALCOORD n)
 Lorentz transformation of normal vectors. More...

void _Subdivide (const _VERTEXCOORD v)
 Subdividing algorithm. More...

void _SpaceTransform (_VERTEXCOORD x)
 Spatial coordinate transformations. More...

void _Modelview (_VERTEXCOORD x)
 Modelview transformation. More...

void _SpaceLorentz (_VERTEXCOORD x)
 Spatial Lorentz transformation. More...

void _SpaceEye (_VERTEXCOORD x)
 Aberration (time lag for light to reach the eye). More...

GLfloat _TimeTransform (_VERTEXCOORD x)
 Temporal coordinate transformations. More...

GLfloat _TimeLorentz (const _VERTEXCOORD x)
 Temporal Lorentz transformation. More...

GLfloat _TimeEye (const _VERTEXCOORD x)
 Aberration (time lag for light to reach the eye). More...

GLfloat * _Doppler (const _RGBA rgba, const _VERTEXCOORD x)
 Doppler effect. More...

void _DrawVertex (_VERTEXCOORD v, _TEXCOORD t)
 Draws a vertex.

GLfloat _VecScalar (const GLfloat *a, const GLfloat *b)
 Scalar product of two 3-vectors.

GLfloat _VecNorm (const GLfloat *v)
 Norm of a 3-vector.

GLfloat _VecCos (const GLfloat *x, const GLfloat *a, const GLfloat *b)
 Cosine angle between direction vectors x->a and x->b.

void _VertexCopy (_VERTEXCOORD dest, const _VERTEXCOORD src)
 Copy a vertex.

void _VertexMean (_VERTEXCOORD mean, const _VERTEXCOORD a, const _VERTEXCOORD b)
 Average of two vertices.

void _VertexQuadMean (_VERTEXCOORD mean, const _VERTEXCOORD a, const _VERTEXCOORD b, const _VERTEXCOORD c, const _VERTEXCOORD d)
 Average of four vertices.

void _TexCopy (_TEXCOORD dest, const _TEXCOORD src)
 Copy texture coordinates.

void _TexMean (_TEXCOORD mean, const _TEXCOORD a, const _TEXCOORD b)
 Average of two texture vertices.

void _TexQuadMean (_TEXCOORD mean, const _TEXCOORD a, const _TEXCOORD b, const _TEXCOORD c, const _TEXCOORD d)
 Average of four texture vertices.


Function Documentation

GLfloat* _Doppler const _RGBA    rgba,
const _VERTEXCOORD    x
 

Doppler effect.

Time dilation effect,

Arrival rate at eye,

Overall frequency shift,

void _Modelview _VERTEXCOORD    x
 

Modelview transformation.

Parameters:
x  A vertex (input/output).

void _NormalLorentz _NORMALCOORD    n
 

Lorentz transformation of normal vectors.

Normal vectors are the velocity vectors of light rays. So, under a Lorentz transformation, they transform as velocities.

Note:
This is responsible for the headlight effect.
See also:
srelVelocityTransform()
Parameters:
n  A normal vector (input/output).

void _NormalTransform const _NORMALCOORD    n
 

Transforms and updates the current normal.

Parameters:
n  A normal vector (input).

void _SpaceEye _VERTEXCOORD    x
 

Aberration (time lag for light to reach the eye).

where

is the current position vector,

is the past position vector we see the light from,

is the time it takes for the light to reach us,

is the velocity vector.

Rearranging,

Note:
This is responsible for the Terrell effect.
Parameters:
x  A vertex (input/output).

void _SpaceLorentz _VERTEXCOORD    x
 

Spatial Lorentz transformation.

Rearranging,

Use

and

to get

Note:
This is responsible for the Lorentz contraction.
Parameters:
x  A vertex (input/output).

void _SpaceTransform _VERTEXCOORD    x
 

Spatial coordinate transformations.

Parameters:
x  A vertex (input/output).

void _Subdivide const _VERTEXCOORD    v
 

Subdividing algorithm.

Supports:

  • GL_POINTS
  • GL_LINES
  • GL_LINE_STRIP
  • GL_LINE_LOOP
  • GL_TRIANGLES
  • GL_TRIANGLE_FAN
  • GL_QUADS
  • GL_QUAD_STRIP
  • GL_POLYGON

Parameters:
v  A vertex (input).

GLfloat _TimeEye const _VERTEXCOORD    x
 

Aberration (time lag for light to reach the eye).

Parameters:
x  A vertex (input).

GLfloat _TimeLorentz const _VERTEXCOORD    x
 

Temporal Lorentz transformation.

Rearranging,

Note:
This is responsible for time dilation.
Parameters:
x  A vertex (input).

GLfloat _TimeTransform _VERTEXCOORD    x
 

Temporal coordinate transformations.

Parameters:
x  A vertex (input/output).


Generated on Wed Apr 17 18:05:02 2002 for SREL by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001