- Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
parent
c9adfd020b
commit
e85d191b46
3100 changed files with 775434 additions and 3073 deletions
111
Gem/examples/data/random.fp
Normal file
111
Gem/examples/data/random.fp
Normal file
|
@ -0,0 +1,111 @@
|
|||
!!ARBfp1.0
|
||||
# Based on an algorithm described by Francois Grieu, sci.crypt, 5th February 2004
|
||||
#ATTRIB tex0 = fragment.texcoord[0];
|
||||
ATTRIB tex0 = fragment.position;
|
||||
ATTRIB col = fragment.color;
|
||||
|
||||
#PARAM bounds = program.local[1];
|
||||
#PARAM seed = program.local[2];
|
||||
PARAM bounds = 10.0;
|
||||
PARAM seed = 1234;
|
||||
PARAM coordsOffset = { -100, 100, 0, 0 };
|
||||
PARAM cMult = 0.0001002707309736288;
|
||||
PARAM aSubtract = 0.2727272727272727;
|
||||
PARAM coordMult0 = { 0.67676, 0.000058758, 0, 0 };
|
||||
PARAM coordMult1 = { 0.0000696596, 0.797976, 0, 0 };
|
||||
PARAM coordMult2 = { 0.587976, 0.0000233443, 0, 0 };
|
||||
|
||||
TEMP tableCoord, a, b, c, floorA, seedCoords, res;
|
||||
|
||||
ADD seedCoords, tex0, coordsOffset;
|
||||
|
||||
# gFastRngA = (((currentX*multX)/(currentY*multY))+
|
||||
MUL tableCoord, seedCoords, coordMult0;
|
||||
RCP tableCoord.y, tableCoord.y;
|
||||
MUL a.x, tableCoord.x, tableCoord.y;
|
||||
|
||||
# (((height-currentY)*multX2)/((width-currentX)*multY2))+
|
||||
SUB tableCoord, bounds, seedCoords;
|
||||
MUL tableCoord, tableCoord, coordMult1;
|
||||
RCP tableCoord.x, tableCoord.x;
|
||||
MAD a.x, tableCoord.x, tableCoord.y, a.x;
|
||||
|
||||
# (((height-currentX)*multX3)/((width-currentY)*multY3)));
|
||||
SUB tableCoord.x, bounds.y, seedCoords.x;
|
||||
SUB tableCoord.y, bounds.x, seedCoords.y;
|
||||
MUL tableCoord, tableCoord, coordMult2;
|
||||
RCP tableCoord.y, tableCoord.y;
|
||||
MAD a.x, tableCoord.x, tableCoord.y, a.x;
|
||||
|
||||
# gFastRngA = fmod(gFastRngA,1);
|
||||
FRC a.x, a.x;
|
||||
ADD a.x, a.x, seed;
|
||||
|
||||
MOV c.x, 0;
|
||||
MOV b.x, 0;
|
||||
|
||||
# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
|
||||
FRC floorA.x, a.x;
|
||||
SUB floorA.x, a.x, floorA.x;
|
||||
SUB floorA.x, aSubtract.x, floorA.x;
|
||||
ADD floorA.x, floorA.x, a.x;
|
||||
MAD a.x, c.x, cMult.x, floorA.x;
|
||||
|
||||
# (gFastRngB += (gFastRngA *= gFastRngA))
|
||||
MUL a.x, a.x, a.x;
|
||||
ADD b.x, b.x, a.x;
|
||||
|
||||
# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
|
||||
FRC b.x, b.x;
|
||||
ADD c.x, c.x, b.x;
|
||||
|
||||
# (gFastRngC -= floor(gFastRngC))
|
||||
FRC c.x, c.x;
|
||||
|
||||
# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
|
||||
FRC floorA.x, a.x;
|
||||
SUB floorA.x, a.x, floorA.x;
|
||||
SUB floorA.x, aSubtract.x, floorA.x;
|
||||
ADD floorA.x, floorA.x, a.x;
|
||||
MAD a.x, c.x, cMult.x, floorA.x;
|
||||
|
||||
# (gFastRngB += (gFastRngA *= gFastRngA))
|
||||
MUL a.x, a.x, a.x;
|
||||
ADD b.x, b.x, a.x;
|
||||
|
||||
# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
|
||||
FRC b.x, b.x;
|
||||
ADD c.x, c.x, b.x;
|
||||
|
||||
# (gFastRngC -= floor(gFastRngC))
|
||||
FRC c.x, c.x;
|
||||
|
||||
# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
|
||||
FRC floorA.x, a.x;
|
||||
SUB floorA.x, a.x, floorA.x;
|
||||
SUB floorA.x, aSubtract.x, floorA.x;
|
||||
ADD floorA.x, floorA.x, a.x;
|
||||
MAD a.x, c.x, cMult.x, floorA.x;
|
||||
|
||||
# (gFastRngB += (gFastRngA *= gFastRngA))
|
||||
MUL a.x, a.x, a.x;
|
||||
ADD b.x, b.x, a.x;
|
||||
|
||||
# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
|
||||
FRC b.x, b.x;
|
||||
ADD c.x, c.x, b.x;
|
||||
|
||||
# (gFastRngC -= floor(gFastRngC))
|
||||
FRC c.x, c.x;
|
||||
|
||||
|
||||
MOV res, c.x;
|
||||
MOV res.a, 1;
|
||||
|
||||
MUL res, res, -0.5;
|
||||
|
||||
ADD res, res, col;
|
||||
|
||||
MOV result.color, res;
|
||||
|
||||
END
|
Loading…
Add table
Add a link
Reference in a new issue