Animation enhancement scripts.
In the way of unity of mass and weight, because of time, wormholes exists.
It exists 3 wormholes minimum between mass of satellites and mass of comets in order so of curves, oscillations exists in electricity.
Relatively, it exists inverse electricity due to bigbang ans so mass of electricity. So energy is a wormhole between mass and electricity, elsewhere "phi.G".
In the form of square, phi.G(t²©
# Animation Scripts:
Some variables and functions are present and usefull to enhance your animations throught
the global keyframmer and program some texts or add bones and morph objects integration
to animation.
# VARIABLES DEFINITION, BASIC KEYBOARD ACCESS, MOUSE
KEY_START,KEY_END,KEY_MID,LEFT,RIGHT,UP,DOWN,SPACE,RETURN,INSERT,BACK,HOME,DELETE,END,PAGEUP,PAGEDOWN,TAB
WHEEL,ON,OFF,KEY,SPEED,NBFRAMES
Parameters:
DRAWENV,CAMERA,SHOWINFOS,SHOWGRID,EXECUTESCRIPT,SINGLE,LIGHTS,OBJINFOS
Time elapsed during actual frame:
TIME_DT
Index of basic textures
TEXTURE_WHITE,TEXTURE_LIGHT
NOISE
Windowing:
LIST,CHECK,SLIDER,BUTTON,SET,SETNAME,LENGTH,GETSTATE,SETTEXT,GETINT,SETINT,GETCHECK,SETCHECK,SETSLIDER
GETSLIDER,FILL,FILLDIR,FILLFILES,FILLTEXT,SELECTED,POSITION,DRAW,TEXTURE,EDIT,FREE,GETTEXT
Shader Parameters:
TEXTURE_NT ,TEXTURE_NT2,TEXTURE_NL,TEXTURE_NLV,TEXTURE_BUMP,TEXTURE_0,TEXTURE_1,TEXTURE_2,TEXTURE_3
Secondary and Primary surfaces
PRIMARY
SECONDARY1 128x128
SECONDARY2 512x512
SECONDARY3 1024x1024
SECONDARY4 1024x1024
SECONDARY5 1024x1024
SECONDARY6 1024x1024
SECONDARY7 4096x4096 to 6144x6144
SECONDARY8 512x512
SECONDARY9 Hi-definition shadow map for exterior shadowing
SECONDARY10 Hi-definition shadow map
SECONDARY11 Hi-definition shadow map
SECONDARY12 Hi-definition shadow map
SECONDARY13 Hi-definition shadow map
SECONDARY14 Med-definition shadow map
SECONDARY15 Med-definition shadow map
SECONDARY16 Med-definition shadow map
SECONDARY17 Med-definition shadow map
Desktop:
SECONDARY18 Low-definition shadow map
SECONDARY19 Low-definition shadow map
SECONDARY20 Low-definition shadow map
SECONDARY21 Low-definition shadow map
Zbuffer, stencil et alphatest
WRITEOFF,LESS,GREATER,ALWAYS,LESSEQUAL,GREATEREQUAL,EQUAL,NOTEQUAL,NEVER
ENABLE,DISABLE
EQUAL_ONE,ALWAYS,NOT_ONE,NOT_ZERO,NOT_ZERO_REPLACE,LESSEQUAL_ONE,GREATEREQUAL_ONE,EQUAL_ZERO,EQUAL_ZERO_REPLACE,
INCREMENT,INCREMENTSAT,SET_ONE,SET_ZERO,DECREMENT,DECREMENTSAT
RENDER,STENCIL,BOTH,BOT_WRITE_Z
Variables for collision detection
TEST_UP,TEST_DOWN(floats)
Added Atributes on Scripts
"DRAW LAST" : draws after all others
"DRAW AFTER" : draws after all others
"NO COLLIDE" : no collision precalculation (huge meshes)
"NO LOD DRAW" : do not draw LOD
"DRAW FIRST" : draws first
"DRAW BEFORE" : draws first
"DRAW FLAT" : draws single textured (photoscans)
"ONLY SHADOW" : draws only shadows (environment)
"DRAW FLAT AFTER" : draws at last single textured (dirtyness)
# Parameters
int resetTIMEDT()
Reset time interpolation variable
int setAlphaTest(int param)
Basic settings for alpha transparency: ENABLE,DISABLE
int setZBuffer(int param)
ZBuffer settings: ON,OFF,WRITEOFF,LESS,GREATER,ALWAYS,LESSEQUAL,GREATEREQUAL,EQUAL,NOTEQUAL,NEVER
int setZBias(int zbias)
ZBias settings
int setTexture(int stage,int nt)
Set texture stage
int setTextureOff()
Set texture stages off
int setAlphaBlending(int param)
BLEND_ON,BLEND_OFF,BLEND_ADD,BLEND_HIGH,BLEND_COLOR
int setMachineState(int onoff)
ON,OFF : affect renderstate for quads
int forceTreeStencilShadows(int onoff)
ON : implies full mesh triangularisation on stencil shadowing known problems OFF : works for all non opened meshes
int flush()
renders linked quads
int setRender(int param)
RENDER,STENCIL,BOTH,BOT_WRITE_Z
int setStencil(int param)
Stencil buffer usage: INCREMENT,INCREMENTSAT,SET_ONE,SET_ZERO,DECREMENT,DECREMENTSAT
int clearZBuffer()
Clear zbuffer
int clearStencil()
Clear stencil buffer
int clearRender()
Clear actual render surface
int clearRenderRGBA(float r,floar g,float b,float a)
Clear actual render surface with color
int both()
Activate render with stencil test
int render()
Activate rendering to render surface
float near()
Return near value of depth buffer
float far()
Return far value of depth buffer
int setFrontBackValues(float front,float back)
Set values for depth buffer
int waitMS(int ms)
Wait ms microseconds
# Basic Camera Stuff
int resetCameraTargetVIEW()
Reload View Matrix from settings
int setOwnView(vector camera,vector target,float roll)
Position of the camera and target
int setCamera(float x,float y,float z)
Position of the camera
int setTarget(float x,float y,float z)
Position of the target
int retrieveCameraTarget()
Base engine camera position
int isReflection()
get if processing reflection (clone shaders)
int setMatrixWorldId()
world id
# Music, Stroboscopes, and Gold Synchro
int goldSynchroParams(int val1,int val2)
Default set: 10, 40
int goldSynchro()
Prepare for chords and beat
int goldSynchroCord1()
Return 1 if synchro
int goldSynchroCord2()
Return 1 if synchro
int goldSynchroCord3()
Return 1 if synchro
int goldSynchroCord4()
Return 1 if synchro
int goldSynchroCord5()
Return 1 if synchro
int goldSynchroBeat()
Return 1 if synchro
float goldSynchroOsc()
Return 1 if synchro
int goldSynchroBeatTime()
Return 1 if synchro
int getTrackPattern()
Return the pattern position
int getTrackRow()
Return the row position
# PreShader Scripts
int resetPreShader()
reset functions to be called before light rendering
int resetAfterShader()
reset functions to be called after light rendering
int getPreShaderLightIndex()
-666:exterior n:light
int getPreShaderShadowing()
0..1
int getPreShaderLightType()
EXTERIOR:0 OMNI:1 OMNIDYNAMIC:2 SPOTDYNAMIC:3 SPOTMAPDYNAMIC:4
int getPreShaderDetails()
int setPreShaderLighting(char *sfn)
function to be called before light rendering
int setPreShaderDynamic(char *sfn)
function to be called before light rendering
int setPreShaderExterior(char *sfn)
function to be called before light rendering
int setAfterShaderLighting(char *_sfn)
function to be called after light rendering
int setAfterShaderDynamic(char *_sfn)
function to be called after light rendering
int setAfterShaderExterior(char *_sfn)
function to be called after light rendering
# Probes and Secondary Textures
int getDataSecondary(int ns,char * buffer)
SECONDARY[1..24],(char*)
int initProbe(int basesize)
probe to size of the secondary used
int freeProbe()
free data
int setDataSecondaryToProbe(int ns,int x,int y,int flipx,int flipy)
SECONDARY[1..24],x=0..2,y=0..3,0..1,0..1
int createEnvMapFromProbe(int size,char * buffer)
buffer dim,(char*)
int createEnvMapFromProbeFlip(int size,char * buffer)
buffer dim,(char*)
int modifyTextureWithProbe(int nt,vector p)
environment probe
int createTextureWithProbe(vector p)
environment probe, returns texture index
int modifyTextureWithReflection(int nt,vector p,vector N)
environment reflect
int createTextureWithReflection(vector p,vector N)
environment reflect, returns texture index
int modifyTextureWithProbeOwner(int nt,vector p,char * sfn)
environment probe
int createTextureWithProbeOwner(vector p,char * sfn)
environment probe, returns texture index
int modifyTextureWithReflectionOwner(int nt,vector p,vector N,char * sfn)
environment reflect
int createTextureWithReflectionOwner(vector p,vector N,char * sfn)
environment reflect, returns texture index
int realtimeSecondaryProbe(int surfto,int surf,vector pos)
environment probe
int realtimeSecondaryProbeOwner(int surfto,int surf,vector pos,char * fn)
environment probe
int realtimeSecondaryTetraProbe(int surfto,int surf,vector pos)
environment probe (X4)
int realtimeSecondaryTetraProbeOwner(int surfto,int surf,vector pos,char * sfn)
environment probe (X4)
float setViewWithProbe(vector pos,char * orientation,matrix mv,vector cam,vector targ,int set)
environment probe settings
int restoreViewForRendering()
in order to render a cube map
int setViewForRendering(vector cam,vector targ,float roll)
in order to render a cube map
int setMatrixViewForRendering(matrix m)
in order to render a cube map
# Special Effects
int setReflectionEffectDetails(int param)
0: Stencil +-1:Mapping High +-2:Mapping Low, Negative value for owner drawn
int setReflectionParameterAll(int wo,int nb,float step)
set parameters to mapping reflections
int setReflectionParameter(int wo,int p,int nb,float step)
set parameters to mapping reflection (lessequal 6 planes)
int setWaterEffect(int onoff)
ON/OFF
int setWaterEffectDetails(int level)
High:1 Low:0
int setWaterEffectAspect(float scx,float scy)
Scale X,Scale Y
int setWaterEffectLevel(float s)
Between objects may be false drawn.
int setWaterEffectWave(float x,float y)
Wave params
int setWaterEffectMove(float x,float y)
Water move
int setWaterEffectReset()
Water default
int setWaterEffectScaling(int onoff)
Water force scaling (render to texture)
int setDayLightSpot(int onoff)
ON/OFF
int setDayLightScale(float scale)
Default is 1.0
int SetFrame()
Set Frame Matrices and Tags
# Noise texture
int randomTexture1(int x,int y)
Get R random number[0..255] of noise texture based on prime numbers (41,19)
int randomTexture2(int x,int y)
Get G random number[0..255] of noise texture based on prime numbers (41,19)
int randomShake(int N)
Shake random values
int randomRAZ()
reset of random -fake- seed
int randomReset()
Reset random values as start
int randomTextureUpdate()
Update random texture ("NOISE")
# BUFFER DATA 3D
int bufferStoreObjectAdded(int add,char *svar)
Store object to buffer
int bufferReadObjectAdded(char *svar,int ofs,int len)
Read object from buffer
int bufferReadObjectAddedNum(int wo,char *svar,int ofs,int len)
Read object from buffer
int bufferStoreObjectWorld(int add,char *svar)
Store object to buffer
int bufferReadObjectWorld(char *svar,int ofs,int len)
Read object from buffer
int bufferReadObjectWorldNum(int wo,char *svar,int ofs,int len)
Read object from buffer
int bufferGetInt(char *svar,int ofs)
Read int from buffer
float bufferGetFloat(char *svar,int ofs)
Read float from buffer
int bufferSetInt(char *svar,int ofs,int value)
Write int to buffer
float bufferSetFloat(char *svar,int ofs,float value)
Write float to buffer
int bufferSetObjectTextureOffset(int ofs)
Set texture offset when reading object from buffer
int bufferSetCharPtr(int ndx,char *svar)
Array of 1024 char*
int bufferGetCharPtr(int ndx,char *svar)
Array of 1024 char*
# WEB SERVER
int webRegisterCreate(char * username,char * str,int sizeline)
Join http://deaddeer.free.fr/ small php server, register CREATE
int webRegisterJoin(char * username,char * str,int sizeline)
Join http://deaddeer.free.fr/ small php server, register JOIN
int webUnregister(char * username,char * str,int sizeline)
Join http://deaddeer.free.fr/ small php server, unregister
int webUpdateInfo(char * str,int sizeline)
Update informations http://deaddeer.free.fr/ small php server
int webRequest(char * server,char * php,char * query,char * skey,char * str,int sizeline)
Join located php server, and retrieve informations strings
int webRequestBasic(char * server,char * msg,char * skey,char * str,int sizeline)
Join located server, and retrieve informations strings from direct command
int webPublicIP(char * namevar)
Get IP from http://deaddeer.free.fr/ small php server
int downloadWEBFile(char *website,char *filename,char *svar)
website="deaddeer.free.fr", filename="image.jpg", to char * reference svar
# NETWORK
int netname(char * name)
tcp/ip internal procedure
int netprotocol(int proto)
0: CLIENT-DSERVER-CLIENT 1: CLIENT-CLIENT
int netnb()
Return the number of connections
int netIP(char * ipstr)
set ipstr with ip string
int netok()
returns 1 if all connections are ok
int netserver()
Initialise server
int netconnect(char *name)
Initialise client with name IP
int netclose()
Free ressources
int netrecv(char *name,char *var)
Transfert of named packet to variables
int netsend(char *name,char *var,int nb)
Transfert named packet to variables; array length can be specified
int netsendto(int num,char *name,char *var,int nb)
Transfert named packet to variables; array length can be specified
int netrecvStr(char *_name,char *_var_name)
Transfert of named packet to variables
int netsendStr(char *_name,char *_var_name,int nb)
Transfert of named packet of data char sized
int netsendtoStr(int num,char *_name,char *_var_name,int nb)
Transfert of named packet of data char sized
int netwait()
Wait
int netsynchro()
Synchronisation with frame rate
int netcheck()
check net sub routine 0..n logout 555 newserver 666:migration
int netipstr(int n,char *str)
retrieve mate ips
int netbroadcast()
poll LAN with broadcast
int netbroadcastclient()
initialize LAN broadcast finder
int netbroadcastend()
close
int netbroadcastclientend()
close
int netbroadcastget(char * ip)
get broadcast LAN ip
int netbroadcastgetlist(char * strlist)
get broadcast LAN ips, return nb
# INTERACTIONS AND COLLISIONS FUNCTIONS
void setTagWorld(int n,int tag)
Tad world object n to tag
void setTagAdded(int n,int tag)
Tad added object n to tag
void setTagWorldVisible(int tag)
Tad world object visible to tag
void setTagAddedVisible(int tag)
Tad added object visible to tag
void setTagWorldOcclusionNonVisible(int tag)
Tad world object visible and occlusion to tag
void setTagAddedOcclusionNonVisible(int tag)
Tad added object visible and occlusion to tag
void testOcclusionWorld(int n)
Test world object occlusion
void testOcclusionAdded(int n)
Test added object occlusion
void testOcclusion(vector v,float R)
Test occlusion from position v of radius R
int getEulersMatrix(matrix m,vector eulers)
convert matrix to eulers in degrees
int getMatrixBaseVectors(vector ux,vector uz,matrix m)
calculate from base (ux,uz)
int getMatrixBaseVectorsOrigin(vector o,vector ux,vector uz,matrix m)
calculate from base (o,ux,uz)
int getEulersBaseVectors(vector ux,vector uz,vector e)
calculate eulers from base (ux,uz)
int worldCloser(vector v)
Return world closer from VECTOR v
int addedCloser(vector v)
Return added closer from VECTOR v
float distanceToAdded(int add,vector v)
Return distance to added "add"
float angleRotateY(vector v,float angle)
Return new angle from a direction and previous angle
float angleRotateYInterpole(vector v,float angle,float t)
Return new angle from a direction and previous angle
float angleRotateSetY(vector v)
Return new angle from a direction and previous angle
int addedTAGCloserFind(int start,int prev)
Seek for "TAG" added object from start object and eviction of prev
int addedTAGCloserFind2(int start,int prev,int prev2)
Seek for "TAG" added object from start object and eviction of prev and prev2
int addedTAGCloser(vector v)
Seek for "TAG" added closer from v
int nonVisibleAddedCloserFind(int start,int prev)
Seek for non visible added object from start object and eviction of prev
int nonVisibleAddedCloser(vector v)
Seek for non visible added closer from v
int tagWorldCloser(vector v)
World object closer from v
int tagAddedCloser(vector v)
Added object closer from v
int tagWorldName(char * s,int tag)
Tag world object s to tag
int tagAddedName(char * s,int tag)
Tag added object s to tag
int getTagWorld(int wo)
Get tag world
int getTagAdded(int add)
Get tag added
float calcWorld3DQuad(int wo,float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)
hit point from base to dir, with params to Quad(A,B,C,D)
float calcAdded3DQuad(int wo,float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)
hit point from base to dir, with params to Quad(A,B,C,D)
float calcAllWorld3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)
hit point from base to dir, with params to Quad(A,B,C,D)
float calcAllAdded3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)
hit point from base to dir, with params to Quad(A,B,C,D)
float calcTaggedWorld3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)
hit point from base to dir, with params to Quad(A,B,C,D)
float calcTaggedAdded3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)
hit point from base to dir, with params to Quad(A,B,C,D)
int point3DQuadPoint(vector res)
hit point values after previous "calc"
int point3DQuadNorm(vector res)
hit point values after previous "calc"
int point3DQuadTangent(vector res)
hit point values after previous "calc"
int point3DQuadCotangent(vector res)
hit point values after previous "calc"
int collideWorld(int n,vector v,vector dir)
Collision intersection with world objects
int collideAdded(int n,vector v,vector dir)
Collision intersection with added objects
int collideAddedUp(int n,vector v,vector dir)
Collision intersection with added objects (higher point)
int collideTagged(vector v,vector dir)
Collision intersection with all tagged objects
int collideClone(int clone,vector v,vector dir)
Collision intersection with clone
int collideBounds(vector v,vector dir,vector mini,vector maxi)
Collision intersection with bounds
int heightWorlds(vector v)
Test ground on world objects
int setQuarterRaw(int raw,float y0,float y1,float y2,float y3)
Quarter params
int vertexQuarter(vector pos,vector dec,vector mini,vector maxi,vector bound)
Quarter calc modifying "pos"
int collideAddedQuarter(int add,vector O,vector dir,vector dec,vector mini,vector maxi,vector bound,vector coo,vector rot)
Quarter Collision intersection with added objects
int collideAddedQuarterStage(int add,vector O,vector dir,vector dec,vector mini,vector maxi,vector bound,vector coo,vector rot)
Quarter Collision intersection with added objects
int collideAddedQuarterWallStage(int add,vector O,vector dir,vector dec,vector mini,vector maxi,vector bound,vector coo,vector rot)
Quarter Collision intersection with added objects
int collideAddedStage(int add,vector O,vector dir,vector coo,vector rot)
Collision intersection with objects
int collideAddedWallStage(int add,vector O,vector dir,vector coo,vector rot)
Collision intersection with objects
int collideWorldStage(int wo,vector O,vector dir,vector coo,vector rot)
Collision intersection with objects
int collideWorldWallStage(int wo,vector O,vector dir,vector coo,vector rot)
Collision intersection with objects
int collideVoxel(vector v,vector dir)
Collision intersection with the actual voxel object
int isInABox(int wo,vector rot,vector pos,vector mini,vector maxi,float pc)
pc percent of the object inside bounds
int baseFromNormal(vector N,vector T,vector B)
normal base
int calcImpact(vector p,vector dir,vector imp,vector T,vector B)
impact on walls
int intersection(vector p,vector d,vector i)
intersection from p in direction of d return 1 and i
int intersectionAdditionnals(vector p,vector d,vector i)
intersection of additionnals from p in direction of d return 1 and i
int intersectionWO(int wo,vector p,vector d,vector i)
intersection from word object wo p in direction of d return 1 and i
int intersectionWOADD(int woadd,vector p,vector d,vector i)
intersection from added object woadd p in direction of d return 1 and i
int pointI(vector v)
Intersection point
int normalI(vector v)
Intersection normal
int faceI()
Face intersection
int addedI()
Return added object index
int worldI()
Return world object index
int resultI(vector v)
Intersection positon
int setTexturesTest(int nt,int on)
Eviction of nt texture faces in intersection test
int ballWorld(int n,float x,float y,float z,float r)
Collision ball to world object n
int ballAdded(int n,float x,float y,float z,float r)
Collision ball with added object n
int ballTaggedWorld(float x,float y,float z,float r)
Collision ball with world objects tagged
int ballTaggedAdded(float x,float y,float z,float r)
Collision ball with added objects tagged
int minimalCollide(float r)
collision minimal distance
int nbWO()
Return number of world objects
int nbWOADD()
Return number of added objects
int reflexion(vector v)
Reflexion from intersection point
int nameWorld(int n,char *s)
Retrieve name of world object
int nameAdded(int n,char *s)
Retrieve name of added object
int resetTagWorld()
Initialise to zero
int resetTagAdded()
Initialise to zero
int calculateAll()
Transformations processing
int setDT(float dt)
Initialise ANIMDT
int getDT()
Get ANIMDT
int setFov(float fov)
Focus in degrees
int setFovBase(float fov)
Focus in degrees without rendertotexture scale
int setDistanceToScreen(float dist)
Focus in pixel
float getDistanceToScreen()
Focus in pixel
int setNearFar(float near,float far)
Far/Near planes
int renderOffScreenScaleParticles(int onoff)
int renderScaleParticles(float scale)
int renderSettings()
# REFLECTIONS SETUP
int setupDrawReflectionsDynamicLights(int onoff)
Toggle reflection props, default:ON
int setupDrawReflectionsSecondaries(int onoff)
Toggle reflection props, default:OFF
int setupDrawReflectionsClones(int onoff)
Toggle reflection props, default:OFF
# SECONDARY SURFACES SETUP
int getSecondarySurfaceWidth(int nt)
Width value of SECONDARY1 to SECONDARY24
int getSecondarySurfaceHeight(int nt)
Height value of SECONDARY1 to SECONDARY24
int setupSecondarySurface(int nt,int w,int h)
Setup (W,H) for SECONDARY1 to SECONDARY24
int restoreSecondarySurface()
Restore to default
# BASIC DRAW FUNCTIONS
int rand(int range)
Random(modulo)
int floatrand()
Random[0.0 ... 1.0]
int getRealRandom(int range)
Random from C++(with random seed)
int setParam(int n,int state)
Rendering parameters
int loadEnvironment(char *fname)
Change env.jp2
int restoreEnvironment(char *fname)
Restore base environment
int getLoop()
In loop animation cycle
int mod(int n,int m)
Modulo
int line3d(vector a,vector b,float r,float g,float b)
3d line
int drawTriangle(float x0,float y0,float x1,float y1,float x2,float y2,float u0,float v0,float u1,float v1,float u2,float v2,float r,float g,float b,float a)
Coloured textured triangle rendering
int draw3DQuad(vector A,vector B,vector C,vector D,float r,float g,float b,float a)
Textured quad rendering
int drawLineStrength(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)
big line
int drawLineStrengthTwo(float x1,float y1,float x2,float y2,float R,float R2,float r,float g,float b,float a)
big line scaled
int drawLineStrengthTexture(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)
lined quad
int drawLineStrengthTextureCW(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)
lined quad
int drawLineStrengthTextureR(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)
lined quad
int drawLineStrengthTextureRCW(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)
lined quad
int setColorQuad(float r,float g,float b)
color for quads
int setColorQuadRGBA(float r,float g,float b,float a)
color for quads
int quad(int nt,int x,int y,int w,int h,float ax,float ay,float bx,float by)
Quad texture rendering
int quadNA(int nt,int x,int y,int w,int h,float ax,float ay,float bx,float by)
Quad texture rendering
int quadBlend(int nt,int x,int y,int w,int h,float ax,float ay,float bx,float by)
Quad texture rendering
int quadBlendColor(int nt,int x,int y,int w,int h,float r,float g,float b,float a)
Quad texture rendering
int quadZ(int nt,int x,int y,float z,float rhw,int w,int h,float ax,float ay,float bx,float by)
Quad texture rendering
int quadBlendZ(int nt,int x,int y,float z,float rhw,int w,int h,float ax,float ay,float bx,float by)
Quad texture rendering
int quadBlendColorZ(int nt,int x,int y,float z,float rhw,int w,int h,float r,float g,float b,float a)
Quad texture rendering
int quadRotBlendColorZ(int nt,int x,int y,float z,float rhw,int w,int h,float ang,float r,float g,float b,float a)
Quad texture in rotation of ang
int quadRotBlendColor(int nt,int x,int y,int w,int h,float ang,float r,float g,float b,float a)
Quad texture in rotation of ang
int quadRotBlendColorMZ(int nt,int x,int y,float z,float rhw,int w,int h,float ang,float u1,float v1,float u2,float v2,float r,float g,float b,float a)
Quad texture in rotation of ang
int quadRotBlendColorM(int nt,int x,int y,int w,int h,float ang,float u1,float v1,float u2,float v2,float r,float g,float b,float a)
Quad texture in rotation of ang
int globalFSR(int onoff,float rcas)
Overclass SECONDARY456 to PRIMARY full screen AMD FSR
int quadExposure(int nt,int x,int y,int w,int h,float prm1,float prm2)
Quad Exposure (0.5,2.0)
int quadFSRExposure(int nt,int w,int h,int srcw,int srch,float rcas,float prm1,float prm2)
Quad AMD FSR with Exposure (0.5,2.0)
int quadFSR(int nt,int w,int h,int srcw,int srch,float rcas)
Quad AMD FSR
int quadFSRDim(int nt,int w,int h,int srcw,int srch,float rcas)
Quad AMD FSR
int drawBrouillard(float z,float r,float g,float b,float a,int nt)
Quad full screen z relative
int line(float x1,float y1,float x2,float y2,float r,float g,float b)
Line rendering
int interface(int n,int value,int do,char * s)
Interface creation and play
int interface(int n,int value,int do)
Interface creation and play
# DIRECTORY FUNCTIONS
int mkdir(char *str)
C-like
int chdir(char *str)
C-like
int getdir(char *str)
C-like
# MAPPING RULING
int mappingParadize(int add)
-like
int mappingPlanar(int wo)
-like
int mappingPlanarBounds(int wo)
-like
int mappingPlanarBoundsOrtho(int wo)
-like
int mappingPlanarBoundsXYZ(int wo,vector mini,vector maxi)
-like
int mappingSpherical(int wo)
-like
int mappingCylindrical(int wo)
-like
int mappingInvert(int wo,int x,int y)
-like
int mappingRotateLeft(int wo)
-like
int mappingRotateRight(int wo)
-like
int mappingScale(int wo,float sx,float sy)
-like
# BRUSH MANIA
int brushSet(int add)
select added (add)
int brushSetForce(float f)
force
int brushSetScale(float sc)
size
float brushForce()
force
float brushScale()
size
int brushApply(vector p)
Apply at [p]
int brushApply2D(float x,float y)
Apply at [0..1,0..1]
int brushCalc2D(float x,float y)
Calc at [0..1,0..1]
int brushApplyFace(int FACE,vector p)
Apply at [p] of face FACE
int brushEnablePointer(int onoff)
show local
int brushGetPointer(vector p)
get local position
int brushGetFace()
get local face
# DYNAMIC SHADOWING AND RENDERING
int SetFrame()
processing of matrix for the scene
int setFullDrawDynamicLight(int onoff)
Dynamic lighting sorting or full drawing
int setNiterRecursDynamicLight(int N)
Dynamic lighting sorting recursive iteration interior
int resetShaders(int onoff)
reset shaders with choice of optimization -> 0 and -> 1 to skip it
int setShadowMappingPrecision(int onoff)
ON: high details OFF:low details -1:very low details
int setShadowMappingDegrade(int onoff)
ON: low shadow mapping details OFF:default
int setShadersMethod(int value)
0: Edges Stencil 1: Shadow Mapping Stencil 2: Full Shadow Mapping 3: Soft Shadow Mapping
int setShadows(int on_off)
Global shadowing ON/OFF
int setShadowsPenumbra(float len)
Default is 20.0
int setShadowsInteriorPenumbra(int nl,float coef)
Parameter of lights (default is 0.042)
int setSoftShadowsInGlow(int onoff)
Global shadowing in glow ON/OFF
int setCloneShadow(int clone,int on_off)
Clone shadowing ON/OFF
int setCloneDrawEnviro(int clone,int on)
Clone draw env ON/OFF
int setAddedShadow(int add,int on_off)
Added shadowing ON/OFF
int setWorldShadowed(int add,int on)
World shadowing ON/OFF
int setTimeMachine(int onoff)
World seeing effect ON/OFF
int setGlow(int glow,int focus)
Glow parameter
int setGlowTextureShift(int onoff)
Glow parameter
int setGlowTextureShiftReload(int onoff)
Glow parameter
int setGlowMisc(float aspect,float div)
Glow parameter (default: 0.1,48.0)
int setGlowFunction(char *function)
Glow function settings for full remade renderings
int fxDrawBubble(vector pos,float scale,vector veclight,vector amb,vector color,float alpha,int nt)
Effect bubble scale
int fxDrawBubbleXYZ(vector pos,vector scale,vector veclight,vector amb,vector color,float alpha,int nt)
Effect bubble scale all axes
int fxDrawSmoky(vector pos,vector scale,vector veclight,vector amb,vector color,float alpha,int nt)
Effect smoke
int fxDrawChocWave(vector pos,vector scale,vector rot,vector amb,vector color,float alpha,int nt)
Effect choc wave
int setPostRenderFunction(char *function)
Post rendering function settings
int setPreRenderFunction(char *function)
Pre rendering function settings
int resetDrawFunctions()
Reset rendering functions
int resetSettings()
Reset rendering settings
int renderSetReflection(vector P,vector N)
reflection matrix
int renderSetReflectionABCD(float a,float b,float c,float d)
reflection matrix
int renderResetReflection()
reflection matrix
int renderSetReflectionBuiltIn(vector P,vector N)
reflection matrix
int renderSetReflectionBuiltInABCD(float a,float b,float c,float d)
reflection matrix
int renderResetReflectionBuiltIn()
reflection matrix
int renderDrawGlow(int glow,int focus,char *function_name)
Draw glow to secondary surface
int renderDrawDayLightToScreen()
Draw direct day light flare to the scene
int renderDrawDayLightVector(vector pos)
Draw direct day light flare to the scene
int renderDrawShadowMapping(int value)
choose shadow mapping to render shadows of the scene
int renderDrawShadowMappingInterior(int value)
choose shadow mapping interior to render shadows of the scene
int renderDrawShadowMappingDynamic(int value)
choose shadow mapping dynamic to render shadows of the scene
int renderDrawCreateEdgesBuffers()
Buffers for stencil shadowing(make sure you loaded all secondary scene)
int renderDrawDeleteEdgesBuffers()
Buffers for stencil shadowing
int renderDrawInitializeShaders()
Shaders
int renderDrawChooseMethodDynamic(int toggle)
Method for Dynamic Rendering (-1 for default)
int renderDrawChooseMethodStatic(int toggle)
Method for Static Rendering (-1 for default)
int renderDrawDaylight(int toggle)
Enable/Disable day light rendering of the scene
int renderDrawLights(int toggle)
Enable/Disable lights rendering of the scene
int renderSkipDraw(int onoff)
Disable rendering of the scene
int activateFourtyProbe(int snd)
Set owner probe shadowing rendering of the scene
int renderDrawScene(int onoff)
Draw full scene
int renderDrawSceneShadows(int on,int shd)
Draw full scene
int drawExteriorReflections(int onoff)
Toggle draw exterior reflections
int drawExteriorReflectionOcclusion(float occ)
Set draw exterior reflections occlusion
int drawAdded(int n,int nlight)
Draw added
int drawAddedExt(int n,int nlight)
Draw added
int setShadowsLength(float len)
Optimisation of length of shadow volume in stencil shadows
int setSelfShadowedClones(int on)
Obsolete
int setRoll(int roll)
Camera roll
int drawRenderShadows(vector p,vector color,float att,float range,int stencil,int details,int directionnal)
rendering function of shadows
int drawRenderShadowsBuiltIn(int light,int stencil,int details)
rendering function of shadows; light in [0..N] or DAYLIGHT(-666)
int drawRenderSetMulti(int ns,char * str)
rendering function, param MULTI for bias in shadow mapping
int drawRenderSetExteriorMulti(int ns,char * name)
rendering function, param MULTI for bias in shadow mapping
int drawRenderSetLight(int ns,char * str)
rendering function, param LIGHTPOS of shader
int drawRenderSetRef(int ns,int n,char * str)
rendering function, param MATRIX for shadow mapping (1 (-1) for DAYLIGHT 4 for [0..N])
float getDaylightDistance()
Target-Distance*DAYLIGHTVECTOR
int getLightExterior(vector light)
get LIGHTPOS
int setSecondaryFourty(int NS,int quality,int scale)
basically set of 4 shadow mapping secondary surfaces
int setTextureFourty(int stage,int NS,int quality)
basically set of 4 shadow mapping secondary textures
int setTextureShadowMap(int stage,int NS)
shadow mapping textures affectation (1 for DAYLIGHT 4 for [0..N])
int setTextureReflection(int stage)
set tex reflect
# MATHS
int inverseMatrix(matrix m)
matrix function
int tranposeMatrix(matrix m)
matrix function
int inverse3x3Matrix(matrix m)
matrix function
float sup(float f,float s)
Function usefull for NURBS processing
float inf(float f,float s)
Function usefull for NURBS processing
float interval(float f,float a,float b)
Function usefull for NURBS processing
float tanh(float f)
Function usefull for NURBS processing
float sinh(float f)
Function usefull for NURBS processing
float cosh(float f)
Function usefull for NURBS processing
float tan(float f)
Function usefull for NURBS processing
float sin(float f)
Function usefull for NURBS processing
float cos(float f)
Function usefull for NURBS processing
float atan(float f)
Function usefull for NURBS processing
float asin(float f)
Function usefull for NURBS processing
float acos(float f)
Function usefull for NURBS processing
float modf(float f,float m)
Function usefull for NURBS processing
float fact(float f)
Function usefull for NURBS processing
float exp(float f)
Function usefull for NURBS processing
float log(float f)
Function usefull for NURBS processing
float abs(float f)
Function usefull for NURBS processing
float pow(float f,float e)
Function usefull for NURBS processing
float inv(float f)
Function usefull for NURBS processing
float square(float f)
Function usefull for NURBS processing
float triangular(float f)
Function usefull for NURBS processing
float Added(float x,float y,float z,int n)
From scene volum function usefull for NURBS processing
float Scene(float x,float y,float z)
From scene volum function usefull for NURBS processing
float World(float x,float y,float z,int n)
From scene volum function usefull for NURBS processing
float dirac(float f,float offset,float len)
Function usefull for NURBS processing
# KEYS
void getPositionAdded1(int nobj,vector v)
Added Position option
void getPositionAdded2(int nobj,vector v)
Added Position option
void getPositionAdded3(int nobj,vector v)
Added Position option
void getPositionAdded4(int nobj,vector v)
Added Position option
void getRotationAdded1(int nobj,vector v)
Added Rotation option
void getRotationAdded2(int nobj,vector v)
Added Rotation option
void getRotationAdded3(int nobj,vector v)
Added Rotation option
void getRotationAdded4(int nobj,vector v)
Added Rotation option
void getScalingAdded1(int nobj,vector v)
Added Scale option
void getScalingAdded2(int nobj,vector v)
Added Scale option
void getScalingAdded3(int nobj,vector v)
Added Scale option
void getScalingAdded4(int nobj,vector v)
Added Scale option
# OBJECT CREATIONS
int setObjectBank1(int add)
load object from additionnals
int setObjectBank2(int add)
load object from additionnals
int setObjectBank3(int add)
load object from additionnals
int setObjectBank4(int add)
load object from additionnals
int setObjectReplicate(int add)
load object from additionnals
int newObjectBank1()
new object from bank
int newObjectBank2()
new object from bank
int newObjectBank3()
new object from bank
int newObjectBank4()
new object from bank
int newObjectReplicate()
new object from replicate
int newObject(int nv,int nf)
New added object nv vertices nf faces
int modifyObject(int wo,int nv,int nf)
New added object with nv vertices nf faces
int selectObject(int wo)
Select added object wo
int getnbVertices()
Get number of vertices from actual object
int getnbFaces()
Get number of faces from actual object
int setStatus()
0: Empty 1: Plain 2: Exterior
int backupObject()
Backup object data
int retrieveObject()
Retrieve object data
int getVertex(int n,vector v)
Vertex n position
int getNormal(int n,vector n)
Vertex n normal
int getMap(int n,vector m)
Vertex n mapping coord.
int getNormalFace(int n,vector v)
Face n normal
int getFaceV0(int n)
Face n index 0
int getFaceV1(int n)
Face n index 1
int getFaceV2(int n)
Face n index 2
float getWeight(int nv,int i)
Vertices nv weight (i)
int getIndex(int nv,int i)
Vertices nv index (i)
int setWeight(int nv,int i,float value)
Vertices nv weight (i)
int setIndex(int nv,int i,int value)
Vertices nv index (i)
int setVertexMap(int n,float x,float y)
Vertex mapping coord.
int setVertex(int n,vector v)
Vertex position
int setFace(int n,int i0,int i1,int i2)
Face indices
int setFaceTexture(int n,int nt)
Face nT texture
int setFaceTexture2(int n,int nt)
Face nT2 texture
int getFaceTexture(int n)
Face nT texture
int getFaceTexture2(int n)
Face nT2 texture
int setFaceRef(int n,int ref)
Face transparency 0:opaque 1:alpha blended 2:add
int setFaceTag(int n,int tag)
Face tag
int prepareObject()
Set pointers
int calculateNormals()
Calculate normals
int tagCoplanar(int nf,int tag)
Face tag from nf coplanar
int tagRecurs(int nf,int tag)
Face tag from nf coplanar
int centered()
Center object
int boundingCentered()
Center (bound) object
int tesselate()
Tesselate object
int tesselateSelected(int tag)
Tesselate tag faces object
int RTPatch(int sign)
RT Patch
int newMarching(char *ptr,int w,int h,int grid,int nt,int xy)
marching squares
int updateMarching(char *ptr,int w,int h,int grid,int nt,int xy)
marching squares
int setMarchingFX(float value)
marching squares decal
int updateVertexBuffer(int wo)
Update data for rendering
int vertexBuffer(int wo)
Create data for rendering
int vertexBufferNoShadow(int wo)
Create data for rendering
int updateVertexBufferBlend(int wo)
Update data for rendering
int vertexBufferBlend(int wo)
Create data for rendering
int vertexBufferNoShadowBlend(int wo)
Create data for rendering
int setName(char *s)
Name of the bisounours
int initKeys(int nkeys)
Number of keys in morphing
int setVerticeKey(int n,int k,vector v)
Position by keys
int resetTag()
Setting tags = 0
int getTag(int n)
Get face tag
int getRef(int n)
Get face ref
int newSphere(float r,int def)
def is the parameter of generation of the object
int newCube(float x,float y,float z)
def is the parameter of generation of the object
int newGrid(float x,float y,float z,int def)
def is the parameter of generation of the object
int newTore(float r1,float r2,int def)
def is the parameter of generation of the object
int newDuplicate(int add)
duplicate (add) for the object
int inverseOrientation()
Invert normals and orientation
int setEnvMap(int onoff)
Sets the object to env mapping
int scaleAdded(int add,float sx,float sy,float sz)
scale Added (add)
int ToggleSuperRendu(int toggle)
Main drawing function
int relaxation(int N,float len)
Relaxation algorithm
int relaxationMeshMelt(int N)
Relaxation algorithm
int relaxationMesh(int N)
Relaxation algorithm
int default()
Reset object basics
int modifyNurbs(int wo,float val1,float val2,char *function)
Nurbs processing
int newNurbs(float val1,float val2,char *function)
Nurbds processing
int borneSup(float x,float y,float z)
Base bounding value
int borneInf(float x,float y,float z)
Base bounding value
# VIDEO on TEXTURES
int freeVideo(int nv)
Free ressources of .movie
int loadVideo(int nv,char *fname)
Open a .movie
int frameVideo(int nv,int ntex,int n)
Plays .movie in texture
int frameClear(int ntex)
clear texture
int frameVideoMap(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4)
Plays .movie inside a quad in texture
int frameVideoMapFloats(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4)
Plays .movie inside a quad in texture
# ANIMATED GIF
int freeGIF(int nv)
Free ressources of .gif
int loadGIF(int nv,char *fname)
Open a .gif
int frameGIF(int nv,int ntex,int n)
Plays frame(n) of .gif
int frameGIFAlpha(int nv,int ntex,int n,float alpha)
Plays frame(n) of .gif with alpha value [0..1]
int frameGIFMap(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4,int dark)
Plays .gif inside a quad in texture
int frameGIFMapFloats(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4,int dark)
Plays .gif inside a quad in texture
int frameGIFBump(int nv,int ntex,int n)
Plays frame(n) of .gif and converts 361/RGB to grayscale heightfield
int numframeGIF(int nv,float time)
Get frame from t+=TIME_DT
# BASIC VECTORS
int tangent(vector N,vector T)
Retrieve TANGENT from NORMAL
int binormal(vector N,vector B)
Retrieve BINORMAL from NORMAL
int getLocalWorld(int wo,float x1,float y1,float x2,float y2,vector G,vector N)
Local Point by Mapping
int getLocalWorldCalc(int wo,float x1,float y1,float x2,float y2,vector G,vector N)
Local Point by Mapping
int getLocalAdded(int add,float x1,float y1,float x2,float y2,vector G,vector N)
Local Point by Mapping
int getLocalAddedCalc(int add,float x1,float y1,float x2,float y2,vector G,vector N)
Local Point by Mapping
# BACKGROUND
int setBackground(int nt)
Background texture
# ENGINE
int setRenderTarget(int secondary,int scale)
Scale is to map screen form or not: PRIMARY,SECONDARY(X), with ON,OFF,SCALERENDER
int setRenderTargetNoClear(int secondary,int scale)
Scale is to map screen form or not: PRIMARY,SECONDARY(X), with ON,OFF,SCALERENDER
int setViewportRenderTarget(int x,int y,int w,int h)
Viewport bounds
int getRenderTargetFourty(int fourty,vector dir)
Tetrahedron 4 views
int getRenderTargetFourtyCenter(int fourty,vector O)
Tetrahedron 4 views center
int restoreRenderTarget()
Restore render target parameters
# OPERATIONS ON ARRAYS
int getVariableIndex(char *name)
Pointer to a variable
int getVariableGlobaleIndex(char *name)
Pointer to a variable
int setMemi(int nvar,int offset,int value,int nb)
Memory function with data pointer
int setMemf(int nvar,int offset,float value,int nb)
Memory function with data pointer
int setgMemi(int nvar,int offset,int value,int nb)
Memory function with data pointer
int setgMemf(int nvar,int offset,float value,int nb)
emory function with data pointer
int copyMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)
Memory function with data pointer
int copyMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)
Memory function with data pointer
int copygMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)
Memory function with data pointer
int copygMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)
Memory function with data pointer
# CLIPBOARD
int setClipBoard(char *var)
send string variable to clipboard
int setStringClipBoard(char *s)
send string to clipboard
int addStringClipBoard(char *s)
send string to clipboard
# MISC BONES TREES
int setupWalkBiped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)
Setup bones tree animation at [key] to [key+nbposes]
int setupWalkQuadriped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)
Setup bones tree animation at [key] to [key+nbposes]
int setupRunBiped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)
Setup bones tree animation at [key] to [key+nbposes]
int setupRunQuadriped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)
Setup bones tree animation at [key] to [key+nbposes]
int setupJumpBiped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)
Setup bones tree animation at [key] to [key+nbposes]
int getWOTreeIndexBoneByName(int wo,char *name)
wo as bone tree
int getCloneIndexBoneByName(int clone,char *name)
bone tree from clone
int getXYZPivotBonesTree(int tree,int pivot,vector p)
Vector from bones tree animation
int getEulersPivotBonesTree(int tree,int pivot,vector p)
Eulers vector from bones tree animation
int getLocalXYZPivotBonesTree(int tree,int pivot,vector p)
Vector from bones tree animation in local ref
int getLocalEulersPivotBonesTree(int tree,int pivot,vector p)
Eulers vector from bones tree animation in local ref
int getLocalXYZPivotBonesTreeClone(int clone,int pivot,vector p)
Vector from bones tree clone
int getLocalOrientationPivotBonesTreeClone(int clone,int pivot,vector p)
Vector from bones tree clone
int getLocalMatrixPivotBonesTreeClone(int clone,int pivot,matrix m)
matrix from bones tree clone
int getLocalApplyXYZPivotBonesTree(int tree,int pivot,int key1,int key2,float t,vector p)
Vector from bones tree animation in local ref
int getLocalApplyEulersPivotBonesTree(int tree,int pivot,int key1,int key2,float t,vector p)
Eulers vector from bones tree animation in local ref
int getLocalOrientationPivotBonesTree(int clone,int pivot,int key1,int key2,float t,vector p)
Orientation vector from bones tree clone animation
int getLocalMatrixPivotBonesTree(int clone,int pivot,int key1,int key2,float t,matrix m)
Orientation matrix from bones tree clone animation
int getXYZPivotBonesTreeClone(int clone,int pivot,vector p)
Vector from bones tree clone animation
int getEulersPivotBonesTreeClone(int clone,int pivot,vector p)
Eulers vector from bones tree clone animation
int getOrientationPivotBonesTreeClone(int clone,int pivot,vector p)
Orientation vector from bones tree clone animation
int getOrientationEulersPivotBonesTreeClone(int clone,int pivot,vector p)
Orientation angular vector from bones tree clone animation
int getMatrixPivotBonesTreeClone(int clone,int pivot,matrix m)
Orientation matrix from bones tree clone animation
float getDistanceToGroundBonesTree(int tree,int key1,int key2,float t)
get Y length
float getHorizontalRadiusBonesTree(int tree,int key1,int key2,float t)
get radius
int createPropBonesTree(int prop,int wo)
map single node object to bones tree wo
int createPropFullBonesTree(int prop,int wo)
map single node object to bones tree wo
int createPropBonesTreeNoNorm(int prop,int wo)
map single node object to bones tree wo
int createPropFullBonesTreeNoNorm(int prop,int wo)
map single node object to bones tree wo
int createPropPlacedBonesTree(int prop,int wo,vector coo,vector rot)
map single node object to bones tree wo at position,rotation
int createPropPlacedFullBonesTree(int prop,int wo,vector coo,vector rot)
map single node object to bones tree wo at position,rotation
int createPropPlacedBonesTreeNoNorm(int prop,int wo,vector coo,vector rot)
map single node object to bones tree wo at position,rotation
int createPropPlacedFullBonesTreeNoNorm(int prop,int wo,vector coo,vector rot)
map single node object to bones tree wo at position,rotation
int createPropNodeBonesTree(int prop,int wo,int affect)
map single node object to bones tree wo node "affect" or -1
int createPropPlacedNodeBonesTree(int prop,int wo,vector coo,vector rot,int affect)
map single node object to bones tree wo node "affect" or -1
int resetKeyBonesTree(int wo,int key)
set key to all zero
int copyKeyBonesTree(int wo,int key,int from)
copy two keys
int addKeyBonesTree(int wo,int key,int from)
add two keys
int quatsKeyBonesTree(int wo,int key)
set quaternion only
int eulersKeyBonesTree(int wo,int key)
set eulers only
int getNbNodesBonesTree(int wo)
get tree number of nodes
int setEulersKeyBonesTree(int wo,int key,int node,vector eulers)
key node eulers
int getEulersKeyBonesTree(int wo,int key,int node,vector eulers)
key node eulers
int setPivotsKeyBonesTree(int wo,int key,int node,vector trans)
key node translate
int getPivotsKeyBonesTree(int wo,int key,int node,vector trans)
key node translate
int calcPhysicBonesTree(int wo,int key,int vit,vector move,float dt)
hair physics, move: interact, 1st node fixed
int calcPhysicBaseBonesTree(int wo,int key,int vit,vector move,float dt)
hair physics, move: interact
int calcPhysicFullBonesTree(int wo,int key,int vit,vector move,float dt,int base,float momentum,float velocity,vector gravity)
common physics, move: interact, 1st node fixed as base, g: gravity vector
# ANIM FUNCTIONS
int setAnimBonesKey(int key,int nobj,int val)
Update of animation parameter
int setAnimMorphKey(int key,int nobj,int val)
Update of animation parameter
int setAnimPositions(int key,int nobj,float x,float y,float z)
Update of animation parameter
int setAnimRotations(int key,int nobj,float x,float y,float z)
Update of animation parameter
int setAnimPositionsAdded(int key,int nobj,float x,float y,float z)
Update of animation parameter
int setAnimRotationsAdded(int key,int nobj,float x,float y,float z)
Update of animation parameter
int setAnimCamera(int key,float x,float y,float z)
Update of animation parameter
int setAnimTarget(int key,float x,float y,float z)
Update of animation parameter
int setAnimZoom(int key,float zoom)
Update of animation parameter
int getAnimNb()
Update of animation parameter
int getAnimPositions(int key,int nobj,vector v)
Read of animation value
int getAnimRotations(int key,int nobj,vector v)
Read of animation value
int getAnimPositionsAdded(int key,int nobj,vector v)
Read of animation value
int getAnimRotationsAdded(int key,int nobj,vector v)
Read of animation value
int getAnimCamera(int key,int nobj,vector v)
Read of animation value
int getAnimTarget(int key,int nobj,vector v)
Read of animation value
# ARRAY/POINTERS OPERATIONS, FILES
int getPtr(char *name)
Pointers
int getFunctionPtr(char *name)
Pointers to function
int setMemoryi(int nvar,int offset,int value,int nb)
Pointers
int setMemoryf(int nvar,int offset,float value,int nb)
Pointers
int copyMemory(int nvar1,int offset1,int nvar2,int offset2,int nb)
Pointers
# LINKED LIST
int allocateLinkedListArray(int list,int len)
Linked List (list of [0..127] allocate len lists
int freeLinkedListArray(int list)
Linked List (list of [0..127]
int clearLinkedListArray(int list,int index)
Linked List
int addLinkedListArray(int list,int index,int val)
Linked List: add an int to array element
int getLinkedListArray(int list,int index,int pos)
Linked List
int getposLinkedListArray(int list,int index,int val)
Linked List
int delLinkedListArray(int list,int index,int val)
Linked List
int delindexLinkedListArray(int list,int index,int pos)
Linked List
int lengthLinkedListArray(int list,int index)
Linked List
int dumpLinkedListArray(int list,int index,char *svar)
Linked List: dump to int array
int dumpLinkedListArrayPtr(int list,int index,int var)
Linked List: dump to int array
int dumpOffsetLinkedListArray(int list,int index,char *svar,int ofs)
Linked List: dump to int array
int dumpOffsetLinkedListArrayPtr(int list,int index,int var,int ofs)
Linked List: dump to int array
# OTHER FUNCTIONS
int bubbleSort(char * tab_n,char * tab_z,int nb)
sort indices in (int)tab_n[nb] with (float)tab_z[n] value for depth
int sceneIdWorld(int n)
SceneID [0..3]
int sceneIdAdded(int n)
SceneID [0..3]
# SPRITES FUNCTIONS
int spriteReset()
Initialize
int spriteAdd(char * name,int nt,float xm1,float ym1,float xm2,float ym2)
name : char[], nt : texturescene, returns id
int spriteId(char * name)
name : char[], return id
float spriteGetWidth(char *name)
name : char[], return width in texture ref
float spriteGetHeight(char *name)
name : char[], return height in texture ref
float spriteGetWidthById(int id)
id : int, return width in texture ref
float spriteGetHeightById(int id)
id : int, return height in texture ref
int spriteDraw(char * name,int x,int y,int w,int h,float r,float g,float b,float a)
name : char[]
int spriteDrawRot(char * name,int x,int y,int w,int h,float ang,float r,float g,float b,float a)
name : char[]
int spriteDrawId(int id,int x,int y,int w,int h,float r,float g,float b,float a)
int id
int spriteDrawRotId(int id,int x,int y,int w,int h,float ang,float r,float g,float b,float a)
int id
# TEXT FUNCTIONS
int playAnim(int n,int anim)
Play basic time anims
int playTextAnim(int n,int anim)
Play basic time anims
int setColor(float r,float g,float b)
Color basic time anims
int setScale(float sc)
Scale basic time anims
int addText(int n,char *txt)
Text basic time anims
int setTextPos(int n,float x,float y)
Position basic time anims
int setTextOffPos(int n,float x,float y)
Position OFF basic time anims
int setTextOffZoom(int n,float z)
Position OFF basic time anims
int setTextState(int n,int state)
Basic time anims
int setTextAnim(int n,int key1,int key2,float x1,float y1,float x2,float y2)
Basic time anims
int setTextAnimMulti(int n,int nb,int key1,int key2,float x1,float y1,float x2,float y2)
Basic time anims
int setTextZoomAnimMulti(int n,int nb,int key1,int key2,float zoom1,float zoom2)
Basic time anims
int setTextZoomAnim(int n,int key1,int key2,float zoom1,float zoom2)
Basic time anims
int setTextAnimSpeed(int n,float speed)
Basic time anims
int setTextAnimZoomSpeed(int n,float speed)
Basic time anims
Immediate font drawings:
int createFont(int font,char *filename,int r,int g,int b,int ro,int go,int bo,int size,int bold,int outline,int force)
Create FONT layer texture and map
int freeFonte(int font)
Release font
int setFont(int font)
Select a font
float drawCar(float x,float y,int ch,float scale,float r,float g,float b)
Draw char string with selected font
int drawString(float x,float y,char *s,float scale,float r,float g,float b)
Draw char string with selected font
int drawStringCenter(float x,float y,char *s,float scale,float r,float g,float b)
Draw char string with selected font
float lenString(char *s,float scale)
Get char string length drawn
float heightFont(float scale)
Get char font height drawn
# VECTOR AND MATRIX FUNCTIONS
matrix M;
M.Id()
M.Rotation(float x,float y,float z)
M.Translation(float x,float y,float z)
M.Scaling(float x,float y,float z)
M.DirectionX()
M.DirectionY()
M.DirectionZ()
vector V;
V.Zero()
V.Init(float x,float y,float z)
Generic appliants to basic maths are available : * / + - |
# HASH TABLE FUNCTIONS
hash H;
Access to memory
H.Load(int nt)
Access to memory
H.Peek(int layer,int x,int y)
Access to memory
H.Poke(int layer,int x,int y,int i)
Access to memory
H.Poke(int layer,int x,int y,int c,int rgb)
Access to memory
H.Set(int layer,int x1,int y1,int x2,int y2,int c,int v)
Access to memory
H.Blt(int layer,int x1,int y1,int x2,int y2,int nt,int func)
Access to memory
# TRIGOS FUNCTIONS
float sin(float ang)
Sinus of ang
float cos(float ang)
Cosinus of ang
float sinp(float ang)
Sinus of ang (high precision)
float cosp(float ang)
Cosinus of ang (high precision)
float sinq(float ang)
Sinus of ang (low precision)
float cosq(float ang)
Cosinus of ang (low precision)
float asin(float ang)
Asinus of val
float acos(float ang)
Acosinus of val
float sqrt(float val)
Square root
# CHAR STRING FUNCTIONS
char* alloc(int size)
Allocate a strings
char* malloc(int size)
Allocate a strings
void memset(char* ptr,int value,int nb)
Set string values to "value"
void memcpy(char* dest,char* src,int nb)
Copy nb chars
void free(char* ptr)
Free string
int strlen(char* s)
Return length zero-term string
void strcpy(char* dest,char* src)
Copy identical
int strcmp(char* a,char* b)
Compare "a" to "b"
int strmatch(char* a,char* m)
Match with "m"
void strconcat(char* dest,char* src,int nb)
Concatenation
void strncpy(char* dest,char* src1,int nb1,char* src2,int nb2)
Merge two strings
void sprintf(char *dest,char *format,...)
Generate string with format
void sprint(char *dest,char *format,...)
Generate string with format
int stradd(char *dest,int c)
Memory function for strings
int strset(char *dest,char *src)
Memory function for strings
int sprintfd(char *dest,int n)
Memory function for strings
int sprintfs(char *dest,char *s)
Memory function for strings
int sprintff(char *dest,float f)
Memory function for strings
int scanInt(char *src)
Returns "%d"
float scanFloat(char *src)
Returns "%f"
int strClean(char *str)
Clean string of spaces etc.
# QUATERNIONS
int quaternionId(...)
quaternionId(quaternion result)
int matrixFromQuaternion(...)
matrixFromQuaternion(matrix result,quaternion q)
int quaternionSlerp(...)
quaternionSlerp(quaternion result,quaternion q1,quaternion q2,float t)
int eulersFromQuaternion(...)
eulersFromQuaternion(vector result,quaternion q)
int eulersFromQuaternionDegrees(...)
eulersFromQuaternionDegrees(vector result,quaternion q)
int quaternionFromEulers(...)
quaternionFromEulers(quaternion result,vector eulers)
int quaternionFromEulersDegrees(...)
quaternionFromEulersDegrees(quaternion result,vector eulers)
int quaternionFromMatrix(...)
quaternionFromMatrix(quaternion result,matrix mat)
int quaternionFromAxisAngle(...)
quaternionFromAxisAngle(quaternion result,vector eulers)
int quaternionInverse(...)
quaternionInverse(quaternion result,quaternion q)
int quaternionConjugate(...)
quaternionConjugate(quaternion result,quaternion q)
float quaternionNorm(...)
float quaternionNorm(quaternion q)
int quaternionNormalize(...)
quaternionNormalize(quaternion q)
int quaternionMul(...)
quaternionMul(quaternion result,quaternion/vector/float op1,quaternion/vector/float op2)
int quaternionAdd(...)
quaternionAdd(quaternion result,quaternion q1,quaternion q2)
int quaternionSub(...)
quaternionSub(quaternion result,quaternion q1,quaternion q2)
int quaternionDiv(...)
quaternionDiv(quaternion result,quaternion q1,quaternion q2)
float quaternionDot(...)
float quaternionDot(quaternion q)
# STRUCTURES
int moveStruct(struct dest,struct src)
Must be structures
# FACES & VERTICES
int CameraTrack(float x,float y,float z)
Camera track functionnality
int NoCameraTrack()
Camera track functionnality
New model:
int getWorldnv(int n)
int getWorldnf(int n)
int getAddednv(int n)
int getAddednf(int n)
int getWorldVertex(int n,int nv,vector v)
int getAddedVertex(int n,int nv,vector v)
int getWorldVertexCalc(int n,int nv,vector v)
int getAddedVertexCalc(int n,int nv,vector v)
int getWorldNormal(int n,int nv,vector v)
int getAddedNormal(int n,int nv,vector v)
int getWorldNormalCalc(int n,int nv,vector v)
int getAddedNormalCalc(int n,int nv,vector v)
int getWorldMorphVertex(int n,int key,int nv,vector v)
int getAddedMorphVertex(int n,int key,int nv,vector v)
int getWorldMorphNormal(int n,int key,int nv,vector v)
int getAddedMorphNormal(int n,int key,int nv,vector v)
int getWorldFaceNormal(int n,int nv,vector v)
int getAddedFaceNormal(int n,int nv,vector v)
int getWorldFaceNormalCalc(int n,int nv,vector v)
int getAddedFaceNormalCalc(int n,int nv,vector v)
int getWorldFaceIndices0(int n,int nf)
int getWorldFaceIndices1(int n,int nf)
int getWorldFaceIndices2(int n,int nf)
int getAddedFaceIndices0(int n,int nf)
int getAddedFaceIndices1(int n,int nf)
int getAddedFaceIndices2(int n,int nf)
int getAddedScriptTag(int n,char * stag)
int getAddedMatrix(int n,matrix m)
int getAddedOrientationMatrix(int n,matrix m)
int getWorldMatrix(int n,matrix m)
int getWorldOrientationMatrix(int n,matrix m)
int getObjectWnv(int n)
Get world nv
int getObjectWnf(int n)
Get world nf
int getObjectAnv(int n)
Get added nv
int getObjectAnf(int n)
Get added nf
int getObjectCalcWn(int n,int nv,vector v)
Get object specific value
int getObjectCalcWAddn(int n,int nv,vector v)
Get added specific value
int getObjectWn(int n,int nv,vector v)
Get object specific value
int getObjectWAddn(int n,int nv,vector v)
Get added specific value
int getObjectNormalWn(int n,int nv,vector v)
Get object specific value
int getObjectNormalWAddn(int n,int nv,vector v)
Get added specific value
int getObjectNormalCalcWn(int n,int nv,vector v)
Get object specific value
int getObjectNormalCalcWAddn(int n,int nv,vector v)
Get added specific value
int getObjectFaceNormalWn(int n,int nv,vector v)
Get object specific value
int getObjectFaceNormalWAddn(int n,int nv,vector v)
Get added specific value
int getObjectFaceNormalCalcWn(int n,int nv,vector v)
Get object specific value
int getObjectFaceNormalCalcWAddn(int n,int nv,vector v)
Get added specific value
int getLongerDirection(int wo,int nv,vector result)
Get world longer vertex direction
int getLongerDirectionAdd(int wo,int nv,vector result)
Get added longer vertex direction
int getLongerDirectionCalc(int wo,int nv,vector result)
Get world longer vertex direction
int getLongerDirectionAddCalc(int wo,int nv,vector result)
Get added longer vertex direction
int getLongerDirectionFrom(int wo,int nv,vector dir,vector result)
Get world longer vertex direction
int getLongerDirectionFromAdd(int wo,int nv,vector dir,vector result)
Get added longer vertex direction
int getLongerDirectionFromCalc(int wo,int nv,vector dir,vector result)
Get world longer vertex direction
int getLongerDirectionFromAddCalc(int wo,int nv,vector dir,vector result)
Get added longer vertex direction
int getCloserVertex(int wo,vector p)
Get world closer vertex
int getCloserVertexCalc(int wo,vector p)
Get world closer vertex
int getCloserVertexAdded(int wo,vector p)
Get added closer vertex
int getCloserVertexAddedCalc(int wo,vector p)
Get added closer vertex
int intersectedNavMeshFace()
Get 1 if result is from intersection
int getWorldNavMeshFace(int wo,vector pos)
Get world closer face
int getAddedNavMeshFace(int wo,vector pos)
Get added closer face
int getWorldNavMeshFace3D(int wo,vector pos,float h)
Get world closer face
int getAddedNavMeshFace3D(int wo,vector pos,float h)
Get added closer face
int getWorldNavMeshNextFromVector(int wo,int nf,vector pos,vector dest,vector res)
Get world closer face edge
int getAddedNavMeshNextFromVector(int wo,int nf,vector pos,vector dest,vector res)
Get added closer face edge
int getWorldNavMeshFace3DVector(int wo,vector pos,vector N)
Get added closer face
int getAddedNavMeshFace3DVector(int wo,vector pos,vector N)
Get added closer face
int getWorldRecNavMeshNextFromVector(int wo,int start,int end,vector pos,vector dest,int max,vector res)
Get world closer face edge (recursive)
int getAddedRecNavMeshNextFromVector(int wo,int start,int end,vector pos,vector dest,int max,vector res)
Get added closer face edge (recursive)
int getAnimWorldVertexCoo(int wo,int nv,int k1,int k2,float t,vector res)
Get animated specific value
int getAnimWorldVertexRandomHomogeneCoo(int wo,int k1,int k2,float t,vector res)
Get tree animated specific value
int setWOTreeInterpolate(int wo,int k1,int k2,float t)
Set tree animated
int setWOTreeTwoInterpolate(int wo,int k1,int k2,float t1,int sk1,int sk2,float t2,float t)
Set tree animated
int getWOTreeNBNode(int wo)
Get tree animated specific value
int getWOTreeNodePivot(int wo,int node,vector p)
Get tree animated specific value
int getWOTreeNodeNBNext(int wo,int node)
Get tree animated specific value
int getWOTreeNodeIDNext(int wo,int node,int next)
Get tree animated specific value
int setWOTreeRandom(int wo,int node,int ang)
Random Pose (ang: variable)
int setWOTreeReset(int wo,int node)
Reset Pose
int setWOTreeResetEulersOnly(int wo,int node)
Reset Pose
int setWOTreeGetNodePosition(int wo,int node,vector pos)
Node position
int setWOTreeInverseCinematic(int wo,int node,float depx,float depy,float depz)
Set Node translation
int setWOTreeConvertToEulers(int wo)
Node orientation
int setWOTreeNodeEulers(int wo,int node,float ex,float ey,float ez)
Set tree animated eulers value
int setWOTreeNodeEulersV(int wo,int node,vector eulers)
Set tree animated eulers value
int getWOTreeNodeEulersV(int wo,int node,vector eulers)
Get tree animated eulers value
int setWOTreeStoreKey(int wo,int pose)
Store Pose
int setWOTreeReadKey(int wo,int pose)
Read Pose
int worldCalculate(int n)
Fix props object values
int addedCalculate(int n)
Fix props added values
int worldCalculateTreeMorphMatrix(int wo,vector p,vector r,int key1,int key2,float t)
calc key1 to key2
int addedCalculateTreeMorphMatrix(int wo,vector p,vector r,int key1,int key2,float t)
calc key1 to key2
int worldCalculateTreeMorph(int wo,int key1,int key2,float t)
calc key1 to key2
int addedCalculateTreeMorph(int wo,int key1,int key2,float t)
calc key1 to key2
int addedImpostor(int n)
get added real number (impostors)
int addedMatrix(int n,matrix m)
get added base matrix
int addedOrientationMatrix(int n,matrix m)
get added base matrix
float getObjectWnX(int n,int nv)
Get world x for nv
float getObjectWnY(int n,int nv)
Get world y for nv
float getObjectWnZ(int n,int nv)
Get world z for nv
float getObjectCalcWnX(int n,int nv)
Get world x for nv
float getObjectCalcWnY(int n,int nv)
Get world y for nv
float getObjectCalcWnZ(int n,int nv)
Get world z for nv
float getObjectWAddnX(int n,int nv)
Get added x for nv
float getObjectWAddnY(int n,int nv)
Get added y for nv
float getObjectWAddnZ(int n,int nv)
Get added z for nv
float getObjectCalcWAddnX(int n,int nv)
Get added x for nv
float getObjectCalcWAddnY(int n,int nv)
Get added y for nv
float getObjectCalcWAddnZ(int n,int nv)
Get added z for nv
float getObjectNormalWnX(int n,int nv)
Get world x for nv
float getObjectNormalWnY(int n,int nv)
Get world y for nv
float getObjectNormalWnZ(int n,int nv)
Get world z for nv
float getObjectNormalCalcWnX(int n,int nv)
Get world x for nv
float getObjectNormalCalcWnY(int n,int nv)
Get world y for nv
float getObjectNormalCalcWnZ(int n,int nv)
Get world z for nv
float getObjectNormalWAddnX(int n,int nv)
Get added x for nv
float getObjectNormalWAddnY(int n,int nv)
Get added y for nv
float getObjectNormalWAddnZ(int n,int nv)
Get added z for nv
float getObjectNormalCalcWAddnX(int n,int nv)
Get added x for nv
float getObjectNormalCalcWAddnY(int n,int nv)
Get added y for nv
float getObjectNormalCalcWAddnZ(int n,int nv)
Get added z for nv
float getObjectFaceNormalWnX(int n,int nv)
Get world x for nv
float getObjectFaceNormalWnY(int n,int nv)
Get world y for nv
float getObjectFaceNormalWnZ(int n,int nv)
Get world z for nv
float getObjectFaceNormalWAddnX(int n,int nv)
Get added x for nv
float getObjectFaceNormalWAddnY(int n,int nv)
Get added y for nv
float getObjectFaceNormalWAddnZ(int n,int nv)
Get added z for nv
float getObjectFaceNormalCalcWnX(int n,int nv)
Get world x for nv
float getObjectFaceNormalCalcWnY(int n,int nv)
Get world y for nv
float getObjectFaceNormalCalcWnZ(int n,int nv)
Get world z for nv
float getObjectFaceNormalCalcWAddnX(int n,int nv)
Get added x for nv
float getObjectFaceNormalCalcWAddnY(int n,int nv)
Get added y for nv
float getObjectFaceNormalCalcWAddnZ(int n,int nv)
Get added z for nv
int getWFaceIndices0(int n,int nf)
Get world i0 for nf
int getWFaceIndices1(int n,int nf)
Get world i1 for nf
int getWFaceIndices2(int n,int nf)
Get world i2 for nf
int getWAddFaceIndices0(int n,int nf)
Get added i0 for nf
int getWAddFaceIndices1(int n,int nf)
Get added i1 for nf
int getWAddFaceIndices2(int n,int nf)
Get added i2 for nf
# TREE OBJECT FUNCTIONS
int setWorldBones(int wo,int key1,int key2,float t)
Do BONES TREE morph anim: t interpolate key1 to key2
int setWorldBonesTwo(int wo,int k11,int k12,float t1,int k21,int k22,float t2,float t)
Do BONES TREE morph anim: t interpolate frame1(k11,k12,t1) to frame2(k21,k22,t2)
int setWorldBonesEulers(int N,int np,vector angles)
modify Eulers for Pivot in BONES TREE
int getWorldBonesEulers(int N,int np,vector angles)
modify Eulers for Pivot in BONES TREE
int addWorldBonesEulers(int N,int np,vector angles)
modify Eulers for Pivot in BONES TREE
int setWorldBonesTranslate(int N,int np,vector trans)
modify Translation for Pivot in BONES TREE
int getWorldBonesTranslate(int N,int np,vector trans)
modify Translation for Pivot in BONES TREE
int addWorldBonesTranslate(int N,int np,vector trans)
modify Translation for Pivot in BONES TREE
# MORPH OBJECT FUNCTIONS
int setAddedMorph(int n,int key1,int key2,float t)
Do morph anim: t interpolate key1 to key2
# OBJECT FUNCTIONS
int meshLinear(int wo)
linear mesh
int meshLinearFull(int wo)
linear mesh
int meshApply(int wo,matrix m)
apply transform
int meshSetRef(int wo,int ref)
ref 0..1..2
float radiusCalc(int n)
radius
float radiusAddedCalc(int n)
radius
int worldGetBounds(int add,vector mini,vector maxi)
bounds [mini,maxi]
int addedGetBounds(int add,vector mini,vector maxi)
bounds [mini,maxi]
int worldGetBaseBounds(int add,vector mini,vector maxi)
bounds [mini,maxi]
int addedGetBaseBounds(int add,vector mini,vector maxi)
bounds [mini,maxi]
int worldGetBaseKeyBounds(int add,int key,vector mini,vector maxi)
bounds [mini,maxi]
int addedGetBaseKeyBounds(int add,int key,vector mini,vector maxi)
bounds [mini,maxi]
# DYNAMICALLY TEXTURE DETAILS FUNCTIONS
int resetAddedTexturesDetails()
detailled texture : reset of parameters
int pollAddedTexturesDetails()
detailled texture : poll events for player and texture unpacking : returns 1 if updated
int setAddedTexturesDetails(int wo,int state)
detailled texture from object
int setTexturesDetails(int nt,int state)
detailled texture
int getTexturesDetails(int nt)
detailled texture: -1:uncompressed 0:low 1:normal
int processAddedTexturesDetails(vector p,float r)
detect detailled texture update, returns 1 if update is needed
int processClonesTexturesDetails(vector p,float r)
detect detailled texture update, returns 1 if update is needed
# METHODS FUNCTIONS
int resetMethods()
Reset all methods function pointers
int toggleMethods(int scene,int clones)
Activate methods processing ON,ALWAYS(even non visible added),OFF
int toggleWorldMethods(int scene,int clones)
Activate world methods processing ON,ALWAYS(even non visible world),OFF
int toggleCloneMethods(int clones)
Activate clones methods processing ON,OFF
int registerMethod(int add,char * sfn)
Register method for Added (func: int objectmethod(int wo,vector pos,vector rot)) for a specified additionnal ($null$ for reset)
int registerAddedMethod(int add,char * sfn)
Register method for Added (func: int objectmethod(int wo,vector pos,vector rot)) for a specified additionnal ($null$ for reset)
int registerWorldMethod(int wo,char * sfn)
Register method for World (func: int objectmethod(int wo,vector pos,vector rot)) for a specified world ($null$ for reset)
int registerCloneMethod(int clone,char * sfn)
Register method for Clone (func: int objectmethod(int wo,vector pos,vector rot)) for a specified clone ($null$ for reset)
int objectTypeMethod()
returns: world:-1, added:1, clone world:-2, clone added:2, clone only:666
# MISC OBJECTS FUNCTIONS
int limitFacesVertexBufferResetAll()
reset number of faces drawn
int limitFacesVertexBuffer(int wo,float limit)
affect number of faces drawn
int startFacesVertexBuffer(int wo,float limit)
affect number of faces drawn
# CLONE OBJECTS FUNCTIONS
int testSphereVectorIntersect(vector A,vector B,vector O,float R)
returns 1 if ray [A..B] intersect sphere (O,R)
int testSphereMouseIntersect(vector O,float R)
returns 1 if ray from mouse intersect sphere (O,R)
int getPickVector(vector pick)
pick = mouse vector
# CLONE OBJECTS FUNCTIONS
int setCloneWO(int clone,int wo)
Clone from world object wo
int setCloneWOAsMorph(int clone,int wo)
Clone from world object wo to morph
int setCloneWOAsAdditionnal(int clone,int wo)
Clone from added object wo
setCloneWOAddedAsMorph(int clone,int wo)
Clone from added object wo to morph
int setTemporaryCloneWO(int wo)
Added (only) for Clone replacement in preShader
int resetClones()
Reset clone ressources
int setNBClones(int nb)
Set number clone ressources
int getNumClones()
Get number clone ressources
int isClonePicked(int clone)
Pick and Clones
int witchClonePickedMouse()
Pick and Clones
int witchClonePicked(vector A,vector B)
Pick and Clones
float getCloneRadius(int clone)
Get clone env radius
int setCloneForceDraw(int clone,int draw)
Normal:0 force draw:1 force not draw:-1
int setClonePosition(int clone,float x,float y,float z)
Set clone position
int setCloneScale(int clone,float x,float y,float z)
Set clone scale
int setCloneRotation(int clone,float x,float y,float z)
Set clone rotation
int setCloneAnim(int clone,int key1,int key2,float t)
Set clone animation keys
int setCloneAnimTwo(int clone,int key1,int key2,float t1,int sndkey1,int sndkey2,float t2,float t)
Set clone two animation keys
int setCloneParam(int clone,int p)
Set clone additionnal parameter
int getCloneParam(int clone,int p)
Get clone additionnal parameter
int setCloneValue(int clone,int n,int val)
Set clone additionnal parameter n=0..3
int setCloneFloatValue(int clone,int n,float val)
Set clone additionnal parameter n=0..3
int getCloneValue(int clone,int n)
Get clone additionnal parameter n=0..3
float getCloneFloatValue(int clone,int n)
Get clone additionnal parameter n=0..3
int setCloneOptimizedOclusion(int clone,float mul)
Ground clone additionnal optimization (mul=1.0)
int setCloneHeight(int clone,float h)
-1: radius >0:value (usefull in water reflection)
int actualCloneDoNotDraw()
Must be called in preshader warp
int isWhileDrawingReflection()
Usefull in preshader warp
int isWhileDrawingAmbient()
Usefull in preshader warp
int isWhileDrawingDayLight()
Usefull in preshader warp
int isWhileDrawingLight()
Usefull in preshader warp
int isWhileDrawingDynamicLight()
Usefull in preshader warp
int isWhileDrawingDynamicLightSecondary()
Usefull in preshader warp
int isWhileDrawingSpot()
Usefull in preshader warp
int isWhileDrawingSpotMap()
Usefull in preshader warp
int isWhileDrawingLightSecondary()
Usefull in preshader warp
int getCloneWO(int clone)
get clone value
int getCloneType(int clone)
0:WOTree 1:WOMorph 3:ADDMorph 2:ADDED
int getCloneShader(int clone)
get clone value
int getCloneShaderShadow(int clone)
get clone value
int execCloneShaderFn(int clone)
get clone value
int execCloneShaderShadowFn(int clone)
get clone value
int getCloneVisible(int clone)
get clone value
int getCloneVisibleCalc(int clone)
get clone value
int getCloneTag(int clone)
get clone value
int getCloneTagCalc(int clone)
get clone value
int getClonePosition(int clone,vector v)
get clone value
int getCloneRotation(int clone,vector v)
get clone value
int getCloneScale(int clone,vector v)
get clone value
int getCloneLight(int clone)
get clone value
int getCloneKey1(int clone)
get clone animation keys
int getCloneKey2(int clone)
get clone animation keys
float getCloneInterpolate(int clone)
get clone animation keys
int getActualCloneIndex()
usefull in shader proc rendering
int getActualCloneCoo(vector res)
usefull in shader proc rendering
int getActualCloneRot(vector res)
usefull in shader proc rendering
int setCloneVSParam(int clone,float x,float y,float z,float w)
parameter values in shader
int setClonePSParam(int clone,float x,float y,float z,float w)
parameter values in shader
float getCloneVSParam(int clone,int p)
parameter values in shader
float getClonePSParam(int clone,int p)
parameter values in shader
int setClonePreShader(int clone,char *function_name)
call to fn function before clone drawn
int setClonePreShaderShadows(int clone,char *function_name)
function call for shadowing
int alterCloneWorldMatrix(matrix mul,matrix res)
calculate alteration of matrix of actual clone(preshader)
int toggleDrawClones(int onoff)
no clone draw for a scene
int toggleDrawClonesInShadows(int onoff)
no clone draw for a scene
int toggleDrawClonesInShadowsFourty(int onoff)
no clone draw for a scene
int setClonePivotEulers(int clone,int np,vector v)
modify Eulers for Pivot in BONES TREE
int getClonePivotEulers(int clone,int np,vector v)
modify Eulers for Pivot in BONES TREE
int addClonePivotEulers(int clone,int np,vector v)
modify Eulers for Pivot in BONES TREE
int setClonePivotTranslate(int clone,int np,vector v)
modify Translate for Pivot in BONES TREE
int getClonePivotTranslate(int clone,int np,vector v)
modify Translate for Pivot in BONES TREE
int addClonePivotTranslate(int clone,int np,vector v)
modify Translate for Pivot in BONES TREE
int resetSecondaryClones(int scn)
secondary scene clone stuffs
int getSecondaryNumClones(int scn)
secondary scene clone stuffs
int getSecondaryClonePosition(int scn,int clone,vector v)
Get clone position
int getSecondaryCloneScale(int scn,int clone,vector v)
Get clone position
int getSecondaryCloneRotation(int scn,int clone,vector v)
Get clone position
int getSecondaryCloneKey1(int scn,int clone)
get clone animation keys
int getSecondaryCloneKey2(int scn,int clone)
get clone animation keys
float getSecondaryCloneInterpolate(int scn,int clone)
get clone animation keys
int setSecondaryClonePosition(int scn,int clone,vector v)
secondary scene clone stuffs
int setSecondaryCloneScale(int scn,int clone,vector v)
secondary scene clone stuffs
int setSecondaryCloneRotation(int scn,int clone,vector v)
secondary scene clone stuffs
int setSecondaryCloneAnim(int scn,int clone,int key1,int key2,float t)
secondary scene clone stuffs
int setSecondaryCloneDrawEnviro(int scn,int clone,int on)
secondary scene clone stuffs
int setSecondaryCloneShadow(int scn,int clone,int on)
secondary scene clone stuffs
int setSecondaryCloneWO(int scn,int clone,int wo)
secondary scene clone stuffs
int setSecondaryCloneWOAsMorph(int scn,int clone,int wo)
secondary scene clone stuffs
int setSecondaryCloneWOAddedAsMorph(int scn,int clone,int add)
secondary scene clone stuffs
int setSecondaryCloneWOAsAdditionnal(int scn,int clone,int add)
secondary scene clone stuffs
int setSecondaryCloneShader(int scn,int wo,int ns,char *function_name)
secondary scene clone stuffs
int setSecondaryCloneShaderShadowed(int scn,int wo,int ns,char *function_name)
secondary scene clone stuffs
# SHADERS FUNCTIONS
int renderAddedToTexture(int wo,vector cam,vector tgt,char * buf,int w,int h,int bound)
Create a texture buffer with a render of the additionnals (wo)
# SHADERS FUNCTIONS
64 shaders availables.
int createShader(int n,char *filename)
Load a shader
int createShaderFromString(int n,char *script)
Create a shader from string
int createShaderQuads(int n,char *filename)
Load a shader for quad effects: [VERTEXFORMAT] XYZ DIFFUSE TEX0
int createShaderNormal(int n,char *filename)
Load a shader for normal object: [VERTEXFORMAT] XYZ NORMAL TEX0
int createShaderMorph(int n,char *filename)
Load a shader for morph object: [VERTEXFORMAT] MORPH
int createShaderTree(int n,char *filename)
Load a shader for tree object: [VERTEXFORMAT] XYZ NORMAL BLEND TEX0
int createShaderQuads(int n,char *filename)
Load a shader for quad effects: [VERTEXFORMAT] XYZ DIFFUSE TEX0
int createShaderFromStringQuads(int n,char *script)
Load a shader for quad effects: [VERTEXFORMAT] XYZ DIFFUSE TEX0
int createShaderFromStringNormal(int n,char *script)
Load a shader for normal object: [VERTEXFORMAT] XYZ NORMAL TEX0
int createShaderFromStringMorph(int n,char *script)
Load a shader for morph object: [VERTEXFORMAT] MORPH
int createShaderFromStringTree(int n,char *script)
Load a shader for tree object: [VERTEXFORMAT] XYZ NORMAL BLEND TEX0
int freeShader(int n)
Free a shader
int setShaderReference(int ref,int shd)
Replace built-in shader by shd
int restoreShaderReference(int ref)
Restore built-in shader
int resetWorldShaderContext(int n)
Context custom shader base
int resetAddedShaderContext(int n)
Context custom shader base
int setShadowMapSizeVarName(char *name)
Shadow Map Shader Var name filled with (size,1.0/size,0,0)
int getShadowMapOne()
Size shadow map One
int getShadowMapFourty()
Size shadow map Fourty
int setWorldVSParam(int wo,float x,float y,float z,float w)
Context parameters
int setAddedVSParam(int wo,float x,float y,float z,float w)
Context parameters
int setWorldPSParam(int wo,float x,float y,float z,float w)
Context parameters
int setAddedPSParam(int wo,float x,float y,float z,float w)
Context parameters
int setWorldShaderContextZBuffer(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextZBuffer(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextZBufferMapping(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextZBufferMapping(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextEdgesDG(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextAmbient(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextLight(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextDaylight(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextLightAndAmbient(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextLightShadowOne(int wo,int shd)
Context custom built-in shader
int setWorldShaderContextLightShadowFourty(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextAmbient(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextLight(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextDaylight(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextLightAndAmbient(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextLightShadowOne(int wo,int shd)
Context custom built-in shader
int setAddedShaderContextLightShadowFourty(int wo,int shd)
Context custom built-in shader
int resetMaterialShaderContext(int wo)
Context custom built-in shader
int setMaterialShaderContextAmbient(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLightSpotMapping(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLight(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextDaylight(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLightAndAmbient(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLightShadowOne(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLightShadowFourty(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLightShadowSpotlight(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextLightShadowSpot(int wo,int shd)
Context custom built-in shader
int setMaterialShaderContextZBuffer(int m,int shd)
int setMaterialShaderContextEdgesDG(int m,int shd)
int setMaterialShaderContextZBufferMapping(int m,int shd)
int setShaderTexture(int n,char * name,int nt)
Set shader texture
int setVertexShaderTexture(int n,char * name,int nt)
Set shader texture (for vertex processing)
int setFloat(int n,char * name,float f)
Set shader parameter
int setVector(int n,char *name,vector v)
Set shader parameter
int setVectorXYZ(int n,char *name,float x,float y,float z)
Set shader parameter
int setVectorXYZW(int n,char *name,float x,float y,float z,float w)
Set shader parameter
int activatePublicVariables(int onoff)
Set to public variable ON/OFF
int setPublicInt(char * name)
Set global variable (public)
int setPublicFloat(char * name)
Set global variable (public)
int setPublicVector(char * name)
Set global variable (public)
int setFloatPublic(int n,char * name,float f)
Set shader parameter (public)
int setVectorPublic(int n,char *name,vector v)
Set shader parameter (public)
int setVectorXYZPublic(int n,char *name,float x,float y,float z)
Set shader parameter (public)
int setVectorXYZWPublic(int n,char *name,float x,float y,float z,float w)
Set shader parameter (public)
int setMatrix(int n,char *name,matrix m)
Set shader parameter
int setArrayVector(int n,char *name,int index,vector v)
Set shader parameter
int setArrayMatrix(int n,char *name,int index,vector v)
Set shader parameter
int setProjection()
Draw normal projection
int setDynamicLightParams(int ns,vector pos,vector color,float attenuation,float range)
"Light", "Color", "Attenuation", "Range" for shader ns
int setDynamicLightParamsNames(int ns,char * slight,vector pos,char * scol,vector color,char * satt,float att,char * srange,float range)
"Light", "Color", "Attenuation", "Range" for shader ns
int setProjectionXY(int w,int h)
Draw projection
int setOrthoProjection(float w,float h)
Draw orthographic projection
int setWorldViewProj(int n,char *name)
Set shader parameter
int setWorld(int n,char *name)
Set shader parameter
int setViewProj(int n,char *name)
Set shader parameter
int setViewProjTex(int n,char *name)
Set shader parameter
int setAssociation(int n,char *name,int affect)
TEXTURE_NT,TEXTURE_NT2,TEXTURE_NL,TEXTURE_NLV,TEXTURE_BUMP,TEXTURE_0,TEXTURE_1,TEXTURE_2,TEXTURE_3
int setNewAssociation(int n)
Reset association
int setCloneShader(int wo,int ns,pointer *function)
Shaders are associated with inscript function to set parameters
int setClonePolling(int wo,char *function_name)
Function execution before Drawing Call
Shaders are associated with inscript function to set parameters
int setCloneShaderShadowed(int wo,int ns,pointer *function)
Shaders comes by two : draw lighting and shadowing
int setView(int n,char *name)
Shaders matrix
int setInverseView(int n,char *name)
Shaders matrix
int setInverseViewProj(int n,char *name)
Shaders matrix
int setViewport(int n,char *name)
Shaders matrix
int setAspect(int n,char *name)
Shaders aspect vector
int setReflection(int n,char *name)
Shaders matrix
int setProcessReflection(int n,char *name)
Shaders matrix
int setOrthoProj(int n,char *name)
Shaders quad projection matrix
int getView(matrix m)
main matrix
int getProjection(matrix m)
main matrix
int getViewport(matrix m)
main matrix
int setCameraTarget(vector c,vector t,float roll)
Camera Matrix from values
int getMatrixCameraTarget(vector c,vector t,float roll,matrix m)
Camera Matrix from values
int setCameraTargetView()
Default camera values
# PARALLELS
Generally procedures for network synchros, parallels can not be used for all GPU materials.
OPEN() and other functions blocks any dynamic exchanges between tabs.
int join()
return 1 when all parallels are done
Example:
parallel set()
{
playSound(start,OFF);
calculate_stuffs();
}
void OPEN()
{
set(); // initialize a thread with set() function
main_initialize_proc();
}
void LOOP()
{
if (join()) // wait all parallels are done
{
play();
}
}
# MISC SHADERS FUNCTIONS
int getScreenX();
Window's width
int getScreenY();
Window's height
int getScreenWidth()
Full window's width
int getScreenHeight()
Full window's height
int renderVRGetWidth()
VR single eye window's width (0 if non VR)
int renderVRGetHeight()
VR single eye window's height (0 if non VR)
int getSurfaceSize(int surf)
Surface (SECONDARY[x]) size
float getScreenInches()
Screen physical size
float getScreenDPI()
Screen physical pixel per inches
float getDesktopScale()
Desktop window's scale
float getScreenScale()
Screen window's scale
float getQ()
Value far/(far-near)
int activateFourtyProbe(int snd)
Probe calculation without shadows rendering
int setAmbient(vector ambient)
RGB is XYZ values
int setAmbientSecond(vector ambient)
RGB is XYZ values
int setUnderwaterColor(vector color)
RGB is XYZ values
int setDayLightColor(vector color)
RGB is XYZ values
int setDayLightVector(vector vect)
One directionnal vector
int getCameraV(vector camera)
Get camera vector
int getTargetV(vector target)
Get target vector
int getAmbient(vector ambient)
RGB is XYZ values
int getAmbientSecond(vector ambient)
RGB is XYZ values
int getLightCloser(vector v)
Index of light from v
int getSecondLightCloser(vector v)
Index of light from v
int getCamera(vector camera)
Set camera to camera position
int getTarget(vector target)
Set target to target position
int getNumberLights()
NB of lights
int getBSPDayLight(vector position)
Return 1 if lighted
int getBSPLight(int nl,vector position)
return 1 if lighted
int getLightColor(int NL,vector color)
RGB is XYZ values
int getLightPosition(int nl,vector position)
NL number of the light
float getLightAttenuation(int nl)
Attenuation value
float getLightRange(int nl)
Range value
int setLightColor(int nl,vector color)
RGB is XYZ values
int setLightPosition(int nl,vector position)
NL number of the light
int setLightAttenuation(int nl,float att)
Attenuation value
int setLightRange(int nl,float range)
Range value
int getMatrixWorld(matrix m)
get WORLD matrix
int getWOInsider(vector v)
Inside which WorldObject
int getWOStatus(int wo)
Get worldobject type: 0:EMPTY,1:PLAIN,2:EXTERIOR
int getLightWorld(int wld,int nl)
Get world closer 3 lights
int getLightAdded(int add,int nl)
Get added closer 3 lights
int setLight(int nl,vector position,vector color,float att)
Set up light
int getUnderwaterColor(vector color)
RGB Vector
int getDayLightColor(vector color)
RGB Vector
int getDayLightVector(vector vect)
Vector
int drawLight(vector position,vector color,float att,int shadows)
Draw special effect of lighting, usefull in Post rendering
int drawLightWithRange(vector position,vector color,float att,float range,int shadows)
Draw special effect of lighting, usefull in Post rendering
int setFallOffDynamicLight(float fall)
fall off, base:0.042
int setVarsLights(int onoff,float x,float z)
own vars, base:0.0025 0.00025
int drawSpotLight(vector pos,vector color,float att,vector dir,int shd)
Draw special effect of lighting, usefull in Post rendering
int drawSpotLightWithRange(vector pos,vector color,float att,float range,vector dir,int shd)
Draw special effect of lighting, usefull in Post rendering
int drawSpotMap(vector pos,vector color,float att,vector dir,int nt,int shd)
Draw special effect of lighting, usefull in Post rendering
int drawSpotMapWithRange(vector pos,vector color,float att,float range,vector dir,int nt,int shd)
Draw special effect of lighting, usefull in Post rendering
int lightDrawThresold(float koef)
Thresold for discriminate lighting, default:s 3.5
int drawEnviro(int depth,vector pos)
Render fake envmap, returns the texture index
int setTextureEnviro(int stage)
Set calculated envmap to texture
int setEnviroPrecalc(int nt)
GLASS object parameters (-1 for processing)
int drawEachEnviro(int onoff)
GLASS object parameters: ON for relative processing, OFF for precalculations
int isDynamicLight(int n)
Return 1 if the added object has light script
int getDynamicLightWorldPosition(int n,vector v)
World position of the light
float getDynamicLightAttenuation(int n)
Attenuation value
int getDynamicLightPosition(int n,vetor v)
Relative position of the light
int getDynamicLightColor(int n,vector v)
v.xyz color of the light
int setDynamicLight(int n,vector pos,vector color,float att)
Set up light
int isSecondDynamicLight(int n)
Return 1 if the added object has light script
int getSecondDynamicLightWorldPosition(int n,vector v)
World position of the light
float getSecondDynamicLightAttenuation(int n)
Attenuation value
int getSecondDynamicLightPosition(int n,vetor v)
Relative position of the light
int getSecondDynamicLightColor(int n,vector v)
v.xyz color of the light
int setSecondDynamicLight(int n,vector pos,vector color,float att)
Set up light
int getWOByName(char * name)
Get index of WO by name
int getWOByNameNext(char * name)
Get next index of WO by name
int getWOAddedByName(char * name)
Get index of WO by name
int getWOAddedByNameNext(char * name)
Get next index of WO by name
int checkWOAddedName(int wo,char * name)
Compare strings of names
int checkMatchWOAddedName(int wo,char * name)
Compare strings of names
int getWOAddedName(int wo,char * s)
Get string
# SIMPLE FUNCTIONS
int isAddedImpostor(int add)
return -1 if not, added index else
int isAddedMorph(int add)
return 0 if not, number of keys else
int isAddedInsideAdded(int add1,int add2)
Test inclusion
int isAddedInsideWorld(int add,int wld)
Test inclusion
int isWorldInsideAdded(int wld,int add)
Test inclusion
int isWorldInsideWorld(int wld1,int wld2)
Test inclusion
int disableUnlightedAddedVisible()
Setting visibility tag
int sameShaderForLOD(int onoff)
Default: true
int isDeadDeerEditor()
returns 1 if editor 0 if player
# INTERACTIONS FUNCTIONS
int isAddedVisible(int n)
Get toggle visibility
int toggleAddedAnim(int n,int on)
Set toggle animation
int toggleWorldAnim(int n,int on)
Set toggle animation
int groupWorldVisible(int group,int vs)
Set group visibility
int groupAddedVisible(int group,int vs)
Set group visibility
int setSceneID(int group)
Set group id (1..4)
int getSceneID()
Get group id (1..4)
int isMouseOnAdded(int n)
Interaction with mouse
int focus(int n)
Set camera view
int focusAdded(int n)
Set camera view
int focusClone(int n)
Set camera view
int followClone(float x,float y,float z)
Set camera view
int focusXYZ(float x,float y,float z)
Set camera view
int setXYDep(int xdep,int ydep)
Set camera view
int setZoom(float zoom)
Set camera view
int getXCamera()
Get camera view
int getYCamera()
Get camera view
float getZoomCamera()
Get camera view
int camera(int xdep,int ydep,int zoom)
Set camera view
int cameraPosition(float theta,float phi,float zoom,float roll)
Set camera view
int cameraAdded(int n)
Set camera view
int targetAdded(int n)
Set camera view
int mouseButton(int n)
n=0 or n=1 or -1/WHEEL
int mouseButtonDoubleClic()
double clic
int mouseWheel()
Mouse wheel without reset
int mouseCenter()
Usefull for fps, fixes the mouse on the center
int xMouse()
X screen position of the mouse
int yMouse()
Y screen position of the mouse
int number()
A number key pressed
int alphaNum()
'A'..'Z' '0'..'9' key pressed
int keyState(int num)
num key state
int Pad(int key)
KEY_START,KEY_END,KEY_MID,LEFT,RIGHT,UP,DOWN,SPACE,RETURN,INSERT,BACK,HOME,DELETE,END,PAGEUP,PAGEDOWN,TAB
int unPad(int key)
num key up
int keyboardGet(int key)
0,1 for key
int keyboardSet(int key,int value)
0,1 for key
int isKeyDown()
Keypressed
int isKeyEdit()
Keypressed is conventionnal text
int keyRelease()
Clear up/down state
int toggleVirtualKeyboard(int onoff)
Specific
int doVirtualKeyboard(int onoff)
Specific
int activateAnimation(int toggle)
Animation (actual scene)
int globalAnimationCoo(float x,float y,float z)
Animation (actual scene)
int globalAnimationRot(float x,float y,float z)
Animation (actual scene)
int interpolationAnimWorldObject(int wo,int k1,int k2,float t)
Animate (actual scene) wo with params
int interpolationAnimWorldObjectAdded(int add,int k1,int k2,float t)
Animate (actual scene) add with params
int interpolationAnimCamera(int k1,int k2,float t)
Animate (actual scene) camera with params
int positionAnimWorldObject(int wo,int key,vector res)
Actual scene infos
int positionAnimWorldObjectAdded(int add,int key,vector res)
Actual scene infos
int rotationAnimWorldObject(int wo,int key,vector res)
Actual scene infos
int rotationAnimWorldObjectAdded(int add,int key,vector res)
Actual scene infos
int orientationAnimWorldObjectAdded(int add,int key,vector res)
Actual scene infos
int positionMatrixAnimWorldObject(int wo,int key,vector res)
Actual scene infos
int positionMatrixAnimWorldObjectAdded(int add,int key,vector res)
Actual scene infos
int orientationMatrixAnimWorldObject(int wo,int key,vector res)
Actual scene infos
int orientationMatrixAnimWorldObjectAdded(int add,int key,vector res)
Actual scene infos
int toggleInteractions(int state)
Interaction function
int stopAnim()
Animation control
int setAnimSpeed(float speed)
Animation control
# MEMORY FUNCTIONS
int getVariableIndex(char *name)
Get variable pointer
int getVariableGlobaleIndex(char *name)
Get variable pointer
int setMemi(int nvar,int offset,int value,int nb)
Set array values
int setMemf(int nvar,int offset,float value,int nb)
Set array values
int setgMemi(int nvar,int offset,int value,int nb)
Set array values
int setgMemf(int nvar,int offset,float value,int nb)
Set array values
int copyMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)
Move array values
int copyMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)
Move array values
int copygMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)
Move array values
int copygMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)
Move array values
int getPtr(char *name)
Get variable pointer
int setMemoryi(int nvar,int offset,int value,int nb)
Set array values
int setMemoryf(int nvar,int offset,float value,int nb)
Set array values
int copyMemory(int nvar1,int offset1,int nvar2,int offset2,int nb)
Move array values
# GOOGLE VR & VR FUNCTIONS
int isVR()
Return 1 if VR running
int isGoogleVR()
Return 1 if Android GoogleVR
int setVRSingleEyeDraw(char *funcname)
Render for stereo VR Android GoogleVR
int quadZBUFFER(int dest,int x,int y,int w,int h,int src,int fromx,int fromy,int fromw,int fromh)
Copy Depth buffer : usefull for Render to Texture with VR
# SPECIAL VR FUNCTIONS
int toggleDrawVRHands(int draw)
VR hands, returns 1 if hand are available
int setVRScaling(float sc)
VR scene scaling
int setVRHandsScaling(float sc)
VR scene hand scaling
int getVRHandsPosition(int hand,int finger,vector pos)
hand:0..1 L-R, finger: 0:index 1:thumb 2:palm 3:base index
int getVRHandsInfos(int hand,int finger)
VR hand:0..1, 0..2:trigger,pad,grip
int getVRHandMatrix(int hand,matrix m)
VR hand:0..1
int getVRHandMatrixOrientation(int hand,matrix m)
VR hand:0..1
int getVRHandEulers(int hand,vector v)
VR hand:0..1
# CATEGORY FUNCTIONS
int isiOSorAndroid()
Return 1 if GL ES 2.0 layer (Android/iOS)
int isMacOSX()
Return 1 if it's a MacOSX platform
int isWindows()
Return 1 if it's a Windows platform
int isGLES30()
Return 1 if GL ES 3.0 layer available
int setGLES30HighPrecision(int toggle)
ON for highp precision shaders
# FILE FUNCTIONS
int fileOpen(char *fname,int rw)
FILE function, return -1 if error
int fileOpenPath(char *fname,int rw)
FILE function full path file, return -1 if error
int fileClose(int file)
FILE function: closing handle
int fileExists(char *fname)
return size of the file if file exists else -1
int fileRead(int file,char * var)
FILE function var name
int fileWrite(int file,char * var)
FILE function var name
int fileGetS(int file,char * var)
FILE function var name(string) read until '\n'
int fileScan(int file,char * var)
FILE function var name(string) read until '\n' and ' '
int fileSeek(int file,int pos)
FILE function
int fileSize(int file)
FILE function
int blockRead(int file,char * var,int size)
FILE function var name
int blockWrite(int file,char * var,int size)
FILE function var name
int fileReadClonesData(int file)
FILE function clones data
int fileWriteClonesData(int file)
FILE function clones data
int fileReadMachineState(int file)
FILE function global vars
int fileWriteMachineState(int file)
FILE function global vars
int filenameRelative(char * _fname)
string function returns local filename from path
int filenameExtension(char * _fname,char * _ext)
string function complete path with extension
int temporaryFilename(char *dest,char *src)
convert src to full path in temporary folder
# FONTS 3D
int setFont3DText(char * namefont)
Set font face
int gen3DText(char * str,int nt,int env,int border,int frontlen,int bonderlen,int strength,int details,float scale)
Generate 3D font text
int gen3DTextToAdded(char * str,int nt,int env,int border,int frontlen,int bonderlen,int strength,int details,float scale)
Generate added object from a 3D font
# OBJECT POSITION FUNCTIONS
int drawAddedSetWO(int wo)
Select wo added
int drawAddedSetWOTree(int wo)
Select wo added
int drawAddedSetWOEdges(int wo)
Each added objects are given with degenerated edges, basically; here closed
int drawAddedSetWOEdgesSimple(int wo)
Each added objects are given with degenerated edges, basically
int drawAddedSetVolum()
Set buffers to draw of volums
int drawAddedSetMetaball()
Set buffers to draw of metaballs
int drawAddedSet3DText()
Set buffers to draw generated 3d text
int drawAddedSet3DTextEdges(int full)
Set buffers to draw generated 3d text edges
int drawCreateVertexBufferDiffuse(int n)
Create VertexBuffer diffuse
int drawFreeVertexBufferDiffuse(int n)
Free VertexBuffer diffuse
int drawAddedSetDiffuseWO(int n)
set Diffuse VertexBuffer option
int drawAddedIsMorph(int wo)
Return nkeys or -1
int drawAddedIsEnvMapping(int wo)
Return 1 if env mapping
int drawAddedIsGlass(int wo)
Return 1 if glass
int drawWorldIsMorph(int wo)
Return nkeys or -1
int drawWorldIsTree(int wo)
Return 1 if tree
int drawAddedSetPosition(float x,float y,float z)
Set actual object instance position
int drawAddedSetPositionV(vector v)
Set actual object instance position
int drawAddedSetScale(float x,float y,float z)
Set actual object instance scale
int drawAddedSetScaleV(vector v)
Set actual object instance scale
int drawAddedSetRotation(float x,float y,float z)
Set actual object instance rotation
int drawAddedSetRotationV(vector v)
Set actual object instance rotation
int drawAddedSetMatrix(char *matrix)
Set actual object instance matrix
int drawAddedCalculateMatrix()
Set actual object instance matrix
int drawAddedCalculateMatrixSecondary(matrix m)
Set actual object instance matrix
int drawAddedAnimMatrix(int add)
Set actual object instance matrix
int drawAddedPropMatrix(int prop)
Set actual object instance matrix
int drawAddedSetShader(int ns,char *function)
Set actual object instance shader
int drawAddedDraw()
Draw selected added object
int drawAddedDrawShadows(int nlight)
Draw selected added object
int drawAddedInterpolateKeys(int key1,int key2,float t)
Animation morph values
float drawAddedGetInterpolant()
Animation morph interpolant (usefull in shader proc)
int drawWorldSetWO(int wo)
Select wo world
int drawWorldSetPosition(float x,float y,float z)
Set actual object instance position
int drawWorldSetPositionV(vector v)
Set actual object instance position
int drawWorldSetScale(float x,float y,float z)
Set actual object instance scale
int drawWorldSetScaleV(vector v)
Set actual object instance scale
int drawWorldSetRotation(float x,float y,float z)
Set actual object instance rotation
int drawWorldSetRotationV(vector v)
Set actual object instance rotation
int drawWorldSetMatrix(char *matrix)
Set actual object instance matrix
int drawWorldCalculateMatrix()
Set actual object instance matrix
int drawWorldAnimMatrix(int add)
Set actual object instance matrix
int drawWorldPropMatrix(int prop)
Set actual object instance matrix
int drawWorldSetShader(int ns,char *function)
Set actual object instance shader
int drawWorldDraw()
Draw selected world object
int drawTreeSetWO(int wo)
Tree bones and links object
int drawTreeSetPosition(float x,float y,float z)
Set actual object instance position
int drawTreeSetPositionV(vector v)
Set actual object instance position
int drawTreeSetScale(float x,float y,float z)
Set actual object instance scale
int drawTreeSetScaleV(vector v)
Set actual object instance scale
int drawTreeSetRotation(float x,float y,float z)
Set actual object instance rotation
int drawTreeSetRotationV(vector v)
Set actual object instance rotation
int drawTreeSetMatrix(matrix m)
Set actual object instance matrix
int drawTreeCalculateMatrix()
Set actual object instance matrix
int drawTreePropMatrix(int prop)
Set actual object instance matrix
int drawTreeAnimMatrix(int add)
Set actual object instance matrix
int drawTreeSetShader(int ns,char *function)
Set actual object instance shader
int drawTreeDraw()
Draw
int drawTreeInterpolateKeys(int key1,int key2,float t)
Animation keys
int drawTreeInterpolateKeysName(char *namevar,int key1,int key2,float t)
Animation keys
int drawTreeSetEulers(int np,vector v)
modify Eulers for Pivot in BONES TREE
int drawTreeGetEulers(int np,vector v)
modify Eulers for Pivot in BONES TREE
int drawTreeAddEulers(int np,vector v)
modify Eulers for Pivot in BONES TREE
int drawTreeSetTranslate(int np,vector v)
modify Translation for Pivot in BONES TREE
int drawTreeGetTranslate(int np,vector v)
modify Translation for Pivot in BONES TREE
int drawTreeAddTranslate(int np,vector v)
modify Translation for Pivot in BONES TREE
int drawTreeOwnerMatrix(char * sfn)
->"void mat_proc(int Iter,int Num,matrix Mat)" Mat is the data to set
int drawCloneSetWO(int wo)
cloning
int drawCloneGetType()
cloning get type (0:tree 1:world morph 2: added simple 3:added morph)
int drawCloneEdgesSetWO(int wo)
cloning
int drawSecondaryCloneSetWO(int scn,int wo)
cloning
int drawSecondaryCloneEdgesSetWO(int scn,int wo)
cloning
int drawCLoneDraw()
cloning
int drawCloneCalculateMatrix()
cloning
int drawCloneSetShader(int ns,char *function)
cloning
int drawSecondaryAddedSetWO(int scn,int wo)
cadded secondary
int drawSecondaryAddedEdgesSetWO(int scn,int wo)
added secondary
int getPositionAnimAdded(int add,vector v)
Quick value get
int getRotationAnimAdded(int add,vector v)
Quick value get
int getMatrixAnimAdded(int add,matrix m)
Quick value get
# OBJECT TREE BONES FUNCTIONS
int drawTreeGetPositionPivotBone(int pivot,vector p)
Return position "p"
int drawTreeGetRotationPivotBone(int pivot,vector p)
Return eulers "p"
int getPositionPivotBonesObjTree(int tree,int pivot,int key1,int key2,float t,vector p)
Return position "p"
int getRotationEulersPivotBonesObjTree(int tree,int pivot,int key1,int key2,float t,vector p)
Return eulers "p"
int getClonePositionPivotBone(int clone,int pivot,vector p)
Return position "p"
int getCloneRotationPivotBone(int clone,int pivot,vector p)
Return eulers "p"
# OBJECT POSITION FUNCTIONS
int inside(float x,float y,float z)
Return the index of inside WO
int distanceTo(int wo,float x,float y,float z,float dx,float dy,float dz)
Distance to WO
int placeObjectOn(int wo,int object,float dist)
Set position values
int placeAddedOn(int wo,int object,float dist)
Set position values
float radius(int n)
Return radius
float radiusAdded(int n)
Return radius
int textureBetween(int wo,float x,float y,float z,float dx,float dy,float dz)
Return nT field ot intersection
int isColliding(int wo,float x,float y,float z,float dx,float dy,float dz)
Intersection
int getI(int n,vector v)
point intersection
int getIAdded(int n,vector v)
point intersection
int getNormalI(int n,vector v)
point intersection normal
int getNormalIAdded(int n,vector v)
point intersection normal
float getIX(int wo)
X point intersection
float getIY(int wo)
Y point intersection
float getIZ(int wo)
Z point intersection
float getIXAdded(int n)
X point intersection
float getIYAdded(int n)
Y point intersection
float getIZAdded(int n)
Z point intersection
int getMappingInfos(int wo)
loading intersection infos
int getMappingInfosAdded(int add)
loading intersection infos
int getValueMIR()
loading intersection color
int getValueMIG()
loading intersection color
int getValueMIB()
loading intersection color
int getValueMIA()
loading intersection color
int getValueMIColor(vector rgb)
loading intersection color
float getValueMIAlpha()
loading intersection color
int getValueMICoord(vector map)
loading intersection mapping coord
int insideCube(vector p,vector O,float lx,float ly,float lz)
test if v inside cube
int insideCylinder(vector p,vector O,float R)
test if v inside prop (vertical cylinder)
int insideCylinderAxe(vector p,vector O,vector axe,float R)
test if v inside cylinder
int insideSphere(vector p,vector O,float R)
test if v inside sphere
int isAddedVisible(int add)
Get info
int isWorldVisible(int wo)
Get info
int isAddedAnimated(int add)
Get info
int isWorldAnimated(int wo)
Get info
int zfar(float z)
ZFAR clipping parameter
int zfarGlow(float z)
ZFAR clipping parameter when GLOW process
int zfarShadows(float z)
ZFAR clipping parameter to discard shadowing
int zfarLOD(float pc)
ZFAR clipping parameter to discard shadowing
int zfarWaterDiv(float div)
default 1.5: higher value to cut off
int shadowsLOD(int onoff)
LOD for shadows (exterior)
int shadowsInteriorLOD(int onoff)
LOD for shadows (interior)
int shadowMappingWide(float z)
shadow mappping clipping parameter
int visibleLightsGetNb()
camera visible lights, returns nb
int visibleLightsGetIndex(int n)
camera visible lights
int visibleLightsCalculate()
camera visible lights, returns nb
# SECONARY SCENE FUNCTIONS
int secondarySceneDeferring(int scn)
process deferring secondary, return 1 while processing
int sceneDeferring()
process deferring actual scene, return 1 while processing
int fullSceneDeferring()
process deferring all scene, return 1 while processing
int sceneLoadActivateDeferring(int onoff)
ON/OFF activate deferring on scene load
int secondarySceneSetInt(int n,int value)
1024 type shared variables
int secondarySceneSetFloat(int n,float value)
1024 type shared variables
int secondarySceneSetVector(int n,vector value)
1024 type shared variables
int secondarySceneSetMatrix(int n,matix value)
1024 type shared variables
int secondarySceneGetInt(int n)
1024 type shared variables
float secondarySceneGetFloat(int n)
1024 type shared variables
int secondarySceneGetVector(int n,vector value)
1024 type shared variables
int secondarySceneGetMatrix(int n,matrix value)
1024 type shared variables
int secondarySceneOPEN(int scn)
secondary scene main procs
int secondarySceneLOOP(int scn)
secondary scene main procs
int secondarySceneCLOSE(int scn)
secondary scene main procs
int secondarySceneToggleLights(int scn,int onoff)
secondary scene draw dynamic ligths inside
int secondarySceneToggleFixedLights(int scn,int onoff)
secondary scene draw ligths inside
int secondarySceneAddedSleep(int scn)
secondary scene sleep/awake unusefull object data
int secondarySceneAddedAwake(int scn)
secondary scene sleep/awake unusefull object data
int secondarySceneWorldSleep(int scn)
secondary scene sleep/awake unusefull object data
int secondarySceneWorldAwake(int scn)
secondary scene sleep/awake unusefull object data
int secondarySceneLOOPNoCamera(int scn)
secondary scene main procs (no camera modification)
int secondarySceneLoad(int scn,char * name)
secondary scene loading
int secondarySceneLoadSharedTextures(int scn,char * name)
secondary scene loading
int secondarySceneLoadSharedTexturesAndObjects(int scn,char * name)
secondary scene loading with sharing of primary textures and objects
int secondarySceneDuplicate(int new,int scn)
set secondary scene duplicate links
int secondarySceneLoadFromScript(int scn,char * fname,int script)
set secondary scene modulated by the 4 scripts
int secondarySceneLoadSharedTexturesFromScript(int scn,char * fname,int script)
set secondary scene textures shared modulated by the 4 scripts
int secondarySceneFromScript(int scn,int script)
secondary scene loading with sharing of primary textures and objects
int secondarySceneLoadFromString(int scn,char * fname,char * script)
set secondary scene modulated by script
int secondarySceneLoadSharedTexturesFromString(int scn,char * fname,char * script)
set secondary scene textures shared modulated by script
int secondarySceneFromString(int scn,char* script)
secondary scene loading with sharing of primary textures and objects
int secondarySceneLoadAsClass(int scn,char *fname)
set secondary scene for method class
int secondarySceneClassFromScript(int scn,int script)
set secondary scene for method class
int secondarySceneClassFromString(int scn,char * script)
set secondary scene for method class
int secondarySceneUnloadClass(int scn)
unload secondary scene for method class
int secondaryGetSceneIndex()
get secondary scene index (-1 for main scene)
int secondarySceneSwitchParent()
get main scene context
int secondarySceneSwitchBack()
get secondary scene context
int secondarySceneDraw(int scn)
secondary scene accessory rendering
int secondarySceneDrawLight(int scn,vector position,vector color,float att,int shadows)
secondary scene accessory rendering
int secondarySceneDrawLightRange(int scn,vector position,vector color,float att,float range,int shadows)
secondary scene accessory rendering
int secondarySceneDrawSpotLight(int scn,vector position,vector color,vector dir,float att,int shadows)
secondary scene accessory rendering
int secondarySceneDrawSpotLightRange(int scn,vector position,vector color,vector dir,float att,float range,int shadows)
secondary scene accessory rendering
int secondarySceneDrawSpotMap(int scn,vector position,vector color,vector dir,float att,int nt,int shadows)
secondary scene accessory rendering
int secondarySceneDrawSpotMapRange(int scn,vector position,vector color,vector dir,float att,float range,int nt,int shadows)
secondary scene accessory rendering
int secondarySceneRegister(int scn)
secondary scene register in main scene
int secondarySceneUnregister(int scn)
secondary scene unregister
int secondarySceneRegisterAsMain(int scn)
secondary scene register in main scene
int secondarySceneUnregisterAsMain(int scn)
secondary scene unregister
int secondarySceneDelete(int scn)
secondary scene unregister
int secondarySceneFree(int scn)
secondary scene main data release
int secondaryScenePush(int scn)
secondary scene main data access
int secondaryScenePop(int scn)
secondary scene main data access
int secondarySceneSetTranslation(int scn,float x,float y,float z)
secondary scene main transformations
int secondarySceneSetRotation(int scn,float rx,float ry,float rz)
secondary scene main transformations
int secondarySceneSetMatrix(int scn,matrix m)
secondary scene main transformations
int secondarySceneGetTranslation(vector coo)
secondary scene main transformations
int secondarySceneGetRotation(vector rot)
secondary scene main transformations
int secondarySceneGetMatrix(matrix m)
secondary scene main transformations
int secondarySceneActualTextures(int onoff)
secondary scene textures bank
int secondarySceneActual()
actual secondary scene id
int secondarySceneExecute(int scn,char *fn)
secondary scene method: scn,function_name
int secondarySceneExecuteMethod(int sc,char *fn,...)
secondary scene method: scn,function_name,...
float secondarySceneExecuteMethodFloat(int sc,char *fn,...)
secondary scene method: scn,function_name,...
# NED, LINK, SCENE FUNCTIONS
int executeNED(char *fname)
Runs another NED file
int setExecuteNED(char *name)
Set function for another NED file loading
int cmpExecuteNED(char *str)
cmp string for another NED file loading
int isBaseNED()
gives if actual NED is starting point (usefull for secondaries)
int stopNED()
Stop NED file
int getNameNED(char *s)
Get name of NED file running
int getNamePreviousNED(char *s)
Get name of previous NED file running
int restartEnable(int toggle)
Enable or Disable restarting action
int SceneClean(int wo,int woadd,int veg,int textures,int light)
Clean
int GenScriptClean()
Scene create
int GenScriptAdd(char *op)
Scene create
int GenScriptDo()
Scene create
int backupSceneData()
Scene data save
int restoreSceneData()
Scene data load
int cleanSceneData()
Scene data clean
int createVertexBufferAdded(int n)
Scene vertex buffer for added
int setAddedEnvTexture(int add,int nt)
Set props
int setAddedGlass(int add)
Set props
int setAddedEnvMapping(int add)
Set props
int setAddedBasic(int add)
Set props
int setAddedSecondary(int add,int status)
Status = EMPTY:0 PLAIN:1 EXTERIOR:2
int getAddedBounds(int add,vector mini,vector maxi)
fill mini and maxi
int duplicateAdded(int add,int prop)
Duplicate added with props, returns index of the object -> 0:box 123:cyl 4:sphere 5:mesh 6:fullmesh
int impostorAdded(int add,vector pos,vector rot)
Duplicate added by impostor, returns index of the object
int setAddedTag(int add,int prop)
Set added props (0:box 123:cyl 4:sphere 5:mesh 6:fullmesh
int setAddedLinkCollision(int add,int link)
Set added prop to collision or not
int boundingsWorld(int wo,vector mini,vector maxi,vector bound)
misc bounds stuff
int boundingsWorldCalc(int wo,vector mini,vector maxi,vector bound)
misc bounds stuff
int boundingsAdded(int wo,vector mini,vector maxi,vector bound)
misc bounds stuff
int boundingsAddedCalc(int wo,vector mini,vector maxi,vector bound)
misc bounds stuff
# VERTEX BUFFER FUNCTIONS
int VBlock(int n)
Access to VBO
int VBunlock()
Acces to VBO
int setVertex(int nv,vector v)
Access to VBO
int setNormal(int nv,vector n)
Access to VBO
int setTexCoo(int nv,float x,float y)
Access to VBO
int VIlock(int n)
Access to VBO
int VIunlock()
Access to VBO
int setIndices(int nf,int v0,int v1,int v2)
Access to VBO
# ACCESS FUNCTIONS
Acting on the euler transformation of objects
float getX(int n)
Access to world object value
float getY(int n)
Access to world object value
float getZ(int n)
Access to world object value
float getRX(int n)
Access to world object value
float getRY(int n)
Access to world object value
float getRZ(int n)
Access to world object value
float getAddX(int n)
Access to added object value
float getAddY(int n)
Access to added object value
float getAddZ(int n)
Access to added object value
float getAddRX(int n)
Access to added object value
float getAddRY(int n)
Access to added object value
float getAddRZ(int n)
Access to added object value
int getWorldXYZ(int n,vector v)
Access to world object value
int getWorldRXYZ(int n,vector v)
Access to world object value
int getAddedXYZ(int n,vector v)
Access to added object value
int getAddedRXYZ(int n,vector v)
Access to added object value
int setWorldVectorXYZ(int n,vector v)
Set to world object value
int setWorldVectorRXYZ(int n,vector v)
Set to world object value
int setAddedVectorXYZ(int n,vector v)
Set to added object value
int setAddedVectorRXYZ(int n,vector v)
Set to added object value
float getWorldDistanceToGround(int wo)
get position to ground
float getAddedDistanceToGround(int wo)
get position to ground
int getWorldMatrixXYZ(int wo,vector coo)
matrix frame relatives
int getWorldMatrixRXYZ(int wo,vector rot)
matrix frame relatives
int getAddedMatrixXYZ(int wo,vector coo)
matrix frame relatives
int getAddedMatrixRXYZ(int wo,vector rot)
matrix frame relatives
int setWorldMatrix(int wo,matrix m)
matrix frame
int setAddedMatrix(int wo,matrix m)
matrix frame
int getWorldMatrix(int wo,matrix m)
matrix frame
int getAddedMatrix(int wo,matrix m)
matrix frame
int setXYZ(int n,float x,float y,float z)
Set to world object value
int setAddedXYZ(int n,float x,float y,float z)
Set to added object value
int setRXYZ(int n,float x,float y,float z)
Set to world object value
int setAddedRXYZ(int n,float x,float y,float z)
Set to added object value
int getNbPlanesWorldObject(int wo)
Get plane number for [wo]
int getNormalPositionPlane(int wo,int np,vector P,vector N)
Get plane (np) coordinates for [wo]
int getAPlane(int wo,int np)
Get plane (np) A value for [wo] (a.x+b.y+c.z+d=0)
int getBPlane(int wo,int np)
Get plane (np) B value for [wo] (a.x+b.y+c.z+d=0)
int getCPlane(int wo,int np)
Get plane (np) C value for [wo] (a.x+b.y+c.z+d=0)
int getDPlane(int wo,int np)
Get plane (np) D value for [wo] (a.x+b.y+c.z+d=0)
float getWorldMaxY(int n)
Access to world object value
float getAddedMaxY(int n)
Access to added object value
float getWorldMaxY(int n,int key1,int key2,float t)
Access to world object value
float getAddedMaxY(int n,int key1,int key2,float t)
Access to added object value
# MISC TEXTURES
int resizeTexture(int nt,int w,int h)
resize texture with w,h
int peekBump(int nt,int x,int y)
get
int pokeBump(int nt,int x,int y,int value)
set
int peekR(int nt,int x,int y)
get R value
int pokeR(int nt,int x,int y,int value)
set R value
int peekG(int nt,int x,int y)
get G value
int pokeG(int nt,int x,int y,int value)
set G value
int peekB(int nt,int x,int y)
get B value
int pokeB(int nt,int x,int y,int value)
set B value
int peekA(int nt,int x,int y)
get A value
int pokeA(int nt,int x,int y,int value)
set A value
int freeRessourceTexture(int nt)
free raw texture (nt), player default free all resource at start
int pokeRGBA(int nt,int x,int y,int R,int G,int B,int A)
set RGBA value
int pokeRGB(int nt,int x,int y,int R,int G,int B)
set RGB value
void setTextureScene(int scn)
set texture scene : secondary scene:[0..n] Main:"MAINSCENE" Actual:"ACTUALSCENE"
default is MAINSCENE
int isTextureUsed(int nt)
return 1 if used
int getTextureX(int nt)
return texture(nt) width
int getTextureY(int nt)
return texture(nt) height
int isBumpUsed(int nt)
return 1 if used
int getBumpX(int nt)
return bump(nt) width
int getBumpY(int nt)
return bump(nt) height
int updateTextureWith(int nt)
update existing texture
int updateBumpWith(int nt)
update existing bump
int floodTexture(int nt,char * ptr,int w,int h)
flood existing texture
int floodBump(int nt,char * ptr,int w,int h)
flood existing bump
int floodTextureImage(int nt,int img)
flood existing texture with image loaded only 32bits
int floodBumpImage(int nt,int img)
flood existing bump with image loaded only 8bits
int initTexture(int nt,char * ptr,int w,int h)
create texture
int initBump(int nt,char * ptr,int w,int h)
create bump
int getDataTexture(int nt,char * ptr,int w,int h)
get texture data w*h*4
int getDataBump(int nt,char * ptr,int w,int h)
get bump data w*h
int setDataTexture(int nt,char * ptr,int w,int h)
set texture data w*h*4
int setDataBump(int nt,char * ptr,int w,int h)
set bump data w*h
int freeTexture(int nt)
free texture
int freeBump(int nt)
free bump
int initLIBTexture(int nt,char * ptr,int w,int h)
init LIB3D texture
int killLIBTexture(int nt)
free LIB3D texture
int updateLIBTexture(int nt,char * ptr,int w,int h)
update LIB3D texture
# ERL VOLUMS
int volumInit()
First function to be called
int volumInitAdequation()
First function to be called
int volumIter(int it)
precision
int volumPatch(int n,int x,int y,int z,int val)
int volumCreate(int n,int rez,vector mini,vector maxi)
int volumBoolAdd(int n,int a,int b)
int volumBoolSub(int n,int a,int b)
int volumBoolAddStrict(int n,int a,int b)
int volumBoolSubStrict(int n,int a,int b)
int volumIncrementDecrementOne(int step,int k1,int k2,float division,int nt)
Interpolate two ERL volums by step if !=0 return 1:if still in transformation 0:finnish
int volumInterpol(int t,int k1,int k2,float division,int nt)
Interpolate two ERL volums
int volumUploadAdded(int nt,int env)
int volumDraw(int env)
Drawing with env envmap
int volumDrawShader(int env,int shd)
Drawing with env envmap and shader
int volumXYZ(float x,float y,float z)
Position
int volumRXYZ(float x,float y,float z)
Rotations
int volumLoad(int erl,char * fname)
Load ERL bank (up to 32 ERL volums)
int volumEqui(int eq)
Default value 15
int volumFree()
Release
int volumNew(int erl,int rez)
New ERL bank (up to 32 ERL volums)
int volumSmooth(int erl)
Smooth volum
int volumGetDimension(int n)
Get volum size array
int volumSetMin(int erl,float x,float y,float z)
Volum dimension
int volumSetMax(int erl,float x,float y,float z)
Volum dimension
int volumGetMin(int erl,vector m)
Volum dimension
int volumGetMax(int erl,vector m)
Volum dimension
int volumPoke(int n,int x,int y,int z,int val)
Volum set value
int volumPeek(int n,int x,int y,int z)
Volum get value
int volumPokeV(int n,vector p,int val)
Volum set value
int volumPeekV(int n,vector p)
Volum get value
int volumLine(int n,vector a,vector b,int val)
Volum draw line
int volumCube(int n,vector a,vector b,int val)
Volum draw cube
int volumSphere(int n,vector a,int R,int val)
Volum draw sphere
int volumClear(int n)
Volum clear to zero
# SUFACES
int createSurfaceAdded(int add,int coef1,int coef2,int nt,int ntenv,char *scriptfn,char *scriptmisc)
Create surface ntenv<0 => not env mapping
# MISC
int addedOnWorldPlacementGround(int add,int wld,vector coo,vector rot)
Place added relative to ground on world object
int addedOnAddedPlacementGround(int add,int addon,vector coo,vector rot,vector cooto,vector rotto)
Place added relative to ground on added object
int addedOnClonePlacementGround(int add,int clone,vector coo,vector rot)
Place added relative to ground on clone object
# METABALLS
int metaballReset(float x,float y,float z,float R)
First function to be called
int metaballAdd(float x,float y,float z,float R)
Metaball positive
int metaballSub(float x,float y,float z,float R)
Metaball negative
int metaballAddV(vector pos,float R)
Metaball positive
int metaballSubV(vector pos,float R)
Metaball negative
int metaballAddTube(vector A,vector B,float Ra,float Rb)
Metaball tube positive
int metaballSubTube(vector A,vector B,float Ra,float Rb)
Metaball tube negative
int metaballCalculate(float pot,float percent,int envmap)
Preprocessing (by frames)
int metaballUploadAdded(int nt,int env)
int metaballDraw(int nt)
Drawing texture nt
int metaballDrawEnvmap(int nt,int nt2)
Drawing texture nt, envmap nt2
int metaballFree()
Release
float metaballPotential(vector pos)
return float value of field at pos
int metaballGradiant(vector pos,vector grad)
return vector value of gradiant at pos
# QUICKBALLS
int quickballReset()
Initiate parameters for quickballs
int quickballResetAndMore(float value)
Initiate parameters for quickballs
int quickballSetScale(float scale)
Scale parameter for quickballs
int quickballSetSprite(int nt)
nt<0 sets circle balls
int quickballAdd(float x,float y,float z,float R)
Add a ball
int quickballDraw(int nt,vector light,float a)
Draw the quickballs set
int quickballSmokeDraw(int nt,vector light,float a)
Draw the quickballs set
int quickballCloudDraw(int nt,vector light,float a)
Draw the quickballs set
int quickballOwnerDraw(int nt,vector light,float a,int shader)
Draw the quickballs set
int quickballSetup(float derivate,float mapping)
Parameters
int quickballSetupAndMore(float derivate,float mapping,float param)
Parameters
int quickballDrawSilhouette(int onoff)
Process parameter
int quickballZFight(int onoff)
Process parameter (zbuffer layer red, still blue)
# 2D PHYSICS
int choose2DPhysics(int n)
Multiple env possible
int init2DPhysics()
Initialisation of default values
int free2DPhysics()
Release
int addStatic()
"Static" and "Dynamic" objects
int addDynamic()
"Static" and "Dynamic" objects
int addDynamicBall(float R)
"Static" and "Dynamic" objects
int delStatic(int obj)
Delete object
int delDynamic(int obj)
Delete object
int addJointFixe(int n,float x,float y)
Add a physic link
int addJoint(int a,int b,float x,float y)
Add a physic link
int addSpring(int a,int b,float x,float y,float Kl)
Add a physic link
int addPivot(int a,int b,float x,float y)
Add a physic link
int delJoint(int a,int b)
Add a physic link
int delJointFixe(int n)
Add a physic link
int delJointByIndex(int n)
Add a physic link
int setDynamicInstance(int obj)
Setup object in edition
int setStaticInstance(int obj)
Setup object in edition
int setJointDynamicInstanceObj1(int j)
Setup object in edition
int setJointDynamicInstanceObj2(int j)
Setup object in edition
int add(float x1,float y1,float x2,float y2)
Add a segment
int addSprite(int nt,float x1,float y1,float x2,float y2,int def,float scale)
Add a sprite from ALPHA values
int setFriction(float re)
Set Friction value
int setRestitution(float re)
Set Restitution value
int setMass(float m)
Set Mass value
int setPropDefault(float x,float y,float w)
Set Prop default values
int setPropDefaultDegrees(float x,float y,float w)
Set Prop default values
int setProp(float x,float y,float w)
Set Prop value
int setPropVel(float vx,float vy,float vw)
Set Prop value
int setFalling()
Set starting Prop value
int setForce(float fx,float fy)
Set Prop value
int setElasticity(float el)
Set Prop value
int enableCollision(int onoff)
Set Prop value
int center()
Set Prop value
int setMomentum(float m)
Set Prop value
int setPrecisions(float vel,float torque)
Precision stabilization
int setGravity(float g)
Set value
int setIter(int it)
Iterations of euler integral
int reset()
Reset
int process(float dt)
Main function to calculate physic animation
int isBall()
Get instance value
float getPropR()
Get instance value
float getPropX()
Get instance value
float getPropY()
Get instance value
float getPropW()
Get instance value
float getPropVX()
Get instance value
float getPropVY()
Get instance value
float getPropVW()
Get instance value
int getNBSegments()
Access to define data
float getSegmentsBaseX1(int n)
Access to define data
float getSegmentsBaseY1(int n)
Access to define data
float getSegmentsBaseX2(int n)
Access to define data
float getSegmentsBaseY2(int n)
Access to define data
float getSegmentsX1(int n)
Access to define data
float getSegmentsY1(int n)
Access to define data
float getSegmentsX2(int n)
Access to define data
float getSegmentsY2(int n)
Access to define data
int isCollisionsGround()
Basic processing events
int isCollisionsObject()
Basic processing events
int isStatic()
Basic processing events
float getJointX(int j)
Get joint value
float getJointY(int j)
Get joint value
float getJointType(int j)
0:fixed 1:normal 2:spring
int setClassJoints(int p)
Set class for joints 0..63
int getNbJoints()
Get number of joints
# PHYSICS
int setEnvGravity(int wo,float g)
Gravity value (default : 9.81)
int setDepthEnv(int n)
Physic, determine the BSP dimension for physic environment
int setStatic(int iter)
Lifetime step for static determination
int resetFixedObjects()
Setup envionment
int resetTags()
Setup envionment
int addFixedObject(int n)
Setup envionment
int addFixedObjectAdded(int n)
Setup envionment
int addFixedObjectAddedImpostors(int n)
Setup envionment
int addVoxelObjectFromFunction(char *sfn,int dimx,int dimz,vector mini,vector maxi)
Setup envionment: y = float func(float x,float z) return y value (bounding x,z) (dimx,dimz: nb faces in collision mesh)
int addVoxelObjectFromCharPtr(char *sptr,int dimx,int dimz,vector mini,vector maxi)
Setup envionment: char * ptr[dimx*dimz] (0..255)*(maxi.y-mini.y)
int deleteEnvPhysic(int wo)
Setup envionment
int deleteDuplicates()
Setup envionment
int setApproximation(int approx)
Quick approximations of collisions
int setOrthoDimension2D(int on)
Makes 2D bsp for colision
int setOrthoLimit(float value)
Topological limit
int createEnvPhysicParams(int wo,float r,float f)
Create data for physic environment
int createEnvPhysicWOParams(int wo,int n,float r,float f)
Create data for physic environment
int createEnvPhysic(int wo)
Create data for physic environment
int delProp(int wo,int n)
Del property to envionment
int addProp(int wo,int n)
Add property to envionment
int calculateEnvPhysic(int wo,float DT)
Physic processing
int setCollisionFunctionEnvPhysic(int env,char * fn)
Physic processing function
int unsetCollisionFunctionEnvPhysic(int env)
physic processing function
int setFullProcessingPhysic(int toggle)
physic processing param (ON:full processing OFF:scale time interval)
int setSingleThreadPhysic(int toggle)
physic processing param (ON:single thread OFF:multithread)
int propStatique(int n)
Physic object that starts static
int propDynamic(int n)
Physic object that starts dynamic
int propDynamicWait(int n,int static)
Physic object that starts dynamic with constant latency
int propSetForce(int n,float fx,float fy,float fz)
Add forces to the object
int propDynamicPush(int n,float x,float y,float z)
The legal push force
int propSetForce(int n,float fx,float fy,float fz)
Physic interactions
int setMulMass(float m)
Mass multiplier, start = 1.0
int setKMass(float m)
Mass multiplier, start = 10
int propSetMass(int n,float m)
Physic (see sample codes)
int propSetRestitution(int n,float r)
Physic restitution parametrization
int propDynamicNoGravity(int n)
Physic (see sample codes)
int propColliding(int n,int env)
ON: colliding with other dynamic objects OFF:only env
int propFluid(int n,float visco,float temp)
Set fluid object (temp=25.0°©
int setEnvParamsFluid(int wo,float viscosity,float temperature,distance)
(physic fluid)
int setEnvParams(float response,float friction)
Basic values
int setObjParams(float response,float friction)
Basic values
int addWorldToEnvPhysic(int wo,int obj)
Setup physic environment
int addAddedToEnvPhysic(int wo,int add)
Setup physic environment from added (include morphing options)
int addWaterAddedToEnvPhysic(int wo,int add)
Setup physic environment from added as water (include morphing options)
int addCloneToEnvPhysic(int wo,int clone)
Setup physic environment
int createEnvPhysicVoid(int wo)
Setup physic environment
int isAnyParticlesCollidingMesh(int env,int mesh,vector mini,vector maxi)
Get if particles collide
int getAddedIndexCollisionMesh(int add)
Index of collision mesh
int addPlane(int wo,float a,float b,float c,float d)
Setup physic environment
int addPlaneWater(int wo,float a,float b,float c,float d,float visco)
Setup physic environment, plane water, viscosity (1..10)
int setKeysAddedEnvPhysic(int wo, int key1,int key2,float t)
Setup physic added environment morphing
int setPositionRotationAddedEnvPhysic(int wo,vector pos,vector rot)
Setup physic added environment (pos,rot)
int addPropClone(int env,int n,int flag)
Registering in env, 0:pob 1:ball 2:mesh 3:fullmesh
int delPropClone(int env,int n)
Registering in env
int testStaticClone(int n)
Test, n is the index of the clone
int testCollisionCloneClone(int n,int a,int b)
Test, a or b is the index of the clone
int testCollisionCloneEnv(int n,int a)
Test, a is the index of the clone
int testCollisionCloneObjs(int n,int a)
Test, a is the index of the clone
int getCollisionCloneEnv(int n,int a,vector p)
Get local position
int getCollisionCloneClone(int n,int a,int b,vector p)
Get local position
int getCollisionCloneObjs(int n,int a,vector p)
Get local position
int cloneStatique(int n)
State
int cloneDynamic(int n)
State
int cloneDynamicNoGravity(int n)
State
int cloneSetMass(int n,float m)
Mass
float cloneGetMass(int n)
Mass
int cloneSetRestitution(int n,float r)
Physic restitution parametrization
int cloneDynamicPush(int n,float x,float y,float z)
Force applied
int cloneSetForce(int n,float fx,float fy,float fz)
Force applied
int setupVoxelObjectFromFunction(char *sfn,int dimx,int dimz,vector mini,vector maxi)
Setup voxel object: y = float func(float x,float z) return y value (bounding x,z) (dimx,dimz: nb faces in collision mesh)
int setupVoxelObjectFromCharPtr(char *sptr,int dimx,int dimz,vector mini,vector maxi)
Setup voxel object: char * ptr[dimx*dimz] (0..255)*(maxi.y-mini.y)
int addVoxel()
Setup envionment with calculated voxel
# PHYSIC PARTICLES
int addParticle(int wo,vector pos,vector vit,float mass,int replace)
add a particle
int resetParticles(int wo)
reset particle container
int initParticles(int wo,int nb)
init
int freeParticles(int wo)
free
int setViscosityParticles(int wo,float v,float in,float out)
viscosity stuff
int setInteractionParticles(int wo,float step,int iter)
create link force
int setInteractionMulParticles(int wo,float mul,float sat)
create link force max
int setWindParticles(int wo,int onoff,vector wind)
wind force ON/OFF
int setGravityParticles(int wo,int onoff)
gravity force ON/OFF
int setPushParticles(int wo,int a,int b,vector push)
impulse to particles [a..b]
int setPushAllParticles(int wo,vector push)
impulse for all particles
int quickballEnvPhysicAdd(int wo,float R)
full quickballs rendering set
int getParticlesXYZ(int wo,int n,vector pos)
get position vector
int getParticlesVitXYZ(int wo,int n,vector vit)
get velocity vector
int getParticlesActive(int wo,int n)
get if active
float getParticlesTime(int wo,int n)
get time elapsed
int setParticlesXYZ(int wo,int n,vector pos)
set position
int setParticlesVitXYZ(int wo,int n,vector vit)
set velocity
int setParticlesActive(int wo,int n,int toggle)
set active
int setParticlesTime(int wo,int n,float t)
set/reset time elapsed
int setParticlesDependency(int wo,int n,int value)
set height dependency
# PHYSIC LINKS
int setLinksAdded(int wo,int add)
Set link from instance script
INIT : SLINK (%d list)
INIT : SPIVOT(XYZ)/(%f %f %f) (%d list)
INIT : SDSPRING (%f) (%d list)
INIT : [%d] DLINK (%d list)
INIT : [%d] DPIVOT(XYZ)/(%f %f %f) (%d list)
INIT : [%d] DSPRING (%f) (%d list)
INIT : [%d] DBALL (%d list)
int setLinksBallAdded(int wo,int add)
Set link from instance script
int setLinksSpringAdded(int wo,int add,float k)
Set link from instance script
int setLinksAddedFriction(int wo,int add,float f)
Set link from instance script
int setLinksAddedString(int wo,int add,float friction,char *script)
Set link from string
int setLinkFixedProp(int env,int n,vector p)
Set link from values
int setLinkFixed(int env,int n,vector p)
Set link from values
int setLinkJoint(int env,int a,int b,vector p,int friction)
Set link from values
int setLinkJointProp(int env,int a,int b,vector p,int friction)
Set link from values
int deleteLinkJoint(int env,int j)
Set link from values
int setIterations(int N)
Physic iterations
int setStaticMinValues(float value_velocity,float value_torque)
Physic minimal velocity for static evaluation, default:0.03 and 0.03
int enableScaleTime(int val)
Physic scale time ON/OFF
int setScaleTimeParams(int val)
Physic scale time multiplier
int getPropPosition(int n,vector position)
Get physic property infos
int getPropOrientation(int n,vector eulers)
Get physic property infos
int getPropVitesse(int n,vector vitesse)
Get physic property infos
float getPropVitesseNorm(int n)
Get physic property infos
int getPropAngularVelocity(int n,vector angular)
Get physic property infos
int setPropAngularVelocity(int n,vector eulers)
Get physic property infos
int setPropOrientation(int n,vector eulers)
Get physic property infos
int setPropPosition(int n,vector position)
Get physic property infos
int setPropVitesse(int n,vector vitesse)
Get physic property infos
int getPropMatrix(int n,matrix m)
Get physic property infos
int getPropMatrixOrientation(int n,matrix mo)
Get physic property infos
int testStaticProp(int n)
Return 1 if prop n is static
int testCollisionPropEnv(int n,int a)
Return 1 if prop a collidesc
int getCollisionPropEnv(int n,int a,vector p)
Fill p, prop a collides
int getCollisionPropProp(int n,int a,int b,vector p)
Fill p, prop a and b collides
int testCollisionPropProp(int n,int a,int b)
Return 1 if prop a and b collides
int testCollisionPropObjs(int n,int a)
return 1 if inter object collides
int getCollisionPropObjs(int n,int a,vector p)
Fill p, if inter object collides
int propDynamicCollidingObjs(int env,int n)
update props if prop a collides with objs
int setSpherePartitionDegree(int level)
sphere partition : 0..4, -1:auto
int testCollisionObjs(int env)
Return 1 if there are collisions between objects
int testCollisionEnv(int env)
Return 1 if there are collisions between environment
int testCollisionEnvWo(int env,int wo)
Return 1 if there are collisions for added wo with the environment
int testCollisionObjsWo(int env,int wo)
Return 1 if there are collisions for added wo with other objects
float testCollisionWo(int env,int wo)
Return 1 if there are collisions for added wo with other objects or environment
int setCollisionLimit(float f)
Variable for collision test
int setCollisionEnveloppe(float coef)
parameter of collision detection
int isPropCollidingProp(int env,int a,int b)
prop a and b colliding or not
int isPropCollidingObjs(int env,int add)
prop a colliding or not with all others
int isPropCollidingEnv(int env,int add)
prop a colliding or not with env
int convertMatrixToEulers(matrix m,vector eulers)
Get eulers angle of rotation from matrix
int convertMatrixToPosition(matrix m,vector pos)
Get coordinate from matrix
int convertVectorToEulers(vector m,int orientation,vector eulers)
Get eulers angle of rotation from orientation vector
int setEnvTransformationWO(int env,int wo)
Dynamnic environnement for physic
int setEnvPosition(int env,float x,float y,float z)
Dynamnic environnement for physic
int setEnvRotation(int env,float x,float y,float z)
Dynamnic environnement for physic
int setEnvWORotation(int env,int wo,float x,float y,float z)
Dynamnic environnement for physic (void env)
int setEnvWORotation(int env,int wo,float x,float y,float z)
Dynamnic environnement for physic (void env)
int setEnvAddRotation(int env,int add,float x,float y,float z)
Dynamnic environnement for physic (void env)
int setEnvAddRotation(int env,int add,float x,float y,float z)
Dynamnic environnement for physic (void env)
int restoreBaseAdded()
If new added objects generated, delete them
int splitAdded(int add,vector p,vector N,float sign)
Add new two objects split of added
int destroyAdded(int wo,int n)
Add new objects part of destroyed added n
int destroyAdded3Parts(int wo,int n)
Add new objects part of destroyed added n
int destroyAddedSetType(int typ)
Set the type ob added object added when destroyed : 5:mesh 0:cube 6:fullmesh 4:sphere
# DEFORMABLES
int getNbTreeBones(int wo)
Get number of bones in wo
int setWOtoDeformable(int env,int n)
Convert bones to added props
int setWOtoDeformableSpring(int env,int n,float k)
Convert bones to added props
int setWOtoDeformableFixedUp(int env,int n)
Convert bones to added props
int setWOtoDeformableSpringFixedUp(int env,int n,float k)
Convert bones to added props (k raideur)
int setDeformableCollision(int onoff)
Collision inside
int setDeformableMatrices(int wo)
Deformables matrices processing
int setDeformableFriction(float normal,float fixed)
Deformables friction normal and fixed (0..1) start: 0.9 and 0.1
int setDeformablesProp(int prp)
Deformables prop type: 0:pob 4:ball 5:mesh 6:fullmesh
int deleteDeformable(int n)
Deformables delete physic props
int numberDeformable()
Number
int setDeformablesParams(int reallink,int relax)
reallink generate nodal structure to be processed in multithread and continuously, relax skip forces resolve.
int isStaticDeformable(int n)
Deformables test static physic props
int isStaticDeformableParam(int n,float seuil)
Deformables test static physic props
int getAddedDeformable(int n)
Deformables starting added props
int getNbAddedDeformable(int n)
Deformables number of added props
int setCloneDeformable(int clone,int wo,int env)
Deformables convert clone bones to added props
int setCloneDeformableSpring(int clone,int wo,int env,float k)
Deformables convert clone bones to added props (k raideur)
int setCloneDeformableFixedUp(int clone,int wo,int env)
Deformables convert clone bones to added props
int setCloneDeformableSpringFixedUp(int clone,int wo,int env,float k)
Deformables convert clone bones to added props (k raideur)
int setCloneDeformableSmooth(int clone,int wo,int env)
Deformables convert clone bones to added props
int setCloneDeformableMatrix(int clone)
Deformables matrices processing
int getCloneDeformablePivot(int clone,int node)
Deformables prop relative to node
int setCloneDeformableForce(int clone,float x,float y,float z)
Deformables apply force to physic props
int setDeformableForce(int clone,float x,float y,float z)
Deformables apply force to physic props
int setDrawBonesDeformable(int d,int onoff)
Deformables rendering option
int setDrawCloneBonesDeformable(int clone,int onoff)
Deformables rendering option
int numberDeformable()
trivial
int setSizeDeformable(float sz)
element size of the deformable
# MATRIX VECTOR FUNCTIONS
int interpolation(vector res,vector a,vector b,float t)
a->b interpolation by -t-
int matricesLoad()
Preload matrices
void mulView(vector v)
Multiply by VIEW
float mulViewZ(vector v)
Multiply by VIEW return z for clipping
void mulViewProj(vector v)
Multiply by VIEW*PROJ
void mulViewProjViewport(vector v)
Multiply by VIEW*PROJ*VIEWPORT
void loadView(matrix m)
Get matrix
void loadProj(matrix m)
Get matrix
void loadViewport(matrix m)
Get matrix
void loadViewProj(matrix m)
Get matrix
void loadViewProjViewport(matrix m)
Get matrix
# MATRIX VECTOR CLASS METHODS
vector:
Init(float x,float y,float z)
Zero()
matrix:
Id()
Translation(float x,float y,float z)
Rotation(float x,float y,float z)
RotationDegrees(float x,float y,float z)
Scaling(float x,float y,float z)
DirectionX(float x,float y,float z)
DirectionY(float x,float y,float z)
DirectionZ(float x,float y,float z)
Transform(float rx,float ry,float rz,float x,float y,float z)
TransformDegrees(float rx,float ry,float rz,float x,float y,float z)
TransformDirectionX(float x,float y,float z,float dirx,float diry,float dirz)
TransformDirectionY(float x,float y,float z,float dirx,float diry,float dirz)
TransformDirectionZ(float x,float y,float z,float dirx,float diry,float dirz)
void getVectorObject(int nobj,int nv,vector v)
Result of processing
void getVectorObject2d(int nobj,int nv,vector v)
Result of processing
void getVectorObjectFace(int nobj,int nf,vector v)
Result of processing
void getVectorObjectFace(int nobj,int nf,vector v)
Result of processing
void getObject(int nobj,vector v)
Result of processing
void getObject2d(int nobj,vector v)
Result of processing
float norm(vector v)
Length of a vector
int normalise(vector v)
Normalise vector
int base1(vector v,vector res)
T,N,B
int base2(vector v,vector res)
T,N,B
# SOUND
int loadOGG(char *fname,int loop)
Load main sound
int stopOGG()
Stop playing sound
int volumeOGG(float v)
Set volume
int loadSound(int n,char *fname,int rate)
Load sound WAV of OGG
int freeSound(int n)
int createSampleMusic(int n,char *fname,int pattern,int seconds)
Generate sound from Module
int createSampleMusicInterval(int n,char *fname,int pattern,int seconds)
Generate sound from Module starting pattern of seconds
int createSound(int n,char *varname,int len)
Create sound from string var
Free sound
int playSound(int n,int loop)
Play
int setVolumeSound(int n,float vol)
Volum 0..1
int setPanSound(int n,float pan)
Pan -1..1
int isPlayingSound(int n)
returns 1 if playing
int set3DSound(int num,vector pos,float vol)
set pan and volum to 3d position from Camera
int initSound()
Init sound player
int killSound()
Free sound player
int initMusicPlayer()
Init MOD,XM,OGG player
int killMusicPlayer()
Free MOD,XM,OGG player
int loadMusic(int n,char *fname)
Load MOD,XM return handle
int playMusic(int n)
Play handle
int setMusicVolume(float vol)
Volum
int getMusicNumberSamples()
MOD,XM infos
int getMusicSampleString(int ns,char * str)
MOD,XM infos
int getMusicPattern()
MOD,XM infos
int getMusicRow()
MOD,XM infos
int getMusicVoices()
MOD,XM infos
int getMusicSampleAt(int voice,int pattern,int row)
MOD,XM infos
int getMusicNoteAt(int voice,int pattern,int row)
MOD,XM infos
int getMusicNotePeriodAt(int voice,int pattern,int row)
MOD,XM infos
int getMusicEffectAt(int voice,int pattern,int row)
MOD,XM infos
int getMusicEffectParamAt(int voice,int pattern,int row)
MOD,XM infos
int getMusicVolumAt(int voice,int pattern,int row)
MOD,XM infos
# SCRIPT FUNCTIONS
int setScriptAdded(int wo)
focus on added object animation strings
int getNbLine()
Number of lines
int setLine(int line)
Set line offset
int gotoLabel(char *label)
Labels are used in multiple uses of script
int testStringScript(int wo,char *s)
Test a scan line
int resetConditions()
Parametrize a scan line
int addCondition(char *cond)
parametrize a scan line
int resetActions()
Parametrize a scan line
int addAction(int n,char *action)
Parametrize a scan line
int testCase()
Parametrize a scan line
int testInit()
Parametrize a scan line
int testStringCondition(char *s)
Test Condition string of a scan line
int testStringAction(char *s)
Test Action sctring of a scan line
int testString(char *s)
Test a scan line
int getStringsActionCondition(char *cond,char *act)
Get Condition/Action sctring of a scan line
int getAddedTag(char *s,int n)
"%s%d" search in script with "TAG" added objects
# TEXT DRAW
int strGetString(char * array,char * str,int size,int n)
Packed array of fixed strings
int strSetString(char * array,char * str,int size,int n)
Packed array of fixed strings
int strGetNum(char * array,char * str,int size,int nb)
Packed array of fixed strings
int strCmpString(char * array,char * str,int size,int nb)
Packed array of fixed strings
int strLastString(char * array,char * str,int size,int pos,int nb)
Packed array of fixed strings
int strCleanString(char *svar)
clean spaces
int getString(char * array,char * str,int size,int n)
Direct char* Packed array of fixed strings
int setString(char * array,char * str,int size,int n)
Direct char* Packed array of fixed strings
int getNum(char * array,char * str,int size,int nb)
Direct char* Packed array of fixed strings
int cmpString(char * array,char * str,int size,int nb)
Direct char* Packed array of fixed strings
int lastString(char * array,char * str,int size,int pos,int nb)
Direct char* Packed array of fixed strings
int cleanString(char *svar)
Direct char* clean spaces
int evalIntString(char *exp)
calculate evaluation
float evalFloatString(char *exp)
calculate evaluation
int evalBoolString(char *exp)
calculate evaluation
int evalBoolStringBasic(char *exp)
calculate evaluation
int strCharString(char *svar,int c)
First Char 'c' in strings
int strChar(char *s,int c)
First Char 'c' in char
int inIntArray(int value,char * svar,int nb)
int array test
int inFloatArray(float value,char * svar,int nb)
float array test
int inFloatApproxArray(float value,char * svar,int nb)
float array test
# TEXT DRAW
int resetTextParam()
Reset text param
int setcTextParam(int c)
Set text param
int setiTextParam(int n)
Set text param
int setfTextParam(float f)
Set text param
int setsTextParam(char *s)
Set text param
int drawTextParam(char *format,float x,float y,float r,float g,float b,float scale)
Draw function for text params
int drawCenteredTextParam(char *format,float x,float y,float r,float g,float b,float scale)
Draw function for text params
int drawRightTextParam(char *format,float x,float y,float r,float g,float b,float scale)
Draw function for text params
int drawText3DParam(char *format,float x,float y,float z,float r,float g,float b,float scale)
Draw function for text params
# OBJECT FUNCTIONS
int setObjectPosition(int nwo,float x,float y,float z)
Position of object
int setObjectRotation(int nwo,float rx,float ry,float rz)
Rotation of object
int setObjectText(int nwo,char *str)
Text of object
int setObjectAddedPosition(int nwod,float x,float y,float z)
Position of object
int setObjectAddedToAdded(int nwod,int nn)
Relative position of object
int setObjectAddedStartPosition(int nwod)
Position of object
int setObjectStartPosition(int nwod)
Position of object
int setObjectAddedRotation(int nwod,float rx,float ry,float rz)
Rotation of object
int setObjectAddedText(int nwod,char *str)
Text of object
int toggleWorldVisible(int n,int vs)
Draw calls
int toggleAddedVisible(int n,int vs)
Draw calls
int toggleWorldOnlyShadows(int n,int sh)
Draw calls
int toggleAddedOnlyShadows(int n,int sh)
Draw calls
int setAddedMatrices(int n,matrix m,matrix mr)
Draw matrix calls
int toggleAddedMatrices(int n,int onoff)
Draw matrix calls
# TEXT MODE CONSOLE FUNCTIONS
int initConsole(int w,int h)
dim, max 512x512
int drawConsole(int show)
draw console
int drawConsoleBorder(int show,int x1,int y1,int x2,int y2)
draw console
int print(char *s)
text mode print
int scroll()
vertical scroll
int scrolldown()
vertical scroll
int scrollleft()
horizontal scroll
int scrollright()
horizontal scroll
int border(int x1,int y1,int x2 int y2)
screen zone
int locate(int x,int y)
console cursor
int bgalpha(int alpha)
console colors
int bgcolor(int r,int g,int b)
console colors
int color(int r,int g,int b)
console colors
int cls()
console clear
int locationx()
console prop
int locationy()
console prop
int coordx()
console prop
int coordy()
console prop
int getcolor()
console colors
int gettext(char *var,int len)
console func
int gettextspace(char *var)
console func
int leftspace()
console func
int rightspace()
console func
int linefeed(int ln,char *var)
console func
int charfeed(int x,int y)
console func
int leftspacechar(char *var,int pos)
console func
int rightspacechar(char *var,int pos)
console func
int retrieveint(char *var)
string func
float retrievefloat(char *var)
string func
int parentheses(char *varsrc,char *vardest)
string func
int guillemets(char *varsrc,char *vardest)
string func
int dissociate(char *varsrc,char *vardest,int size)
string func
int dissociatecomma(char *varsrc,int ofs,char *vardest,int size)
string func
int dissociatenostring(char *varsrc,char *vardest,int size)
string func
int dissociatenoprth(char *varsrc,char *vardest,int size)
string func
int strretrieveint(char *str)
string func
float strretrievefloat(char *str)
string func
int strparentheses(char *src,char *dest)
string func
int strguillemets(char *src,char *dest)
string func
int strdissociate(char *src,char *dest,int size)
string func
int strdissociatecomma(char *src,int ofs,char *dest,int size)
string func
# EFFECT FUNCTIONS
void setVolumetricFog(int nt,float zf1,float zf2)
Draw the whole scene with fog
int setVolumetricFogNoErase(int nt,float zf1,float zf2)
Draw the whole scene with fog (with no erase of the background)
void setColorFog(int r,int g,int b)
R,G,B color (0..100)
int setDetailFog(int nb)
Default: 20 planes
void unsetFog()
Do not draw fog
# PARTICULES AND SPECIAL EFFECTS FUNCTIONS
int thunderSwitchBank(int bank)
up to 16 banks
int thunderGetBank()
up to 16 banks
int thunderNB()
Number of thunderbolts
int thunderDelete(int n)
Delete a thunderbolt
int thunderSetAlpha(int n,float alpha)
Thunderbolt transparency
float thunderGetAlpha(int n)
Thunderbolt transparency
int thunderGetA(int n,vector v)
Get thunderbolt point A
int thunderGetB(int n,vector v)
Get thunderbolt point B
int thunderSet(int n,vector a,vector b,int nt)
Set an existing thunderbolt with nT texture : return the number in list
int thunderReset()
Reset thunderbolt set
int thunderNew(vector a,vector b,int nt)
Add a new thunderbolt with nT texture : return the number in list
float fireCalculate(vector p,vector v,float R,float t,float DT)
process quickball fire: return new(R) and update p
int iblissGet(int i,int x,int y,int z,vector p)
i [0..8], particules (x,y,z) [0..K]
int iblissSet(int i,int x,int y,int z,vector p)
i [0..8], particules (x,y,z) [0..K]
int iblissCalc(int i,int K1,int K2,float dt)
i [0..8], process animation
int iblissNewCia(int i)
i [0..8], ibliss start
int iblissNew(int i)
i [0..8], ibliss new
int iblissNewWith(int i,int K,float D)
i [0..8], ibliss custom
int iblissSetKD(int i,int K,float D)
i [0..8], ibliss params
int iblissGetK(int i)
i [0..8], ibliss params
float iblissGetD(int i)
i [0..8], ibliss params
int iblissZero(int i)
i [0..8], ibliss params metaballs
int iblissAdd(int i,float x,float y,float z,float R)
i [0..8], ibliss params metaballs
int iblissReset()
i [0..8], ibliss reset
int petalsSwitchBase(int base)
up to 16 containers
int petalsGetBase()
up to 16 containers
int petalsInit(int cnt,int nb)
cnt is a bank, nb is the number of particles
int petalsKill(int cnt)
Free petals
int petalsReset(int cnt)
Reset petals
int petalsDraw(int n)
Draw active particles
int petalsToggleDraw(int n,int onoff)
Toggle draw particles in rendering
int petalsDownLimit(int n,float y)
Down limit
int petalsUpLimit(int n,float y)
Up limit
int petalsSetAlpha(int cnt,float alpha)
general alpha value
int petalsSetAlphaParticles(int cnt,float alpha,float incr)
general alpha value
int petalsDelAlphaZero(int cnt)
suppress particles with alpha zero
int petalsSetActive(int cnt,int active)
Enable or disable builtin drawing
int petalsGetNbParticles(int cnt)
Number of active particles
int petalsGetXYZParticle(int cnt,int n,vector p)
Position in space particle
int petalsGetPrevXYZParticle(int cnt,int n,vector p)
Last position in space particle
int petalsGetPrev2XYZParticle(int cnt,int n,vector p)
Last previous position in space particle
int petalsGetTextureParticle(int cnt,int n)
Texture numer particle
float petalsGetRadiusParticle(int cnt,int n)
Radius particle
float petalsGetTimeLapseParticle(int cnt,int n)
Time lapse particle since start
int petalsGenerate(int cnt,float r,float g,float b,float density,int option,int nt)
option: rgb only: 0/-1 : r,g,b -2,-3: blend, lapse, object texture: +1 normal, +2 blend, +3 lapse
int petalsSetForce(int cnt,float x,float y,float z)
Force applied
int petalsSetAnimFunction(int cnt,char *func)
Function applied "float func(vector p,vector v,vector rgb,vector col1,vector col2,float t,float dt)"
Functions to add lighter than air particules:
int petalsAddFire(int cnt,float x,float y,float z,float r,float g,float b,int nt)
Add particles
int petalsAddFireLapse(int cnt,float x,float y,float z,float r,float g,float b,float muldt,int nt)
Add particles
int petalsAddFireChaos(int cnt,float x,float y,float z,float r,float g,float b,float muldt,int nt)
Add particles
int petalsAddFireBlend(int cnt,float x,float y,float z,float r,float g,float b,float muldt,int nt)
Add particles
int petalsSetLocal(int cnt,float x,float y,float z)
Add particles implies
int petalsSetRadius(int cnt,float R)
Add particles values
Functions to add static particules:
int petalsAddFixed(int cnt,float x,float y,float z,float r,float g,float b,float R,int nt)
Add particles
Functions to add gravity particules:
int petalsAddParticule(int cnt,float x,float y,float z,float vx,float vy,float vz,float r,float g,float b,float R,int nt)
Add particles
int petalsAddParticuleBlend(int cnt,float x,float y,float z,float vx,float vy,float vz,float r,float g,float b,float R,int nt)
Add particles
int petalsAddParticuleRandom(int cnt,float x,float y,float z,float vx,float vy,float vz,float r,float g,float b,float rand,float R,int nt)
Add particles (hazard)
int petalsAddClouds(int cnt,float x,float y,float z,float r,float g,float b,int nt)
Add particles
int petalsAddImpostors(int cnt,float x,float y,float z,float r,float g,float b,int nt)
Add particles
int petalsSetStatic(int cnt)
Status particles
int petalsUnsetStatic(int cnt)
Status particles
int petalsCalculate(int cnt,float dt)
Animation particles
int petalsCreateFurOrGrass(int cnt,int n,int nt,int ntgrass)
Generate particles
int petalsCreateClouds(int cnt,char *file_name,int nt,float dim,float high)
Generate particles
# GENERATE FUNCTIONS
int setCloneGenerate(int clone,char * func)
generate function initializers: int func(int num_clone): returns 1 if visible
int setVerticesFunctionGenerate(char *func)
Vertex processing in "generateFBX()" or "petalsGenerate()" -> int func(int n,vector stok,vector calc): returns 1 if visible
int radiusFBX(float r)
relative occlusion radius
int positionFBX(float x,float y,float z)
relative occlusion position
int generatingFBX()
returns 1 if generating
int functionCloneFBX(char *sfn)
Vertex processing in "generateFBX()" or "petalsGenerate()" -> int func(int n,vector stok,vector calc): returns 1 if visible
int functionClonePreGenerateFBX(char * preshader,char * gen)
affectation of gen on selected preshader
int generateFBX(char *folder,char *filename,int textures)
generate .FBX [path]_filename_.fbx
# VARIOUS FUNCTIONS
int addedCloserCoo(float x,float y,float z)
Topology
float distanceToAdded(int wo,float x,float y,float z)
Topology
float distanceAddedToAdded(int add1,int add2)
Topology
int testMouse(int x,int y,int R)
Interaction function for 2d composition
int fixMouse(int x,int y)
float xProj(float x,float y,float z)
Interaction function for 2d composition
float yProj(float x,float y,float z)
Interaction function for 2d composition
# RECURSIVE FUNCTIONS
int setPointerXY(int xm,int ym)
calculate pointer info, returns 1 if hit
int setPointerXYWH(int xm,int ym,int sx,int sy)
calculate pointer info, returns 1 if hit
int setPointerVector(vector u)
calculate pointer info, returns 1 if hit
int getPointerVector(vector res)
get pointer coord.
int isPointerAdded()
is an additionnal
int isPointerWorld()
is a world object
int getPointerNum()
get pointer object index
int getPointerNumFace()
get pointer face index
# RECURSIVE FUNCTIONS
REC_DEPTH (integer accessible during call of term and function)
int registerRecursive(char *term,char *function)
Recursive function settings to be called with termination
int callRecursiveFunction()
Recursive function to be called with termination
# RECURSIVE FUNCTIONS
int createThread(char *fn)
Create thread with function fn, return id
int createThreadMS(char *fn,int ms)
Create repeating thread with function fn, return id
int stopThread(int th)
Stop thread n
int threadJoin(int n)
Join thread n
int nbThreads()
Return number of threads
# WIDGETS
int initWindowing(int nt,float scale,char *namefont)
Widgets
int textureWindowing(int nt)
Widgets texture
int textureWindowingButton(int nt)
Widgets buttons texture
int quadLinesWindowing(int onoff)
Widgets lines borders
int quadLinesBlackWindowing(int onoff)
Widgets black lines borders
int quadLinesReliefWindowing(int size)
Widgets relief lines borders
int colorWindowing(int tag,float r,float g,float b)
Widgets color 0:menu 1:dialogbar 2:window 3:buttons
int killWindowing()
Widgets
int refreshWindowing()
Widgets
int drawAndManageWindowing()
Widgets
int refreshContextual(int menu)
Widgets
int setEvent(int dlg,int id,char * func)
Widgets Events
int setEventMenu(int menu,int id,char * func)
Widgets Events
int setEventMenuContextual(int menu,int id,char * func)
Widgets Events
int resetEvents()
Widgets Events
int resetEventsMenus()
Widgets Events
int resetEventsMenusContextuals()
Widgets Events
int freeMenu(int menu)
Widgets Main elements
int freeMenuBar(int menubar)
Widgets Main elements
int freeDialog(int dlg)
Widgets Main elements
int freeAllDialog()
Widgets Main elements
int freeAllMenus()
Widgets Main elements
int freeAllMenuBars()
Widgets Main elements
int newMenu()
Widgets Main elements
int newMenuBar()
Widgets Main elements
int hideMenu(int menu)
Widgets Main elements
int hideMenuBar(int menu)
Widgets Main elements
int menuAppend(int menu,int id,char * txt,int enable)
Widgets menu stuffs
int menuAppendSubMenu(int menu,int sub,char * txt)
Widgets menu stuffs
int menuBarAppend(int menu,int id,char * txt)
Widgets menu stuffs
int menuBarAppendSubMenu(int menu,int sub char* txt)
Widgets menu stuffs
int freeToolbar()
Widgets Toolbar
int newToolbar(char * pngfile,int w,int h,int drawsizex,int drawsizey)
Widgets Toolbar
int setTool(int id,int style)
Widgets Toolbar
int enableTool(int id,int value)
Widgets Toolbar
int toggleTool(int id,int value)
Widgets Toolbar
int isToolEnabled(int id)
Widgets Toolbar
int isToolChecked(int id)
Widgets Toolbar
int functionToolbar(char *sfn)
Widgets Toolbar msg function
int newMessageBox(char * title,char * message)
Widgets Message Box
int newDialog(char * name,int x,int y,int w,int h)
Widgets Main elements
int centerDialog(int dlg)
Widgets Main elements
int scaleDialog(int dlg,float scale)
Widgets Main elements
int drawSingleDialog(int dlg,int active)
Widgets draw Dialog
int setDialogXY(int dlg,int x,int y)
Widgets dialog stuffs
int setDialogWH(int dlg,int w,int h)
Widgets dialog stuffs
int getDialogX(int dlg)
Widgets dialog stuffs
int getDialogY(int dlg)
Widgets dialog stuffs
int getDialogW(int dlg)
Widgets dialog stuffs
int getDialogH(int dlg)
Widgets dialog stuffs
int setItemXY(int dlg,int item,int x,int y)
Widgets dialog item stuffs
int setItemWH(int dlg,int item,int w,int h)
Widgets dialog item stuffs
int getItemX(int dlg,int item)
Widgets dialog item stuffs
int getItemY(int dlg,int item)
Widgets dialog item stuffs
int getItemW(int dlg,int item)
Widgets dialog item stuffs
int getItemH(int dlg,int item)
Widgets dialog item stuffs
int newStaticText(int dlg,char * txt,int x,int y,int w,int h)
Widgets item adding
int setLabel(int dlg,int item,char * txt)
Widgets item adding
int newStaticBox(int dlg,char * txt,int x,int y,int w,int h)
Widgets item adding
int newButton(int dlg,int id,char * txt,int x,int y,int w,int h)
Widgets item adding
int newTextCtrl(int dlg,int id,char * txt,int multi,int x,int y,int w,int h)
Widgets item adding
int getTextCtrlString(int dlg,int item,char *str)
Widgets item text ctrl stuff
int setTextCtrlString(int dlg,int item,char *str)
Widgets item text ctrl stuff
int addTextCtrlString(int dlg,int item,char *str)
Widgets item text ctrl stuff
int resetTextCtrl(int dlg,int item)
Widgets item text ctrl stuff
int newCheckBox(int dlg,int id,char * txt,int x,int y,int w,int h)
Widgets item adding
int setCheckBoxState(int dlg,int item,int value)
Widgets item checkbox
int getCheckBoxState(int dlg,int item)
Widgets item checkbox
int newBitmap(int dlg,int x,int y,int w,int h)
Widgets item adding
int getBitmapRelativeX(int dlg,int item)
Widgets item bitmap stuffs
int getBitmapRelativeY(int dlg,int item)
Widgets item bitmap stuffs
float getBitmapRelativeFloatX(int dlg,int item)
Widgets item bitmap stuffs
float getBitmapRelativeFloatY(int dlg,int item)
Widgets item bitmap stuffs
int setBitmapSecondary(int dlg,int item,int nt)
Widgets item bitmap stuffs
int setBitmapImage(int dlg,int item,char * rawname,int w,int h)
Widgets item bitmap stuffs
int setBitmapTexture(int dlg,int item,int nt)
Widgets item bitmap stuffs
int setBitmapBump(int dlg,int item,int nt)
Widgets item bitmap stuffs
int setBitmapFile(int dlg,int item,char *filename)
Widgets item bitmap stuffs
int newSlider(int dlg,int id,int value,int a,int b,int x,int y,int w,int h)
Widgets item adding
int setSliderValue(int dlg,int item,int value)
Widgets item slider
int getSliderValue(int dlg,int item)
Widgets item slider
int newGauge(int dlg,int id,int range,int x,int y,int w,int h)
Widgets item adding
int setGaugeValue(int dlg,int item,int value)
Widgets item gauge
int getGaugeValue(int dlg,int item)
Widgets item gauge
int getGaugeRange(int dlg,int item)
Widgets item gauge
int newFileCtrl(int dlg,int id,int multi,int x,int y,int w,int h)
Widgets item adding
int setWildCard(int dlg,int item,char * str)
Widgets item file ctrl
int setDirectory(int dlg,int item,char * str)
Widgets item file ctrl
int setDirectoryModels(int dlg,int item)
Widgets item file ctrl
int setDirectoryTextures(int dlg,int item)
Widgets item file ctrl
int setDirectoryNED(int dlg,int item)
Widgets item file ctrl
int getDirectory(int dlg,int item,char * str)
Widgets item file ctrl
int getFilename(int dlg,int item,char * str)
Widgets item file ctrl
int getFileCtrlNumber(int dlg,int item)
Widgets item file ctrl
int getFileCtrlItem(int dlg,int item,int n,char * str)
Widgets item file ctrl
int newListBox(int dlg,int id,int multi,int x,int y,int w,int h)
Widgets item adding
int clearList(int dlg,int item)
Widgets item listbox
int setListItem(int dlg,int item,char *str)
Widgets item listbox
int getListItemNumber(int dlg,int item)
Widgets item listbox
int getListItem(int dlg,int item,int n,char *str)
Widgets item listbox
int getListItemSel(int dlg,int item,char *str)
Widgets item listbox
int setListSelection(int dlg,int item,int n,int value)
Widgets item listbox
int getListSelection(int dlg,int item,int n)
Widgets item listbox
int setListItemSelected(int dlg,int item,int sel)
Widgets item listbox
int getListItemSelected(int dlg,int item)
Widgets item listbox
int menuAppendFonts(int menu,int contextual,char * func)
Widgets menu
int readPathFontSelected(int id,char * filename)
Widgets menu infos
int readNameFontSelected(int id,char * filename)
Widgets menu infos
int isContextMenuDrawn()
Widgets menu info
int isADialogDrawn()
Widgets dialog info
# STUFFS
int updateVirtualPad(int scn)
Update VirtualPAD with script : MAINSCENE,ACTUALSCENE,[0..n]
int forgetVirtualPad(int scn)
Forget VirtualPAD
int drawVirtualPad(int onoff)
Toggle draw VirtualPAD
int isAFile(char *fname)
fname is a file
int freeKeyboard()
reset pads
int getDirectoryFromPath(char *fname,char *dir)
filepath function
int getFileFromPath(char *fname,char *file)
filepath function
# PTRS
int memoryCopy(char *dest,char *src,int nb)
memory $char *$ stuffs
int memoryAdd(char *dest,char *src,int nb)
memory $char *$ stuffs
int memoryMul(char *dest,char *src,int nb)
memory $char *$ stuffs
int memorySub(char *dest,char *src,int nb)
memory $char *$ stuffs
int memoryZero(char *dest,int nb)
memory $char *$ stuffs
int memorySet(char *dest,int value,int nb)
memory $char *$ stuffs
# FORMS
int formSelect(int nf,int cf)
int formDelPointFromIndex(int clf,int cf,int n)
int formGetPointFromIndex(int clf,int cf,int n,vector v)
int formSetPointFromIndex(int clf,int cf,int n,vector v)
int formSetNumberOfPointsFromIndex(int clf,int cf,int nb)
int formSetTagFormFromIndex(int clf,int cf,int tag)
int formNewFormFromIndex(int clf)
int formNewForms()
int formGetNBForms()
int formGetFormNumber(int nf,int cf)
int formGetCloser()
int formSelectedNB(int n,float x,float y)
int formSelectedGetPoint(int n,vector v)
float formSelectedGetLen(int n)
int formOldNB(int n,float x,float y)
int formOldGetPoint(int n,vector v)
float formOldGetLen(int n)
int formSelectedSetPoint(int n,float x,float y)
int formSelectedSetLen(int n,float len)
int formsSetView(float dx,float dy,float zoom)
int formDraw(int n,int sub)
int formsDraw(int n)
int formShaperEdit()
int formDrawGrid()
int formsBackup()
int formsRestore()
int formGetPointed(vector v)
int formGetCoo(vector v)
int formScale(float sx,float sy)
int formRotate(float ang)
int formStartEdit()
int formEndEdit()
int formEndEditClose()
int formsGetDEF()
int formsSetDEF(int value)
int formsGetMISC()
int formsSetMISC(int value)
int formsGetRAYON()
int formsSetRAYON(int value)
int formCreateCircle()
int formCreateQuad()
int formCreateSpiral()
int formCreateCopy()
int formCreateTri()
int formSubdivise()
int formTag()
int formsAdd()
int formsMerge()
int formsSubtract()
int formInvert()
int formSelectedNum()
int formDelete(int n)
int formToggleEditNormals(int onoff)
int formsReset()
int formsDrawNormals(int onoff)
int formsDrawPoints(int onoff)
int formsDrawCrosses(int onoff)
int setFormImageFile(char * filename)
int getFormImageFile(char * filename)
int formTranslateVertex(int n,float x,float y)
int formGetVertex()
int formsUploadShape()
int formsUploadObjectExtrude()
int formsUploadObjectExtrudeAll()
int formsUploadObjectRev()
# SEGMENTS
int intersectionSegment(float ax1,float ay1,float ax2,float ay2,float bx1,float by1,float bx2,float by2)
[axy1,axy2] intersection [bxy1,bxy2] return 1
float intersectionSegmentGetPointX()
x value of intersection
float intersectionSegmentGetPointY()
y value of intersection
# PATTERN RECOGNITION
int patternRegister(char * sstart,char *send)
int patternCalculate(int num,int nb)
int patternCompare(int num,int nb)
int patternGet(int num,char *s)
int patternDrawlines()
int patternHasIntersections(int nb)
int patternSetAffect(int n,int val)
int patternGetAffect(int n)
int patternSetNumbers()
int patternSaveShape(int nb,int num,int aff)
int patternSetting(int val)
int patternCompareAlphaNum(int nb,char * s)
int patternCompareFormattedAlphaNum(int nb,char * s,char * fmt)
int patternDeleteLastSymbol(int nb)
int patternAlphaNumSingleStart(int nb,int key)
int patternAlphaNumSingleEnd(int nb,int key)
# A STAR
int AstarPushBank(int bank)
up to 128 banks
int AstarPopBank(int bank)
up to 128 banks
int AstarSolve()
-1: path not found, 0..n: path found through closest
int AstarRegisterPoint(vector p)
add checkpoint
int AstarClearPoints()
clear checkpoints
int AstarRegisterLink(int a,int b)
add link
int AstarClearLinks()
clear links
int AstarClosest(vector p)
closest point
int AstarNbPoints()
nb points
int AstarNbLinks()
nb links
int AstarLinkA(int n)
link A
int AstarLinkB(int n)
link B
int AstarGetPoint(int n,vector v)
point n
int AstarNormalize()
subdivise links
int AstarNormalizeCoef(int prm)
subdivise links x prm
# MODULE SPECIFICS
int hasardPositions(char *tab,int nb,int dimx,int dimy,int dimz)
tab="vector list[x]", generate random coordinates
# MODULE SPECIFICS
int uploadAddedToScene(int wo)
int uploadAddedToSceneAdditionnals(int wo)
int downloadAddedToScene(int wo)
int downloadAddedToSceneAdditionnals(int wo)
int downloadWorldToScene(int wo)
int downloadWorldToSceneAdditionnals(int wo)
int getTextureSelectedIndex()
int sceneSet(int scn)
-1: main -666:module 0..n:secondary
int sceneSetContainers(int scn)
-1: main -666:module 0..n:secondary
int sceneGet()
-1: main -666:module 0..n:secondary
# IMAGES BANK & TEXTURES
int loadImage(int n,char *fname)
Images load function with filename
int loadImageMem(int n,char *ext,char *svar,int len)
Images function ext="PNG" or "JP2" svar reference to a char*
int loadImageTexture(int nt,char *filename)
load texture
int loadImageBump(int nt,char *filename)
load bump map
int loadImageNormals(int nt,char *filename)
load normal map
int loadImageTextureMem(int nt,char *ext,char *svar,int len)
load texture
int loadImageBumpMem(int nt,char *ext,char *svar,int len)
load bump map
int loadImageNormalsMem(int nt,char *ext,char *svar,int len)
load normal map
int valueImageW(int n)
Images function
int valueImageH(int n)
Images function
int typeImage(int n)
Images function
int freeImage(int n)
Images function
int copyImage(int n,char *destname)
Images function
int textureImage(int n,int nt)
Image n to texture lib nt
# ALPHABETA FUNCTIONS (DUAL GRAPHS)
int nedLoadHeader(char *filename,int img,char *svar)
Local path .NED header reader,img Image bank
int nedLoadHeaderFullPath(char *filename,int img,char *svar)
Full path .NED header reader,img Image bank
int getDeadDeerDir(char *dir)
Folder of the application
# ALPHABETA FUNCTIONS (DUAL GRAPHS)
ALPHABETA_DEPTH(integer accessible during call all alphabeta functions warp)
ALPHABETA_COLOR(integer (signifiant of color in dual graph) accessible during call all alphabeta functions warp)
ALPHABETA_NUMBER(integer (signifiant of move number in dual graph) accessible during call all alphabeta functions warp)
int registerAlphaBeta(char *eval,char *moves,char *nbmoves,char *bestmove,char *nomove)
Alpha Beta functions part to be called
int callAlphaBeta(int color,int max_iterations)
Alpha Beta function to be called
# SCRIPT EXAMPLES
Scripts consist in three main functions OPEN, LOOP, and CLOSE, in order to manage animation.
A list of functions are set to control sounds, text draw, interactions, etc.
# EXAMPLE 1 : Physic of two objects on a recipe.
##################################################################
?? Anim Script
??#################################################################
??#################################################################
??oid OPEN()
??
???setParam(CAMERA,OFF);
???setParam(SHOWINFOS,OFF);
?? setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,ON);
???setParam(LIGHTS,OFF);
???resetFixedObjects();
???resetTags();
???addFixedObject(0);
?? createEnvPhysic(0)
???addProp(0,0);
???addProp(0,1);
???propDynamic(0);
???propDynamic(1);
???setEnvTransformationWO(0,0);
??
??#################################################################
??oid LOOP()
??
???toggleAddedAnim(0,0);
???toggleAddedAnim(1,0);
???calculateEnvPhysic(0,TIME_DT);
??
??#################################################################
??oid CLOSE()
??
???deleteEnvPhysic(0);
??
??#################################################################
# EXAMPLE 2 : Another form of physic managing.
##################################################################
?? Anim Script
??#################################################################
??#################################################################
??oid OPEN()
??
???setParam(CAMERA,OFF);
?? setParam(SHOWINFOS,OFF);
?? setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,ON);
???setParam(LIGHTS,OFF);
???resetFixedObjects();
???resetTags();
?? createEnvPhysicVoid(0);
???addObjToEnvPhysic(0,0);
???addProp(0,0);
???propDynamic(0);
??
??#################################################################
??oid LOOP()
??
???toggleAddedAnim(0,0);
???calculateEnvPhysic(0,TIME_DT);
??
??#################################################################
??oid CLOSE()
??
???deleteDuplicates();
??
??#################################################################
# EXAMPLE 3 : Texts drawing during sequence.
?#################################################################
?? Anim Script
??#################################################################
??#################################################################
??oid OPEN()
??
???setParam(CAMERA,ON);
???setParam(SHOWINFOS,OFF);
???setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,OFF);
???setParam(LIGHTS,ON);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(0,"La cathéärale de Saint-Jean de Luz.");
???setTextOffPos(0,0,0.8);
???
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(1,"Le bes.");
???setTextOffPos(1,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(2,"Les tournesols du jardin.");
???setTextOffPos(2,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(3,"Les fleurs artificielles de ma grand-mèòe.");
???setTextOffPos(3,0,0.8);
????????setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(4,"Nature morte appliquéå.");
???setTextOffPos(4,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(5,"Nature morte des annéås Physique.");
???setTextOffPos(5,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(6,"Mes premiers tournesols.");
???setTextOffPos(6,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(7,"Les tournesols voléó.");
???setTextOffPos(7,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(8,"Nature sale.");
???setTextOffPos(8,0,0.8);
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(9,"Les néîuphars des Jardins de Martels.");
???setTextOffPos(9,0,0.8);
???initSound();
???loadSound(0,"cavewind.wav",20000);
???setVolumeSound(0,1.0);
???playSound(0,1);
??
??#################################################################
??oid LOOP()
??
???if ((KEY>=97)&&(KEY<100)) playTextAnim(0,OFF);
???if ((KEY>=00)&&(KEY<03)) playTextAnim(0,OFF);
???if ((KEY>=7)&&(KEY<13)) playTextAnim(1,OFF);
???if ((KEY>=17)&&(KEY<23)) playTextAnim(2,OFF);
???if ((KEY>=27)&&(KEY<33)) playTextAnim(3,OFF);
???if ((KEY>=37)&&(KEY<43)) playTextAnim(4,OFF);
???if ((KEY>=47)&&(KEY<53)) playTextAnim(5,OFF);
???if ((KEY>=57)&&(KEY<63)) playTextAnim(6,OFF);
???if ((KEY>=67)&&(KEY<73)) playTextAnim(7,OFF);
???if ((KEY>=77)&&(KEY<83)) playTextAnim(8,OFF);
???if ((KEY>=87)&&(KEY<93)) playTextAnim(9,OFF);
??
??#################################################################
??oid CLOSE()
??
???stopSound(0);
???freeSound(0);
???killSound();
??
??#################################################################
# EXAMPLE 4 : Bubble shoot game.
??#################################################################
?? Anim Script
??#################################################################
??nt STATE;
??nt BALL;
??loat CPT;
??nt SCORE;
??nt num0[10]={27,56,55,54,53,52,51,50,49,48};
??nt num1[10]={37,36,35,34,33,32,31,30,29,28};
??nt num2[10]={47,46,45,44,43,42,41,40,39,38};
??#################################################################
??oid OPEN()
??
???STATE=0;
???BALL=0;
???CPT=0;
???SCORE=0;
???setParam(CAMERA,OFF);
???setParam(SHOWINFOS,OFF);
???setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,OFF);
???setParam(LIGHTS,OFF);
???toggleInteractions(0);
???setAnimSpeed(230);
??
??#################################################################
??oid LOOP()
??
???int n;
??int m;
???float ff;
???CPT=CPT+0.1;
???toggleAddedAnim(1,0);
???toggleAddedAnim(2,0);
???toggleAddedAnim(14,0);
???ff=2048.0+100.0*sin(CPT);
???Camera(ff,0,10);
???if (STATE==0)
???{
?????ocusAdded(13);
?????f (isMouseOnAdded(1)==1)
?????
??????toggleAddedAnim(1,1);
??????if (mouseButton(0)==1)
??????{
????????TATE=1;
????????ALL=rand(8);
????????CORE=0;
??????}
?????
?????lse setObjectAddedRotation(1,0.0,0.0,0.0);
?????f (isMouseOnAdded(2)==1)
?????
??????toggleAddedAnim(2,1);
??????if (mouseButton(0)==1)
??????{
????????topAnim();
??????}
?????
?????lse setObjectAddedRotation(2,0.0,0.0,0.0);
???}
???if (STATE==1)
???{
?????ocusAdded(12);
?????f (isMouseOnAdded(14)==1)
?????
??????toggleAddedAnim(14,1);
??????if (mouseButton(0)==1) STATE=0;
?????
?????lse setObjectAddedRotation(14,0.0,0.0,0.0);
?????or (n=0;n<8;n++)
?????
??????if (n!=BALL)
??????{
????????oggleAddedAnim(15+n,0);
????????etObjectAddedStartPosition(15+n);
??????}
?????
?????or (n=27;n<57;n++)
?????
??????toggleAddedAnim(n,0);
??????setObjectAddedStartPosition(n);
?????
?????=15+BALL;
?????oggleAddedAnim(n,1);
?????f (isMouseOnAdded(n)==1)
?????
??????if (mouseButton(0)==1)
??????{
????????ALL=rand(8);
????????CORE=SCORE+100;
??????}
?????
?????oggleAddedAnim(24,0);
?????etObjectAddedStartPosition(24);
?????oggleAddedAnim(25,0);
?????etObjectAddedStartPosition(25);
?????oggleAddedAnim(26,0);
?????etObjectAddedStartPosition(26);
?????=SCORE/100;
?????=mod(n,10);
?????etObjectAddedToAdded(num0[m],24);
?????=SCORE/1000;
?????=mod(n,10);
?????etObjectAddedToAdded(num1[m],25);
?????=SCORE/10000;
?????=mod(n,10);
?????etObjectAddedToAdded(num2[m],26);
???}
??
??#################################################################
??oid CLOSE()
??
??
??#################################################################
# Panel scripts.
# Variables
COMMAND PARAM
Creation defines
PROP_TEXT PROP_BUTTON PROP_SEPARATOR PROP_3BUTTONS PROP_2BUTTONS PROP_CTEXT PROP_CSTEXT PROP_BUTTON_CHECK PROP_3BUTTONS_CHECK PROP_2BUTTONS_CHECK PROP_SLIDER PROP_SWITCH
Drawing defines
PANEL_OBJNULL PANEL_WORLD PANEL_SELECTFACES PANEL_SELECTVERTEX PANEL_LIGHTS PANEL_ADDED PANEL_NKEYS PANEL_OBJ PANEL_SELPREV PANEL_MAPPEREDIT PANEL_SPRAY PANEL_BONES PANEL_NODING PANEL_NOTBONES PANEL_SPRAYBUMP PANEL_VOID
Attributes
EMPTY PLAIN EXTERIOR PROJECT
Added attributes
BREAKABLE UNBREAKABLE FIXED GLASS BOX MESH FULLMESH
BOX CYL_X CYL_Y CYL_Z SPHERE MESH FULLMESH
# Functions.
int ok()
int init(char *name)
int add(char *name,int type,int drawing)
int add(char *name,int type,int var,int range0,int range1,int drawing)
int modify(int index,int act,int st1,int st2,int st3)
int getValue(int index,int value)
int AddAddedStringAtBegin(char *str)
int ResetAddedString()
int AddAddedString(char *str)
int SetAddedStatus(int n)
int SetAddedProp(int n)
int Do(int fn_id)
int SendMessage(int msg_id)
int GenScriptClean()
int GenScriptAdd(char *op)
int GenScriptDo()
# Shader Contexts
########################################################
Relative Textures parameters for shader warps:
########################################################
TEXTURE Tex;
TEXTURE Bump;
and for envmap: TEXTURE Env;
and for shadowing:
single: (one) for directionnal light or projected
TEXTURE Shd;
tetra: (fourty) for omni lights
TEXTURE Shd1;
TEXTURE Shd2;
TEXTURE Shd3;
TEXTURE Shd4;
and for spot lights:
TEXTURE Spot;
########################################################
context.ambient
########################################################
...
MATRIX WORLD;
MATRIX VIEWPROJ;
MATRIX REFLEC;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
PSVECTOR Ambient;
...
########################################################
context.light
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR Light;
PSVECTOR Color;
VECTOR Attenuation;
PSVECTOR Range;
...
########################################################
context.daylight
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR LightDir;
PSVECTOR Color;
...
########################################################
context.lightandamb
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR LightDir;
PSVECTOR Color;
PSVECTOR Ambient;
...
########################################################
context.lightwithshadowone
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
MATRIX REF;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR LightDir;
VECTOR Color;
VECTOR LIGHTPOS;
VECTOR MULTI;
PSVECTOR Ambient;
...
########################################################
context.lightwithshadowfourty
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
MATRIX REF1;
MATRIX REF2;
MATRIX REF3;
MATRIX REF4;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR LIGHTPOS;
VECTOR MULTI;
VECTOR Light;
PSVECTOR Color;
VECTOR Attenuation;
PSVECTOR Range;
...
########################################################
context.lightwithshadowspotlight
########################################################
...
MATRIX WORLD;
MATRIX VIEWPROJ;
MATRIX REF;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR LIGHTPOS;
VECTOR MULTI;
...
########################################################
context.spotm
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
MATRIX REF;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR LIGHTPOS;
VECTOR MULTI;
VECTOR Light;
PSVECTOR Color;
VECTOR Attenuation;
PSVECTOR Radius;
PSVECTOR Range;
...
########################################################
context.lightwithshadowspot
########################################################
...
MATRIX WORLD;
MATRIX REFLEC;
MATRIX VIEWPROJ;
MATRIX REF;
VECTOR Interpolant;
VECTOR VSParams;
PSVECTOR PSParams;
...
VECTOR Light;
PSVECTOR Color;
VECTOR Attenuation;
PSVECTOR Radius;
PSVECTOR Range;
...
########################################################
Those parameters are dynamic from script
########################################################
Interpolation of morph keys:
VECTOR Interpolant;
Vertex Shader and Pixel Shader parameters:
VECTOR VSParams;
PSVECTOR PSParams;
Vertex Shader and Pixel Shader parameters for env mapping:
VECTOR VECLIGHT;
VECTOR CAMERA;
########################################################
Relative Position Normal warps:
########################################################
Vertex Buffers have 4 forms in Dead Deer:
For Quads:
[VERTEXFORMAT] XYZ DIFFUSE TEX0
For Common Objects:
[VERTEXFORMAT] XYZ NORMAL TEX0
For Morphing Objects:
[VERTEXFORMAT] MORPH
For Bone Tree Objects:
[VERTEXFORMAT] XYZ NORMAL BLEND TEX0
GetPosition(vec4 pos)
Vertex Shader Position for vertexbuffers NORMAL, MORPH, TREE
GetNormal(vec4 pos)
Vertex Shader Normal for vertexbuffers NORMAL, MORPH, TREE
GetPositionMatrix(vec4 pos, mat4 WORLD)
Vertex Shader Position for vertexbuffers NORMAL, MORPH, TREE
GetNormalMatrix(vec4 pos, mat4 WORLD)
Vertex Shader Normal for vertexbuffers NORMAL, MORPH, TREE