home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #7 / amigamamagazinepolishissue1998.iso / magazyn_amiga / 0896 / 013_kanty < prev    next >
Text File  |  1998-03-26  |  7KB  |  132 lines

  1.  
  2.  
  3. KANTY
  4.  
  5. <lead>ImageFX jest bardzo wszechstronnym programem graficznym.
  6. Jednak w pogoni za "uprzestrzennianiem" pîaskich obrazków
  7. zabrnâîem w ôlepy zauîek. Wszystko przez to, ûe chciaîem trochë
  8. POKANTOWAÊ. Oczywiôcie nie jakieô bliskie mi osoby, ale...
  9. brushe.
  10.  
  11. <a>Tadeusz Talar
  12.  
  13. <txt>W jëzyku osób zajmujâcych sië grafikâ komputerowâ angielskie
  14. sîowo BEVEL pojawia sië doôê czësto. Opisuje ono, zwîaszcza w
  15. programach 3D, wynik specyficznych operacji, polegajâcych na
  16. dodaniu róûnego typu "szlifów" do krawëdzi obiektów. Podnosi to z
  17. reguîy walory estetyczne wygenerowanej sceny przez dodatkowâ grë
  18. "ôwiatîa" na tak "oszlifowanych" krawëdziach. W programach 2D
  19. opcjë BEVEL moûna spotkaê rzadziej, niemniej wystëpuje ona w
  20. palecie efektów niektórych aplikacji. Wdziëcznie brzmiâce sîowo
  21. BEVEL to w jëzyku polskim swojski KANT, i wîaônie takich kantów
  22. zachciaîo mi sië podczas pracy z ImageFX-em. Niestety, w
  23. programie tym nie mogîem znaleúê podobnej opcji (tak jak zresztâ
  24. i w innych znanych mi graficznych aplikacjach dla Amigi). I juû
  25. rozczarowany miaîem zaprzestaê swoich dziaîaï, gdy po dokîadnym
  26. przejrzeniu makrodefinicji, umieszczonych w katalogu REXX
  27. ImageFX-a, gdzie znalazîem jedynie makro do robienia ramki wokóî
  28. obrazka, przyszîa mi do gîowy myôl, ûe wîaônie tëdy wiedzie droga
  29. do zrealizowania potrzebnej operacji "kantowania". Potem wszystko
  30. potoczyîo sië juû doôê sprawnie. Do wymyôlonego naprëdce
  31. algorytmu wystarczyîo dobraê odpowiednie rozkazy ARexxa z bogatej
  32. listy, jakâ oferuje ImageFX, caîoôci nadaê postaê makrodefinicji
  33. przy uûyciu CED-a, a potem to juû tylko testy i sprawdzanie
  34. efektu koïcowego. Wynik dziaîania takiej, roboczej jeszcze, ale w
  35. peîni juû funkcjonalnej, makrodefinicji przedstawia rys. 1.
  36.  
  37. Oczywiôcie w caîej sprawie kluczem byî algorytm. Zaîoûeniem moim
  38. byîo potraktowanie BEVEL-em brushy. Po wczytaniu takiego brusha z
  39. dysku lub "wyciëciu go" z obrazka uznaîem, ûe wystarczy
  40. "pocieniowaê" odpowiednio cztery jego boki na gruboôê KANTU (rys.
  41. 2.) i da to poûâdany efekt. Wybraîem w tym celu opcjë rysowania
  42. (DRAWING MODE) w trybie DARKEN lub LIGHTEN trapezowatych figur.
  43. Oczywiôcie stopieï opcji LIGHTEN czy DARKEN determinowaî to, czy
  44. rysowana figura odpowiednio rozjaôniaîa lub przyciemniaîa
  45. fragment brusha. Dla najczëôciej spotykanego "oôwietlenia" z
  46. lewego górnego rogu ekranu kolejnoôê rozjaônieï czy przyciemnieï
  47. wyglâdaîa nastëpujâco: górny obszar brusha -- najjaôniejszy, lewa
  48. strona rozjaôniona o 1/4 wartoôci góry, dóî brusha --
  49. najciemniejszy i prawa strona przyciemniona o poîowë wartoôci
  50. przyciemnienia doîu. Rysowanie rëkâ trapezów rozjaôniajâcych i
  51. przyciemniajâcych wspomniane obszary brusha nie wchodziîo w
  52. rachubë. Nie sposób bowiem na dîuûszâ metë okreôlaê tak
  53. precyzyjnie pasujâcych ksztaîtów przy uûyciu myszki. To kolejna
  54. zaleta ARexxa, który raz zaprogramowany zawsze bëdzie realizowaî
  55. powierzone mu zadania z naleûytâ precyzjâ.
  56.  
  57. Juû po pierwszej próbie brush z nowo powstaîymi kantami wydaî mi
  58. sië jednak nieco nienaturalny. Skoro BEVEL ma sugerowaê
  59. powierzchnie "zeszlifowane", to przydaîoby sië je nieco
  60. "zmatowiê". W tym celu postanowiîem zaprzâc do pracy opcjë MOTION
  61. BLUR z panelu CONVOLVE ImageFX-a. Powoduje ona przesuniëcie
  62. pikseli w zdefiniowanym kierunku o okreôlonâ wartoôê (offset),
  63. przy okazji "rozmywajâc", jak na BLUR przystaîo, poddany mu
  64. obszar obrazka. Zazwyczaj MOTION BLUR ôwietnie wprowadza do
  65. statycznego obrazka klimat ruchu. W moim wypadku miaî on
  66. zasymulowaê efekt "zeszlifowania" powierzchni brzegu brusha pod
  67. zadanym kâtem. Poniewaû w ImageFX-ie nie ma trybu, w którym
  68. moûna rysowaê opcjâ MOTION BLUR, powstaî problem technicznej
  69. realizacji tego zadania. Postanowiîem w tym celu wykorzystaê
  70. moûliwoôci okreôlania do dalszej obróbki tylko wybranych obszarów
  71. (regions) obrazka. Po ustawieniu selektora obszarów na BOX
  72. zaznaczyîem obszar o wymiarach caîego brusha pomniejszony z
  73. kaûdej strony o wartoôê okreôlajâcâ "gruboôê" kantu, a nastëpnie
  74. przez wciôniëcie klawiszy [Ctrl][I] zanegowaîem obszar
  75. podlegajâcy selekcji, przeznaczajâc w ten sposób do dalszej
  76. obróbki tylko brzegi obrazka (rys. 3). I tu znowu okazaîo sië, ûe
  77. z poziomu ARexxa moûna to zrobiê duûo proôciej i dokîadniej.
  78.  
  79. Nastëpnie zaaplikowaîem do zdefiniowanego obszaru opcjë MOTION
  80. BLUR i kolejno rozjaôniîem lub przyciemniîem brzegi brusha. Efekt
  81. mnie usatysfakcjonowaî, ale w gîowie zaôwitaîa jednoczeônie
  82. kolejna myôl: "A moûe by tak przed ostatecznym cieniowaniem boków
  83. brusha potraktowaê wspomniany obszar nie tylko MOTION BLUR, ale i
  84. innymi opcjami ImageFX-a, a nawet ich kombinacjâ?", i w ten
  85. sposób spróbowaîem oprócz MOTION BLUR dodaê jeszcze ROUGHEN i
  86. APPLY TEXTURE z panelu EFFECT ImageFX-a, i to w róûnej
  87. kolejnoôci. Skutki tego dziaîania byîy czasem bardzo ciekawe, ale
  88. innym razem do "kitu", niemniej moûliwoôê "deformowania"
  89. powierzchni kantu przy uûyciu praktycznie dowolnego efektu
  90. ImageFX-a jest na tyle kuszâca, ûe warto poeksperymentowaê.
  91.  
  92. Zawarte w powyûszych zdaniach moje dziaîania znalazîy swe
  93. "ucieleônienie" w makrodefinicji (patrz Listing 1.). Po
  94. przepisaniu jej przy uûyciu dowolnego edytora tekstu (np.
  95. systemowego ED-a czy komercyjnego CED-a) wystarczy zapisaê jâ pod
  96. nazwâ, np. BEVEL.IFX w katalogu REXX ImageFX-a. Nastëpnie w
  97. ImageFX-ie naleûy wczytaê z dysku lub wyciâê z obrazka,
  98. znajdujâcego sië w buforze MAIN, brush, po czym kliknâê na
  99. gadûecie REXX i z listy makrodefinicji wybraê BEVEL.IFX. Makro
  100. zgîosi sië wîasnym okienkiem (rys. 4.), sîuûâcym do definicji
  101. "gruboôci" kantu oraz ewentualnych efektów, majâcych za zadanie
  102. modyfikacjë powierzchni kantu. Wystarczy w tym celu kliknâê na
  103. gadûecie obok nazwy efektu (co spowoduje ustawienie na nim
  104. charakterystycznego "ptaszka"), w skrajnym wypadku moûna
  105. jednoczeônie zaznaczyê wszystkie trzy gadûety, co spowoduje
  106. wykonanie wszystkich efektów na krawëdzi brusha, lub teû nie
  107. zaznaczaê ûadnego, co z kolei spowoduje jedynie odpowiednie
  108. przyciemnienie/rozjaônienie brzegów brusha.
  109.  
  110. Gdy juû jesteômy zadowoleni z poczynionych ustawieï tak gruboôci
  111. kantów, jak i efektów, wystarczy kliknâê na OKAY i w zaleûnoôci
  112. od szybkoôci posiadanego komputera odczekaê krótszâ lub dîuûszâ
  113. chwilë, kiedy to nasz "wyciëty" lub wczytany z dysku brush
  114. zostanie zastâpiony przez jego "okantowanâ" postaê. Tu maîa
  115. uwaga. Jak juû zapewne zauwaûyliôcie, przyglâdajâc sië Listingowi
  116. 1., w trakcie realizowania makra ImageFX korzysta z bufora SWAP,
  117. dlatego teû przed poddaniem brusha "okantowaniu" upewnijcie sië,
  118. czy przypadkiem w buforze SWAP nie znajduje sië jakiô potrzebny
  119. Wam obrazek. Poza tym, przyjëte w makrodefinicji "na sztywno"
  120. parametry, okreôlajâce wartoôê rozjaôniania/przyciemniania, dane
  121. dla MOTION BLUR oraz ROUGHEN nie stanowiâ "jedynie sîusznego" ich
  122. ustawienia. Moûna z nimi dowolnie eksperymentowaê, podobnie
  123. zresztâ jak z doîâczaniem innych efektów wykonywanych, zanim
  124. nastâpi koïcowe rozjaônienie/przyciemnienie boków brusha. Mam
  125. nadziejë, ûe taki rodzaj "kantowania" spodoba sië Wam i
  126. jednoczeônie zachëci do szukania wîasnych sposobów wyjôcia z
  127. róûnych innych sytuacji, w których wydaje sië, ûe ImageFX nas
  128. ogranicza. Makrodefinicje i specyficzne dla tego programu rozkazy
  129. ARexxa mogâ byê ôwietnâ pomocâ w odnalezieniu wîaôciwej drogi do
  130. celu.
  131.  
  132.