Join us on Discord!
You can help CodeWalrus stay online by donating here.

[gLib][3d][z80][ez80] gLib a fast 3D asm/axiom library

Started by TheMachine02, January 19, 2015, 05:10:01 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

TheMachine02

With me having trouble to pull ~300Tri/s (about 30@10 fps) , no you can't  :P  ... and my current line drawing routine is wayyyyyy slower.

alexgt

Well anything 3D on a calc is still awesome :)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Snektron

True...
So, what about desingning a GPU that uses hundreds of z80's and uses gLib as official rendering pipeline? :P
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Quote from: alexgt on June 07, 2015, 01:49:34 PM
Quote from: TheMachine02 on June 07, 2015, 09:12:20 AM
I converted a obj file of a low ploy deer model found on the net (free of use of course), to a gLib friendly format and render it. So data file  :P
Awesome!! I really want to get into 3D stuff especially with the HP Prime but I have to learn Java over the summer because that is the language that we will use in the robotics club at school.
As long as you add placing blocks in Mineprime before taking on another HP Prime project :P
Quote from: Cumred_Snektron on June 09, 2015, 01:01:49 PM
Unreal 4: TI 83/84 edition? :P
I'm thinking more of Space Dementia or Star Fox.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

TheMachine02

Quote from: Cumred_Snektron on June 09, 2015, 01:50:02 PM
True...
So, what about desingning a GPU that uses hundreds of z80's and uses gLib as official rendering API? :P

I'll guess this will never happen  :P More with some ez80 ....
* TheMachine02 runs

Quote from: DJ Omnimaga on June 09, 2015, 01:52:10 PM
I'm thinking more of Space Dementia or Star Fox.

Yeah, that is most likely possible, seing this : http://www.omnimaga.org/ti-z80-calculator-projects/star-fox/
(the famous starfox by thepenguin77)
Portal may be possible, but most likely with much more simpler scene.

Dream of Omnimaga

Well, ThePenguin's Star Fox used some cheating, right? IIRC it was not 100% 3D or it used many shortcuts to get around limitations. I guess you could do the same since it's also for monochrome calcs, though. And Space Dementia is like Star Fox, but for the TI-89/92+/v200.


By the way, does GLIB have a 16x16 icon or something as logo? I was wondering for when I decide to make a sub-forum for this project and MinePrime.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

TheMachine02

Quote from: DJ Omnimaga on June 09, 2015, 02:06:53 PM
Well, ThePenguin's Star Fox used some cheating, right? IIRC it was not 100% 3D or it used many shortcuts to get around limitations. I guess you could do the same since it's also for monochrome calcs, though.

The cheating is that he only project vertex, and doesn't rotate them. But my projection routine (wich I am quite proud of) is far superior than his project routine.

Quote from: DJ Omnimaga on June 09, 2015, 02:06:53 PM
By the way, does GLIB have a 16x16 icon or something as logo? I was wondering for when I decide to make a sub-forum for this project and MinePrime.

Well, no gLib doesn't have any logo. I have always been bad at pixel art.

Dream of Omnimaga

Aah right, I was wondering what cheat he used. I guess back then 3D on calc wasn't as developed as now :P
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

TheMachine02

I guess, yes. But it is true that starfox doesn't really need true 3D, as it is just polygons coming in one line. I doesn't even think that the first 3D version used rotation.

Snektron

Yeah you could just have a fixed camera for that. you wouldn't even need a matrix for that :P
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Yeah I don't think there was rotation either. If someone wanted to be cheap he could probably also make walls only be pillars and skyscrapers that zooms in.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

TheMachine02

I started to write doc in html way (pretty much copied from aether  :P). It is not really too hard to do it, as it is pretty straight code.

So what do you think of the color/font/style?

Snektron

It looks like very old webpages :P you should put it on internet too
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


CKH4

I like it except for the background yellow. Easy to read, shows up ok on mobile. Pretty good I guess.
  • Calculators owned: TI-83+, TI-84+


TheMachine02

So now it is finally holidays for me, I can proprely work on gLib   :D

First, the pipeline. I found several optimization in code passing data to rest of pipeline, wich was fairly inefficient. By redesigning this code, I can also finally reimplement geometry shader - and allow to modify geometry on the fly. Some other improvement will also be better cliping code integration (possibility to calculate it in vertex shader, on in geometry shader if vertex will be moved/changed, without speed hit).
Second, cliping. The current 2D and 3D cliping algorithm are slow, because it first need to fetch data, and then clip using heavy math. However, I might be able to use better suited z80 algorithm to perform the same task. I am not sure if the result will be faster, so I'll need to try that.
At last, but not least, I setup a new record (at least, personnal record) : 3D wired cube running at 45 fps with the max being 47.5fps. And this is only with minor improvement in 3D calculation and heavy optimizations in projection code ( wich is now about 750TStates !). No change have being made to VBO code (wich use quite a lot of ressources).

I expect about 30% of speed improvement with the new version, but that will be mostly be less  :P

Powered by EzPortal