Ok.. Again, knew I wouldn't be able to sleep with this prob on my mind
sync on
sync rate 0
load image "borgface.jpg",1
Polys=1
make memblock 1, 12 + (32 * 6 * Polys)
write memblock dword 1,0,274
write memblock dword 1,4,32
write memblock dword 1,8,Polys * 6
U = 1
V = 1
gosub MAKEPLAIN
keyDown = 0
angle# = 0.0
frameTime# = 1.0
startTime = timer()
do
frameTime# = (frameTime# * 0.8) + ((timer() - startTime) * 0.2)
startTime = timer()
text 10, 10, "FPS: " + str$(screen fps())
`PRESS U TO TOGGLE IMAGE IN U, V TO TOGGLE IN V
if keystate(22) AND keyDown = 0
keyDown = 1
if U = 1 then U = -1 else U = 1
gosub MAKEPLAIN
else
if keystate(47) AND keyDown = 0
keyDown = 1
if V = 1 then V = -1 else V = 1
gosub MAKEPLAIN
else
if keystate(47) = 0 AND keystate(22) = 0 AND keyDown = 1 then keyDown = 0
endif
endif
inc angle#, frameTime# * 0.045
angle# = wrapvalue(angle#)
position camera sin(angle#) * 2.0, 2.0, cos(angle#) * 2.0
point camera 0,0,0
sync
loop
MAKEPLAIN:
`CREATES FIRST TRIANGLE FOR SQUARE
MeshEntry(1, 12 + (poly * 192) , 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)
MeshEntry(1, 12 + (poly * 192) + 32 , 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, V )
MeshEntry(1, 12 + (poly * 192) + 64 , 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, U , 0.0)
`CREATES SECOND TRIANGLE FOR SQUARE
MeshEntry(1, 12 + (poly * 192) + 96 , 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, U , 0.0)
MeshEntry(1, 12 + (poly * 192) + 128, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, V )
MeshEntry(1, 12 + (poly * 192) + 160, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, U , V )
`MAKES A MESH
change mesh from memblock 1, 1
`DELETES OBJECT IF EXISTS
if object exist(1) then delete object 1
`MAKES NEW ONE WITH MESH
make object 1, 1, 1
`POSITIONS IT
position object 1, -0.5, 0, -.5
return
function MeshEntry(mb, n, x#, y#, z#, nx#, ny#, nz#, u#, v#)
write memblock float mb, n + 0, x#
write memblock float mb, n + 4, y#
write memblock float mb, n + 8, z#
write memblock float mb, n + 12, nx#
write memblock float mb, n + 16, ny#
write memblock float mb, n + 20, nz#
write memblock float mb, n + 24, u#
write memblock float mb, n + 28, v#
endfunction
Just edit the load image to point at any old image.. preferably one you can tell has flipped.
Press U - will flip in the "U axis"
Press V - will flip in the "V axis"
Esc quits..
Err... Post any questions and i'll answer tomorrow.. Nite m8!