Micro 3D [Space Ship]

It has begun. Transforms are being performed on each individual object.
This is presented as 2 mesh objects, one with 20 faces (60 vertices) and one with 2 faces (6 verticies)
Each face can have it’s own color, and in the future texture map.

Just wait until I have flat shading and code ported to RLP.

3 Likes

Can hardly wait to see mode :slight_smile:

I’ll be starting on an RLP port of this part before moving to the next stage.

New job and being a bit sick has me pretty tied up but I’m still hopeful I can make progress sometime tomorrow. If not, surely by end of week.

DOOM 3D sometimes next week? :wink:

Looks great!

Looking good!

+1 for DOOM

This is true 3D here. I’ll see your Doom and raise you “Alone In the Dark” or “Starfox”

Funny, I did just the same yesterday evening on the Hydra! I’m working on a flood fill algorithm now, but don’t know if flood filling will be the fastest way.

My RLP screen drawing is still crap (and so scrapped) but I can send you the managed code I’ve been working on yesterday and today if you like.

@ WouterH - For realtime rendering you should be looking at using a scanline polygon fill.

Basically using the bresenham algorithm you step pixel by pixel down the two sides of the polygon and draw a line between the two opposing points. This can be nicely optimized because you know the start and end X coordinates and Y is the same so rahter than filling pixel by pixel you can word fill and only special case the start an end which migt not be on a word boundary. Of course when the triangle is rotated, one of the sides ends before the other, at that point you just swtich to the next line can continue.

I have attached a primitive drawing to help explain.

1 Like

I wrote code for the Arduino to do this long ago. I still have it. Can upload tomorrow.

This is what I ended up yesterday (sorry the object is not that fancy as Skewworks’s)

just implemented a vertex and matrix class. Now I will figure out how to build a RLPlite binary for the Hydra :slight_smile:

2 Likes

@ WouterH
@ Skewworks

Excellent start chaps

@ WouterH
@ Skewworks
Thsi is awsome guys!! well done. It kind of reminds me of the original Amiga crew demos that used to float around.

I have the triangle fill running in rlp lite filling over 1000 triangles per second.

@ WouterH - it’s not real until we have video :smiley:

1 Like

Ok, here’s a video of a rotating cube that consists of 192 triangles. Video quality is bad and I’ll capture a better one in few hours. Stay tuned :wink:

For now, the engine renders all triangles, even those on the back. using simple z-buffer sorting.

Next would be to implement back-face culling using the CW/CCW technique (Back-face culling - Wikipedia)

2 Likes

Awesome man! We should really start combining efforts instead of us developing in parallel we could have the whole thing knocked out quick thanks to the time zone difference we can pack a lot of hours into a day.

I have the code on bitbucket, do you have an account so I can share the project with you? It’s a git repository.

This is the current status with back-face culling and backsurface drawing working:

You’re looking at 240 filled triangles here :slight_smile:

4 Likes

It looks better and better with every new video!

really impressive , i wont have a clue where to start with this kinda stuff tbh. and there was me being pleased i got plain text onto a screen lol

i think you guys could achieve something amazing together, looking forward to seeing how this all pans out