float *ERaytrace=Vminus(EYEP,PosPX);
float *UniRay=Vdivide(ERaytrace,Vlength(ERaytrace));
在for 循环中
这样写 就是重复定义,应该把float *ERaytrace float *UniRay 写在for外面
改成这样: 你看行不?
float *ERaytrace ;
float *UniRay;
for .....
ERaytrace=&Vminus(EYEP,PosPX);
UniRay=&Vdivide(ERaytrace,Vlength(ERaytrace));