Got it working. Thankyou kindly Antony
; Quad (rotating) Graphics3D 640,480,0,2 SetBuffer BackBuffer() HidePointer cam=CreateCamera() MoveEntity cam,0,0,-6.5 MoveMouse 320,240 ; container for quads quad=CreateMesh() surf=CreateSurface(quad) EntityFX quad,1+2+32 ; texture for quads ;tex=LoadTexture("testimage.png") ;EntityTexture quad,tex ;For d=1 To 500 ; q=AddQuad(surf,Rnd(-10,10),Rnd(-10,10),Rnd(25)) ; QuadColor surf,q,Rand(255),Rand(255),Rand(255) , Rnd(1.0) ;Next mainquad=AddQuad(surf,0,0) ; ================================================== Repeat If KeyHit(17) ;[W] w=Not w WireFrame w EndIf If KeyDown(57) ; [SPACE] rotang#=rotang#+1.5 RotateQuad surf,mainquad,rotang EndIf mx#=mx#+Float(MouseXSpeed())/16.0 my#=my#-Float(MouseYSpeed())/16.0 MoveMouse 320,240 PositionQuad surf,mainquad,mx,my,0 RenderWorld Color 100,100,100 Text 20,40,"[MOUSE] = move main quad" Text 20,60,"[SPACE] = rotate main quad" Text 20,80,"[W] = Wireframe" Text 80,130,"Angle# = "+rotang ; reference box Color 200,0,0 Rect 320,140,100,100,0 Flip Until KeyHit(1) End ; ================================================== Function AddQuad%(s%,x#,y#,z#=0) Local o%,v% v=AddVertex(s,x-1,y-1,z ,0.0,1.0) AddVertex s,x+1,y-1,z , 1.0,1.0 AddVertex s,x-1,y+1,z , 0.0,0.0 AddVertex s,x+1,y+1,z , 1.0,0.0 AddTriangle s,v+0,v+2,v+1 AddTriangle s,v+1,v+2,v+3 For o=0 To 3 VertexNormal s,v+0,0,0,-1 Next Return v End Function Function QuadColor(s%,i%,r%,g%,b%,a#=1.0) Local o% For o=0 To 3 VertexColor s,i+o,r,g,b,a Next End Function Function PositionQuad(s%,i%,x#,y#,z#=0.0) Local dx#,dy#,dz# , o% dx=x-VertexX(s,i) dy=y-VertexY(s,i) dz=z-VertexZ(s,i) For o=0 To 3 VertexCoords s,i+o,VertexX(s,i+o)+dx,VertexY(s,i+o)+dy,VertexZ(s,i+o)+dz Next End Function Function RotateQuad(s,i,ang#) x#=VertexX(s,i+0)+1 : y#=VertexY(s,i+0)+1 VertexCoords s,i+0,rotX(x-1.0,y-1.0,ang),rotY(x-1.0,y-1.0,ang),VertexZ(s,i+0) VertexCoords s,i+1,rotX(x+1.0,y-1.0,ang),rotY(x+1.0,y-1.0,ang),VertexZ(s,i+0) VertexCoords s,i+2,rotX(x-1.0,y+1.0,ang),rotY(x-1.0,y+1.0,ang),VertexZ(s,i+0) VertexCoords s,i+3,rotX(x+1.0,y+1.0,ang),rotY(x+1.0,y+1.0,ang),VertexZ(s,i+0) End Function Function rotX#(x#,y#,roll#) Return Cos(roll)*x+Sin(roll)*y End Function Function rotY#(x#,y#,roll#) Return -Sin(roll)*x+Cos(roll)*y End Function