Omnimaga

Calculator Community => TI Calculators => Axe => Topic started by: Matrefeytontias on April 09, 2012, 09:56:30 am

Title: Axe plasma
Post by: Matrefeytontias on April 09, 2012, 09:56:30 am
Hi !

With the help of KKI (from the SdZ), we made this cool plasma effect in Axe :

Spoiler For Plasmas:
Particles 1*1 :
(http://mattias.refeyton.fr/espace-ti/plasma1x1.gif)

2*2 :
(http://mattias.refeyton.fr/espace-ti/plasma2x2.gif)

4*4 :
(http://mattias.refeyton.fr/espace-ti/plasma4x4.gif)

8*8 :
(http://mattias.refeyton.fr/espace-ti/plasma8x8.gif)

They are all running at 15 MHz :) enjoy

Coming soon : greyscales !
Title: Re: Axe plasma
Post by: aeTIos on April 09, 2012, 10:04:44 am
is this inspired by hallunicate with your nspire cx?
WOOO
hallunicate with your ti-84+
Title: Re: Axe plasma
Post by: Builderboy on April 09, 2012, 10:28:49 am
I like it!  It reminds me of a program i downloaded a while back called pixel madness by I-don't-remember-who.  We need to figure out how Whats-his-name did his pixel madness, and learn from his epic skills!

Title: Re: Axe plasma
Post by: Matrefeytontias on April 09, 2012, 12:14:20 pm
Waw, that's pretty fast ! How can this work ? O.O
Title: Re: Axe plasma
Post by: alberthrocks on April 09, 2012, 03:35:18 pm
I like it!  It reminds me of a program i downloaded a while back called pixel madness by I-don't-remember-who.  We need to figure out how Whats-his-name did his pixel madness, and learn from his epic skills!
http://www.ticalc.org/archives/files/fileinfo/348/34888.html

It's by Ben Ryves (I don't know if he's here or not, but he does hang out on Cemetech, especially on IRC). There's a LOT of crazy Z80 optimizations in that program, I'm sure :P
Title: Re: Axe plasma
Post by: Matrefeytontias on April 09, 2012, 04:05:24 pm
Damn, that's assembly ... I'm not so good at this one <_<

EDIT : we'll try to do bit storing instead of using Pxl-On, that'll be faster.
Title: Re: Axe plasma
Post by: DJ Omnimaga on April 09, 2012, 04:34:07 pm
Wow that looks awesome. Some nice effects can be done with those languages. Was it inspired from this (http://ourl.ca/15772)?
Title: Re: Axe plasma
Post by: Matrefeytontias on April 09, 2012, 04:39:23 pm
Nope, we started working on it before the news was written (I believe)
Title: Re: Axe plasma
Post by: DJ Omnimaga on April 09, 2012, 05:13:33 pm
Aaah ok I see. The other one is rather trippy with all those colors actually O.O
Title: Re: Axe plasma
Post by: Yeong on April 09, 2012, 06:08:17 pm
O.O
This stuns my eye! :D
Title: Re: Axe plasma
Post by: Sorunome on April 12, 2012, 04:07:55 pm
That just looks faaaaaaaaar to cool! :D
Title: Re: Axe plasma
Post by: Matrefeytontias on April 12, 2012, 07:25:50 pm
Well, I plan to try to translate this ASM program into Axe, but as far as I saw, I can't do it alone <_<

Is someone who is interested in helping me converting this ? By the way, I'll help too :D
Title: Re: Axe plasma
Post by: Matrefeytontias on April 29, 2012, 12:19:24 pm
Up !

After days of works, we reach what we believe that's the fastest we can do ! Look at it running :

(http://mattias.refeyton.fr/espace-ti/finalPlasma.gif)
Title: Re: Axe plasma
Post by: TIfanx1999 on April 30, 2012, 08:28:48 am
Looks cool, reminds me of a lava lamp. =)
Title: Re: Axe plasma
Post by: Sorunome on April 30, 2012, 09:13:07 am
Wha, that's pretty cool!
Title: Re: Axe plasma
Post by: geekygenius on May 04, 2012, 01:44:15 am
Wow. Nice. Keep working!
Title: Re: Axe plasma
Post by: ZippyDee on May 04, 2012, 02:06:29 am
I wonder if this concept could be helpful at all?
http://www.patrickmatte.com/stuff/physicsLiquid/
Title: Re: Axe plasma
Post by: hellninjas on May 04, 2012, 12:10:42 pm
I wonder if this concept could be helpful at all?
http://www.patrickmatte.com/stuff/physicsLiquid/
I broke the gator-aid D:
Title: Re: Axe plasma
Post by: ZippyDee on May 04, 2012, 04:02:51 pm
Yes, I did too. It's not hard. But that's not the point I'm trying to make :P
Title: Re: Axe plasma
Post by: Hayleia on May 04, 2012, 04:08:22 pm
This is indeed helpful to make a water/plasma engine... but maybe not on a z80 calc ;)
As it is said, you need:
-a physic engine
-a blurring engine
-an anti-blurring engine
And make all that run on a z80 calc would be too slow I guess :(
Title: Re: Axe plasma
Post by: ZippyDee on May 04, 2012, 04:25:29 pm
Well yes, to do all of that...but it doesn't have to be that complex. I mean really, the resolution on the calc allows for quite a lot of variance in the realism of any water or plasma effect you can think of.
Title: Re: Axe plasma
Post by: DJ Omnimaga on May 05, 2012, 03:44:17 am
Up !

After days of works, we reach what we believe that's the fastest we can do ! Look at it running :

(http://mattias.refeyton.fr/espace-ti/finalPlasma.gif)
Very good job :)
Title: Re: Axe plasma
Post by: Xeda112358 on June 21, 2013, 03:24:55 pm
Yay, necro post for an update :P

I asked Matrefeytontias for the source to this program because I was thinking of ways to optimise this. I was originally planning to turn a bunch of it directly into assembly, but for those that like pure Axe, I have this.

First, the original program was 900 bytes of compiled code and ran at about 3.9 FPS.

This version is 502 bytes, ~3.8 FPS:
Code: [Select]
:.PLASMA
:.by KKI+MAT
:.Full
:.Precalculs
:[FFFDF5E9DAC6B0987F664E38241509010001091524384E667F98B0C6DAE9F5FD]→GDB2
:0→θ
:Repeat getKey(15)
:L6-1→P
:L6+11→Q
:θ+1 and 31→θ
:{θ*2+24 and 31+GDB2}*8/256→D
:{θ+GDB2}*8/256→E
:.Lignes
:‾1→Y
:While Y++-32
:.Precalculs
:{Y+E and 31+GDB2}→M
:.Colonnes
:‾1→X
:While X++-48
:.Couleur
:M+{X+D and 31+GDB2}
:+{X+Y+D+E/2+θ and 31+GDB2}→Z
:.Init/Decale
:!If X and 3
:0→{P++}
:0→{Q++}
:Else
:{P}*4→{P}
:{Q}*4→{Q}
:End
:If Z≤576
:{P}++
:End
:If Z≤384
:{Q}++
:{}++
:End
:If Z≤192
:{Q}++
:{P}++
:{}++
:End
:End
:P+12→P+12→Q
:End
:DispGraph
:End
And I am sure there are some obvious optimisations left, but I am not that great of an Axe programmer :P
For those that want a little more speed and size optimisations, I included assembly code in this version:
450 bytes compiled, ~4.8 FPS
Code: [Select]
:.PLASMAZ
:.by KKI+MAT
:.Full
:.Precalculs
:[FFFDF5E9DAC6B0987F664E38241509010001091524384E667F98B0C6DAE9F5FD]→GDB2
:0→θ
:Repeat getKey(15)
:L6-1→P
:L6+11→Q
:θ+1 and 31→θ
:Asm(7D87C618E61F6F)+GDB2
:Asm(7E070707E6076F2600)→D
:θ+GDB2
:Asm(7E070707E6076F2600)→E
:.Lignes
:‾1→Y
:While Y++-32
:.Precalculs
:{Y+E and 31+GDB2}→M
:.Colonnes
:‾1→X
:While X++-48
:.Couleur
:M+{X+D and 31+GDB2}
:+{X+Y+D+E/2+θ and 31+GDB2}
:*4→Z
:.Z=256*{0,3,6,9}
:.Init/Decale
:!If X and 3
:P++Asm(3600)
:Q++Asm(3600)
:Else
:PAsm(CB26CB26)
:QAsm(CB26CB26)
:End
:Z
:Asm(7C)
:Asm(FE093004)
:PAsm(34)
:Asm(FE063005
:QAsm(3434)
:Asm(FE033006)
:Asm(34)
:PAsm(3434)
:End
:P+12→P+12→Q
:End
:DispGraph
:End
It has also come to my attention that some of the Axe code that I replaced with Assembly compiles to the same thing.

Note that the code was compiled with Axe v1.2.1 and run at 6MHz
Title: Re: Axe plasma
Post by: Sorunome on June 21, 2013, 05:58:01 pm
looking awesome, it looks realistic IMO :D
Title: Re: Axe plasma
Post by: DJ Omnimaga on June 21, 2013, 10:58:34 pm
You know... that stuff reminds me of those monochromatic 83/85 demos a few years ago and those Commodore 64 animations :P. It looks really cool