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...
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