I'm not sure I understand what you are suggesting. It seems you are talking about checking the .fx file, right? But surely if that was the problem, then it wouldn't work in the new isolated code either.
This is the working code:
`Project :
`=========================
`Author : Craig McFarlane
`=========================
`Started :
set display mode 1280,1024,32
maximize window
autocam off
`hide mouse
`Types
`Arrays
`Constants
`Booleans
`Floats
Global FrameTime as float
Global StartTime as float
`Integers
`Objects
Global oSphere as integer = 1
`Images
Global iVertexFur as integer = 1
Global iFurImage as integer = 2
Global iHologram as integer = 3
`Shaders
Global fxVertexFur as integer = 1
Global fxHologram as integer = 2
`Sprites
`Sounds
`Bitmaps
`Memblocks
`Dwords
`Vectors
Global vHologram as integer = 1
`-------------------
` LOAD IMAGES
`-------------------
load image "Fur3.bmp", iVertexFur
load image "Pony.png", iFurImage
load image "Hologram.png", iHologram
`-------------------
` LOAD SHADERS
`-------------------
load effect "VertexFur.fx", fxVertexFur, 0
load effect "Hologram.fx", fxHologram, 0
`-------------------
` LOAD OBJECTS
`-------------------
`-------------------
` MAKE OBJECTS
`-------------------
make object sphere oSphere , 10
Texture object oSphere + k, iHologram
ghost object on oSphere + k
disable object zwrite oSphere + k
Set Object Effect oSphere + k, fxHologram
for k = 1 to 99
clone object oSphere + k ,oSphere
next k
`-------------------
` MAKE VECTORS
`-------------------
null = make vector4(vHologram)
`-------------------
` LOAD SOUNDS
`-------------------
`-------------------
` SET UP WORLD
`-------------------
set normalization on
Position camera 0,0,-200
Point Camera 0,0,0
sync on
sync rate 60
FrameTime = 1.0
StartTime = timer()
`************************************************************************************
`* *
`* S T A R T O F M A I N L O O P *
`* *
`************************************************************************************
do
FrameTime = (FrameTime * 0.8) + ((timer() - StartTime) * 0.2)
StartTime = timer()
GetUserInput()
UpDateDisplay()
_DeBug()
sync
loop
`***********************************************************************************
`* *
`* E N D O F M A I N L O O P *
`* *
`***********************************************************************************
`-------------------
` DEBUG
`-------------------
function _DeBug()
text 0,0,"FPS : "+str$(Screen fps())
endfunction
`-------------------
` GET USER INPUT
`-------------------
function GetUserInput()
control camera using arrowkeys 0, 1, 1
endfunction
`-------------------
` UPDATE DISPLAY
`-------------------
function UpDateDisplay()
set vector4 vHologram, camera position x(), camera position y(), camera position z(), 0.0
set effect constant vector fxHologram, "EyePos", vHologram
Counter = 0
for y = 1 to 10
for x = 1 to 10
position object oSphere + Counter, (x-5) * 20, (y-5) * 20, 0
inc Counter
next x
next y
endfunction
It is pretty much how it is in the game. With the obvious exception of the positioning. The media is as it is in the 'Shader Pack' although I have changed the colour of the image.
I have performed a search through my code and there is no reference to
vHologram,
iHologram or
fxHologram other than the ones that should be there and there is no other code that changes any effect constants. So, I am very confused as to where to look for an error.