ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >k8 1#1B!4B$!TBF!d5Bu$!ThBuW!T—F CuŠ5"2d§i$#!CvºX1#2d¨¬WC#2T†ÊœF!D#!Ce¨ìŠ5BE#!3T‡ÚÏy4!dE#!2Tv¹ý¿h$BvV4!2Du˜Ûÿ­W#!TxV4#!2De‡ÊþÿœWBu‰VE3""3De‡¹ìÿÿ‹F!T§‰gE4#"!"2CTe‡©ÛÿÿߊFBuºšxVE43#"""""33DTf‡©ËþÿÿÏz5!T§ÌšxgVEDD33CDDUev‡©ËýÿÿÿÏy5BvÊΫ‰xgfUUUUUffw˜©Ëíÿÿÿÿ¾h41d¨üß¼ª‰ˆwwwww‡ˆ™ºËíÿÿÿÿÿ­h4C†Úÿÿͼªš™™™™©ºËÜþÿÿÿÿÿÿ­h$2d¨ýÿÿïÝÌ»»»»ÌÝîÿÿÿÿÿÿÿÿ¬W$!S†ÛÿÿÿÿÿîîîîþÿÿÿÿÿÿÿÿÿÿœW$Bu¹þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W#1T—ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W# C†Êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W#2u¸ýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W#1T—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W#!C†Êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W$Bu¹ýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W$2d¨ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W$!T—Ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïœg4!C†Êþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬h4Bu¹ýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­h52e¨üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½h51d—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾yE!T—ÛÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÎyF!C†ÊÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏŠF#CvÉþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿß›W$Bu¹þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›g42e¸ýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬h52e¨ýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½yE2d¨üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿΊF#1d—ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿß›W$!T—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï¬h4!T—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½yE!T—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏŠF#!S—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿï›W4!S—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ½x5!S—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏŠF#!S—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïœW4!S—ëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾yE!T—üÿÿÿÿÿÿÿÿÿÿîîîîþÿÿÿÿß‹V#!T§üÿÿÿÿÿÿÿïÞͼ»»»ËÜíÿÿÿ­h4!d¨ýÿÿÿÿÿÿÞÌ»ª™™™™™ªºÌýÿߊF1d¨ýÿÿÿÿïÍ»š‰ˆwwwww‡ˆ©ºÜÿ¬h41d¸þÿÿÿïÍ«™xgfVUUUUefwˆ©ËÎzF2uÉÿÿÿÿÍ«‰wfUEDD33CDDUfw˜Ê¬W$2uÊÿÿÿΫ‰gVD43#"""""33DUv˜ºzEB†Úÿÿß«‰gUD3""""3De‡©W$B†ûÿ)gE4#!2CU†yES—üÿΊgE4"!3TvX$ S§ýß›xE4"2TvF!d¸ÿ½yV4""Ce$1tÉߊW4#!CE1…ê¬hE#!C$B–ÌŠV4!CS§¬h4!3S¸zF#! d©g4!1…zE!B–W$RwEcX$ tE1e$BFS$ D1$B3 1 ë-- title: Rotating star -- author: Sava -- desc: shader test -- license: MIT License -- version: 0.1 -- script: lua w=240 h=136 function setCol(idx, r, g, b) poke(0x3FC0+idx*3, r, 8) poke(0x3FC0+idx*3+1, g, 8) poke(0x3FC0+idx*3+2, b, 8) end function BOOT() for i=0, 15 do setCol(i, i/15*255, 0, 0) end end t=0 function TIC() for i=0, w-1 do for j=0, h-1 do pix(i, j, shader(i/h*2-w/h, j/h*2-1)) end end t=t+1 end function shader(x, y) x, y = rotate(x, y, t/60) local dist = math.sqrt(x*x+y*y) local pos = 1/math.max(math.min((math.abs(x)*math.abs(y)+dist/10)*10, 1), 0.001) return (math.min(pos, 2)-1)*15 end function rotate(x, y, ang) return x*math.cos(ang)-y*math.sin(ang), x*math.sin(ang)+y*math.cos(ang) end