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.
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:
Here is a better screenshot of whats going on (i hope):
Also here is the xwing:

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:
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

.