Jump to content

View more

Image of the Day

Boxes as reward for our ranking mode. ヾ(☆▽☆)
#indiedev #gamedev #gameart #screenshotsaturday https://t.co/ALF1InmM7K
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

bit shifting and isometrics engines..

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
5 replies to this topic

#1 Sphet   Members   

631
Like
Likes
Like

Posted 16 September 1999 - 02:20 PM

I'm trying to remember where I read this and how it is applied.

When trying to calculate the position offset for blitting tiles, someone suggested bitshifting the values because they're faster than multiplies. I can neither remember who wrote this, or what it was about. Anyone remember which of the original Iso tutorials/articles this was from and what it was about?


#2 Dragun   Members   

124
Like
Likes
Like

Posted 16 September 1999 - 09:22 AM

Bitshifting only applies if the tile x and y offsets are a multiple of 2 (like a 64x31 tile).

#3 Sphet   Members   

631
Like
Likes
Like

Posted 16 September 1999 - 12:35 PM

Dragon,

Can you explain to me a bit how this works?


#4 Anonymous Poster_Anonymous Poster_*   Guests   

Likes

Posted 16 September 1999 - 01:19 PM

a bit shift once to the left is equal to muliplying by 2, only faster. so if you bit shift 4 to the left, it's *2*2*2*2, or, *16. In other words, 4 << 3 = 4*2*2*2 = 32

#5 Sphet   Members   

631
Like
Likes
Like

Posted 16 September 1999 - 01:50 PM

Thanks guys.

#6 Jim Adams   Members   

440
Like
Likes
Like

Posted 16 September 1999 - 02:20 PM

You can also bit shift and add the values to come up with others, for instance, to multiply a number by 320:
newvalue = (val << 8) + (val << 6);





Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.