Renderer


Detailed Description

This is the OpenFX renderer where the animations are rendered


Data Structures

class  CPushPinBitmapSet
 Class for DIRECT SHOW AVI ANIMATION BUILDER. More...
class  CPushSourceBitmapSet
 Class for DIRECT SHOW AVI ANIMATION BUILDER. More...
struct  GifHashTableType
 Structure used by GIF image code. More...
struct  GifColorType
 Structure used by GIF image code. More...
struct  GifFileType
 Structure used by GIF image code. More...
struct  Renderer_SCREENBUFFER_tag
 Framebuffer structure. More...
struct  Renderer_LIGHT_tag
 Light structure. More...
struct  XIP_RENDER_tag
 External Image Processor structure. More...
struct  Renderer_SKELETON
 Skeleton structure used in Renderer. More...
struct  THD_tag
 USED FOR DISPATCHING threadsd of execution. More...
struct  Renderer_SHADER_tag
 External shader data structure. More...
struct  Renderer_AXIS_tag
 An AXIS structure. More...
struct  Renderer_IMAP_tag
 Image map structure, as used in renderer. More...
struct  Renderer_MATL_tag
 Material structure as used in Renderer. More...
struct  Renderer_VECTOR4_tag
 Vector structure used by NURBS code. More...
struct  Renderer_NurbsProperties_tag
 NURBS properties structure. More...
struct  Renderer_NurbsSurfSample_tag
 Nurbs surface structure. More...
struct  Renderer_NURBS_tag
 NURBS structure. More...
struct  Renderer_GROUND_tag
 GROUND structure. More...
struct  Renderer_SKY_tag
 SKY structure. More...
struct  Renderer_PARTICLE_tag
 Particle structure. More...
struct  Renderer_PARTICLESYSTEM_tag
 Particle Actor srtucture. More...
struct  Renderer_OBJECT_tag
 In Renderer this "Object" structure defines a MESH model. More...
struct  Renderer_VERTEX
 Vertex structure. More...
struct  Renderer_FACE
 polygonal face structure More...
struct  Renderer_TVERTEX_tag
 Vertex structure used by ray-tracer. More...
struct  Renderer_XIMAGE_tag
 Renderer structure for passing pointers to the Renderer's global variables and functions used by Image PostProcessing. More...
struct  X__SHADERtag
 Structure used to provide plugins with access to Renderer's internal variables and functions. More...

Renderer Functions

WHERE void(* UpdateScanBuffers )(double, double, long, long, face *, double, long *[], long *[], double *[], long *, long *, double *, double *)
WHERE int(* X_message )(const char *,...)
short AllocateRamBuffers (void)
 Allocate storage.
long ShadedScanline (long scanline, double d2, UCHAR *Red, UCHAR *Green, UCHAR *Blue, double *Zground, long Wsky, double Rsky, long *Zglass[], long *ZglassO[], double *Zglassd[], long *Zbuffer, long *Zobject, double *Zdepth, double *Zposn)
 Renders a whole scanline - Calls GetRowPixelValue().
long FastAntiAliasShadedScanline (long scanline, long aaline, double d2, UCHAR *Red, UCHAR *Green, UCHAR *Blue, double *Zground, long Wsky, double Rsky, long *Xbuffer, long *Xobject, long *Zglass[], long *ZglassO[], double *Zglassd[], long *Zbuffer, long *Zobject, double *Zdepth, double *Zposn)
 Renders a whole scanline - Calls GetRowPixelValue().
void GetPixelValue (vector p, vector dinput, vector n, double pdotn, imap *Map, matl *Mat, face *f, long obj, long row, long col, BOOL first_trace, long trace_relection_depth, long trace_refraction_depth, long refractive_flag, double *Red, double *Green, double *Blue)
 The main rendering fuction.
void GetRowPixelValue (long row, long col, imap *Map, matl *Mat, face *f, long obj, vector nn, UCHAR *Red, UCHAR *Green, UCHAR *Blue, double *Zdepth, UCHAR *ZobjChar)
 Renders a pixel on a scanline - Calls GetPixelValue().
WHERE short R_terminator (void)
WHERE void read_vec (vector v)
WHERE void MakeVertexNormals (void)
WHERE long RenderHide (void)
 Renders the frame.
