Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Matrefeytontias

Pages: 1 ... 66 67 [68] 69 70 ... 133
1006
TI Z80 / Re: GLIB a graphics axe 3d librairy
« on: July 10, 2013, 01:16:25 pm »
and I check the camera pos according to this equation.
What do you mean by that ? What's the calculation performed ?

EDIT : did you use this method : http://flipcode.com/archives/Building_a_3D_Portal_Engine-Issue_06_Hidden_Surface_Removal.shtml ? If yes, how did you manage to get rid of the overflow that I always encounter when normalizing the vector with sqrt(x²+y²+z²) ?

In either way, how did you do that ? >_>

1007
TI Z80 / Re: GLIB a graphics axe 3d librairy
« on: July 10, 2013, 11:53:26 am »
Looks good :)

So how do you perform it ? Because we with tr1p1ea had to find a horribly inaccurate and unflexible workaround, so I'm wondering.

1008
TI Z80 / Re: GLIB a graphics axe 3d librairy
« on: July 09, 2013, 07:42:25 am »
Thanks to tr1p1ea, I managed to perform backface culling in Axe :)



I don't know if you already do it, but if you don't, I'll be glad to explain how it works. It's pretty fast (although you don't see it because I optimized nothing ;D ), and only consists in one formula (but the conditions in which it works are just a PITA to set up).

1009
TI Z80 / Re: [Axe] Super Crate Box
« on: July 08, 2013, 02:20:20 am »
It's been a long time since I made them DJ :P

Making the vid made me play it again, it was like nostalgia :P

1010
TI Z80 / Re: GLIB a graphics axe 3d librairy
« on: July 06, 2013, 03:45:48 pm »
But ASM gets faster results than Axe for everything :P

1011
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 06, 2013, 06:28:50 am »
Yeah good idea ;D

And thanks :)

EDIT : I wrote a preview of what will surely be the "graphical pipeline" part of the engine :

Graphical pipeline organisation
-------------------------------

0°) Fill (alreadyProcessed) with -32768
1°) Retrieve element from stack
   a) object type : 1 byte
   b) rendering mode : 1 byte
   c) offset(s) : 2 bytes
2°) Test object type
   2.1°) OBJECT_DOT :
      a) Retrieve vertex from vertices table
      b) See if it has already been processed during the rendering process. If yes, retrieve coordinates and jump to f)
      c) Rotate
      d) Project
      e) Save coordinates
      f) Clip a square of 2*2 pixels at the calculated coordinates
   2.2°) OBJECT_LINK :
      a) Retrieve the first vertex from vertices table
      b) See if it has already been processed during the rendering process. If yes, retrieve coordinates and jump to f)
      c) Rotate
      d) Project
      e) Save coordinates
      f) Repeat a)b)c)d)e) for the second vertex
      g) Retrieve coordinates
      h) Draw a clipped line between the two calculated coordinates
   2.3°) OBJECT_TRI :
      a) Retrieve the first vertex from vertices table
      b) See if it has already been processed during the rendering process. If yes, retrieve coordinates and jump to f)
      c) Rotate
      d) Project
      e) Save coordinates
      f) Repeat a)b)c)d)e) for the two other vertices
      g) Retrieve coordinates
      h) Draw a clipped triangle with the three calculated coordinates
3°) If there is another object on the stack, jump to 1°)


What do you guys think of that ? Do you think of anything I could add ?

1012
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 06, 2013, 04:48:44 am »
Yes, I keep repeating that I always work on projects at 6 MHz !

And for now I only have LUT-based sincos, your HLtimesA et your HLsdivDE.

1013
TI Z80 / Re: [Axe] Super Crate Box
« on: July 05, 2013, 01:58:37 pm »
Big bump ;D

I finally decided to make a trailer vid, because Jetpack was feeling alone in my Youtube channel :P

[ Invalid YouTube link ]

1014
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 05, 2013, 12:11:33 pm »
It works :D and OH MY GOD I CAN'T SEE WHAT'S GOING ON ON-SCREEN IT DISPLAYS FASTER THAN THE LCD UPDATES O.O gonna test it

EDIT : 34 FPS !!!!  *.* :w00t: :banghead: O.O :o :crazy:


1015
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 05, 2013, 11:33:52 am »
But I can't say <_< there are too many variable factors involved. I calculate a 3*3 rotation matrix out of 2 angles, and then I apply it to a vertex. It's nearly random. And it really seems on-screen that the operation performed is unsigned.

1016
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 05, 2013, 11:19:25 am »
It doesn't work ... I mean doesn't give the same result as when I previously did :
Code: [Select]
call AextendSignDE
 call multHL_DE
And this time I recopied the exact same code. No modifications tried :P

EDIT : maybe it's because it's unsigned only ...

1017
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 04, 2013, 07:38:07 pm »
@Xeda112358 actually I exactly need an HLtimesA routine, so it would perform HL=HL*signed(A) ;D

Anyway, randomly-proposing-things-that-came-to-my-mind time. Since I want the engine to be able to display actual objects (one can still dream), I need a way to correctly handle face declaration. I'll base a clipped triangle routine out of the one I included in AxeJh3D and the other one I just wrote in Axe for TheMachine02's GLib, so filling won't be a problem. However, I can't really think of a practical way to declare surfaces ...

Maybe I'll use some sort of a stack, which you push objects to be rendered on. By objects, I mean either a single vertex which will be rendered as a dot, a pair of vertices which will be rendered linked by ... a line (duh) or three vertices which will be rendered as a triangle (either black or solid white I guess). As I write it, it seems to be the best solution to me.

I'm thinking of something like this (heavily inspired by DCS7's GUI stack, but hey, it really works) :
Code: [Select]
ld hl,verticesTable    ; points to 6-bytes vertices table (X, Y, Z)
 call setCurrentVertices
 
 ld a,OBJECT_DOT
 ld hl,23     ; which vertex of the table do we use ?
 call pushObject

 ld a,OBJECT_LINK
 ld hl,vertices2     ; points to string of 2 2-bytes offsets for vertices in the table
 call pushObject

 ld a,OBJECT_TRI
 ld b,RENDER_BLACK    ; either black or solid white
 ld hl,vertices3      ; same as above with 3 offsets
 call pushObject

 call renderScene    ; objects are drawn, then popped
I don't know at all how will each function work, for now I'm only thinking of a syntax that would be practical to use (understand "not so painful"). What do you guys think of that ?

1018
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 04, 2013, 06:22:10 pm »
Yeah true, I can use a simple HLtimesA there, but optimizations will come later.

1019
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 04, 2013, 01:10:15 pm »
Hell if I know ... try to figure that out by applying a matrix varying depending on varying angles to varying numbers ;D

1020
TI Z80 / Re: [z80 ASM] Unnamed set of 3D routines
« on: July 04, 2013, 01:07:51 pm »
Okay, it was an error of my part, excuse me :P

And ... oh waw. Didn't think a simple change of division routine could speed up the whole thing that much O.O I think I gained 1 or 2 FPS ...

Pages: 1 ... 66 67 [68] 69 70 ... 133