Question about using multiple StartDrawing()/Start3D()

Advanced game related topics
Nituvious
Addict
Addict
Posts: 1030
Joined: Sat Jul 11, 2009 4:57 am
Location: United States

Question about using multiple StartDrawing()/Start3D()

Post by Nituvious »

If I use for example:

Code: Select all

Start3D()
	DisplaySprite3D(#SPR_Background_Left3D,-110,0)
	DisplaySprite3D(#SPR_Background_Right3D,402,0)	
Stop3D()
StartDrawing(ScreenOutput())
	DisplaySprite(#SPR_Orange_Circle,x,y)
StopDrawing()
Start3D()
	DisplaySprite3D(#SPR_Foreground_Left3D,-110,0)
	DisplaySprite3D(#SPR_Foreground_Right3D,402,0)	
Stop3D()
inside of my main loop, will this hinder performance? If so, how can I use a 3D sprite functions with the standard sprite library?
▓▓▓▓▓▒▒▒▒▒░░░░░
User avatar
STARGÅTE
Addict
Addict
Posts: 2265
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: Question about using multiple StartDrawing()/Start3D()

Post by STARGÅTE »

DisplaySprite dont need StartDrawing!

Code: Select all

Start3D()
   DisplaySprite3D(#SPR_Background_Left3D,-110,0)
   DisplaySprite3D(#SPR_Background_Right3D,402,0)   
Stop3D()
DisplaySprite(#SPR_Orange_Circle,x,y)
Start3D()
   DisplaySprite3D(#SPR_Foreground_Left3D,-110,0)
   DisplaySprite3D(#SPR_Foreground_Right3D,402,0)   
Stop3D()
or better, you make a Sprite3D from #SPR_Orange_Circle

Code: Select all

Start3D()
   DisplaySprite3D(#SPR_Background_Left3D,-110,0)
   DisplaySprite3D(#SPR_Background_Right3D,402,0)   
   DisplaySprite3D(#SPR_Orange_Circle,x,y)
   DisplaySprite3D(#SPR_Foreground_Left3D,-110,0)
   DisplaySprite3D(#SPR_Foreground_Right3D,402,0)   
Stop3D()
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
Nituvious
Addict
Addict
Posts: 1030
Joined: Sat Jul 11, 2009 4:57 am
Location: United States

Re: Question about using multiple StartDrawing()/Start3D()

Post by Nituvious »

Doh! I am actually using functions like Box() and Circle() in place of DisplaySprite() but I can have my program turn them into a sprite. Thank you for the tip!

However, is it still bad to use multiple Start3D()/Stop3D() within my loop?
▓▓▓▓▓▒▒▒▒▒░░░░░
eesau
Enthusiast
Enthusiast
Posts: 589
Joined: Fri Apr 27, 2007 12:38 pm
Location: Finland

Re: Question about using multiple StartDrawing()/Start3D()

Post by eesau »

Nituvious wrote:Doh! I am actually using functions like Box() and Circle() in place of DisplaySprite() but I can have my program turn them into a sprite. Thank you for the tip!

However, is it still bad to use multiple Start3D()/Stop3D() within my loop?
I wouldn't encourage it because it can usually be avoided. I think there's a performance hit when calling those functions multiple times in a loop.
Post Reply