WHERE char * short_form (char *filename)
WHERE void SetUpParticles (ParticleSystem *)
WHERE void SetUpSingleParticle (ParticleSystem *)
WHERE void LoadParticleImages (void)
WHERE void UnloadParticleImages (void)
WHERE void MakeParticleTextures (void)
WHERE void ReleaseParticleTextures (void)
WHERE void RenderParticlesGL (BOOL clip)
WHERE void RenderParticles (void)
WHERE long RenderGL (long frame, BOOL ppGL)
WHERE void SetUpCorrectContext (BOOL)
WHERE HWND SetUpGlWindow (HANDLE, HWND, long, long, BOOL, BOOL, BOOL, long)
WHERE void CloseGlWindow (void)
WHERE void accPerspective (GLdouble fovy, GLdouble aspect, GLdouble znear, GLdouble zfar, GLdouble pixdx, GLdouble pixdy, GLdouble eyedx, GLdouble eyedy, GLdouble focus)
WHERE void CopyGLtoFSB (void)
WHERE void CopyGLtoZbuffer (void)
WHERE BOOL CheckGPUhardware (HWND)
WHERE void RenderCameraView (BOOL renderbuffer, BOOL bAntiAliases, int jitter, int, GLfloat aspect)
WHERE long PostProcessRenderGL (long frame)
WHERE void DrawExternalMaterialPolys (BOOL bDrawTransparent, BOOL bClip, long nMats, matl *iMat, long Nface, face *MainFp, long Nvert, vertex *MainVp)
WHERE int GetCommand (long, long, long, char *)
WHERE void FreeFrameObjects (void)
WHERE void FreeAllObjects (void)
WHERE char R_getl (long *val)
WHERE char R_getsht (short *val)
WHERE char R_getusht (unsigned short *val)
WHERE long LoadMorphObject (long, short mo, char *FileName, double mr, char *QmorphFile, double qr)
WHERE long R_LoadObject (long ObjectID, char *FileName, long frame, short robo, double robo_ratio, char *robo_file1, char *robo_file2)
WHERE void R_getchunk (long clen)
WHERE long FindNumberVertices (char *ofile, long *nvs)
WHERE void InvertRotationMatrix (double T[4][4], double t[4][4])
WHERE void RenderTransformToRobot (long O, long *Skid, skel *Skel, double mr, char *robo_f1, char *robo_f2)
WHERE void RenderRubberBones (long O, int nSkeleton, long *Skid, skel *Skeleton)
WHERE double dot (vector v1, vector v2)
WHERE short ClipObject (long O)
WHERE long IShadow (long scanline, long v1x, long v1y, long v2x, long v2y, long *xi)
WHERE void ShadowFillLine (long scanline, long vx[3], long vy[3], long *leftedge, long *rightedge)
WHERE void ShadowGround (void)
WHERE double hitpoint (vector n, vector x, vector y, vector pb, vector pf, double *a, double *b)
WHERE BOOL hitpoint2 (vector n, vector x, vector y, vector pb, vector pf, double *a, double *b)
WHERE double hitcylinder (vector n, vector x, vector y, vector p0, vector p, double *a, double *b)
WHERE double hitsphere (vector n, vector x, vector y, vector p0, vector p, double *a, double *b)
WHERE void UpdateGlassScanBuffers (double, double, long, long, face *, double, long *[], long *[], double *[], long *, long *, double *, double *)
WHERE void UpdateNoGlassScanBuffers (double, double, long, long, face *, double, long *[], long *[], double *[], long *, long *, double *, double *)
WHERE long Intersect (long scanline, vertex *v1, vertex *v2, double *xi)
WHERE long Active (long scanline, vertex *v, face *f, double *leftedge, double *rightedge)
WHERE void SetPerspectiveView (long)
WHERE void ApplyViewingTransformToPoint (vector, vector)
WHERE void BendNormal (vector, vector, vector)
WHERE void MakeObjectTransformation (double fi, double theta, double alpha, short im, double ima, double sx, double sy, double sz, vector Offset, vector Position, double trpos[4][4], double pos[4][4], double trinv[4][4])
WHERE void TransformMappingRectangle (double[4][4], vector, vector, vector, vector, vector, vector, vector)
WHERE void PerspObstra (double xo, double yo, double zo, double xt, double yt, double zt, double to[4][4])
WHERE void R_scal (double tr[4][4], double sx, double sy, double sz)
WHERE void R_rotz (double tr[4][4], double ang)
WHERE void R_rotx (double tr[4][4], double ang)
WHERE void R_roty (double tr[4][4], double ang)
WHERE void R_tram (double t[4][4], double dx, double dy, double dz)
WHERE void R_m4by4 (double t1[4][4], double t2[4][4], double tr[4][4])
WHERE void R_c4to4 (double tin[4][4], double tout[4][4])
WHERE void R_null_transform (double t[4][4])
WHERE void R_m4by1 (double t4[4][4], double x, double y, double z, double *xx, double *yy, double *zz)
WHERE void R_m3by1 (double t4[4][4], double x, double y, double z, double *xx, double *yy, double *zz)
WHERE void R_reflect (double t4[4][4], vector p, vector n)
WHERE void veccopy (vector v1, vector r)
WHERE void vecsub (vector v1, vector v2, vector r)
WHERE void vecsum (vector v1, vector v2, vector r)
WHERE void vecscale (double s, vector v, vector r)
WHERE short normalize (vector v)
WHERE double R_length (vector v)
WHERE void cross (vector v1, vector v2, vector r)
WHERE void AssignMappingCoordinatesToVertices (object *)
WHERE void EffectObjectVertices (long global, long O)
WHERE short LoadExternalTexture (char *name, char *parameters)
WHERE short MorphExternalTexture (char *name, char *parameters, long obj)
WHERE void FreeExternalTextures (void)
WHERE BOOL RenderExternalTexture (long tid, vector p, vector n, double alpha, double beta, double gamma, double bump_scale, double *ac, double *transparency, unsigned char sc[3], long model_id, face *fp, double colour[3])
WHERE long ExternalImageProcess (long frame, long HWrender)
WHERE long MotionBlurFrame (long frame, long subframe, long command_id)
WHERE void ReleaseImageStore (void)
WHERE long SetupImageMap (imap *Map, char *objectfile)
WHERE void LoadSingleRenderImageMap (imap *Map, char *mfname, char *ofname, char *tempfile, int type)
WHERE BOOL CheckSingleRenderImageMap (imap *Map, char *mfname, char *ofname, char *tempfile, int type)
WHERE void CompleteMovieMapLoading (long ObjectID, char *objectfilename)
WHERE void FreeMovieMapImages (long ObjectID)
WHERE unsigned char * LoadSystemMAP (BOOL, BOOL, char *fn, long *xx, long *yy)
WHERE void ScaleImageBuffer3 (long xi, long yi, unsigned char *pi, long xo, long yo, unsigned char *po)
WHERE void ScaleImageBuffer4 (long xi, long yi, unsigned char *pi, long xo, long yo, unsigned char *po)
WHERE void OneExternalFrame (long frame, void *, char *out_root, long type, long quality)
WHERE long out_line (unsigned char *pixels, long linelen)
WHERE long get_byte (void)
WHERE long ScreenTo32bitFile (long frame, char *rawfile, char *out_root, fullscreenbuffer *)
WHERE void FillAlfaLine (UCHAR *, long *[], long *)
WHERE void ScanlineToZbuffer (long, double *)
WHERE void ScanlineToZobject (long, long *)
WHERE long AntiAliasLine (long, long, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *, UCHAR *)
WHERE void init_spec (void)
WHERE void GetSkyLocation (void)
WHERE long PutBackIntersection (long, double, UCHAR *, double *, long *[], long *[], double *[], long *, long *, double *, double *, double *)
WHERE long MapFromProjection (imap *, short type, short clear, vector p, double *red, double *green, double *blue)
WHERE long MapByCoordinates (imap *Map, long obj, face *f, short type, short clear, vector p, double *red, double *green, double *blue)
WHERE long MapTransByCoordinates (imap *Map, short type, long obj, face *f, vector p, double *trans)
WHERE long MapTextureByCoordinates (long obj, face *f, vector p, double *alpha, double *beta, double *gamma)
WHERE void GetMirrorValues (double *color, vector p, vector d, vector n, int, face *, long, long, long)
WHERE void BumpByCoordinates (imap *, short, long, face *, vector, vector)
WHERE void GetGroundLight (vector p0, double *R, double *G, double *B)
WHERE void BoxMapIntersect (vector, long *, double *, double *)
WHERE void MapMirror (double *, double *, double *, imap *, vector, vector)
WHERE void MapEnvironment (long, long, UCHAR *, UCHAR *, UCHAR *, imap *)
WHERE void MapEnvironmentInDirection (vector, double *, double *, double *, imap *)
WHERE double DepthCueLight (long, double)
WHERE void GetPixelLighting (matl *Matl, vector p, vector n, double pdotn, double ddotn, long obj, face *f, double *IdR, double *IdG, double *IdB, double *IsR, double *IsG, double *IsB)
WHERE void GetSurfaceValue (int, face *, vertex *, vector, vector, double *, double *, double *, long, long, long)
WHERE void FreeTextureHashTable (void)
WHERE short InitialiseNoise (void)
WHERE void STurbulence (double x, double y, double z, double *r)
WHERE void Cycloidal (double value, double *r)
WHERE void DTurbulence (vector result, double x, double y, double z)
WHERE double Triangle_Wave (double value)
WHERE void Snoise2 (double x, double y, double z, double *r)
WHERE void Dnoise2 (vector result, double x, double y, double z)
WHERE void ripples2 (double x, double y, double z, double Frequency, double phase, double Bump_Amount, vector Vector)
WHERE void calcripple (vector point, vector wave_centre, double wave_propagate, double wave_wavelength, double wave_drag, double wave_amplitude, vector ripple)
WHERE void init_ripples (void)
WHERE void Ocean (vector p0, vector Groundn, vector gn)
WHERE BOOL GetInternalTexture (matl *Mat, double alpha, double beta, double gamma, long textID, vector p, vector n, long obj, face *f, double *colors, double *colort, long *flag_trans, double tr, double *tr1, long trace_relection_depth, long trace_refraction_depth, long refractive_flag)
WHERE void DitherLine (long scanline, long xmax, unsigned char *R, unsigned char *G, unsigned char *B)
WHERE BOOL AllocateThreadStorage (THD *)
WHERE void FreeThreadStorage (THD *)
WHERE void ResetDither (void)
WHERE void FreeRamBuffers (void)
WHERE void InitialiseLibraryHandleList (void)
WHERE void FreeLibraryHandleList (void)
WHERE HMODULE AddLoadedLibrary (char *)
WHERE void Render_Message (short number, short query, char *str)
WHERE int X__local_print (const char *,...)
WHERE void setup_render_discarded_list (void)
WHERE void free_render_discarded_list (void)
WHERE FILE * GetRenderRelativeFile (char *fn, char *objectfilename, char *newname)
WHERE HANDLE GetRenderRelativeHandle (char *fn, char *objectfilename, char *newname)
WHERE int R_intersect_face (vector p, vector d, vector p0, vector p1, vector p2, vector n, double *depth, double tollerance)
WHERE void PointInShadow (vector p, long id, double *intensity)
WHERE void Add_Ground_Mirror (long, long, vector, unsigned char *, unsigned char *, unsigned char *)
WHERE void FreeNurbs (long, nurbs *)
WHERE BOOL AllocNurbs (nurbs *, double *, double *)
WHERE BOOL MeshNurbsSurfaces (long)
void AddToRenderImagePreview (long index, long xmax, long ymax, fullscreenbuffer *f, unsigned char *R, unsigned char *G, unsigned char *B)
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern
#define WHERE   extern

Defines

#define VECCOPY(a, b)   { b[0] = a[0]; b[1] = a[1]; b[2] = a[2]; }
 Macro Defines This group of macros provided Vectro operations on 3 element arrays and vectors.
#define SINGLE   1
 Various symbolic defined valuese for variables used in th renderer.
#define UCHAR   unsigned char
 Defines user types for vectors etc.

Typedefs

typedef struct
LibraryHandleListItem_tag 
LibraryHandleListItem
 Structure to maintain a reference between any loaded DLL and its program handle.
typedef struct
Renderer_SCREENBUFFER_tag 
fullscreenbuffer
 Framebuffer structure.
typedef struct Renderer_LIGHT_tag light
 Light structure.
typedef struct traceNODE node
 Define a node in the ray-tracing optimiser.
typedef struct traceNODE node
 Define a node in the ray-tracing optimiser.
typedef struct XIP_RENDER_tag XIP
 External Image Processor structure.
typedef struct Renderer_SKELETON skel
 Skeleton structure used in Renderer.
typedef struct THD_tag THD
 USED FOR DISPATCHING threadsd of execution.
typedef struct Renderer_SHADER_tag shader
 External shader data structure.
typedef struct Renderer_AXIS_tag axis
 An AXIS structure.
typedef struct Renderer_IMAP_tag imap
 Image map structure, as used in renderer.
typedef struct Renderer_MATL_tag matl
 Material structure as used in Renderer.
typedef struct Renderer_VECTOR4_tag vector4
 Vector structure used by NURBS code.
typedef struct
Renderer_NurbsProperties_tag 
NurbsProperties
 NURBS properties structure.
typedef struct
Renderer_NurbsSurfSample_tag 
NurbsSurfSample
 Nurbs surface structure.
typedef struct Renderer_NURBS_tag nurbs
 NURBS structure.
typedef struct Renderer_GROUND_tag ground
 GROUND structure.
typedef struct Renderer_SKY_tag sky
 SKY structure.
typedef struct
Renderer_PARTICLE_tag 
Particle
 Particle structure.
typedef struct
Renderer_PARTICLESYSTEM_tag 
ParticleSystem
 Particle Actor srtucture.
typedef struct Renderer_OBJECT_tag object
 In Renderer this "Object" structure defines a MESH model.
typedef struct Renderer_VERTEX vertex
 Vertex structure.
typedef struct Renderer_FACE face
 polygonal face structure
typedef struct Renderer_TVERTEX_tag tvertex
 Vertex structure used by ray-tracer.
typedef struct tagPARAMLIST PARAMLIST
 Parameter list structure for Windows control dialog.
typedef struct Renderer_XIMAGE_tag XIMAGE
 Renderer structure for passing pointers to the Renderer's global variables and functions used by Image PostProcessing.
typedef struct X__SHADERtag X__SHADER
 Structure used to provide plugins with access to Renderer's internal variables and functions.

Functions

int render (int argc, char **argv)
 Renders the animation.
void RenderMultiThreaded (void *arg)
 Renders a set of scanlines within a single thread.
void FastAntiAliasRenderMultiThreaded (void *arg)
 Renders a set of scanlines within in a single thread.


Define Documentation

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define WHERE   extern

Definition at line 388 of file PROTOS.H.

#define VECCOPY ( a,
 )     { b[0] = a[0]; b[1] = a[1]; b[2] = a[2]; }

Macro Defines This group of macros provided Vectro operations on 3 element arrays and vectors.

