A.D.A. Amiga Demoscene Archive

  Welcome guest! Please register a new account or log in

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Coding / What is this effect ?

 

Author Message
Toffeeman
Member
#1 - Posted: 6 May 2006 18:26
Reply Quote
Hi guys,

I've been doing some seriously old school pixel plotting on the PC. I remember this effect from My Kindgom (sorry not sure what's it called) it looked very cool and ran very fast. Firsty what's the effect called and secondly whats the algorithm for drawing one ?

http://ada.untergrund.net/screens/m/my_kingdom_5.j pg

http://ada.untergrund.net/screens/m/my_kingdom_9.j pg

Thank.
rload
Member
#2 - Posted: 7 May 2006 05:18
Reply Quote
i used something like this.. for every table entry

u = k/(r-c)
v = k/(r-c)

where u<<16|v will be the texture lookup. k will be some coolness condtant and c will be the 'radius' of the inner sphere.

it might even become 'real' if you quad the formuas
winden
Member
#3 - Posted: 7 May 2006 11:20
Reply Quote
for the second one, just make a standard (angle,radius) table. then you get N pointers to the table (up to 5 can be done easily) and for each screen pixel add the stored values at the table and lookup the texture. giving each table pointer a different offset will make it look as in the demo.
krabob
Member
#4 - Posted: 10 May 2006 13:30 - Edited
Reply Quote
> for the second one, just make a standard (angle,radius) table.

I used a "deform matrix table" in some old demo, but:
- the cache has to deal with 3 buffers. (read image, table, screen)
- the table deformation is static.

so to make it more dynamic, an idea is to "add" one or more table with an offset, but it will get the chae efficiency down again.
A better solution is to use supercaling squares, do a huge math computing for 1 pixel by corner of a grid, and then extrapolate each square like simple texture mapping. ( rload and winden are very used to this techniques !!!)

- it is faster because there is only 2 buffer (read image, screen)
- it is far more dynamic opening any free deformation, morphing or anything.

To go further, the raytracer in heaven 7 (64kPC) enhace this grid - superscaling technique, to make it able to render complete raytraced scenes.
Angry Retired Bastard
Member
#5 - Posted: 10 May 2006 15:49
Reply Quote
krabob: superscaling squares, or "grid expansion" as we on planet Earth like to call it, doesnt have much in common with Heaven7s adaptive subsampling raytracer, except for the fact that both involve grid-patterns...
krabob
Member
#6 - Posted: 11 May 2006 11:05
Reply Quote
> doesnt have much in common with Heaven7s adaptive subsampling raytracer.

Interesting, but I disagree on the " doesnt have much in common": heaven7 is far more evolved, for its lights and reflections, but it is a natural following after "grid expansion" to my mind:
- as you said they both involve grid-patterns...
- but "grid expansion" also have a lot in commun with raytacing:

"showbase shape" by c-lous or Repugnance by Powerline are examples of
"grid expansion" using each equations to define more or less complex objects. There are often "distance fog" used with it, but no lighting.
So the difference is very light: To my mind, the "grid expansion" routines on amiga demos just lack the notion of "more than one object" and the hability to render one or the other, or multiple object in one square.

I've though about it a bit of course as I've done some grid exp. myself .
A quickidea was to:
-have identifiers of the object(s) touch by a grid vertex.
-have an identifier of the texture coord for mapping. (classic, but does inform on mapping discontinuity.)

- use classic dumb interpolation if the quare involve one object and has no dicontinuity with mapping.
- else, re-subdivise a gogo.

...and there it is !!! heven 7 !!! :-)
Angry Retired Bastard
Member
#7 - Posted: 11 May 2006 13:50
Reply Quote
ok, so everything that in any form uses a grid-ordered structuring of input- and/or output-data is then basically the same thing?
Then I'd like to claim that it's all matrices! everything is! ;)
krabob
Member
#8 - Posted: 12 May 2006 17:22 - Edited
Reply Quote
Statement:

"Not only best effects are all dynamic matrices, but the only true difference between them is: what does it interpolate and where in the pipeline."

...afterwhat, the effect shape is more a question of gfx modelising than a matter of different routines. The fact that an effect look like a 3D fly-bye could just be a coincidence of a dynamic pipeline, as 3D are only some dumb matrix and projections. Abstraction has always been a key.

To proove my statement further, notice that you can:
- do amiga-like griDexpansion using OpenGL polygons for squares.
- use pixel shaders to make complete uninterpolated raytracers drawing on one polygon.
- ...
Angry Retired Bastard
Member
#9 - Posted: 12 May 2006 19:09
Reply Quote
"Everything is the same. We are all one with the universe, and so are our demoeffects."

damn hippies...
krabob
Member
#10 - Posted: 15 May 2006 11:07 - Edited
Reply Quote
No, I didn't say everything is the same, I explained that there are a lot in common between things that may appear different in a first look. Keepin that in mind is useful to discover more effects. It is not a simplification; it is a closer description of the mathematics implied.

But on the other hand, you're perfectly right: I'm a fucking hippy.

 

  Please register a new account or log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0