TForm

Blitz3D Forums/Blitz3D Programming/TForm

Hope this is of some use :)

Graphics3D 800,600,16,2
HidePointer
camera=CreateCamera()
PositionEntity camera,0,0,-4


cube=CreateCube()
PositionEntity cube,0,-2,0
EntityColor cube,0,0,255


quad=CreateMesh()
surf=CreateSurface(quad)
AddVertex surf,0,0,0 ,0,0
AddVertex surf,0,0,0 ,0,0
AddVertex surf,0,0,0 ,0,0
AddVertex surf,0,0,0 ,0,0

AddTriangle surf,2,1,0
AddTriangle surf,3,2,0

EntityColor quad,255,0,0

Repeat

;camera control
TurnEntity camera,MouseYSpeed()/5.0,-MouseXSpeed()/5.0,0
MoveMouse 400,300

If KeyDown(200) 
	MoveEntity camera,0,0,0.2
EndIf
If KeyDown(208) 
	MoveEntity camera,0,0,-0.2
EndIf
If KeyDown(205) 
	MoveEntity camera,0.2,0,0
EndIf
If KeyDown(203) 
	MoveEntity camera,-0.2,0,0
EndIf

;make the quad face the camera
FaceQuad(quad,camera)

RenderWorld

Flip
Until KeyDown(1)
End

Function FaceQuad(quad,camera,xsize#=1,ysize#=1)
xsize=xsize/2
ysize=ysize/2

surf=GetSurface(quad,1)

;top left corner
TFormVector -xsize,-ysize,0,camera,0
x#=EntityX(quad)+TFormedX()
y#=EntityY(quad)+TFormedY()
z#=EntityZ(quad)+TFormedZ()
VertexCoords surf,0,x#,y#,z#

;top right corner
TFormVector xsize,-ysize,0,camera,0
x#=EntityX(quad)+TFormedX()
y#=EntityY(quad)+TFormedY()
z#=EntityZ(quad)+TFormedZ()
VertexCoords surf,1,x#,y#,z#

;bottom right corner
TFormVector xsize,ysize,0,camera,0
x#=EntityX(quad)+TFormedX()
y#=EntityY(quad)+TFormedY()
z#=EntityZ(quad)+TFormedZ()
VertexCoords surf,2,x#,y#,z#

;bottom left corner
TFormVector -xsize,ysize,0,camera,0
x#=EntityX(quad)+TFormedX()
y#=EntityY(quad)+TFormedY()
z#=EntityZ(quad)+TFormedZ()
VertexCoords surf,3,x#,y#,z#

End Function