Jump to content

Recommended Posts

First, thank you very much for RAPTOR API. It's really, really neat. I'm just reading over the docs and going through the examples.

 

My question is around RAPTOR Lists. What exactly is a list? What can a list contain? How many can I have? (the docs say 16 total, but then it mentions culling which allows 512 objects per list?)

 

For example: I'd like to make a very simple pseudo-3d racing game, similar to the one the person made for RAPTOR BASIC. What sorts of things would be considered lists? The framebuffer? The sprites along the side of the track?

 

Thanks for your help!

Share this post


Link to post
Share on other sites

Thanks for the nice words.

 

A RAPTOR List is a linked list of objects used to composite the screen.

 

The list can contain Bitmap Objects, Scaled Bitmap Objects, or BRAnch objects.

 

So, for example, a title screen list (pseudocode) might consist of:

 

Background picture

text layer

selection pointer

[end]

 

whereas a game screen list might look something like:

 

Background

Enemy sprites

Explosions

Enemy Bullets

Player Bullets

Player sprite

text overlay (scoreboard)

[end]

 

You can have 16 lists in total, with a maximum of (from memory) 512 objects in total spread across all lists.

 

However, trying to display 512 objects will certainly cause the Object Processor to melt. This is why objects flagged as 'inactive' get skipped during processing.

 

In the above example, if nothing is currently 'exploding' then all the explosion objects would be set inactive, and would be skipped over. Similarly, the player, or enemies might not be shooting, so those unused objects would be skipped.

 

That is it, in brief - please feel free to post any follow up questions, but I'd encourage you to just play with the API. Also, a lot of things in the rB+ forum that specifically deal with API function calls would be worth a read.

 

Enjoy!

  • Like 3

Share this post


Link to post
Share on other sites

Perfect! Thanks.

 

I'm having a hard time finding the definition of a branch object. It might be painfully obvious to someone coming from the time of line buffers rather than frame buffers, but I'm coming from the other direction, so please be patient!

 

Secondarily, I read somewhere that scaled bitmaps need to maintain their proportion using the Object Processor, but the documentation makes it sound as though you can pass in a different vertical scaling value than a horizontal scaling value, allowing a person to scale out-of-proportion. Is this true?

 

What I'd love to do is scale a 2d image along a perspective, as though you're seeing a store sign while driving and looking straight ahead. For an example, see the attached image. Has anything like this been done anywhere that I could take a look at? Or am I stuck making textures on a 3d polygon?

 

post-41076-0-89019300-1534310309.jpg

Share this post


Link to post
Share on other sites

Branch objects are for skipping over things in the list depending on what scan line you are on. I'd recommend avoiding them until you need to and concentrating on other things first.

 

Objects can scale out of proportion, but to do what you want, you'd need to use the blitter drawing the texture to a framebuffer, unless your graphic was drawn that shape, then you could scale it up.

  • Like 4

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...