Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user jmi ! (Registered 2024-09-15) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Earliest examples of EOR fillers?
2024-06-20 21:02
cobbpg

Registered: Jan 2022
Posts: 6
Earliest examples of EOR fillers?

What are the earliest known instances of vertical EOR fill routines either in demos or in games? I know that at least Stunt Car Racer uses the technique to draw the sky under the opponent four pixels at a time.
2024-06-22 03:35
Martin Piper

Registered: Nov 2007
Posts: 698
Elite uses EOR for its line draw: https://www.youtube.com/watch?v=CcGdH4jXGJo&t=1725s
2024-06-22 09:38
Krill

Registered: Apr 2002
Posts: 2940
Never looked at the code, but Encounter (1984) has some impressive filling going on. =)
2024-06-22 13:17
Martin Piper

Registered: Nov 2007
Posts: 698
Cybernoid II also uses an EOR based draw into its bitmap: https://youtu.be/3SvsElGt3Hc?t=1556

Not a fill though :)
2024-06-22 14:53
cobbpg

Registered: Jan 2022
Posts: 6
The only thing that's filled in Elite is the sun, and that's drawn one scanline at a time, which makes sense since the endpoints can be calculated independently for each line. Elite also deserves bonus points for the nice shimmering effect, but sadly it's indeed no EOR fill, especially not a vertical one. ;)

Encounter is really cool, since it's using character mode with dynamically updated charsets. From a quick glance at the code, it doesn't look like EOR magic either, just standard AND/OR masking.

I also did a cursory check in the code of The Sentinel, since it's another filled-poly game by Crammond, but it's also just rendering polygons line by line the traditional way as far as I can tell.
2024-06-22 15:53
WVL

Registered: Mar 2002
Posts: 889
I've always wondered if The Sentinel could be made faster, and maybe it can..
2024-06-22 16:23
Krill

Registered: Apr 2002
Posts: 2940
Quoting WVL
I've always wondered if The Sentinel could be made faster, and maybe it can..
In an idle moment months ago, i checked how much faster The Sentinel renders/plays on bigger platforms.

Result: Not much at all, it just scrolls the screen ever-so-slightly faster.

That's the brilliance of that rendering engine: you can simply pan around to look around. =)
2024-06-23 13:31
trident

Registered: May 2002
Posts: 91
this is an interesting topic! would be interesting to hear what people think about when eor fillers started to appear in demos.

for me, the first demo i saw with an eor filler was The Last Traktor III from june 1992. but since the idea likely entered the c64 world from the amiga's blitter filling techniques, it feels like c64 demo coders would have attempted the technique earlier. particularly given that the amiga had been around for a few years already at that time.
2024-06-23 17:31
Mixer

Registered: Apr 2008
Posts: 443
Might I boldly propose:

Elysion - the Requiem
2024-06-23 18:41
trident

Registered: May 2002
Posts: 91
very cool! so that may be the first instance of an eor filler in a c64 demo!

@mixer: do you have any insight into the thinking behind bx's code? such as if the idea or incorporating the eor fill came from experience with amiga coding?
2024-06-23 19:27
Ninja

Registered: Jan 2002
Posts: 411
trident: read the production notes of that demo
2024-06-23 19:29
Mixer

Registered: Apr 2008
Posts: 443
@trident, the production notes have some details on it as Ninja mentioned.
2024-06-23 19:49
trident

Registered: May 2002
Posts: 91
awesome! this is the relevant part from the production notes:

> Idea for EOR filler was inveted by CLF when he was doing his Amiga 3d routines.

so i guess that confirms the hypothesis that the eor filler technique that got popular in c64 demos originated with the amiga's blitter fill techniques.

the eor fill technique from stunt car racer was quite a bit earlier though, but since the game was released on the amiga as well as the c64, it isn't impossible that the amiga inspired the c64 eor fill in that case as well.

does anyone know where the amiga blitter designers may have picked up idea for the eor fill? it feels like there should be a siggraph paper from the 1970s that pioneered it, but they can be difficult to find since the early terminology wasn't always consistent with later uses.
2024-06-23 20:43
Mixer

Registered: Apr 2008
Posts: 443
A lot of the CG stuff was imagined or demonstrated late 60's and early 70's(cool demos in Youtube), but I would not be surprised if the origins of rasterization goes back all the way to the time of the loom.
2024-06-23 20:52
cobbpg

Registered: Jan 2022
Posts: 6
As far as I know, Stunt Car Racer was developed on the C64 first, then Crammond did the Amiga port, which renders the world in a completely different way. It's possible that knowing about the blitter was an inspiration, but in the end there are many innovations in that engine that are a lot more complex than the EOR trick, so he could have just figured it out in isolation to solve that particular problem.

One very relevant paper I found was "The Edge Flag Algorithm—A Fill Method for Raster Scan Displays" (Ackland and Weste, 1981), which basically describes the idea of plotting edges with just one pixel per scanline, then applying the EOR transformation horizontally. Apparently they even built a hardware implementation.

All earlier papers I could find with a cursory search usually talk about other methods (mostly generating spans from ordered edges or flood filling variants). The above paper does refer to an earlier publication discussing "parity check" algorithms, but those are also more complex and have to look at other neighbours as well to handle various corner cases.
2024-06-23 20:57
Mixer

Registered: Apr 2008
Posts: 443
Those Agkland and Weste seem to be Bell Labs employees, so this may be relevant:

https://www.youtube.com/watch?v=98EyJG-xmu4
2024-06-24 14:15
trident