Definition at line 86 of file RENDER.H.

#define SINGLE   1

Various symbolic defined valuese for variables used in th renderer.

Definition at line 103 of file RENDER.H.

Referenced by GetCommand(), and GetPixelValue().

#define UCHAR   unsigned char

Defines user types for vectors etc.

Note that in the Renderer DOUBLES are normally re-defined as FLOATS (to save space)

Definition at line 158 of file RENDER.H.

Referenced by AllocateRamBuffers(), AllocateThreadStorage(), FastAntiAliasShadedScanline(), ShadedScanline(), and ShadowGround().


Typedef Documentation

typedef struct LibraryHandleListItem_tag LibraryHandleListItem

Structure to maintain a reference between any loaded DLL and its program handle.

Framebuffer structure.

This structure defines a framebuffer in the Renderer .

typedef struct Renderer_LIGHT_tag light

Light structure.

This structure defines a light in the Renderer .

typedef struct traceNODE node

Define a node in the ray-tracing optimiser.

This structure defines a node in the Octree optimiser of the ray tracer.

typedef struct traceNODE node

Define a node in the ray-tracing optimiser.

This structure defines a node in the Octree optimiser of the ray tracer.

typedef struct XIP_RENDER_tag XIP

External Image Processor structure.

This structure is used to hold and pass parameters to the external Image processor.

typedef struct Renderer_SKELETON skel

Skeleton structure used in Renderer.

This structure is a version of the Skeleton tailored for the Renderer.

typedef struct THD_tag THD

USED FOR DISPATCHING threadsd of execution.

Thread specific copies of important internal buffers.

typedef struct Renderer_SHADER_tag shader

External shader data structure.

This structure is used to describe the external shaders. It mainly applies to the scanline software renderer

typedef struct Renderer_AXIS_tag axis

An AXIS structure.

This structure defines an axis that may form part of a shader or image map .

typedef struct Renderer_IMAP_tag imap

Image map structure, as used in renderer.

This structure defines an image map in a format that best suits the renderer module. Image maps may also be refered to as texture maps (AKA OpenGL) or the older terminology: A Brush

typedef struct Renderer_MATL_tag matl

Material structure as used in Renderer.

