-
11. Data: 2011-10-28 15:01:33
Temat: Re: simple ray tracing
Od: Jacek <a...@o...pl>
Dnia Thu, 27 Oct 2011 07:52:51 -0700 (PDT), t k napisał(a):
> nigdy tym sie nie bawiłem a w sumie chetnie bym
> popróbował; chodzi mi np o wyrenderowanie szarej
> kuli oswietlonej w zaleznosci od pozycji i koloru
> zrodla swiatla albo kilku swiatel albo kuli na tle
> szescianu itp
>
> ktos sie tym zajmowal i moze podac konkretne
> info ? (odsylanie do googla jest troche
> bezprzedmiotowe bo sam sobie moge w googlu
> sprawdzic, chodzi mi ew o jekies bardziej
> tresciwe porady/uwagi ew jakies dobre linki,
> lepsze nic to co na łapu-capu mozna znalezc
> w google)
>
> gr. f.
Ile jeszcze postaci stworzysz?
To juz jest zenujace... i wkurzajace!
-
12. Data: 2011-10-28 15:12:40
Temat: Re: simple ray tracing
Od: "Jordan Szubert" <u...@j...us.to>
Dnia 28-10-2011 o 14:26:07 <f...@g...pl> napisał(a):
> kwestia tylko jak dodawac do siebie kolory swiatel?
ja robie to +- tak:
light_intensity_from_both_lights=light_intensity_fro
m_light1+light_intensity_from_light2;
value_to_display=I2D(light_intensity_from_both_light
s)
float I2D(float i){
return pow(i/(i+1.0),1/2.2);//moze i nierealistyczne, ale intensywnosc
swiatla jest w zakresie 0-+inf, a wyjscie 0-1
}
--
Jordan Szubert
-
13. Data: 2011-10-28 15:46:01
Temat: Re: simple ray tracing
Od: " " <f...@g...pl>
Jacek <a...@o...pl> napisał(a):
> Dnia Thu, 27 Oct 2011 07:52:51 -0700 (PDT), t k napisał(a):
>
> > nigdy tym sie nie bawiłem a w sumie chetnie bym
> > popróbował; chodzi mi np o wyrenderowanie szarej
> > kuli oswietlonej w zaleznosci od pozycji i koloru
> > zrodla swiatla albo kilku swiatel albo kuli na tle
> > szescianu itp
> >
> > ktos sie tym zajmowal i moze podac konkretne
> > info ? (odsylanie do googla jest troche
> > bezprzedmiotowe bo sam sobie moge w googlu
> > sprawdzic, chodzi mi ew o jekies bardziej
> > tresciwe porady/uwagi ew jakies dobre linki,
> > lepsze nic to co na łapu-capu mozna znalezc
> > w google)
> >
> > gr. f.
>
> Ile jeszcze postaci stworzysz?
> To juz jest zenujace... i wkurzajace!
idz skopać psa, walnij kogos dragiem, pomecz dzieci, to ci ulzy,
ode mnie naprawde nie oczekuj jednak ze bede sie tobą i kolegami na
podobnym poziomie umyslowym specjalnie interesowal i zajmowal ;
ilez cierpliwosci trzeba miec zeby tlumaczyć wszystkim glupom
ktorym to sie nie podoba czemu czasem muszę zmieniać adresy-email
- nie wiem ktory to już raz, czwarty? piąty? najdziwniejsze
ze glupy zez zenady roszcza sobie prawo do tego by im sie to
nie podobalo: moze ostatni raz? moze ktos doceni moja niewyczerpana
uprzejmosc; w skrocie - onet nie zawsze dziala, ma limity na kilka
posow dziennie z jednego maila *dlatego mam dwa na onecie i jeden na
gazecie); a ostatnio wogole zlikwidowal bramke; gazeta nie zawsze
dziala; poniewaz onet zlikwidowal niusy wogole bede musial
pewnie zalozyc jeszcze co najmniej jeden adres na gmailu/google
groups a te onetowe odejdą into void;
PS: przypuszczam nie widzisz problemu (jak i niektorzy koledzy)
w swoich chamskich odzywkach, dla mni ejednak dyskwalifikuje cie
to jako mojego rozmowce; tak wogole to temat watku brzmi 'raytracing',
juz mowilem wielokroc, mnie naprawde interesuje przede wszystkim
programowanie i po to czytam i pisze na te grupy (a nie obcowanie z
niedorozwinietymi intelektualnie pawianami bez polotu)
kenobi
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
14. Data: 2011-10-28 15:58:46
Temat: Re: simple ray tracing
Od: " " <f...@g...pl>
Dnia 28-10-2011 o 14:26:07 <f...@g...pl> napisał(a):
> kwestia tylko jak dodawac do siebie kolory swiatel?
>ja robie to +- tak:
>light_intensity_from_both_lights=light_intensity_fr
om_light1+light_intensity_
>from_light2;
>value_to_display=I2D(light_intensity_from_both_ligh
ts)
>float I2D(float i){
> return pow(i/(i+1.0),1/2.2);//moze i nierealistyczne, ale
>intensywnosc
>swiatla jest w zakresie 0-+inf, a wyjscie 0-1
>}
ok pomysle ew o czyms podobnym, trzababy poczytac troche
jakiejs dobrej teorii; a jak opisujesz scene? - pewnie
masz tam jakas funkcyjke do sprawdzania przeciec raya
z trojkatem albo czyms podobnym, nie masz gdzies pod reka
aby podrzucic? mysle ze jakbym zrobil jakas prostopadloscienna
;wieżę; i swiatlo krążace dookoła niej to mógłby sie może
rzucać fajny cień i moze fajnie by wygladało
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
15. Data: 2011-10-28 16:30:53
Temat: Re: simple ray tracing
Od: "Jordan Szubert" <u...@j...us.to>
Dnia 28-10-2011 o 17:58:46 <f...@g...pl> napisał(a):
> Dnia 28-10-2011 o 14:26:07 <f...@g...pl> napisał(a):
>
>> kwestia tylko jak dodawac do siebie kolory swiatel?
>
>> ja robie to +- tak:
>
>> light_intensity_from_both_lights=light_intensity_fro
m_light1+light_intensity_
>> from_light2;
>
>> value_to_display=I2D(light_intensity_from_both_light
s)
>
>> float I2D(float i){
>> return pow(i/(i+1.0),1/2.2);//moze i nierealistyczne, ale
>> intensywnosc
>> swiatla jest w zakresie 0-+inf, a wyjscie 0-1
>> }
>
> ok pomysle ew o czyms podobnym, trzababy poczytac troche
> jakiejs dobrej teorii; a jak opisujesz scene? - pewnie
> masz tam jakas funkcyjke do sprawdzania przeciec raya
> z trojkatem albo czyms podobnym, nie masz gdzies pod reka
> aby podrzucic? mysle ze jakbym zrobil jakas prostopadloscienna
> ;wieżę; i swiatlo krążace dookoła niej to mógłby sie może
> rzucać fajny cień i moze fajnie by wygladało
w tym potworku co se klecilem, i ktory paro-obiektowa scene renderuje do
320x240 w 15s na 3 watkach obliczeniowych na i5 2410M, mam w tym stylu:
//pseudokod podobny do C#
struct V3{ float x,y,z; }
struct I3{ float r,g,b; }//intensywnosc swiatla, licznosc fotonow
struct Ray{ V3 start,dir; }
struct Pair<T1,T2>{
T1 f;
T2 s;
}
delegate Pair<I3,Pair<Ray,I3>[]> Continuation();
interface Element{
Pair<float,Continuation>? Intersect(Ray r);
}
struct PointLight{
V3 location;
I3 intensity;
}
class Scene{
Element[] elemets;
PointLight[] lights;
Camera cam;
}
IMO najciekawszym kawalkiem jest interfejs Element:Intersect zwraca null,
jesli polprosta Ray nie przecina obiektu, w przeciwnym wypadku pierszym
element pary, okresla ze przeciecie
wystepuje w ,,momencie'' t, czyli punkt preciecia jest w start+t*dir,
drugi element pary to to funkcja zwracajaca pare: ile swiatla leci do
kamery z zrodel swiatla po odbiciu/rozproszeniu, zas drugi element to
tablica par: promienie potomne i przez co zalezy przemnozyc ich
intensywnosc (dzieki temu mozliwe bedzie zaimplementowanie lusta
polprzepuszcalnego jako klasy implementujacj interfejs Element, jakos +-
tak:
class PolLustro{
V3 N();//normalna
Pair<float,Continuation>? Intersect(Ray r){
if(nie ma przeciecia)
return null;
t=...;//
return new Pair(t,()=>{
rd=reflect(r.dir,N());
X=r.start+r.dir*t;
return new Pair(new I3(0,0,0),new Pair<Ray,I3>[]{
new Pair<Ray,I3>(new Ray(X,r.dir),new I3(0.5,0.5,0.5)),//promien
przepuszczony
new Pair<Ray,I3>(new Ray(X,rd),new I3(0.5,0.5,0.5)),//promien odbity
});
});
}
}
trojkatow akurat nie mam, Elementy tu nieskonczona szachownica,
prostopadloscian rownolegly do osi X,Y,Z, sfera, elipsa i portal: para
rownoleglobokow, jak promien trafia w jeden z nich, to promien potomny
wylatuje z drugiego...
konkretna implementaja nie bede na razie straszyl...
--
Jordan Szubert
-
16. Data: 2011-10-28 18:56:14
Temat: Re: simple ray tracing
Od: " " <f...@g...pl>
Jordan Szubert <u...@j...us.to> napisał(a):
> Dnia 28-10-2011 o 17:58:46 <f...@g...pl> napisa=B3(a):
>
> > Dnia 28-10-2011 o 14:26:07 <f...@g...pl> napisa=B3(a):
> >
> >> kwestia tylko jak dodawac do siebie kolory swiatel?
> >
> >> ja robie to +- tak:
> >
> >> light_intensity_from_both_lights=3Dlight_intensity_f
rom_light1+light_=
> intensity_
> >> from_light2;
> >
> >> value_to_display=3DI2D(light_intensity_from_both_lig
hts)
> >
> >> float I2D(float i){
> >> return pow(i/(i+1.0),1/2.2);//moze i nierealistyczne, ale
> >> intensywnosc
> >> swiatla jest w zakresie 0-+inf, a wyjscie 0-1
> >> }
> >
> > ok pomysle ew o czyms podobnym, trzababy poczytac troche
> > jakiejs dobrej teorii; a jak opisujesz scene? - pewnie
> > masz tam jakas funkcyjke do sprawdzania przeciec raya
> > z trojkatem albo czyms podobnym, nie masz gdzies pod reka
> > aby podrzucic? mysle ze jakbym zrobil jakas prostopadloscienna
> > ;wie=BF=EA; i swiatlo kr=B1=BFace dooko=B3a niej to m=F3g=B3by sie mo=BF=
> e
> > rzuca=E6 fajny cie=F1 i moze fajnie by wyglada=B3o
>
> w tym potworku co se klecilem, i ktory paro-obiektowa scene renderuje do=
> =
>
> 320x240 w 15s na 3 watkach obliczeniowych na i5 2410M, mam w tym stylu:
>
>
> //pseudokod podobny do C#
> struct V3{ float x,y,z; }
> struct I3{ float r,g,b; }//intensywnosc swiatla, licznosc fotonow
> struct Ray{ V3 start,dir; }
> struct Pair<T1,T2>{
> T1 f;
> T2 s;
> }
> delegate Pair<I3,Pair<Ray,I3>[]> Continuation();
> interface Element{
> Pair<float,Continuation>? Intersect(Ray r);
> }
> struct PointLight{
> V3 location;
> I3 intensity;
> }
> class Scene{
> Element[] elemets;
> PointLight[] lights;
> Camera cam;
> }
>
> IMO najciekawszym kawalkiem jest interfejs Element:Intersect zwraca null=
> , =
>
> jesli polprosta Ray nie przecina obiektu, w przeciwnym wypadku pierszym =
> =
>
> element pary, okresla ze przeciecie
> wystepuje w ,,momencie'' t, czyli punkt preciecia jest w start+t*dir, =
>
> drugi element pary to to funkcja zwracajaca pare: ile swiatla leci do =
>
> kamery z zrodel swiatla po odbiciu/rozproszeniu, zas drugi element to =
>
> tablica par: promienie potomne i przez co zalezy przemnozyc ich =
>
> intensywnosc (dzieki temu mozliwe bedzie zaimplementowanie lusta =
>
> polprzepuszcalnego jako klasy implementujacj interfejs Element, jakos +-=
> =
>
> tak:
>
> class PolLustro{
> V3 N();//normalna
> Pair<float,Continuation>? Intersect(Ray r){
> if(nie ma przeciecia)
> return null;
> t=3D...;//
> return new Pair(t,()=3D>{
> rd=3Dreflect(r.dir,N());
> X=3Dr.start+r.dir*t;
> return new Pair(new I3(0,0,0),new Pair<Ray,I3>[]{
> new Pair<Ray,I3>(new Ray(X,r.dir),new I3
(0.5,0.5,0.5)),//promien =
>
> przepuszczony
> new Pair<Ray,I3>(new Ray(X,rd),new I3
(0.5,0.5,0.5)),//promien odbity=
>
> });
> });
> }
> }
> trojkatow akurat nie mam, Elementy tu nieskonczona szachownica, =
>
> prostopadloscian rownolegly do osi X,Y,Z, sfera, elipsa i portal: para =
>
> rownoleglobokow, jak promien trafia w jeden z nich, to promien potomny =
>
> wylatuje z drugiego...
>
> konkretna implementaja nie bede na razie straszyl...
>
co do c# to ja nieinteresuje sie c#pem (jak patrze na kody to
nie rozumiem wielu wyrazeni c#owych); grupowicz K Y wmieszal w
to c#pa ja pisze w c ;
Co do balaganu to ja tez czesto tworze duzy balagan.
Co do szybkosci to ja tez nie pisze szybko ale c nie daje
istatnych opoznien sam z siebie, a czasem tez mierze sobie
czasy roznych kawalkow; ostatnio nawet lekko poduczylem sie
na sucho troche sse (nie jest to wcale tak zagmatwane jak mi
sie wydawalo na pierwszy tzut oka po prostu te mnemoniki
glupio grupami zaciemnione) ale pod moim kompilatorem (stary
borland 5.5.1 comandline chyba nie darady uzywac sse jako
asma inline) :-( (Chyba ze ktos wie ze da rade i jak wtedy
dzieki za info;)
Co do sceny to bardziej chodzilo mi o to jak trzymasz
figury/powierzchnie na scenie a nie o uklad kodu,
nie wiem jak to sie robi w raytracerach czy jako tablica
trojkatow czy inaczej, np jako funkcje - chodzilo mi tez
czy masz gotowy wzorek do przeciec miedzy rayem a np
trojkatam czy 'quadem', albo innymi figurami (bo ja mam
tylko fajny do sfery), poszukam w necie ale pogadac na temat
nie zawadzi,
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
17. Data: 2011-10-28 19:38:50
Temat: Re: simple ray tracing
Od: "Jordan Szubert" <u...@j...us.to>
Dnia 28-10-2011 o 20:56:14 <f...@g...pl> napisał(a):
[...]
> Co do sceny to bardziej chodzilo mi o to jak trzymasz
> figury/powierzchnie na scenie a nie o uklad kodu,
> nie wiem jak to sie robi w raytracerach czy jako tablica
> trojkatow czy inaczej, np jako funkcje - chodzilo mi tez
> czy masz gotowy wzorek do przeciec miedzy rayem a np
> trojkatam czy 'quadem', albo innymi figurami (bo ja mam
> tylko fajny do sfery), poszukam w necie ale pogadac na temat
> nie zawadzi,
pisalem: scena zawiera tablice Elementow, gdzie Element to moze byc sfera,
prostopadloscian, stozek sciety, ...
i wyprowadzilem sobie nieoptymalne wzorki do tych wszystkich Elementow
dla powierzchni mam takie cos:
private float W(V3 c1, V3 c2, V3 c3) {
return (
c1.x * c2.y * c3.z - c1.x * c3.y * c2.z +
c2.x * c3.y * c1.z - c2.x * c1.y * c3.z +
c3.x * c1.y * c2.z - c3.x * c2.y * c1.z);
}
///ed: punkt na powierzchni
///d1: wektor rownolegly do powierzchni
///d2: jakis inny wektor rownolegly do powierzchni
///zwraca null jesli nie przecina
///zwraca trojke t,u,v taka, ze
///r.start+r.dir*t==ed+d1*u+d2*v
V3? SurfX(Ray r, V3 ed, V3 d1, V3 d2) {
var W0 = W(-r.d, d1, d2);
var C0 = r.s - ed;
if(W0 == 0)
return null;
var Wt = W(C0, d1, d2);
var Wu = W(-r.d, C0, d2);
var Wv = W(-r.d, d1, C0);
return new V3(Wt / W0, Wu / W0, Wv / W0);
}
i jeslibym chcial dodac sobie typ Elementu Trojkat(V3 p1,V3 p2,V3 p3), to
szukanie przeciecia byloby +- takie:
V3? tuv=SurfX(ray,p1,p2-p1,p3-p1);
if(tuv==null) return null;//promien rownolegly do powierzchni zawierajacej
trojkat
if(tuv.x<0) return null;//promien to polprosta, powierznia przecina sie z
prosta
if(tuv.y<0) return null;//przeciecie poza trojkatem
if(tuv.z<0) return null;//przeciecie poza trojkatem
if(tuv.z+tuv.y>1) return null;//przeciecie poza trojkatem
//promien przecina sie z trojkatem!
--
Jordan Szubert
-
18. Data: 2011-10-28 20:58:28
Temat: Re: simple ray tracing
Od: " " <f...@g...pl>
Jordan Szubert <u...@j...us.to> napisał(a):
> Dnia 28-10-2011 o 20:56:14 <f...@g...pl> napisa=B3(a):
>
> [...]
> > Co do sceny to bardziej chodzilo mi o to jak trzymasz
> > figury/powierzchnie na scenie a nie o uklad kodu,
> > nie wiem jak to sie robi w raytracerach czy jako tablica
> > trojkatow czy inaczej, np jako funkcje - chodzilo mi tez
> > czy masz gotowy wzorek do przeciec miedzy rayem a np
> > trojkatam czy 'quadem', albo innymi figurami (bo ja mam
> > tylko fajny do sfery), poszukam w necie ale pogadac na temat
> > nie zawadzi,
>
> pisalem: scena zawiera tablice Elementow, gdzie Element to moze byc sfer=
> a, =
>
> prostopadloscian, stozek sciety, ...
> i wyprowadzilem sobie nieoptymalne wzorki do tych wszystkich Elementow
> dla powierzchni mam takie cos:
>
> private float W(V3 c1, V3 c2, V3 c3) {
> return (
> c1.x * c2.y * c3.z - c1.x * c3.y * c2.z +
> c2.x * c3.y * c1.z - c2.x * c1.y * c3.z +
> c3.x * c1.y * c2.z - c3.x * c2.y * c1.z);
> }
> ///ed: punkt na powierzchni
> ///d1: wektor rownolegly do powierzchni
> ///d2: jakis inny wektor rownolegly do powierzchni
> ///zwraca null jesli nie przecina
> ///zwraca trojke t,u,v taka, ze
> ///r.start+r.dir*t=3D=3Ded+d1*u+d2*v
> V3? SurfX(Ray r, V3 ed, V3 d1, V3 d2) {
> var W0 =3D W(-r.d, d1, d2);
> var C0 =3D r.s - ed;
> if(W0 =3D=3D 0)
> return null;
> var Wt =3D W(C0, d1, d2);
> var Wu =3D W(-r.d, C0, d2);
> var Wv =3D W(-r.d, d1, C0);
> return new V3(Wt / W0, Wu / W0, Wv / W0);
> }
> i jeslibym chcial dodac sobie typ Elementu Trojkat(V3 p1,V3 p2,V3 p3), t=
> o =
>
> szukanie przeciecia byloby +- takie:
> V3? tuv=3DSurfX(ray,p1,p2-p1,p3-p1);
> if(tuv=3D=3Dnull) return null;//promien rownolegly do powierzchni zawier=
> ajacej =
>
> trojkat
> if(tuv.x<0) return null;//promien to polprosta, powierznia przecina sie =
> z =
>
> prosta
> if(tuv.y<0) return null;//przeciecie poza trojkatem
> if(tuv.z<0) return null;//przeciecie poza trojkatem
> if(tuv.z+tuv.y>1) return null;//przeciecie poza trojkatem
> //promien przecina sie z trojkatem!
a co to jest W? wyznacznik?
potrzeba prostej w sensie ilosci mnozen/dzielen
funkcji do zwrocenia punktu przeciecia
float3 intersectionRayTriangle(float3 rayOrigin, float3 rayDir, float3 v1,
float3 v2, float3 v3)
{
//?
}
znalzlem cos w necie o tyle podobne ze tez uzywa tych wspolrzednych t,u,v
ale wszystko to jest bardzo kosztowne, 4 iloczyny skalarne dwa wektorowe
i jeszcze pare zwyklych operacji.... ta twoja wersja z W jest chyba
jeszcze znacznie bardziej kosztowna, dziesiatki mnożeń... dziwne, trzeba
znalezc cos bardziej oszczednego
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
19. Data: 2011-10-28 21:22:59
Temat: Re: simple ray tracing
Od: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
Dnia 28-10-2011 o 15:07:10 <f...@g...pl> napisał(a):
> nie chce tu nikogo zasmucac, ale jesli o mnie chodzi to
> z c#em nie mam nic wspolnego (z trojga zlego c++, java i c#)
> mz c# jest chyba najgorszy;
Co to znaczy: najgorszy? I dlaczego?
Ostatnio przepisany 1:1 mój programik z C++ do C# był o 20% szybszy w C#
niż w C++.
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
-
20. Data: 2011-10-28 22:18:53
Temat: Re: simple ray tracing
Od: " " <f...@g...pl>
Wojciech \Spook\ Sura <s...@h...pl> napisał(a):
> Dnia 28-10-2011 o 15:07:10 <f...@g...pl> napisa=B3(a):
> > nie chce tu nikogo zasmucac, ale jesli o mnie chodzi to
> > z c#em nie mam nic wspolnego (z trojga zlego c++, java i c#)
> > mz c# jest chyba najgorszy;
>
> Co to znaczy: najgorszy? I dlaczego?
>
> Ostatnio przepisany 1:1 m=F3j programik z C++ do C# by=B3 o 20% szybszy =
> w C# =
>
> ni=BF w C++.
praktycznie nie interesuje sie c++/c# ani javą, rozmaite
decyzje projektowe jakie podejmowano przy tych jezykach
absolutnie mi nie odpowiadają, a naroslo w tych jezykach
tego tyle ze szkoda gadac; jak ktos lubi niech uzywa ale
jesli o mnie chodzi to absolutnie nie moja bajka,
(wspomnialem tylko zeby sprostowac jakobym 'reklamowal'/
'popieral' ow jezyk;)
przy tym ew ciekawe ze w tym przykladzie raytracerowym
faktycznie moze i przedostalo sie cos z c# bo przegladalem
chwile te linki a stylistyki czy sposoby myslania sa mozna
powiedziec w pewnym stopniu (tutaj akurat niestety)
'zarazliwe' -
osobiscie wolalbym sie moze wzorowac np na czyms
starszym, poznac troche bardziej tamte techniki np nawet
na tych kompach z czasow unixa PDP-11, cośtam, BBC mikro,
to ew moglo byc ciekawe (być może), Dzis czytalem cos o
BeOsie (niekontynuowanym systemie ktory ponoc byl dobry do
rzeczy blisko realtime), albo o MVSie na mainframy, czy
ciekawostke ktora zapamiatalem (byc moze troche nidokladnie)
o innym systemie VMS chyba, ze pozwala robic maszyny wirtualne
i w tych maszynach wirtualnych mozna znowu jego odpalic
(maszyna wirtualna w maszynie wirtualnej), jest wiele rzeczy
ciekawszych dla mnie niz c#
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/