Registered: May 2002
Posts: 91
that ackland and weste paper definitely sounds like it could be the original origin! unfortunately i can't seem to find a pdf copy right now (and don't have ieee xplore access either).
2024-06-24 15:20
ChristopherJam

Registered: Aug 2004
Posts: 1402
Effluvium was very late (2004), but it does use a horizontal EOR fill, which apparently isn't the "usual" way to do it - so I've no idea how much prior art there is there.
2024-06-24 18:20
cobbpg

Registered: Jan 2022
Posts: 6
Quoting trident
that ackland and weste paper definitely sounds like it could be the original origin! unfortunately i can't seem to find a pdf copy right now (and don't have ieee xplore access either).


Yeah, I could only find the paper through the popular alternative route...

So we have one example of monochrome fill from as early as 1989, and multicolour with glenz from 1992. I wonder how far back the latter idea goes. Is megademo 8 the earliest one from the Amiga scene?
2024-06-24 18:31
Bansai

Registered: Feb 2023
Posts: 40
Good youtube link. Neil Weste wrote this book that I remember from my undergrad days, so he was probably involved with the hardware design as well. Those guys in the research labs back then had their fingers in everything.

https://www.amazon.com/Principles-CMOS-VLSI-Design-Weste/dp/020..
2024-06-24 19:31
Jetboy

Registered: Jul 2006
Posts: 265
Quote: Quoting trident
that ackland and weste paper definitely sounds like it could be the original origin! unfortunately i can't seem to find a pdf copy right now (and don't have ieee xplore access either).


Yeah, I could only find the paper through the popular alternative route...

So we have one example of monochrome fill from as early as 1989, and multicolour with glenz from 1992. I wonder how far back the latter idea goes. Is megademo 8 the earliest one from the Amiga scene?


Amiga Demoscene Archive lists Wild Copper as the only demo released in 1988
https://ada.untergrund.net/?p=demos&y=1988&c=0&h=0&v=0
So according to them it is the oldest. Is it? Definitely one of the first i have seen. Megademo 8 was released in 1990, so there were some major demos released prior to it, ie. RSI Megademo, Budbrains, etc.

Of course very first was BOING! But it was made by the Amiga Developers - so i'm not sure if it qualifies as Amiga scene production, but maybe it should?

As for EOR fillers, i'm not sure who was first, but in the second half of 90's it was a common knowledge that EORfill is the way.
2024-06-24 21:13
Oswald

Registered: Apr 2002
Posts: 5074
the game REVS (also geoff crammondbtw) has a sideways eorfiller kinda trick. only the edges of the objects are plotted, and then each byte is fed into a lookup table, and overwritten, if empty then continues with last color.

the track is stored in extremely detailed fashion, and is fully 3d, in many ways Revs just as innovative if not more than SCR.
2024-06-24 21:55
cobbpg

Registered: Jan 2022
Posts: 6
Yeah, the Revs method is a cool trick, it's kind of like a weird RLE that's used to compress time, not space (which reminds me that the Apple IIGS has hardware support for a pixel-level variant of this idea called fill mode). And I agree, being pretty much the first 3D racing sim in history is a level of innovation that's difficult to surpass.
2024-06-25 07:34
zscs

Registered: Sep 2010
Posts: 46
This is a super interesting read!
I also did some research on the topic and found an interesting .pdf, Line Rasterization by Frédo Durand and Seth Teller. However, topic might need further information to understand fully (at least to me).
2024-06-25 12:48
HCL

Registered: Feb 2003
Posts: 727
Very entertaining! Damn it that 3D-demo stuff from 1981 displaying convex vector-gfx like no problemo.. Looks a little like they were using z-buffer, but can not really tell. And we were like 10+ years behind and still are :D.
2024-06-25 13:58
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Very entertaining! Damn it that 3D-demo stuff from 1981 displaying convex vector-gfx like no problemo.. Looks a little like they were using z-buffer, but can not really tell. And we were like 10+ years behind and still are :D.

Definetly z-buffer it seems. There were alot of z-fighting in the hand-scene, where the thumb self-intersected the hand. Looks 8-bit per pixel or so.
2024-06-25 15:09
Krill

Registered: Apr 2002
Posts: 2940
Quoting HCL
Damn it that 3D-demo stuff from 1981 displaying convex vector-gfx like no problemo..
It's not like they did it on some home computer of the time... =)
2024-06-27 08:27
tlr

Registered: Sep 2003
Posts: 1762
There was this by Sensible Software, I guess 87ish: Sensible 3d
2024-06-27 14:03
cobbpg

Registered: Jan 2022
Posts: 6
Never seen this before. Looks like a standard scanline renderer, there are no EORs in sight. It even seems to fall back to plotting one pixel at a time if the endpoints are within the same byte.

By the way, what was the earliest EOR fill with patterns (e.g. checkerboard) instead of just solid colours? I presume most old engines rendered horizontal scanlines like Freescape.
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
megasoftargentina
JSL
bugjam
X-Raffi/X-Rated
Krill/Plush
REBEL 1/HF
Sentinel/Excess/TREX
acrouzet/G★P
Case/Padua
csio/monarchy c+4
kbs/Pht/Lxt
Brush/Elysium
Shake/Role
E$G/HF ⭐ 7
Guests online: 143
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 No Bounds  (9.6)
10 Unboxed  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Morph  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Nostalgia  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.2)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.6)
3 Morpheus  (9.5)
4 Sabbi  (9.5)
5 CreaMD  (9.1)

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