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
1007
« 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
« 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 ), and only consists in one formula (but the conditions in which it works are just a PITA to set up).
1009
« on: July 08, 2013, 02:20:20 am »
It's been a long time since I made them DJ Making the vid made me play it again, it was like nostalgia
1010
« on: July 06, 2013, 03:45:48 pm »
But ASM gets faster results than Axe for everything
1011
« on: July 06, 2013, 06:28:50 am »
Yeah good idea 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
« 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
« on: July 05, 2013, 01:58:37 pm »
Big bump I finally decided to make a trailer vid, because Jetpack was feeling alone in my Youtube channel [ Invalid YouTube link ]
1014
« on: July 05, 2013, 12:11:33 pm »
1015
« 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
« 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 : call AextendSignDE call multHL_DE And this time I recopied the exact same code. No modifications tried EDIT : maybe it's because it's unsigned only ...
1017
« on: July 04, 2013, 07:38:07 pm »
@Xeda112358 actually I exactly need an HLtimesA routine, so it would perform HL=HL*signed(A) 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) : 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
« on: July 04, 2013, 06:22:10 pm »
Yeah true, I can use a simple HLtimesA there, but optimizations will come later.
1019
« 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
1020
« on: July 04, 2013, 01:07:51 pm »
Okay, it was an error of my part, excuse me And ... oh waw. Didn't think a simple change of division routine could speed up the whole thing that much I think I gained 1 or 2 FPS ...
Pages: 1 ... 66 67 [68] 69 70 ... 133
|