%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{code} import Graphics.HDemo.TexGen ( TextureTree(..), ChannelTree(..), ChannelOp(..), generateTexture ) import Graphics.HDemo.Utils( fractionToWord16 ) import Graphics.HDemo.Files( writePPM, writeGTB ) import Control.Monad( forM_ ) \end{code} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{code} layers :: [ ChannelTree ] layers = [ COLOR 0 -- 0 , SINEPLASMA 2 2 -- 1 , SINEPLASMA 4 4 -- 2 , SINEPLASMA 8 8 -- 3 , DISTANCE 128 128 128 -- 4 , COMP MULL (SINEPLASMA 4 4) (DISTANCE 128 128 128) --5 , MIXF ADDL (fractionToWord16 0.4) (SINEPLASMA 4 4) (DISTANCE 128 128 128) --6 , MIXF ADDL (fractionToWord16 0.5) (CATROM 0 60) (COLOR 0) -- 7 , CATROM 0 60 -- 8 , CATROM 1 60 -- 9 , CATROM 2 60 -- 10 , FRACPLASMA 0 4 -- 11 , SINEDIST 2 2 (DISTANCE 128 128 128) -- 12 , SINEDIST 4 4 (DISTANCE 128 128 128) -- 13 , SINEDIST 10 5 (DISTANCE 128 128 128) -- 14 , RANDCOL 0 -- 15 , RANDCOL 1 -- 16 , RANDCOL 2 -- 17 , COMP SUBL (RANDCOL 0) (SINEPLASMA 2 2) ] textures :: [(FilePath, TextureTree)] textures = [ ("ttest1", TexTree 256 256 [] (layers!!1) (layers!!2) (layers!!3)) , ("ttest2", TexTree 256 256 [] (layers!!4) (layers!!0) (layers!!0)) , ("ttest3", TexTree 256 256 [] (layers!!5) (layers!!0) (layers!!0)) , ("ttest4", TexTree 256 256 [] (layers!!6) (layers!!0) (layers!!0)) , ("ttest5", TexTree 256 256 [] (layers!!7) (layers!!0) (layers!!0)) , ("ttest6", TexTree 256 256 [] (layers!!8) (layers!!9) (layers!!10)) , ("ttest7", TexTree 256 256 [] (layers!!11) (layers!!0) (layers!!0)) , ("ttest8", TexTree 256 256 [] (layers!!12) (layers!!13) (layers!!14)) , ("ttest9", TexTree 256 256 [] (layers!!15) (layers!!16) (layers!!17)) , ("ttestN", TexTree 256 256 [] (layers!!4) (layers!!9) (layers!!18)) ] \end{code} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{code} main :: IO() main = do forM_ textures (\(a,b) -> writePPM (a++".ppm") (generateTexture b) ) forM_ textures (\(a,b) -> writeGTB (a++".gtb") b ) \end{code} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%