Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Compotime: Show me your (vector)balls
2013-05-24 11:28
Bitbreaker

Registered: Oct 2002
Posts: 508
Compotime: Show me your (vector)balls

After several comments arised that such an amiga-ball can be filled faster, i now want to call out a filler-compo for our coders.

Requirements:

The vector must be rendered in hires, background is white, foreground is dark red.

There's a raster-irq running that splits the screen at $2d and $f2 to set the background and border color to white and black, as seen in the screenshot. Means, there is a charline free in the bottom, that is where the benchmark results are displayed with the system charset. Displaying the result with screencodes is enough for us coders, but hex or decimal values are okay too.



The animation will be precalculated to see the power of your filler only. Therefore a data.bin is provided that contains all animationsteps for all faces with culling etc. already done.

The data structure may be altered to your needs, but not the animation itself, obvious isn't it?

The structure of data.bin is as follows:
byte x1 | $80
byte y1
byte x2
byte y2
byte x3
byte y3
byte x4 (optional, depending on if we have a triangle or quad)
byte y4 (optional, depending on if we have a triangle or quad)

As you can see faces can have 3 or 4 vertices, the first vertice is marked with bit 7 set, to be able to determine if a face consists of 3 or 4 vertices and to have a break out point for a finished frame, which is marked with the value $ff. If there's further questions about the data-format, don't hesitate to contact Bitbreaker

The filling must happen fullframe and fullsize, means, no interlacing or other cheap tricks with reducing resolution.

A counter for benchmarking must be implemented to count the frames until 256 frames have been displayed, it must be made visible in the bottom line.

The lowest value achieved counts (as there might be some jitter), for that, each entry must run in an endless loop.

The whole mem can be used, but every free byte of mem gives extra kudos.

Deadline is June 25th 0:00.

If the deadline is extended, a severe drama is expected, if not, you are out. Also i'll participate with an own entry, make a drama about it! :-)

Entries must be handed in to Bitbreaker and must not be released beforehand. They all will then released after the deadline, for maximum thrill and drama :-)

Each entry must be executeable with run.

SO DO YOU HAVE THE BALLS?
 
... 166 posts hidden. Click here to view all posts....
 
2013-05-29 16:50
Cruzer

Registered: Dec 2001
Posts: 1048
Let's stick to the original precalculations, otherwise the drama will be too intense. But I wouldn't mind getting the full set of coords, including hidden ones. I think it would be easier to pack that way.
2013-05-29 17:07
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Let's stick to the original precalculations, otherwise the drama will be too intense. But I wouldn't mind getting the full set of coords, including hidden ones. I think it would be easier to pack that way.

I agree
2013-05-29 18:43
Bitbreaker

Registered: Oct 2002
Posts: 508
So here's the C-programme that generates the data.bin for you all to play around and in the end miss the deadline for more drama :-P Attention, contains a Makefile!!1! /o\
2013-05-29 20:01
Cruzer

Registered: Dec 2001
Posts: 1048
Thanx, Bitbreaker! It compiled and executed on first try. Amazing!
2013-05-30 10:23
enthusi

Registered: May 2004
Posts: 677
Why not such a vector sphere? ;-)

(bad looking example)
2013-05-30 10:53
JackAsser

Registered: Jun 2002
Posts: 2014
©enthusi: because that would look undistorted and would be too easy to implement since there are no quads in it. :P But yeah... I agree. Also getting the rotated coordinates for such a sphere in real time is easier that Bitbreaker's I think, not 100% sure though, but it feels more simple. :)

But then again... it's not AAAAMIIIIGAAAAAH!
2013-05-30 11:56
Oswald

Registered: Apr 2002
Posts: 5095
jackie, where's the symmetry in this triangle sphere ? recently on poutet I saw in a thread, that one method to make an 'iso' sphere is to normalize a cube's vertices. still seems more work than the doth sphere cheats: ie. average many cube points out of 8 then scale them with LUTS. dot sphere is only 3 adds and a lookup, cube is 2 adds and a lookup, hmm :) this is getting sounding like that this method leads to new sphere dot records:) anyway I may be wrong its been ages I did a dot sphere and too tired to think it really trough.
2013-05-30 13:00
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: jackie, where's the symmetry in this triangle sphere ? recently on poutet I saw in a thread, that one method to make an 'iso' sphere is to normalize a cube's vertices. still seems more work than the doth sphere cheats: ie. average many cube points out of 8 then scale them with LUTS. dot sphere is only 3 adds and a lookup, cube is 2 adds and a lookup, hmm :) this is getting sounding like that this method leads to new sphere dot records:) anyway I may be wrong its been ages I did a dot sphere and too tired to think it really trough.

Dunno where the symmetry is tbh, and I know how to generate one by triangulating each surface and then normalizing the middle point to the radius of the mathematical sphere. However, there are other "spheres" such as http://en.wikipedia.org/wiki/Pentakis_dodecahedron which might be easier to deduce from the rotated world axises. F.e. each vertex may be a simple integer multiple of the x-, y- and z axis summed (like your cube example, but with more complex numbers). Also that would exploit x, y and z symmetry, just like the cube (i.e. +x,+y,+z is just a flipped version of -x,-y,-z).
2013-05-30 13:27
HCL

Registered: Feb 2003
Posts: 728
Honestly i don't see how this would lead to faster sphere calculations, but it's still interesting if it does :).

Thats sphere pic looks strange.. No symmetry as far as i can see.

Quote:
Pentakis_dodecahedron
Oh, that seems to be the one in EoD.
2013-05-30 15:05
Cruzer

Registered: Dec 2001
Posts: 1048
Quoting HCL
Quote:
Pentakis_dodecahedron
Oh, that seems to be the one in EoD.
Sure does, almost looks like screenshots from EoD. :)

And now, back to the compo... Must the routine be vblank synched and/or double buffered, or is it ok with artifacts from filling while displaying the gfx? The latter is faster of cuz, so it's important with clear rules about this.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 18 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Scrap/Genesis Project
kbs/Pht/Lxt
pcollins/Quantum
Matt
tlr
zscs
REBEL 1/HF
JCH/Vibrants
Guests online: 78
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.6)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 The Demo Coder  (9.6)
8 Comaland 100%  (9.6)
9 What Is The Matrix 2  (9.6)
10 Wonderland XIV  (9.5)
Top onefile Demos
1 Layers  (9.7)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Dawnfall V1.1  (9.5)
6 Rainbow Connection  (9.5)
7 Morph  (9.5)
8 Libertongo  (9.5)
9 Onscreen 5k  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 OTD  (9.8)
3 Antitrack  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.052 sec.