DragonFly´s Sinedot Shader |
| Dit is mijn eerste poging in het creëren van een photoshop Filter. Ik koos dit oude demo effect omdat ik het aardig vindt en gemakkelijk te realiseren. Ik weet dat het langzaam is, extreem moeilijk om intuïtief te gebruiken en waarschijnlijk niet erg bruikbaar. Hopelijk kan toch iemand het gebruiken. Het zou moeten werken met elk Photoshop3.0+ compatible programma onder Windows 95/98/NT. Het filter is vrij om te gebruiken, maar als je het gebruikt dan zou ik graag het resultaat zien. wees zo aardig om mij de URL te sturen als die er is. Interessante settings zijn eveneens welkom. Je mag dit filter distribueren als je deze twee dingen doet: 1: E-mail me op 'DragonPhil@gmx.de' en vertel het me. 2: Distribueer de ongewijzigde bestanden alleen samen, inclusief dit tekstbestand. Nog even dit: Ik heb alle mogelijke aanpassingen toegevoegd, alleen maar omdat het mogelijk is. Hou er alstublieft rekening mee dat ik geen kleurconversie heb toegevoegd, zodat het effect andere kleuren geeft voor andere instellingen... E-mail me voor elk commentaar, suggesties, rapporteren van bugs, enz. Als je ideeën hebt voor nieuwe Plu-In's....... ook daarin ben ik geïnteresseerd. Philipp Spöth (DragonPhil@gmx.de) Parameters: Het filter produceert een curve met continue veranderingen en schaduwt zichzelf in de afbeelding. Door de aard van het effect is het een beetje moeilijk uit te leggen wat de invloed van de parameters is op het resultaat. Toch zal ik het proberen: 1st Dimension´s X-1/X-2 Y-1/Y-2: Deze Parameters gaan over de wijze van verschijnen van de beginnende curve. De waarden worden gepresenteerd als hoeken gegeven in veelvouden van Pi. 2nd Dimension´s X-1/X-2 Y-1/Y-2: Deze Parameters bepalen hoe de beginnende curve zich ontwikkeld en beweegt. Density: Bepaalt de hoeveelheid Dots die worden gebruikt voor het effect en voor de helderheid/donkerte van de uiteindelijke structuur. Inverse: Keert de 'schaduw richting' om. Dat betekent dat de kleurwaarden worden vermeerderd of verminderd. BalanceX BalanceY: Definieert de invloed van X-1/Y-1 waarden relatief tot X-2/Y-2 Settings: Het is mogelijk om de instellingen op te slaan op de harde schijf. De optie '_defaults' wordt gebruikt om de laats gebruikte instellingen op te slaan. Dit betekent: Iedere keer als je op de OK-knop drukt worden de huidige instellingen opgeslagen. Deze instellingen kun je vinden in het bestand "sinedots.cfg" dat gewoonlijk te vinden is in dezelfde map als deze Plug-in. Installeren: Korte versie: Voer de 'installer.exe' uit en type de gewenste map onder je standaard Plug-In map en klik op OK. Lange Versie: Als de "installer" niet in staat is de map voor je te vinden (misschien werkt het alleen met Photoshop 5.0+ ) en je bent te lui om het hele pad in te typen, of de "installer" werkt om een andere reden niet, dan kun je ook de benodigde bestanden naar je Plug-In map kopiëren. De benodigde bestanden zijn: 'AssignPath.exe', 'sinedots.8bf' en 'sinedots.cfg' Dan moet je AssignPath.exe uitvoeren in die map! AssignPath doet niets anders dan het creëren van een register ingang voor mijn plug-in (HKEY_LOCAL_MACHINE\SOFTWARE\DragonFly\Sinedot Shader\Path) zodat 'sinedots.cfg' gevonden kan worden. Als je ooit de plug-in verplaatst naar een andere map, vergeet dan niet om AssignPath.exe opnieuw uit te voeren of gebruik de installeerder, zodat de plug-in zijn 'sinedots.cfg' kan vinden. En voor degene die geïnteresseerd zijn in hoe het effect werkt, het is in principe zoiets als dit: innerCount = (width+height)*gDensity*5; outerCount = (width+height)*gDensity*5; angle1 = pi * X1 / innerCount; angle2 = pi * X2 / innerCount; angle3 = pi * Y1 / innerCount; angle4 = pi * Y2 / innerCount; angle5 = pi * X11; angle6 = pi * X22; angle7 = pi * Y11; angle8 = pi * Y22; for (int j = 0;j < outerCount;j++) { double SinIndexX1 = ((angle5/outerCount) * j; double SinIndexX2 = ((angle6/outerCount) * j; double SinIndexY1 = ((angle7/outerCount) * j; double SinIndexY2 = ((angle8/outerCount) * j; for (int i = innerCount;i > 0;--i) { SinIndexX1 += angle1; SinIndexX2 += angle2; SinIndexY1 += angle3; SinIndexY2 += angle4; int x = width/2; x += (width/2-1) * ((gBalanceX * sin(SinIndexX1)) + ((1-gBalanceX) * sin(SinIndexX2))); int y = height/2; y += (height/2-1) * ((gBalanceY * cos(SinIndexY1)) + ((1-gBalanceY) * cos(SinIndexY))); Shade(x,y,Inverse); } } |
|
© Copyright 2000. Alle rechten voorbehouden aan . |