• [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development ! 5 1
Currently:

### Author Topic: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !  (Read 17122 times)

0 Members and 2 Guests are viewing this topic.

#### Matrefeytontias

• Axe roxxor (kinda)
• LV10 31337 u53r (Next: 2000)
• Posts: 1982
• Rating: +310/-12
• Axe roxxor
##### [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« on: March 02, 2013, 03:44:39 pm »
Hi guys !

Some of you may be aware of my "super-secret-project", and now that it reached a releasable state, I don't make you wait any more

So, the project I'm working on is an axiom (ASM for Axe so) which allows you to work with 3D vertices in a high-level way. Before saying anything, please know that I didn't made any 3D calculus during the development of this axiom. I just ported the 3D routine set Juha3D by yhean from pure ASM to Axe-friendly ASM, which still was a PITA that took me 27 days, especially because I've fully done it with Mimas (yeah, I'm a great Mimas fan) So, all credits goes to him (wherever he is now) for the 3D calculations (and I would especially thank him for his wonderful macros and SMC that aren't allowed in an axiom coded with Mimas and which gave me strong headaches).

Instead of explaining the way it works any further, have a look at the 3 current commands of the axiom, which are all available in the [PRB] menu ([math][?]) :

 Command Token Effect CalcMatrx(x_angle,y_angle,z_angle) randInt( Calculates the rotation matrix given the X, Y and Z angles. The matrix is written to the whole 9 bytes of OP1, this means that it got destroyed by float{}, GetCalc or a call to Ans (tell me if I forgot something). RotVertx(x_coord,y_coord,z_coord,outputArea) randNorm( Rotate a vertex given its X, Y and Z coordinates according to the rotation matrix calculated with a previous call to CalcMatrx and writes the resulting coordinates to the 6 bytes starting at outputArea. ProjVertex(x_coord,y_coord,z_coord) randBin( Converts 3D coordinates into 2D ones. Basically, it takes a point in space and converts it into a point on screen. It returns the X coordinate in L and the Y coordinate in H, so make a modulus 256 on the returned value to have the X coordinate, and divide it by 256 to have the Y coordinate. Don't forget that you'll need to use a camera offset (distance from the camera to the plan) to avoid having the vertices display right on your face !

And now ... examples time !

The classic cube :

8 vertices, 12 links, 4 calls to getKey, 29 FPS

Omnimaga's logo :

20 vertices, 30 links, 4 calls to getKey, and still strong - 14 FPS !

Trip through the galaxy !

32 vertices, no links, 4 calls to getKey, moving camera, 12 FPS

I attached the axiom itself, AXMJH3D.8xv, and the source of the cube program as a small example, CUBE.8xp.

Note that it's not a complete project. Yeah, it's only a port of Juha3D, but I'm actually looking for people who would want to get into it with me in order to build a full axiom that could provide by himself all the functionalities that working with volumetric objects would require (scaled down to calc dev of course, so I'd be really happy only with polygon filling, but I'm sure people can think - and realize - better than only that ).

So, to make it clear : if you want to team up with me to carry this axiom even further, do a big up

Have fun, and share comments !

LAST UPDATE : http://ourl.ca/18452/346582
« Last Edit: April 30, 2013, 01:22:19 pm by Matrefeytontias »

#### Geekboy1011

• The Oneironaut
• Donator
• LV11 Super Veteran (Next: 3000)
• Posts: 2030
• Rating: +119/-2
• Dream that Awakening dream
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #1 on: March 02, 2013, 03:51:08 pm »
Ok that is really cool. i wonder what kinda 3d games we might get out of this now

Also one thing that i think would help a project like this is writing a custom screen drawing routine so you can shove some of the math/maintenance code in the lcd delay for a hopefully decent speed up where applicable
« Last Edit: March 02, 2013, 03:53:44 pm by Geekboy1011 »

#### Matrefeytontias

• Axe roxxor (kinda)
• LV10 31337 u53r (Next: 2000)
• Posts: 1982
• Rating: +310/-12
• Axe roxxor
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #2 on: March 02, 2013, 03:56:36 pm »
Thanks I first thought about a Star Fox like or something ...
* Matrefeytontias dreams about nice things

EDIT to answer your EDIT : the axiom itself only does calculations and doesn't draw anything, I'm just using Axe's routines to display something.
« Last Edit: March 02, 2013, 04:00:22 pm by Matrefeytontias »

#### ben_g

• Hey cool I can set a custom title now :)
• LV9 Veteran (Next: 1337)
• Posts: 1002
• Rating: +125/-4
• Asm noob
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #3 on: March 02, 2013, 05:03:31 pm »
Matrefeytontias and me just decided on IRC to team up for this project.
My projects
- The Lost Survivors (Unreal Engine) ACTIVE [GameCommandoSquad main project]
- Oxo, with single-calc multiplayer and AI (axe) RELEASED (screenshot) (topic)
- An android version of oxo (java)  ACTIVE
- A 3D collision detection library (axe) RELEASED! (topic)(screenshot)(more recent screenshot)(screenshot of it being used in a tilemapper)
Spoiler For inactive:
- A first person shooter with a polygon-based 3d engine. (z80, will probably be recoded in axe using GLib) ON HOLD (screenshot)
- A java MORPG. (pc) DEEP COMA(read more)(screenshot)
- a minecraft game in axe DEAD (source code available)
- a 3D racing game (axe) ON HOLD (outdated screenshot of asm version)

This signature was last updated on 20/04/2015 and may be outdated

#### Geekboy1011

• The Oneironaut
• Donator
• LV11 Super Veteran (Next: 3000)
• Posts: 2030
• Rating: +119/-2
• Dream that Awakening dream
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #4 on: March 02, 2013, 06:10:47 pm »
What im saying is. If you were to offer a function to handle screen updates you could put some of the work in the delay and there for save some clock cycles. Its just an idea.

#### Hayleia

• Programming Absol
• Coder Of Tomorrow
• LV12 Extreme Poster (Next: 5000)
• Posts: 3367
• Rating: +393/-7
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #5 on: March 03, 2013, 01:10:47 am »
Thanks I first thought about a Star Fox like or something ...
* Matrefeytontias dreams about nice things
There is already a StarFox project by thepenguin77, but it only runs for 15MHz models, so not for your 83+.

Will the Axiom support solid walls (even if they are only white, with no textures) or only wires ?
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

#### DJ Omnimaga

• Former TI programmer
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55881
• Rating: +3151/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #6 on: March 03, 2013, 01:46:45 am »
Wow looks very nice. THe first two screenshots look quite fast and the 3rd one reminds me of Final Fantasy ending splash screens.

Also I didn't know Juha3D was actually released. Back in 2003 the official site was just a giant ASCII art with no more download link.
Thanks I first thought about a Star Fox like or something ...
* Matrefeytontias dreams about nice things
There is already a StarFox project by thepenguin77, but it only runs for 15MHz models, so not for your 83+.

Will the Axiom support solid walls (even if they are only white, with no textures) or only wires ?
That Starfox project used plenty of cheating techniques to simulate 3D and get around limitations, though, so it might not be 100% 3D (although I think if you modify the source it's perfectly useable for games and levels)

#### Matrefeytontias

• Axe roxxor (kinda)
• LV10 31337 u53r (Next: 2000)
• Posts: 1982
• Rating: +310/-12
• Axe roxxor
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #7 on: March 03, 2013, 06:33:50 am »
Thanks I first thought about a Star Fox like or something ...
* Matrefeytontias dreams about nice things
There is already a StarFox project by thepenguin77, but it only runs for 15MHz models, so not for your 83+.

Will the Axiom support solid walls (even if they are only white, with no textures) or only wires ?

This project is by long discontinued. Also yeah, I forgot to mention that the programs on the screenshot all runs at 6 MHz

And yeah, solid surfaces are my next item on my list. That's why I mentionned polygon filling.

And thanks DJ_O

#### Hayleia

• Programming Absol
• Coder Of Tomorrow
• LV12 Extreme Poster (Next: 5000)
• Posts: 3367
• Rating: +393/-7
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #8 on: March 03, 2013, 06:36:34 am »
And yeah, solid surfaces are my next item on my list. That's why I mentionned polygon filling.
Ah, that's what you meant by "polygon filling"
That's great to hear anyway
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

#### Xeda112358

• they/them
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4673
• Rating: +718/-6
• Calc-u-lator, do doo doo do do do.
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #9 on: March 03, 2013, 06:49:34 am »
Matrefeytontias: This is amazing o.o It works so smoothly! I had just finally figured out 3D stuff yesterday, so I made a BASIC program, but this is gorgeous o.o I am now looking forward to the upcoming TI-Concours stuff in Axe/Assembly If we do Snake or something, are you going to make it 3D?

#### Matrefeytontias

• Axe roxxor (kinda)
• LV10 31337 u53r (Next: 2000)
• Posts: 1982
• Rating: +310/-12
• Axe roxxor
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #10 on: March 03, 2013, 07:01:16 am »
Unfortunately, I don't think I'll participate to the contest, mostly because the family didn't like my grades during the first trimester. Dunno why

But after the polygon filling is done, I think I'll start with a terrain generator, so you'll can walk on it

#### TIfanx1999

• ಠ_ಠ ( ͡° ͜ʖ ͡°)
• CoT Emeritus
• LV13 Extreme Addict (Next: 9001)
• Posts: 6173
• Rating: +191/-9
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #11 on: March 03, 2013, 07:32:17 am »
So this is the secret project you've been going on about. Pretty cool stuff! ^^

#### Matrefeytontias

• Axe roxxor (kinda)
• LV10 31337 u53r (Next: 2000)
• Posts: 1982
• Rating: +310/-12
• Axe roxxor
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #12 on: March 03, 2013, 07:49:37 am »
Yeah that's it, and thanks

Also, if you cant think of more things that you would like have added to the axiom, say it

#### pimathbrainiac

• Occasionally I make projects
• Members
• LV10 31337 u53r (Next: 2000)
• Posts: 1731
• Rating: +136/-23
• dagaem
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #13 on: March 03, 2013, 01:26:51 pm »
So this is what you were keeping secret from us...

I am Bach.

#### Matrefeytontias

• Axe roxxor (kinda)
• LV10 31337 u53r (Next: 2000)
• Posts: 1982
• Rating: +310/-12
• Axe roxxor
##### Re: [Axiom] AxeJH3D, a(n almost) complete axiom for 3D development !
« Reply #14 on: March 03, 2013, 02:12:22 pm »
Yes this is. Will you forgive me ?