| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
'HCL-plasma' - how does it work?
That fullscreen-fast-plasma-thing that we saw quite a few versions of in Edge Of Disgrace (with sprite zoomer on top, in sideborder, with techtech etc.) - what's the theory?
It is pretty obvious from speed and size that it is not done using per-pixel-code...
My theory was that it was done using FPP-technique, ie. we have a base-plasma-picture, and then by displaying cleverly chosen lines from this base-picture we get the plasma.
I did some prototyping on PC to test this theory, but I can't get anything that looks correct. Am I barking up the wrong tree here? |
|
... 12 posts hidden. Click here to view all posts.... |
| |
A Life in Hell Account closed
Registered: May 2002 Posts: 204 |
How a simple version works:
step 1: have an FPP routine of your choice. It's gonna need to be sprite FPP if you're in the borders, natch, charfpp if you don't, bitmap fpp if you want more colours, or some crazy assed fun combination.
step 2: for each possible FPP line (you need as many of these for maximum smoothness) calculate a sinus line for finalY=yval for this line. You can do this each frame, or once and just move the y sinus.
step 3: calculate each y line in your raster IRQ, and set the FPP display list appropraitely from a table based on the y output.
step 4: display fpp according to display table.
maybe i'll upload one appropriatly commented and commentated to codebase later this week, if people are interested in such things. |
| |
HCL
Registered: Feb 2003 Posts: 728 |
Who came up with the name HCL-plasma?
..and if Mr.Krill would be so kind to show us a *link* to where this has been done long before.. Funny, i don't remember any full-screen-side-border-FPP-plasma, will be most interesting to see. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Who came up with the name HCL-plasma?
..and if Mr.Krill would be so kind to show us a *link* to where this has been done long before.. Funny, i don't remember any full-screen-side-border-FPP-plasma, will be most interesting to see.
Wasn't the end part of Cycle some kind of full screen sideborder FPP-plasma? |
| |
HCL
Registered: Feb 2003 Posts: 728 |
Hmm, i don't really get what you're discussing here. It's mostly talk about the FPP-routine.. The're nothing fancy about that, except possibly for the plasma with the sprite-stretcher on top. The tricky thing in this plasma (compared to what we have already seen) is how the x-shit works. But i'll leave that if noone is really interested ;).
<edit>
@JA: That's exactly what's the difference. Those all-border "plasmas" only contain some kind of FPP-routuine and thus only a y-plasma (typically double sinus indexed plasma), the x-"plasma" is just some static graphics that has been generated once. The plasma we have here has an x-component also updated every frame, also typically a double sinus indexed plasma.
</edit> |
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
I didn't intend to step on any toes by calling it 'HCL-plasma', I just thought that everyone would know what I meant then, since the type of plasma I'm talking about has appeared in a few BD demos now (Royal Arte, Cycle, Edge Of Disgrace).
Seems like I have the technical theory correct then.
I have a precalced picture that looks about what a single frame from a normal per-pixel-double-sine-plasma looks like.
Then in the displayer I pick y-lines from that above plasma indexed on a double-sine.
However somehow it don't get that 'plasma'-feeling in it.
But now we hear that HCL has added some kind of extra X-component magic to it, which would explain why it looks even better in EoD. I'll have to start Cycle again and compare the last-part-plasma there.
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: That fullscreen-fast-plasma-thing that we saw quite a few versions of in Edge Of Disgrace (with sprite zoomer on top, in sideborder, with techtech etc.) - what's the theory?
It is pretty obvious from speed and size that it is not done using per-pixel-code...
My theory was that it was done using FPP-technique, ie. we have a base-plasma-picture, and then by displaying cleverly chosen lines from this base-picture we get the plasma.
I did some prototyping on PC to test this theory, but I can't get anything that looks correct. Am I barking up the wrong tree here?
it's Graham's invention. I think the mod's should change the topic title if possible, before the credit will go to HCL in the scene's mind. :P |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: I didn't intend to step on any toes by calling it 'HCL-plasma', I just thought that everyone would know what I meant then, since the type of plasma I'm talking about has appeared in a few BD demos now (Royal Arte, Cycle, Edge Of Disgrace).
Seems like I have the technical theory correct then.
I have a precalced picture that looks about what a single frame from a normal per-pixel-double-sine-plasma looks like.
Then in the displayer I pick y-lines from that above plasma indexed on a double-sine.
However somehow it don't get that 'plasma'-feeling in it.
But now we hear that HCL has added some kind of extra X-component magic to it, which would explain why it looks even better in EoD. I'll have to start Cycle again and compare the last-part-plasma there.
how do you calculate a plasma?
mix 2 sines to get a "verticalsine"
mix other 2 sines to get a "horizontalsine"
then each pixel: pixel(x,y)=palette(vertsine(y)+horsine(x))
note that on a horizontal line vertsine(y) is constant. so if we reduce the vertsine values to smth like 0-16, then we may precalculate 16 gfx lines (horsine still changes each frame, thats where you got it wrong!) and choose from them along the line as dictated by adding up 2 sines where the result is 0-16. |
| |
HCL
Registered: Feb 2003 Posts: 728 |
Well, maybe i mis-interpreted the term "base-plasma-picture".. I thought of this as a static picture, but in the case of EoD, this base-plasma-picture is always calculated and updated each frame.
This effect is so over-used ever since Krestyron, so i thought everyone knows the difference between this and the static FPP-plasma in e.g. Coma Job.
With a faster calculation of the base-plasma-picture, i managed to squeeze out a little bit more of this poor plasma-effect, but then again it felt a bit old in 2004 already when i coded it.. |
| |
HCL
Registered: Feb 2003 Posts: 728 |
Quote: it's Graham's invention. I think the mod's should change the topic title if possible, before the credit will go to HCL in the scene's mind. :P
Yepp, shit like that always happens. When you reach a certain level of popularity, people will start giving you credit for stuff that others made.. That also happens to Graham. e.g. the all-border sprite-zoomer from ComaJob, which ppl think is Graham's invention, but just look at this.. Fierce Creations or was it Design Overdose. And many more examples in *real life*(tm).
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: I didn't intend to step on any toes by calling it 'HCL-plasma', I just thought that everyone would know what I meant then, since the type of plasma I'm talking about has appeared in a few BD demos now (Royal Arte, Cycle, Edge Of Disgrace).
Seems like I have the technical theory correct then.
I have a precalced picture that looks about what a single frame from a normal per-pixel-double-sine-plasma looks like.
Then in the displayer I pick y-lines from that above plasma indexed on a double-sine.
However somehow it don't get that 'plasma'-feeling in it.
But now we hear that HCL has added some kind of extra X-component magic to it, which would explain why it looks even better in EoD. I'll have to start Cycle again and compare the last-part-plasma there.
better calling it FPP plasma, as the technique (*drums*) was invented by Graham. :) |
Previous - 1 | 2 | 3 - Next |