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.

Duke "Tape" Eiyeron

  • Calculators owned: A lot.

TheMachine02

Having detailed graphics will be difficult though. Wonder in waht extend RPG are adapted to this engine.

Dream of Omnimaga

I don't think textures are necessary (or at least detailed ones). If someone just remakes an early Illusiat game into 3D he could just use lines for walls. By the way, does this support field of view, as in only being able to see stuff at a certain maximum distance?
  • 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

CKH4

I believe it does have field of view but I've only used 2.0 model view camera.
Also look at this https://www.omnimaga.org/ti-z80-calculator-projects/%28axe%29collision-detection-library/
  • Calculators owned: TI-83+, TI-84+


TheMachine02

I does not have a 'real' field of view actually, far things are always rendered, even if the will make evrything overflow  :P Principally cause the clipping in far range is pretty painful to do, ince I can't relly on the rotated coordinate (wich may have overflow). Matrix rendering does change this though, as you can render world from almost every point you want (just has a limited vertex range).
So, yeah, far thing are rendered.

Quote from: DJ Omnimaga on April 19, 2015, 11:22:24 AM
I don't think textures are necessary (or at least detailed ones).
Textures.... hehe  :P I'll doubt we'll see them in real-time one day...
I was more talking about detailed line or filled decors (with more than 3 vertex  :P )

Dream of Omnimaga

Thanks for the explanation. :)  And yeah if even texture-less 3D is slow then perhaps games like Illusiat 3 should be avoided.
  • 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

#66
well it is 3D on calc  :P so don't expect huge performance (even if gLib start to be more than game - able)

EDIT:

is this :

gGenVAO(0)->G
.delete vao, it is the axe delvar command
Delvar G

is better than this:

gGenVAO(0)->G
gDeleteVAO(0)


first method does use extra 8 bytes/VAO, but the second one does waste more bytes in code, and use an extra command ( 32 max/axiom, and I want to fit almost everything is this update :p)
In total, it only really change for the end user, design speak-wise.

Snektron

Depends on how much you use it in the code
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


TheMachine02

One or two time max I'll say. Cause this is only for freeing memory  :P
Also, does somebody knows a good documentation generator for z80 asm ?
Cause writing all the doc by myself is balh :p

Dream of Omnimaga

Do you mean a program that comments your code for you?
  • 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

More a program wich extract comment from source file and then put it in form.

Dream of Omnimaga

Ah ok. How different would they look like?
  • 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

#72
Well, maybe something like :

Routine name
-INPUT : register and stuff
-OUTPUT: what the routine output
What does the routine
-WARNING: maybe some warning about the command
-Speed of the routine (in TStates)

I guess I'll just have to do it manually, like in html or in pdf form. It is not too much difficult, just slower.

Also: I finally find a way to implements real pixel shader in gLib. They'll to be compiled in asm though. Pretty much happy of me right now  8) First thing I've implemented is Z-Buff and I am pretty much impressed of how well it run  :P, altough there is artefact due to the algo used.

EDIT : pixel shader only works on triangle for now, but I am currently implementing them into line drawing

Snektron

Quote from: TheMachine02 on April 28, 2015, 05:43:42 PM
Also: I finally find a way to implements real pixel shader in gLib. They'll to be compiled in asm though. Pretty much happy of me right now  8) First thing I've implemented is Z-Buff and I am pretty much impressed of how well it run  :P, altough there is artefact due to the algo used.
*.*
TI 84+ Raymarch shaders?
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


TheMachine02

Nah. They are pretty much limited to be speedy as they are. I don't even proprely implemented linear interpolation of vertex parameters  :P

Here some spec though :

; pixel shader ps_1.0
; registers specifications:
; #input Color     : 1 [1 byte(s)] [R]      [default=color]
; #temp integer     : 1 [1 byte(s)] [R/W] [ldefault=undef]
; #sampler/texture : 1 [2 byte(s)] [R/W] [default=null]
; #output color    : 1 [2 byte(s)] [R/W] [screen adress]

Powered by EzPortal