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: 499
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?
2013-05-24 11:56
JackAsser

Registered: Jun 2002
Posts: 1989
<nevermind> just saw the $ff stop marker... :P
2013-05-24 11:57
Bitbreaker

Registered: Oct 2002
Posts: 499
Nope. but feel free to sum them up and add that info, as stated, you are free to change that to your needs :-)
2013-05-24 12:07
HCL

Registered: Feb 2003
Posts: 716
Haha, funny compo :). So, if i really made some good balls before (as vector bobs), that will not count.. I'll see if i can make a filler again.. no promises though :).
2013-05-24 12:18
JackAsser

Registered: Jun 2002
Posts: 1989
Bitbreaker: Did a reference renderer in Java that "almost" work... Have you verified the data? Are you sure the first x-position of a quad can't be at x=127 (i.e. a valid $ff)?

Of course I coded it wrong... but I dunno why just yet. :P Anyway, when fixed I'll upload the renderer for everyone so that the code explains the data-format.
2013-05-24 12:23
Bitbreaker

Registered: Oct 2002
Posts: 499
$7f does not occur as there's a 4 pixel safety margin around the object. In case my yet implementation would choke hard i guess :-)
2013-05-24 12:44
Bitbreaker

Registered: Oct 2002
Posts: 499
The procedure to read in the vertices is: read in vertices until x is negative (bit 7 set). If you read in 3 vertices till then, draw a triangle else a quad. I just thought i save you a few bytes in the initial dataset :-)
2013-05-24 13:53
ChristopherJam

Registered: Aug 2004
Posts: 1377
Do entries need to render from data.bin directly, or can they be preprocessed?

If preprocessing is allowed, can it be at assembly time, or must it be after the demo has loaded?

What timezone is the deadline in?
2013-05-24 14:00
Oswald

Registered: Apr 2002
Posts: 5017
this compo rather tests line drawing speed than filling. :) I see many obvious optimizations, dont know if I'd give away if write it there, most decent coders know them already. some of these are almost on the animation side... no wonder jackie is testing it in java :)

maybe rules should be extended that frames may not deviate more than X% from some original rendering ? algorithm will make a lossy char anim of this in no time :)
2013-05-24 14:10
Bitbreaker

Registered: Oct 2002
Posts: 499
Quote: this compo rather tests line drawing speed than filling. :) I see many obvious optimizations, dont know if I'd give away if write it there, most decent coders know them already. some of these are almost on the animation side... no wonder jackie is testing it in java :)

maybe rules should be extended that frames may not deviate more than X% from some original rendering ? algorithm will make a lossy char anim of this in no time :)


data.bin can be preprocessed even before linked to the part, as said, it can be adopted to your needs, it's just important that faces appear at the same place (i bit of inaccuracy is okay, as you can also see from my screenshot), as there's when bluntly using data.bin. Deadline is June 25th 2013 0:00 MET.
any blocky animation will be deteced within no time and a serious drama will be generated upon it, be sure about that! :-) If not it will be downvoted and the drama begins!
2013-05-24 14:33
HCL

Registered: Feb 2003
Posts: 716
Oh, so it's not about doing the fastest filler, it's about getting peoples votes? That changed the field drastically :P.
 
... 166 posts hidden. Click here to view all posts....
 
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
iAN CooG/HVSC
The Syndrom/TIA/Pret..
Bitbreaker/Performers
tlr
Guests online: 73
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.5)
2 Black Beard  (9.4)
3 hedning  (9.2)
4 Baracuda  (9.1)
5 Irata  (8.5)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.048 sec.