This structure defines a surface material. The surface material can be quite complex because it allows for external shaders to be loaded and used to render each pixel. (The external shaders should be "thread safe".

typedef struct Renderer_VECTOR4_tag vector4

Vector structure used by NURBS code.

This structure is used by the Nurbs patches.

NURBS properties structure.

This structure is the same as the Designer's NURBS properties.

Nurbs surface structure.

This structure is the same as the Designer's NURBS structure.

typedef struct Renderer_NURBS_tag nurbs

NURBS structure.

This structure is the same as the Designer's NURBS structure.

typedef struct Renderer_GROUND_tag ground

GROUND structure.

This structure is basically the same as the Animator's equivalent structure. Some additional variables have been defined that help speed up computation.

typedef struct Renderer_SKY_tag sky

SKY structure.

This structure is basically the same as the Animator's equivalent structure.

Particle structure.

This structure defines an individual particle, within a particle system.

Particle Actor srtucture.

This structure defines each particle actor's costume.

typedef struct Renderer_OBJECT_tag object

In Renderer this "Object" structure defines a MESH model.

This structure defines an object (model) in the scene. It corresponds to an Actor's Costume in the Animator

typedef struct Renderer_VERTEX vertex

Vertex structure.

This structure is used to define a vertex in the Renderer module.

typedef struct Renderer_FACE face

polygonal face structure

This structure is used to define a vertex in the Renderer module.

typedef struct Renderer_TVERTEX_tag tvertex

Vertex structure used by ray-tracer.

This structure is used to define a vertex after transformation but in integer coordinates so that the optimisation stage of the ray-tracing renderer can distribute them uniquely to one side or the other of a subdivision plane. In addition, any vertices introduced by a split in a polygon will add to the count of These vertex structures. Sructure for each ray tracing vertex

typedef struct tagPARAMLIST PARAMLIST

Parameter list structure for Windows control dialog.

This structure is used to store the settings the user makes in the Windows tabbed control dialog. The settings are stored in a file so that they will persiste from one instance to another.

typedef struct Renderer_XIMAGE_tag XIMAGE

Renderer structure for passing pointers to the Renderer's global variables and functions used by Image PostProcessing.

typedef struct X__SHADERtag X__SHADER

Structure used to provide plugins with access to Renderer's internal variables and functions.

This structure is used to define a large set of Renderer's internal variables and functions that might be useful to a plugin shaderr. The pointers in this structure are pointers to functions in the Renderer that can be called from an external shader. The do not have to be used but a pointer to this structure is passed to the shader function so this header file must be included. Use the definitions in the file DEFINES.H to provide easy to use references to the functions. See the example shaders on how to use them. The functions provide standard Perlin type random variables that can be used in developing fractal type textures. normalize() will scale a vector to have unit length. Some functions are more useful than others the one that are useful are -: normalize(n); normalize vector "n" to unit length sNoise(x,y,z,r); returns (r) a Perlin random variable [0-1] given an (x,y,z) co-ordinate vNoise(v,x,y,z); returns a normalized Perlin random vector given an (x,y,z) co-ordinate sTurbulence(x,y,z,r); returns (r) a turbulence value given co-ordinate vTurbulence(v,x,y,z); returns a turbulence vector given a co-ordinate


Function Documentation

WHERE short AllocateRamBuffers ( void   ) 

Allocate storage.

This function allocates the main memory buffer to be used by the Renderer. It creates output buffers for the framebuffer and motion blur buffers and other buffers. It also allocates a Thread Local Storage buffer for use by the main thread of execution if the progrma is not rendering in multiple threads. Each thread implements the rendering of a single scanline. Thus scanline buffers are needed for each thread. This function populates ONE ThreadStorage block (MainTHD).

Returns:
OK if all buffers allocated or FAIL if buffers not allocated

Definition at line 105 of file ALLOCMEM.C.

References THD_tag::Alfa, AllocateThreadStorage(), THD_tag::Blue, D1, DL, DR, DummyShadow, FAIL, fszBuffer, FullScreenBuffer, gAlfa, gBlue, gGreen, gL_Alfa, gL_Blue, gL_Green, gL_Red, gLL_Alfa, gLL_Blue, gLL_Green, gLL_Red, gRed, THD_tag::Green, gXbuffer, gXobject, gZbuffer, gZdepth, gZglass, gZglassd, gZglassO, gZground, gZobject, gZposn, THD_tag::L_Alfa, THD_tag::L_Blue, THD_tag::L_Green, THD_tag::L_Red, THD_tag::LL_Alfa, THD_tag::LL_Blue, THD_tag::LL_Green, THD_tag::LL_Red, mblurON, MotionBlurBuffer, NGLASS, ObjectIdBuffer, objectIDbufferON, OK, THD_tag::Red, Render_Message(), RendererLongBuffer, RendererShortBuffer, RendererUlongBuffer, RendererUshortBuffer, ResolutionX, ResolutionY, UCHAR, X__Malloc, THD_tag::Xbuffer, XMAX, THD_tag::Xobject, THD_tag::Zbuffer, THD_tag::Zdepth, THD_tag::Zglass, THD_tag::Zglassd, THD_tag::ZglassO, THD_tag::Zground, THD_tag::Zobject, THD_tag::Zposn, and ZskyBuffer.

Referenced by render().

WHERE long ShadedScanline ( long  scanline,
double  d2,
UCHAR *  Red,
UCHAR *  Green,
UCHAR *  Blue,
double *  Zground,
long  Wsky,
double  Rsky,
long *  Zglass[],
long *  ZglassO[],
double *  Zglassd[],
long *  Zbuffer,
long *  Zobject,
double *  Zdepth,
double *  Zposn 
)

Renders a whole scanline - Calls GetRowPixelValue().

Returns:
0

Definition at line 892 of file MATERIAL.C.

References Renderer_MATL_tag::bSmooth, double, DummyShadow, GetRowPixelValue(), normalize, Object, UCHAR, VECCOPY, VECSUM, VGA_screen, XMAX, and XMIN.

Referenced by RenderMultiThreaded().

WHERE long FastAntiAliasShadedScanline ( long  scanline,
long  aaline,
double  d2,
UCHAR *  Red,
UCHAR *  Green,
UCHAR *  Blue,
double *  Zground,
long  Wsky,
double  Rsky,
long *  Xbuffer,
long *  Xobject,
long *  Zglass[],
long *  ZglassO[],
double *  Zglassd[],
long *  Zbuffer,
long *  Zobject,
double *  Zdepth,
double *  Zposn 
)

Renders a whole scanline - Calls GetRowPixelValue().

Returns:
0

Definition at line 1044 of file MATERIAL.C.

References aaXstep, Renderer_MATL_tag::bSmooth, double, DummyShadow, GetRowPixelValue(), normalize, Object, UCHAR, VECCOPY, VGA_screen, and XMAX.

Referenced by FastAntiAliasRenderMultiThreaded().

WHERE void GetPixelValue ( vector  p,
vector  dinput,
vector  n,
double  pdotn,
imap Map,
matl Mat,
face f,
long  obj,
long  row,
long  col,
BOOL  first_trace,
long  trace_relection_depth,
long  trace_refraction_depth,
long  refractive_flag,
double *  Red,
double *  Green,
double *  Blue 
)

WHERE void GetRowPixelValue ( long  row,
long  col,
imap Map,
matl Mat,
face f,
long  obj,
vector  nn,
UCHAR *  Red,
UCHAR *  Green,
UCHAR *  Blue,
double *  Zdepth,
UCHAR *  ZobjChar 
)

Renders a pixel on a scanline - Calls GetPixelValue().

This is the core function that processes the rendering of a pixel into the output buffer. When this function is called the identity of the face that is visible in this pixel is known and this function must determine the output colour.

Parameters:
row Row in the output raster to be written into
col Column in the output raster to be written into
Map Image map to apply at this pixel
Mat Material to apply to the face visible in this pixel
f pointer to face visible in this pixel
obj identity of object visible in this pixel ....tbc
Returns:
VOID

Definition at line 2106 of file MATERIAL.C.

References DOT, double, GetPixelValue(), GetSurfaceValue(), min, normalize, Object, scalex, scaley, Renderer_IMAP_tag::tp, trace_refractions, trace_starting_ray(), Renderer_MATL_tag::transp, VECCOPY, Xcentre, and Ycentre.

Referenced by FastAntiAliasShadedScanline(), and ShadedScanline().

WHERE short R_terminator ( void   ) 

< Asks for user confirmation of rendering interrupt

Definition at line 36 of file RENDER.C.

Referenced by ExternalImageProcess(), PostProcessRenderGL(), render(), and RenderHide().

WHERE void read_vec ( vector  v  ) 

Referenced by GetCommand().

WHERE void MakeVertexNormals ( void   ) 

Definition at line 849 of file RENDER.C.

References dot(), normalize, Object, Render_Message(), smoothing_angle, VECCOPY, vecsum(), X__Free, and X__Malloc.

long RenderHide ( void   ) 

Renders the frame.

This is one of the core rendering functions it break up the raster into a series of interleaved scanlines and dispatches as may threads as required to render each set, using either the fastAntiAlias or standard scnaline rendering function. Called from RenderHide()

Returns:
TRUE or FALSE

Definition at line 1111 of file RENDER.C.

References anti_alias, anti_alias_edges, ConfirmNTabort(), D1, DL, double, DR, FAIL, FALSE, FastAntiAliasRenderMultiThreaded(), fp, GetSkyLocation(), Ground, in_mirror_phase, LOW, min, Mirror_In_Ground(), Nprocessors, Nthreads, R_Nground, R_terminator(), Renderer_GROUND_tag::refl, Render_Message(), renderer_NT_abort_flag, RenderMultiThreaded(), RenderYield(), scalex, ShadowGround(), TRUE, Xcentre, XMAX, XMIN, and YES.

Referenced by render().

WHERE char* short_form ( char *  filename  ) 

< Removes a path from a filename

Definition at line 1300 of file UTILS.C.

WHERE void SetUpParticles ( ParticleSystem  ) 

WHERE void SetUpSingleParticle ( ParticleSystem  ) 

WHERE void LoadParticleImages ( void   ) 

Definition at line 59 of file particles.c.

WHERE void UnloadParticleImages ( void   ) 

Definition at line 74 of file particles.c.

WHERE void MakeParticleTextures ( void   ) 

Definition at line 85 of file particles.c.

References min.

WHERE void ReleaseParticleTextures ( void   ) 

Definition at line 121 of file particles.c.

Referenced by CloseGlWindow().

WHERE void RenderParticlesGL ( BOOL  clip  ) 

Definition at line 553 of file particles.c.

References Nparticles, and ParticleS.

WHERE void RenderParticles ( void   ) 

Definition at line 663 of file particles.c.

References Nparticles, and ParticleS.

Referenced by render().

WHERE long RenderGL ( long  frame,
BOOL  ppGL 
)

Definition at line 98 of file rendergl.C.

References m_PBuffer.

Referenced by render().

WHERE void SetUpCorrectContext ( BOOL   ) 

Definition at line 522 of file rendergl.C.

References m_PBuffer.

Referenced by FreeExternalTextures(), and LoadExternalTexture().

WHERE HWND SetUpGlWindow ( HANDLE  ,
HWND  ,
long  ,
long  ,
BOOL  ,
BOOL  ,
BOOL  ,
long   
)

Definition at line 203 of file rendergl.C.

Referenced by RendererMainWndProc().

WHERE void CloseGlWindow ( void   ) 

Definition at line 529 of file rendergl.C.

Referenced by RendererMainWndProc(), and SetUpGlWindow().

WHERE void accPerspective ( GLdouble  fovy,
GLdouble  aspect,
GLdouble  znear,
GLdouble  zfar,
GLdouble  pixdx,
GLdouble  pixdy,
GLdouble  eyedx,
GLdouble  eyedy,
GLdouble  focus 
)

Definition at line 818 of file rendergl.C.

References PI_.

Referenced by RenderCameraView().

WHERE void CopyGLtoFSB ( void   ) 

Definition at line 638 of file rendergl.C.

References FullScreenBuffer, RENDERBUFFER_WIDTH, ResolutionX, and ResolutionY.

Referenced by render().

WHERE void CopyGLtoZbuffer ( void   ) 

WHERE BOOL CheckGPUhardware ( HWND   ) 

Definition at line 931 of file rendergl.C.

References FALSE, and TRUE.

WHERE void RenderCameraView ( BOOL  renderbuffer,
BOOL  bAntiAliases,
int  jitter,
int  ,
GLfloat  aspect 
)

WHERE long PostProcessRenderGL ( long  frame  ) 

WHERE void DrawExternalMaterialPolys ( BOOL  bDrawTransparent,
BOOL  bClip,
long  nMats,
matl iMat,
long  Nface,
face MainFp,
long  Nvert,
vertex MainVp 
)

WHERE int GetCommand ( long  ,
long  ,
long  ,
char *   
)

Definition at line 136 of file LOADSCPT.C.

References Renderer_GROUND_tag::acolor, Animator_PARTICLESYSTEM_tag::alpha_end, Animator_PARTICLESYSTEM_tag::alpha_start, ambient_light, Renderer_GROUND_tag::ambient_light, Renderer_LIGHT_tag::AnimatorID, AssignMappingCoordinatesToVertices(), Renderer_IMAP_tag::bp, BRUM, Animator_PARTICLESYSTEM_tag::bSingle, Animator_PARTICLESYSTEM_tag::bSpinOff, Animator_PARTICLESYSTEM_tag::bSteadyState, CamAlpha, CamFnumber, CamFocalLength, CamFocusDepth, CamFocusDepthM, CamIm, CamIma, CamParallaxDepth, CamPhi, CamPolarisation, CamRuler, CamStereoSeparation, CamSx, CamSy, CamSz, CamTheta, Animator_OBJECT::cast_shadow, CF, Renderer_GROUND_tag::color, Renderer_LIGHT_tag::color, Animator_PARTICLESYSTEM_tag::colour_end, Animator_PARTICLESYSTEM_tag::colour_start, CompleteMovieMapLoading(), Renderer_LIGHT_tag::dc, Renderer_LIGHT_tag::dc_c, Renderer_LIGHT_tag::dc_l, Renderer_LIGHT_tag::dc_q, double, Animator_OBJECT::effect, End_of_animation, Animator_PARTICLESYSTEM_tag::ew_end, Animator_PARTICLESYSTEM_tag::ew_start, FALSE, Renderer_IMAP_tag::filename, GET_DOB, GET_VEC, Ground, ground_ambient_light, Renderer_GROUND_tag::height, Animator_PARTICLESYSTEM_tag::id, Animator_PARTICLESYSTEM_tag::iid, ImageProcesses, Renderer_LIGHT_tag::Intensity, Renderer_LIGHT_tag::internal_type, L, Animator_PARTICLESYSTEM_tag::life, Lights, LoadMorphObject(), Renderer_GROUND_tag::map, Renderer_GROUND_tag::mapped, Renderer_GROUND_tag::maptype, MBRUM, Renderer_IMAP_tag::moziac, nImageProcesses, Nlights, NO, Nparticles, Animator_PARTICLESYSTEM_tag::ns_end, Animator_PARTICLESYSTEM_tag::ns_start, Nsky, Object, object_ambient_light, ObjectCount, Renderer_IMAP_tag::p, Renderer_GROUND_tag::p, Animator_PARTICLESYSTEM_tag::particle_size_scale, Animator_PARTICLESYSTEM_tag::particle_speed_scale, ParticleS, PI, Renderer_GROUND_tag::pin, Renderer_IMAP_tag::pin, PLAIN, PLANE, Renderer_IMAP_tag::pp, R_LoadObject(), R_m4by1(), R_m4by4(), R_Nground, R_rotx(), R_roty(), R_rotz(), read_vec(), Renderer_GROUND_tag::refl, Render_Message(), RenderRubberBones(), RenderTransformToRobot(), Renderer_IMAP_tag::rp, Animator_OBJECT::self_shadow, SetupImageMap(), Animator_OBJECT::show_shadow, SINGLE, Animator_PARTICLESYSTEM_tag::size_end, Animator_PARTICLESYSTEM_tag::size_start, Skeleton, Sky, skyBmax, SKYGRADED, skyXscale, skyYscale, Animator_PARTICLESYSTEM_tag::speed, SPOTLIGHT, TBRUM, TEXTU, Renderer_GROUND_tag::texture, Animator_PARTICLESYSTEM_tag::theta, TILE, Renderer_IMAP_tag::tp, TRUE, Animator_SKY::type, Renderer_GROUND_tag::type, type, Renderer_LIGHT_tag::type, Animator_PARTICLESYSTEM_tag::ud_end, Animator_PARTICLESYSTEM_tag::ud_start, UNIT, Animator_PARTICLESYSTEM_tag::valpha, Animator_PARTICLESYSTEM_tag::vcolour, VECCOPY, vecsub(), vecsum(), ViewPoint, Animator_PARTICLESYSTEM_tag::vlife, Animator_PARTICLESYSTEM_tag::vsize, Animator_PARTICLESYSTEM_tag::vspeed, WindowedRenderMessage(), WRM_COMPLETE, Renderer_IMAP_tag::x, Renderer_GROUND_tag::x, X__Free, X__Malloc, X__Realloc, Renderer_GROUND_tag::xin, Renderer_IMAP_tag::xin, Renderer_IMAP_tag::y, Renderer_GROUND_tag::y, YES, Renderer_GROUND_tag::yin, and Renderer_IMAP_tag::yin.

Referenced by render().

WHERE void FreeFrameObjects ( void   ) 

Definition at line 88 of file LOADSCPT.C.

References FALSE, FreeMovieMapImages(), Object, ObjectCount, and X__Free.

Referenced by render().

WHERE void FreeAllObjects ( void   ) 

Definition at line 104 of file LOADSCPT.C.

References FreeExternalTextures(), FreeNurbs(), Nshader, Object, ObjectCount, Shader, Skeleton, and X__Free.

Referenced by render().

WHERE char R_getl ( long *  val  ) 

Definition at line 52 of file LOADMESH.C.

References dwRead, and fp.

Referenced by FindNumberVertices(), LoadMorphObject(), and R_LoadObject().

WHERE char R_getsht ( short *  val  ) 

Definition at line 63 of file LOADMESH.C.

References dwRead, and fp.

WHERE char R_getusht ( unsigned short *  val  ) 

Definition at line 72 of file LOADMESH.C.

References dwRead, and fp.

WHERE long LoadMorphObject ( long  ,
short  mo,
char *  FileName,
double  mr,
char *  QmorphFile,
double  qr 
)

Definition at line 188 of file LOADMESH.C.

References double, dwRead, fp, GetRenderRelativeHandle(), min, Object, R_getchunk(), R_getl(), Render_Message(), and VECCOPY.

Referenced by GetCommand().

WHERE long R_LoadObject ( long  ObjectID,
char *  FileName,
long  frame,
short  robo,
double  robo_ratio,
char *  robo_file1,
char *  robo_file2 
)

WHERE void R_getchunk ( long  clen  ) 

Definition at line 927 of file LOADMESH.C.

References fp.

Referenced by FindNumberVertices(), LoadMorphObject(), and R_LoadObject().

WHERE long FindNumberVertices ( char *  ofile,
long *  nvs 
)

Definition at line 811 of file LOADMESH.C.

References fp, GetRenderRelativeHandle(), R_getchunk(), and R_getl().

WHERE void InvertRotationMatrix ( double  T[4][4],
double  t[4][4] 
)

Definition at line 955 of file LOADMESH.C.

References R_null_transform().

Referenced by InterpolateRobot(), and RenderRubberBones().

WHERE void RenderTransformToRobot ( long  O,
long *  Skid,
skel Skel,
double  mr,
char *  robo_f1,
char *  robo_f2 
)

WHERE void RenderRubberBones ( long  O,
int  nSkeleton,
long *  Skid,
skel Skeleton 
)

Definition at line 1198 of file LOADMESH.C.

References DOT, FALSE, InvertRotationMatrix(), min, Object, R_c4to4(), R_m4by1(), R_m4by4(), R_tram(), VECCOPY, and VECSUB.

Referenced by GetCommand().

WHERE double dot ( vector  v1,
vector  v2 
)

WHERE short ClipObject ( long  O  ) 

Definition at line 45 of file GEOMETRY.C.

References debug, FAIL, fp, FRONT_CLIPPING_PLANE, Object, OK, Render_Message(), Animator_OBJECT::v, X__Realloc, and y1.

WHERE long IShadow ( long  scanline,
long  v1x,
long  v1y,
long  v2x,
long  v2y,
long *  xi 
)

Definition at line 197 of file GEOMETRY.C.

Referenced by ShadowFillLine().

WHERE void ShadowFillLine ( long  scanline,
long  vx[3],
long  vy[3],
long *  leftedge,
long *  rightedge 
)

Definition at line 214 of file GEOMETRY.C.

References IShadow(), max, min, Render_Message(), and XMAX.

Referenced by ShadowGround().

WHERE void ShadowGround ( void   ) 

WHERE double hitpoint ( vector  n,
vector  x,
vector  y,
vector  pb,
vector  pf,
double *  a,
double *  b 
)

WHERE BOOL hitpoint2 ( vector  n,
vector  x,
vector  y,
vector  pb,
vector  pf,
double *  a,
double *  b 
)

Definition at line 369 of file GEOMETRY.C.

References DOT, FALSE, TRUE, and VECSUB.

Referenced by GetGroundLight().

WHERE double hitcylinder ( vector  n,
vector  x,
vector  y,
vector  p0,
vector  p,
double *  a,
double *  b 
)

Definition at line 404 of file GEOMETRY.C.

References cross(), DOT, dot(), normalize, RTD, and vecsub().

Referenced by AssignMappingCoordinatesToVertices(), and MapFromProjection().

WHERE double hitsphere ( vector  n,
vector  x,
vector  y,
vector  p0,
vector  p,
double *  a,
double *  b 
)

Definition at line 428 of file GEOMETRY.C.

References DOT, normalize, VECCOPY, VECSCALE, VECSUB, and z.

Referenced by AssignMappingCoordinatesToVertices(), and MapFromProjection().

WHERE void UpdateGlassScanBuffers ( double  ,
double  ,
long  ,
long  ,
face ,
double  ,
long *  [],
long *  [],
double *  [],
long *  ,
long *  ,
double *  ,
double *   
)

Definition at line 565 of file GEOMETRY.C.

References DL, double, DR, min, Object, scalex, UpdateGlassBuffer, and Xcentre.

Referenced by render().

WHERE void UpdateNoGlassScanBuffers ( double  ,
double  ,
long  ,
long  ,
face ,
double  ,
long *  [],
long *  [],
double *  [],
long *  ,
long *  ,
double *  ,
double *   
)

Definition at line 635 of file GEOMETRY.C.

References DL, double, DR, min, Object, scalex, UpdateNoGlassBuffer, and Xcentre.

Referenced by render().

WHERE long Intersect ( long  scanline,
vertex v1,
vertex v2,
double *  xi 
)

Definition at line 703 of file GEOMETRY.C.

References double.

Referenced by Active().

WHERE long Active ( long  scanline,
vertex v,
face f,
double *  leftedge,
double *  rightedge 
)

Definition at line 717 of file GEOMETRY.C.

References Intersect(), max, min, XMAX, and XMIN.

Referenced by FastAntiAliasRenderMultiThreaded(), and RenderMultiThreaded().

WHERE void SetPerspectiveView ( long   ) 

WHERE void ApplyViewingTransformToPoint ( vector  ,
vector   
)

Definition at line 822 of file GEOMETRY.C.

References R_m4by1(), ViewTransform, and y1.

WHERE void BendNormal ( vector  ,
vector  ,
vector   
)

Definition at line 828 of file GEOMETRY.C.

References AntiCamera, R_m3by1(), ViewTransform, and y1.

WHERE void MakeObjectTransformation ( double  fi,
double  theta,
double  alpha,
short  im,
double  ima,
double  sx,
double  sy,
double  sz,
vector  Offset,
vector  Position,
double  trpos[4][4],
double  pos[4][4],
double  trinv[4][4] 
)

Definition at line 835 of file GEOMETRY.C.

References AntiCamera, PI, R_m4by4(), R_rotx(), R_roty(), R_rotz(), R_scal(), R_tram(), and ViewTransform.

Referenced by SetUpParticles(), and SetUpSingleParticle().

WHERE void TransformMappingRectangle ( double  [4][4],
vector  ,
vector  ,
vector  ,
vector  ,
vector  ,
vector  ,
vector   
)

Definition at line 897 of file GEOMETRY.C.

References cross(), normalize, R_m4by1(), and vecsub().

WHERE void PerspObstra ( double  xo,
double  yo,
double  zo,
double  xt,
double  yt,
double  zt,
double  to[4][4] 
)

WHERE void R_scal ( double  tr[4][4],
double  sx,
double  sy,
double  sz 
)

Definition at line 978 of file GEOMETRY.C.

Referenced by MakeObjectTransformation().

WHERE void R_rotz ( double  tr[4][4],
double  ang 
)

WHERE void R_rotx ( double  tr[4][4],
double  ang 
)

WHERE void R_roty ( double  tr[4][4],
double  ang 
)

WHERE void R_tram ( double  t[4][4],
double  dx,
double  dy,
double  dz 
)

WHERE void R_m4by4 ( double  t1[4][4],
double  t2[4][4],
double  tr[4][4] 
)

WHERE void R_c4to4 ( double  tin[4][4],
double  tout[4][4] 
)

Definition at line 1004 of file GEOMETRY.C.

Referenced by RenderRubberBones(), and SetPerspectiveView().

WHERE void R_null_transform ( double  t[4][4]  ) 

Definition at line 1012 of file GEOMETRY.C.

Referenced by InvertRotationMatrix(), and RenderTransformToRobot().

WHERE void R_m4by1 ( double  t4[4][4],
double  x,
double  y,
double  z,
double *  xx,
double *  yy,
double *  zz 
)

WHERE void R_m3by1 ( double  t4[4][4],
double  x,
double  y,
double  z,
double *  xx,
double *  yy,
double *  zz 
)

Definition at line 1028 of file GEOMETRY.C.

Referenced by BendNormal(), and MapEnvironment().

WHERE void R_reflect ( double  t4[4][4],
vector  p,
vector  n 
)

Definition at line 1040 of file GEOMETRY.C.

References R_m4by4(), R_roty(), R_rotz(), and R_tram().

WHERE void veccopy ( vector  v1,
vector  r 
)

Definition at line 1117 of file GEOMETRY.C.

Referenced by GetGroundLight(), GetSurfaceValue(), init_ripples(), Mirror_In_Ground(), and Ocean().

WHERE void vecsub ( vector  v1,
vector  v2,
vector  r 
)

WHERE void vecsum ( vector  v1,
vector  v2,
vector  r 
)

WHERE void vecscale ( double  s,
vector  v,
vector  r 
)

WHERE short normalize ( vector  v  ) 

Definition at line 1141 of file GEOMETRY.C.

References double, and vecscale().

WHERE double R_length ( vector  v  ) 

Definition at line 1151 of file GEOMETRY.C.

References double.

Referenced by AssignMappingCoordinatesToVertices(), GetGroundLight(), GetPixelLighting(), and GetPixelValue().

WHERE void cross ( vector  v1,
vector  v2,
vector  r 
)

WHERE void AssignMappingCoordinatesToVertices ( object  ) 

WHERE void EffectObjectVertices ( long  global,
long  O 
)

WHERE short LoadExternalTexture ( char *  name,
char *  parameters 
)

WHERE short MorphExternalTexture ( char *  name,
char *  parameters,
long  obj 
)

Definition at line 366 of file PLUGINS.C.

References double, FAIL, Nshader, Object, OK, and Shader.

WHERE void FreeExternalTextures ( void   ) 

WHERE BOOL RenderExternalTexture ( long  tid,
vector  p,
vector  n,
double  alpha,
double  beta,
double  gamma,
double  bump_scale,
double *  ac,
double *  transparency,
unsigned char  sc[3],
long  model_id,
face fp,
double  colour[3] 
)

< The colour is the returned colour from the shader/texture plugin

Parameters:
tid  Shader ID in the shader list
p  Coordinate of the point on the surface being shaded
n  Surface Normal vector - might be changed by bump shader
gamma  these are the 3D texture/shader coordinates Local frame of reference
bump_scale  This is the texture parameter scaling value (input)
ac  This is the value of the alpha channel to be returned by shader
transparency  This is the surface transparency value to be returned by the shader
sc  This is the texture colour passed to be passed to the shader
model_id  Object identifier NOT USED
fp  Face identifier NOT USED

Definition at line 310 of file PLUGINS.C.

References double, FALSE, X__SHADERtag::fp_axis_n, X__SHADERtag::fp_axis_o, X__SHADERtag::fp_axis_u, X__SHADERtag::fp_axis_unorm, X__SHADERtag::fp_axis_v, X__SHADERtag::fp_axis_vnorm, X__SHADERtag::fp_FullSat, Nshader, Shader, X__SHADERtag::u_length, and X__SHADERtag::v_length.

Referenced by GetPixelValue().

WHERE long ExternalImageProcess ( long  frame,
long  HWrender 
)

Definition at line 386 of file PLUGINS.C.

References AddLoadedLibrary(), Renderer_XIMAGE_tag::AnimatorIdList, anti_alias, Renderer_XIMAGE_tag::aParameters, Renderer_XIMAGE_tag::Blur, CamAlpha, Renderer_XIMAGE_tag::CamAlpha, CamIm, Renderer_XIMAGE_tag::CamIm, CamIma, Renderer_XIMAGE_tag::CamIma, CamPhi, Renderer_XIMAGE_tag::CamPhi, CamSx, Renderer_XIMAGE_tag::CamSx, CamSy, Renderer_XIMAGE_tag::CamSy, CamSz, Renderer_XIMAGE_tag::CamSz, CamTheta, Renderer_XIMAGE_tag::CamTheta, Cycloidal, Dnoise2(), DTurbulence(), FAIL, Renderer_XIMAGE_tag::first_frame, Renderer_XIMAGE_tag::fp_Cycloidal, Renderer_XIMAGE_tag::fp_normalize, Renderer_XIMAGE_tag::fp_sNoise, Renderer_XIMAGE_tag::fp_sTurbulence, Renderer_XIMAGE_tag::fp_Terminate, Renderer_XIMAGE_tag::fp_vNoise, Renderer_XIMAGE_tag::fp_vTurbulence, Renderer_XIMAGE_tag::fp_Yield, Renderer_XIMAGE_tag::Frame, fszBuffer, FullScreenBuffer, gszHomeDir, HIGH, Renderer_XIMAGE_tag::HWrender, ImageProcesses, Renderer_XIMAGE_tag::last_frame, Lights, Renderer_XIMAGE_tag::Lights, LOW, MEDIUM, min, Renderer_XIMAGE_tag::ModuleName, Renderer_XIMAGE_tag::Morph, Renderer_XIMAGE_tag::MorphRatio, MotionBlurBuffer, Renderer_XIMAGE_tag::mParameters, nImageProcesses, Nlights, Renderer_XIMAGE_tag::Nlights, normalize, Renderer_XIMAGE_tag::Ntargets, Object, Renderer_XIMAGE_tag::ObjectBuffer, ObjectCount, ObjectIdBuffer, Renderer_XIMAGE_tag::Pad, R_terminator(), Render_Message(), RenderYield(), ResolutionX, ResolutionY, RestoreWhiteSpaces(), scalex, scaley, Renderer_XIMAGE_tag::Screen, shadow_buffer_size, Renderer_XIMAGE_tag::shadow_buffer_size, short_form(), Snoise2(), STurbulence(), Renderer_XIMAGE_tag::Targets, Renderer_XIMAGE_tag::this_frame, ULTRA, Renderer_XIMAGE_tag::version, ViewPoint, Renderer_XIMAGE_tag::ViewPoint, ViewTransform, Renderer_XIMAGE_tag::ViewTransform, Renderer_XIMAGE_tag::Xmax, Renderer_XIMAGE_tag::Xscale, Renderer_XIMAGE_tag::Ymax, Renderer_XIMAGE_tag::Yscale, and Renderer_XIMAGE_tag::Zbuffer.

Referenced by render().

WHERE long MotionBlurFrame ( long  frame,
long  subframe,
long  command_id 
)

Definition at line 24 of file PLUGINS.C.

References df, double, FullScreenBuffer, mblurON, MotionBlurBuffer, ResolutionX, and ResolutionY.

Referenced by render().

WHERE void ReleaseImageStore ( void   ) 

Definition at line 95 of file LOADMAPS.C.

References X__Free.

Referenced by render().

WHERE long SetupImageMap ( imap Map,
char *  objectfile 
)

WHERE void LoadSingleRenderImageMap ( imap Map,
char *  mfname,
char *  ofname,
char *  tempfile,
int  type 
)

WHERE BOOL CheckSingleRenderImageMap ( imap Map,
char *  mfname,
char *  ofname,
char *  tempfile,
int  type 
)

WHERE void CompleteMovieMapLoading ( long  ObjectID,
char *  objectfilename 
)

WHERE void FreeMovieMapImages ( long  ObjectID  ) 

WHERE unsigned char* LoadSystemMAP ( BOOL  ,
BOOL  ,
char *  fn,
long *  xx,
long *  yy 
)

Definition at line 366 of file LOADMAPS.C.

References AddLoadedLibrary(), B, G, gszHomeDir, R, TRUE, X__Free, and X__Malloc.

Referenced by LoadParticleImages().

WHERE void ScaleImageBuffer3 ( long  xi,
long  yi,
unsigned char *  pi,
long  xo,
long  yo,
unsigned char *  po 
)

Definition at line 678 of file LOADMAPS.C.

References FilterLine(), max, X__Free, and X__Malloc.

WHERE void ScaleImageBuffer4 ( long  xi,
long  yi,
unsigned char *  pi,
long  xo,
long  yo,
unsigned char *  po 
)

Definition at line 709 of file LOADMAPS.C.

References FilterLine(), max, X__Free, and X__Malloc.

WHERE void OneExternalFrame ( long  frame,
void *  ,
char *  out_root,
long  type,
long  quality 
)

WHERE long out_line ( unsigned char *  pixels,
long  linelen 
)

Definition at line 43 of file gif_map.c.

WHERE long get_byte ( void   ) 

Definition at line 39 of file gif_map.c.

WHERE long ScreenTo32bitFile ( long  frame,
char *  rawfile,
char *  out_root,
fullscreenbuffer  
)

WHERE void FillAlfaLine ( UCHAR *  ,
long *  [],
long *   
)

Definition at line 181 of file output.c.

References alfagroundON, XMAX, and XMIN.

Referenced by FastAntiAliasRenderMultiThreaded(), and RenderMultiThreaded().

WHERE void ScanlineToZbuffer ( long  ,
double *   
)

Definition at line 151 of file output.c.

References aaXstep, anti_alias, fszBuffer, HIGH, MEDIUM, ResolutionX, ULTRA, and XMAX.

Referenced by FastAntiAliasRenderMultiThreaded(), and RenderMultiThreaded().

WHERE void ScanlineToZobject ( long  ,
long *   
)

WHERE long AntiAliasLine ( long  ,
long  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *   
)

WHERE void init_spec ( void   ) 

Definition at line 38 of file MATERIAL.C.

References max_spec, spec_gro, and spec_pow.

Referenced by render().

WHERE void GetSkyLocation ( void   ) 

Definition at line 1139 of file MATERIAL.C.

References CamPhi, D1, PI, Sky, SKYMAPPED, skyXscale, Animator_SKY::type, XMAX, XMIN, and ZskyBuffer.

Referenced by RenderHide().

WHERE long PutBackIntersection ( long  ,
double  ,
UCHAR *  ,
double *  ,
long *  [],
long *  [],
double *  [],
long *  ,
long *  ,
double *  ,
double *  ,
double *   
)

WHERE long MapFromProjection ( imap ,
short  type,
short  clear,
vector  p,
double *  red,
double *  green,
double *  blue 
)

WHERE long MapByCoordinates ( imap Map,
long  obj,
face f,
short  type,
short  clear,
vector  p,
double *  red,
double *  green,
double *  blue 
)

WHERE long MapTransByCoordinates ( imap Map,
short  type,
long  obj,
face f,
vector  p,
double *  trans 
)

WHERE long MapTextureByCoordinates ( long  obj,
face f,
vector  p,
double *  alpha,
double *  beta,
double *  gamma 
)

Definition at line 833 of file MATERIAL.C.

References Object.

Referenced by GetPixelValue().

WHERE void GetMirrorValues ( double *  color,
vector  p,
vector  d,
vector  n,
int  ,
face ,
long  ,
long  ,
long   
)

WHERE void BumpByCoordinates ( imap ,
short  ,
long  ,
face ,
vector  ,
vector   
)

WHERE void GetGroundLight ( vector  p0,
double *  R,
double *  G,
double *  B 
)

WHERE void BoxMapIntersect ( vector  ,
long *  ,
double *  ,
double *   
)

Definition at line 188 of file MATERIAL.C.

References normalize.

Referenced by MapEnvironment(), MapEnvironmentInDirection(), and MapMirror().

WHERE void MapMirror ( double *  ,
double *  ,
double *  ,
imap ,
vector  ,
vector   
)

WHERE void MapEnvironment ( long  ,
long  ,
UCHAR *  ,
UCHAR *  ,
UCHAR *  ,
imap  
)

WHERE void MapEnvironmentInDirection ( vector  ,
double *  ,
double *  ,
double *  ,
imap  
)

WHERE double DepthCueLight ( long  ,
double   
)

WHERE void GetPixelLighting ( matl Matl,
vector  p,
vector  n,
double  pdotn,
double  ddotn,
long  obj,
face f,
double *  IdR,
double *  IdG,
double *  IdB,
double *  IsR,
double *  IsG,
double *  IsB 
)

WHERE void GetSurfaceValue ( int  ,
face ,
vertex ,
vector  ,
vector  ,
double *  ,
double *  ,
double *  ,
long  ,
long  ,
long   
)

WHERE void FreeTextureHashTable ( void   ) 

Definition at line 93 of file TEXTURES.C.

References X__Free.

Referenced by render().

WHERE short InitialiseNoise ( void   ) 

Definition at line 99 of file TEXTURES.C.

References Dnoise2(), FAIL, normalize, NUMBER_OF_WAVES, OK, RNDDIVISOR, RNDMASK, sintab(), SINTABSIZE, and Wave_Sources.

Referenced by render().

WHERE void STurbulence ( double  x,
double  y,
double  z,
double *  r 
)

Definition at line 263 of file TEXTURES.C.

References FABS, and Snoise2().

Referenced by ExternalImageProcess(), and init_structures().

WHERE void Cycloidal ( double  value,
double *  r 
)

Definition at line 292 of file TEXTURES.C.

References sintab(), and SINTABSIZE.

WHERE void DTurbulence ( vector  result,
double  x,
double  y,
double  z 
)

Definition at line 276 of file TEXTURES.C.

References Dnoise2().

Referenced by ExternalImageProcess(), and init_structures().

WHERE double Triangle_Wave ( double  value  ) 

Definition at line 339 of file TEXTURES.C.

References FABS.

WHERE void Snoise2 ( double  x,
double  y,
double  z,
double *  r 
)

Definition at line 155 of file TEXTURES.C.

References Hash3d, INCRSUM, MINX, MINY, MINZ, and SCURVE.

Referenced by ExternalImageProcess(), init_structures(), and STurbulence().

WHERE void Dnoise2 ( vector  result,
double  x,
double  y,
double  z 
)

Definition at line 198 of file TEXTURES.C.

References Hash3d, INCRSUM, MINX, MINY, MINZ, and SCURVE.

Referenced by DTurbulence(), ExternalImageProcess(), GetGroundLight(), init_structures(), and InitialiseNoise().

WHERE void ripples2 ( double  x,
double  y,
double  z,
double  Frequency,
double  phase,
double  Bump_Amount,
vector  Vector 
)

WHERE void calcripple ( vector  point,
vector  wave_centre,
double  wave_propagate,
double  wave_wavelength,
double  wave_drag,
double  wave_amplitude,
vector  ripple 
)

Definition at line 664 of file TEXTURES.C.

References double, normalize, vecscale(), and vecsub().

Referenced by GetGroundLight(), and Ocean().

WHERE void init_ripples ( void   ) 

WHERE void Ocean ( vector  p0,
vector  Groundn,
vector  gn 
)

Definition at line 703 of file TEXTURES.C.

References calcripple(), normalize, NRIPPLES, veccopy(), vecsum(), and wave_phase.

Referenced by GetGroundLight().

WHERE BOOL GetInternalTexture ( matl Mat,
double  alpha,
double  beta,
double  gamma,
long  textID,
vector  p,
vector  n,
long  obj,
face f,
double *  colors,
double *  colort,
long *  flag_trans,
double  tr,
double *  tr1,
long  trace_relection_depth,
long  trace_refraction_depth,
long  refractive_flag 
)

WHERE void DitherLine ( long  scanline,
long  xmax,
unsigned char *  R,
unsigned char *  G,
unsigned char *  B 
)

WHERE BOOL AllocateThreadStorage ( THD  ) 

WHERE void FreeThreadStorage ( THD  ) 

Definition at line 85 of file ALLOCMEM.C.

References THD_tag::ram, and X__Free.

Referenced by FastAntiAliasRenderMultiThreaded(), FreeRamBuffers(), and RenderMultiThreaded().

WHERE void ResetDither ( void   ) 

WHERE void FreeRamBuffers ( void   ) 

WHERE void InitialiseLibraryHandleList ( void   ) 

Definition at line 193 of file ALLOCMEM.C.

References FreeLibraryHandleList().

WHERE void FreeLibraryHandleList ( void   ) 

< Called just before renderer exits to release and attached DLLs.

Definition at line 198 of file ALLOCMEM.C.

References X__Free.

Referenced by InitialiseLibraryHandleList().

WHERE HMODULE AddLoadedLibrary ( char *   ) 

Any attaching DLLs are retained - so we check to see if the same DLL has been laoded before, if so we use it otherwise we load the new one and add it to the list

Definition at line 215 of file ALLOCMEM.C.

References X__Malloc, and X__Realloc.

Referenced by ExternalImageProcess(), LoadExternalTexture(), LoadSystemMAP(), OneExternalFrame(), and PostProcessRenderGL().

WHERE void Render_Message ( short  number,
short  query,
char *  str 
)

Definition at line 474 of file ALLOCMEM.C.

References hThisInstance, IDX_MESSAGE_0, IDX_MESSAGE_1, IDX_MESSAGE_10, IDX_MESSAGE_100, IDX_MESSAGE_11, IDX_MESSAGE_12, IDX_MESSAGE_13, IDX_MESSAGE_14, IDX_MESSAGE_15, IDX_MESSAGE_16, IDX_MESSAGE_17, IDX_MESSAGE_18, IDX_MESSAGE_19, IDX_MESSAGE_2, IDX_MESSAGE_20, IDX_MESSAGE_21, IDX_MESSAGE_22, IDX_MESSAGE_23, IDX_MESSAGE_24, IDX_MESSAGE_25, IDX_MESSAGE_26, IDX_MESSAGE_27, IDX_MESSAGE_28, IDX_MESSAGE_29, IDX_MESSAGE_3, IDX_MESSAGE_30, IDX_MESSAGE_31, IDX_MESSAGE_32, IDX_MESSAGE_33, IDX_MESSAGE_34, IDX_MESSAGE_35, IDX_MESSAGE_36, IDX_MESSAGE_37, IDX_MESSAGE_38, IDX_MESSAGE_39, IDX_MESSAGE_4, IDX_MESSAGE_40, IDX_MESSAGE_41, IDX_MESSAGE_42, IDX_MESSAGE_43, IDX_MESSAGE_44, IDX_MESSAGE_45, IDX_MESSAGE_46, IDX_MESSAGE_47, IDX_MESSAGE_48, IDX_MESSAGE_49, IDX_MESSAGE_5, IDX_MESSAGE_50, IDX_MESSAGE_51, IDX_MESSAGE_52, IDX_MESSAGE_53, IDX_MESSAGE_54, IDX_MESSAGE_56, IDX_MESSAGE_57, IDX_MESSAGE_58, IDX_MESSAGE_59, IDX_MESSAGE_6, IDX_MESSAGE_60, IDX_MESSAGE_61, IDX_MESSAGE_62, IDX_MESSAGE_63, IDX_MESSAGE_64, IDX_MESSAGE_65, IDX_MESSAGE_66, IDX_MESSAGE_67, IDX_MESSAGE_68, IDX_MESSAGE_69, IDX_MESSAGE_7, IDX_MESSAGE_70, IDX_MESSAGE_71, IDX_MESSAGE_72, IDX_MESSAGE_73, IDX_MESSAGE_74, IDX_MESSAGE_75, IDX_MESSAGE_76, IDX_MESSAGE_77, IDX_MESSAGE_78, IDX_MESSAGE_79, IDX_MESSAGE_8, IDX_MESSAGE_80, IDX_MESSAGE_81, IDX_MESSAGE_83, IDX_MESSAGE_84, IDX_MESSAGE_85, IDX_MESSAGE_86, IDX_MESSAGE_87, IDX_MESSAGE_88, IDX_MESSAGE_89, IDX_MESSAGE_9, IDX_MESSAGE_90, IDX_MESSAGE_91, IDX_MESSAGE_92, IDX_MESSAGE_93, IDX_MESSAGE_94, IDX_MESSAGE_95, IDX_MESSAGE_96, IDX_MESSAGE_97, IDX_MESSAGE_98, IDX_MESSAGE_99, renderer_silent, and X_message.

Referenced by AllocateRamBuffers(), buildBST(), ClipObject(), ExternalImageProcess(), FastAntiAliasRenderMultiThreaded(), GetCommand(), GetRenderRelativeHandle(), LoadMorphObject(), MakeVertexNormals(), Mirror_In_Ground(), OneExternalFrame(), R_LoadObject(), render(), RenderHide(), RenderMultiThreaded(), ScreenTo32bitFile(), SetLightShadow(), and ShadowFillLine().

WHERE int X__local_print ( const char *  ,
  ... 
)

Definition at line 885 of file ALLOCMEM.C.

References renderer_silent, and WindowedRenderString().

WHERE void setup_render_discarded_list ( void   ) 

Definition at line 266 of file ALLOCMEM.C.

Referenced by render().

WHERE void free_render_discarded_list ( void   ) 

Definition at line 274 of file ALLOCMEM.C.

References X__Free.

Referenced by render().

WHERE FILE* GetRenderRelativeFile ( char *  fn,
char *  objectfilename,
char *  newname 
)

Definition at line 339 of file ALLOCMEM.C.

References GetRenderRelativeHandle().

WHERE HANDLE GetRenderRelativeHandle ( char *  fn,
char *  objectfilename,
char *  newname 
)

WHERE int R_intersect_face ( vector  p,
vector  d,
vector  p0,
vector  p1,
vector  p2,
vector  n,
double *  depth,
double  tollerance 
)

WHERE void PointInShadow ( vector  p,
long  id,
double *  intensity 
)

Definition at line 558 of file REFLECT.C.

References double, Lights, max, min, R_m4by1(), SBS, Renderer_LIGHT_tag::shadow_buffer, shadow_density, x, y, and z.

Referenced by GetGroundLight(), and GetPixelLighting().

WHERE void Add_Ground_Mirror ( long  ,
long  ,
vector  ,
unsigned char *  ,
unsigned char *  ,
unsigned char *   
)

WHERE void FreeNurbs ( long  ,
nurbs  
)

Definition at line 75 of file UTILS.C.

References ReleaseNurbs, and X__Free.

WHERE BOOL AllocNurbs ( nurbs ,
double *  ,
double *   
)

WHERE BOOL MeshNurbsSurfaces ( long   ) 

Definition at line 231 of file NURBS.C.

References FALSE, Animator_NurbsProperties_Tag::hidden, Object, and Animator_NURBS_tag::properties.

Referenced by R_LoadObject().

void AddToRenderImagePreview ( long  index,
long  xmax,
long  ymax,
fullscreenbuffer f,
unsigned char *  R,
unsigned char *  G,
unsigned char *  B 
)

Definition at line 1516 of file WINMAIN.C.

References FALSE.

Referenced by AntiAliasLine(), and render().

int render ( int  argc,
char **  argv 
)

Renders the animation.

This is "THE" rendering function it setup the requried local storage and local parameters. It reads the script file, loads the Actors, performs transformations and renders each frame in the animation. Called from WinMain(). The arguments are a list of text strings that carry the renderer's dialog settings.

Parameters:
argc Number of text strings
argv List of text strings holding renderer's options and settings
Returns:
TRUE or FALSE

Definition at line 58 of file RENDER.C.

References aaXstep, aaYstep, AddToRenderImagePreview(), alfachannelON, alfagroundON, AllocateRamBuffers(), ambient_light, anti_alias, anti_alias_edges, AVI_FILE, B24_FILE, BITS24, BITS8, bKeepObjectsInRAM, bRenderOpenGL, CF, ClipXmax, ClipXmin, ClipYmax, ClipYmin, ClipZmax, ClipZmin, colorstats0, colour0_flag, ColourResolution, CopyGLtoFSB(), CopyGLtoZbuffer(), double, DummyShadow, End_of_animation, ExternalImageProcess(), FAIL, FALSE, FirstObject, flashing, Free_Lights_Shadows(), Free_Mirror_On_Ground(), free_render_discarded_list(), FreeAllObjects(), freeBST(), FreeFrameObjects(), FreeRamBuffers(), FreeTextureHashTable(), fszBuffer, full_mirror, FullScreenBuffer, GetCommand(), glass_shadow_density, HIGH, hWndOpenGL, ImageProcesses, init_spec(), init_structures(), InitialiseNoise(), instant_callback, J24_FILE, jpeg_quality, JPS_FILE, L, Lights, LOW, mblurON, MEDIUM, MotionBlurBuffer, MotionBlurFrame(), nCOLOUR, nImageProcesses, Nlights, NO, NONE, Nparticles, nScriptframes, Nshader, Nsky, ntsc_colours, NUL_FILE, Object, ObjectCount, ObjectIdBuffer, objectIDbufferON, OneExternalFrame(), OUTPUT_FILE_TYPE, ParticleS, PI, PNG_FILE, R_Nground, R_terminator(), ReleaseImageStore(), remove_hidden_faces, Render_Message(), RenderCurrentFrame, renderer_silent, RenderGL(), RenderHide(), RenderParticles(), ResolutionX, ResolutionY, ScreenTo32bitFile(), SetPerspectiveView(), setup_render_discarded_list(), Shader, shadow_buffer_size, shadow_density, smoothing_angle, StereoRenderingON, TIF_FILE, trace_depth, trace_face_count_target, trace_partition, trace_reflections, trace_refractions, trace_shadows, trace_voxel_min_size, TRUE, tzeros, ULTRA, UNIT, UpdateGlassScanBuffers(), UpdateNoGlassScanBuffers(), UpdateNTFrame(), UpdateScanBuffers, version, VGA_screen, wave_phase, WindowedRenderInfo(), WindowedRenderMessage(), WRM_COMPLETE, X__Free, X__local_print(), X__Malloc, X_message, Xcentre, XMAX, XMIN, Ycentre, YES, YMAX, and YMIN.

Referenced by RendererMainWndProc().

void RenderMultiThreaded ( void *  arg  ) 

Renders a set of scanlines within a single thread.

This is one of the core rendering functions it performs the rendering of a set of scanlines when the Multithreaded algorithm is being used. Called from Render() (which is the main function rendering a frame in the scene!)

Parameters:
arg A pointer to a structure that defines which scanlines are to be rendered in this thread.
Returns:
VOID

Definition at line 933 of file RENDER.C.

References aaYstep, Active(), THD_tag::Alfa, alfachannelON, AllocateThreadStorage(), anti_alias, AntiAliasLine(), THD_tag::Blue, double, FAIL, FillAlfaLine(), FreeThreadStorage(), fszBuffer, THD_tag::Green, HIGH, THD_tag::L_Alfa, THD_tag::L_Blue, THD_tag::L_Green, THD_tag::L_Red, THD_tag::LL_Alfa, THD_tag::LL_Blue, THD_tag::LL_Green, THD_tag::LL_Red, MEDIUM, Object, ObjectIdBuffer, PutBackIntersection(), THD_tag::Red, Render_Message(), renderer_silent, scaley, ScanlineToZbuffer(), ScanlineToZobject(), ShadedScanline(), TRUE, ULTRA, UpdateNTTrace(), UpdateScanBuffers, THD_tag::Xbuffer, XMAX, THD_tag::Xobject, Ycentre, YES, YMAX, THD_tag::Zbuffer, THD_tag::Zdepth, THD_tag::Zglass, THD_tag::Zglassd, THD_tag::ZglassO, THD_tag::Zground, THD_tag::Zobject, and THD_tag::Zposn.

Referenced by RenderHide().

void FastAntiAliasRenderMultiThreaded ( void *  arg  ) 

Renders a set of scanlines within in a single thread.

This is one of the core rendering functions it performs the rendering of a set of scanlines when the fast AntiAliasing algorithm is being used. Called from RenderHide()

Parameters:
arg A pointer to a structure that defines which scanlines are to be rendered in this thread.
Returns:
VOID

Definition at line 1021 of file RENDER.C.

References aaYstep, Active(), THD_tag::Alfa, alfachannelON, AllocateThreadStorage(), anti_alias, AntiAliasLine(), THD_tag::Blue, double, FAIL, FastAntiAliasShadedScanline(), FillAlfaLine(), FreeThreadStorage(), fszBuffer, THD_tag::Green, HIGH, THD_tag::L_Alfa, THD_tag::L_Blue, THD_tag::L_Green, THD_tag::L_Red, THD_tag::LL_Alfa, THD_tag::LL_Blue, THD_tag::LL_Green, THD_tag::LL_Red, MEDIUM, Object, ObjectIdBuffer, PutBackIntersection(), THD_tag::Red, Render_Message(), renderer_silent, scaley, ScanlineToZbuffer(), ScanlineToZobject(), TRUE, ULTRA, UpdateNTTrace(), UpdateScanBuffers, THD_tag::Xbuffer, XMAX, THD_tag::Xobject, Ycentre, YES, YMAX, THD_tag::Zbuffer, THD_tag::Zdepth, THD_tag::Zglass, THD_tag::Zglassd, THD_tag::ZglassO, THD_tag::Zground, THD_tag::Zobject, and THD_tag::Zposn.

Referenced by RenderHide().


Variable Documentation

WHERE void( * UpdateScanBuffers)(double, double, long, long, face *, double, long *[], long *[], double *[], long *, long *, double *, double *)

WHERE int(* X_message)(const char *,...)

Referenced by render(), and Render_Message().


Generated on Sun Apr 27 14:20:19 2014 for OpenFX by  doxygen 1.5.6