Lens Flare / Sun

Blitz3D SDK Forums/Blitz3D SDK Programming/Lens Flare / Sun

I've got the code this far, but I need some help with it. How do I draw the sun in orthogonal view without doing everything else? Thanks.

EDIT: Stupid me... forgot the code. Here you go...

Import Blitz3D.Blitz3DSDK

'Star Flare BlitzMax Blitz3D SDK Addon Module by ninjarat
'RCD Software

Private
	Type TStarFlare
		Field pstar
		Field pflares[]
		Field camera
		Field starpitch#
		Field staryaw#
		Field starpivot
		Field _doflare
		
		Function create:TStarFlare(starimg$,flareimg$,pitch#,yaw#,camera,flaresegs=6,flarealpha#=.4)
			pflare=bbLoadSprite(flareimg,1+2+8+512)
			pstar=bbLoadSprite(starimg,1+2+8+512)
			
			Return CreateFromSprites(pstar,pflare,pitch,yaw,camera,flaresegs,flarealpha#)
		End Function
		
		Function CreateFromSprites:TStarFlare(pstar,pflare,pitch#,yaw#,camera,flaresegs=6,flarealpha#=.4)
			newstar:TStarFlare=New TStarFlare
			
			_doflare=False
			If pflare>0 Then
				_doflare=True
				newstar.pflares=newstar.pflares[..flaresegs*2]
				newstar.pflares[0]=pflare
			End If
			newstar.pstar=pstar
			
			newstar.starpitch=pitch
			newstar.staryaw=yaw
			newstar.starpivot=bbCreatePivot()
			bbPositionEntity newstar.starpivot,bbEntityX(camera),bbEntityY(camera),bbEntityZ(camera)
			
			If pflare>0 Then
				bbEntityBlend newstar.pflares[0],3
				bbEntityAlpha newstar.pflares[0],flarealpha
			End If
			
			bbEntityBlend newstar.pstar,3
			bbEntityAlpha newstar.pstar,1
			
			bbEntityParent newstar.pstar,newstar.starpivot
			bbPositionEntity newstar.pstar,0,0,10
			
			If pflare>0 Then
				For j=1 To flaresegs-1
					newstar.pflares[j]=bbCopyEntity(newstar.pflares[0])
				Next
			End If
			
			Return newstar
		End Function
		
		Method Show()
			bbShowEntity pstar
			
			For p=EachIn pflares
				bbShowEntity p
			Next
		End Method
		
		Method Hide()
			bbHideEntity pstar
			
			For p=EachIn pflares
				bbHideEntity p
			Next
		End Method
		
		Method Update()
			campitch#=bbEntityPitch(camera,True)
			camyaw#=bbEntityYaw(camera,True)
			
			drawpitch#=starpitch-campitch
			drawyaw#=staryaw-camyaw
			drawroll#=bbEntityRoll(camera,True)
			
			bbRotateEntity starpivot,drawpitch,drawyaw,drawroll
			
			If bbEntityInView(pstar,camera) Then
				bbCameraProject camera,bbEntityX(pstar,True),bbEntityY(pstar,True),bbEntityZ(pstar,True)
				bbCameraPick camera,bbProjectedX(),bbProjectedY()
				If Not bbPickedEntity() Then Show() Else Hide()
			Else
				Hide 
			End If
		End Method
		
		Method Free()
			bbFreeEntity pstar
			
			For p=EachIn pflares
				bbFreeEntity p
			Next
			_free Self
		End Method
		
		Function _free(star:TStarFlare)
			star=Null
		End Function
	End Type
Public

Function CreateStarFlare:TStarFlare(starimg$,flareimg$,pitch#,yaw#,camera,flaresegs=6,flarealpha#=.4)
	Return TStarFlare.Create(starimg,flareimg,pitch,yaw,camera,flaresegs=6,flarealpha=.4)
End Function

Function CreateStarFlareFromSprites:TStarFlare(pstar,pflare,pitch#,yaw#,camera,flaresegs=6,flarealpha#=.4)
	Return TStarFlare.CreateFromSprites(pstar,pflare,pitch,yaw,camera,flaresegs=6,flarealpha=.4)
End Function

Function ShowStarFlare(sflare:TStarFlare)
	sflare.Show
End Function

Function HideStarFlare(sflare:TStarFlare)
	sflare.Hide
End Function

Function UpdateStarFlare(sflare:TStarFlare)
	sflare.Update
End Function

Function FreeStarFlare(sflare:TStarFlare)
	sflare.Free
	sflare=Null
End Function