Page 1 of 2

[News][Staff] solidFRAME - a 3D engine for the TI-83+(SE)

Posted: Thu 29 Nov, 2012 4:07 am
by tr1p1ea
Hi guys,

Just thought id let you know that i have uploaded a project to
ticalc.org today. It is a 3D engine for the TI-83+ series calculators.

The program is a 3D model viewer that enables the user to view and
interact with a 3D model in real-time. Note that it renders
flat pattern-shaded polygons. Also included is a utility to convert
Wavefront OBJ models to .8xp programs for use with this
viewer.

It is written in z80 assembly and a 15MHz calculator is recommended.

It is in beta testing so there could be problems. Please report any bugs
if you find any.

Here is a link: http://www.ticalc.org/archives/files/fi ... 45097.html

Also here are some screenies.
scr_0.gif
scr_0.gif (1.61 KiB) Viewed 17614 times
scr_1.gif
scr_1.gif (31.05 KiB) Viewed 17614 times
scr_2.gif
scr_2.gif (1.2 KiB) Viewed 17614 times
scr_3.gif
scr_3.gif (333.94 KiB) Viewed 17614 times
Id appreciate feedback if anyone has some.

Enjoy.

Re: solidFRAME - a 3D engine for the TI-83+ (SE Recommended)

Posted: Thu 29 Nov, 2012 4:19 am
by benryves
Very impressive work - I lack the relevant equipment to install it on a calculator so I played around in an emulator and it seems to work very well indeed. :-)

Do you have any plans for what you'll work on adding next?

Re: solidFRAME - a 3D engine for the TI-83+ (SE Recommended)

Posted: Thu 29 Nov, 2012 4:23 am
by tr1p1ea
Hi Ben, Thanks for the quick reply! :).

I need to correct the back-face culling for a start and add polygon clipping i think. Plus i need reorganise the memory structure a little.

For now i might just have a go at making some 3D models to test with :).

Re: solidFRAME - a 3D engine for the TI-83+ (SE Recommended)

Posted: Thu 29 Nov, 2012 4:55 pm
by benryves
I see - how have you implemented the backface culling at the moment?

Re: solidFRAME - a 3D engine for the TI-83+ (SE Recommended)

Posted: Thu 29 Nov, 2012 10:01 pm
by tr1p1ea
The BFC is very basic, at present i do it after transforming but before projecting using:

; bfc = (x0-x1)*(y2-y1)-(y0-y1)*(x2-x1)

Where the sign is taken to determine which direction the polygon is facing. The error involved means that faces on the boundary between facing and not-facing are sometimes confused.

Ill need to implement it properly in the future.

Re: solidFRAME - a 3D engine for the TI-83+ (SE Recommended)

Posted: Fri 30 Nov, 2012 2:51 am
by benryves
I gather it's the "before projecting" that is causing the error? Ah well, I look forwards to seeing where you take this next.

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Sun 02 Dec, 2012 8:10 pm
by NanoWar
Hmm why is the X-Wing model not included? !!! Awesome work.

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Mon 03 Dec, 2012 9:05 pm
by tr1p1ea
Ill tidy up the xwing model and release if you like.

In the meantime i have been experimenting with basic lighting effects:
Image

Here is a better screenshot of whats going on (i hope):
Image

Also here is the xwing:
Image

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Wed 05 Dec, 2012 9:17 pm
by JamesV
As usual, Pat, you never cease to amaze! This looks just amazing!

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Thu 06 Dec, 2012 3:19 pm
by merthsoft
The slower-spinning cube does indeed make it more clear what you're doing--and it looks great! Does that work with multiple objects? Does it perform well?

Also, that X-Wing looks great :)

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Thu 06 Dec, 2012 10:40 pm
by tr1p1ea
I do need to fully implement it so that it is based on an idependant world position as opposed to the camera (was a quick hax), but it supports all objects in the 'world' without any code changes.

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Mon 10 Dec, 2012 5:20 pm
by merthsoft
That's pretty impressive. What about multiple light-sources?

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Mon 10 Dec, 2012 9:27 pm
by tr1p1ea
Well technically it would be possible, but i would have to properly implement lighting as opposed to this hack. That being said, per model lights should be easy too.

Also i have added polygon clipping, but only in 2D which means that any polygons that have a vertex behind the near plane (z=0) will be culled and not clipped as demonstrated in this screenie:

Image

Still that only typically happens when you are 'in the middle' of a model so in most cases it should be acceptable.

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Mon 04 Feb, 2013 9:04 pm
by yhean
Very, very nice work! I really like the lighting effects.
Good to see someone is still working on a 3D engine :)

Re: [News][Staff] solidFRAME - a 3D engine for the TI-83+(SE

Posted: Mon 04 Feb, 2013 10:58 pm
by tr1p1ea
Oh wow hi yhean!! Long time no see, i hope you're doing well!

Thanks for your kind comments, i remember your 3D engine (juha3D?), it was very impressive and a large inspiration for my interest in calc 3D :).

Good to see you :).