Trimis: Mar Apr 17, 2007 11:39 am Titlul subiectului: texturi celulare
Celor pasionati de programare grafica sau celor care vor sa creeze backgrounduri tileable pentru diverse proiecte ( de ex: pagini web ) le prezint un mic utilitar ce poate fi gasit la aceasta adresa : http://hq.scene.ro/blog/read/cellular-texture/
Textul de prezentare este in engleza insa daca se doresc explicatii despre modul de creare al texturilor, voi detalia.
Trimis: Mie Apr 18, 2007 9:57 am Titlul subiectului: Re: texturi celulare
benishor a scris:
Celor pasionati de programare grafica sau celor care vor sa creeze backgrounduri tileable pentru diverse proiecte ( de ex: pagini web ) le prezint un mic utilitar ce poate fi gasit la aceasta adresa : http://hq.scene.ro/blog/read/cellular-texture/
Textul de prezentare este in engleza insa daca se doresc explicatii despre modul de creare al texturilor, voi detalia.
Eu unul sunt interesat sa aflu mai multe.... cand benishor are timp sa ne povesteasca, chiar il rog.
Trimis: Mie Apr 18, 2007 10:53 am Titlul subiectului: (Fără titlu)
Ei bine, conceptul in sine este cat se poate de simplu. Incepem cu urmatorii pasi :
se aloca memoria necesara texturii cu dimensiunile dorite
se genereaza un numar de puncte aleatoare ( sau ne ) in spatiul texturii. aceste puncte vor constitui centrul celulelor
Apoi, pentru fiecare textel ( element de baza al texturii, pixel ), se vor efectua urmatoarele :
se calculeaza distantele catre punctele aleatoare definite anterior si se alege cea mai mica distanta. Distanta dintre doua puncte in plan este
Cod:
sqrt( ( x1 - x2 ) ^ 2 + ( y1 - y2 ) ^ 2 )
se calculeaza o valoare a culorii textelului functie de distanta respectiva
se stocheaza valoarea obtinuta anterior intr-un buffer temporar
Deoarece operatiile cu distante vor fi efectuate in virgula mobila, vom folosi un buffer de float cu aceleasi dimensiuni ca si cel de textura pentru a stoca rezultatele operatiilor asupra distantelor.
Pasul urmator va fi normalizarea bufferului de distante, adica aducerea fiecarui component in raza domeniul [0.0, 1.0]. Aceasta se realizeaza cautandu-se minimul si maximul in buffer, apoi parcurgand bufferul si efectuand operatia :
Nu ne ramane apoi decat sa translatam acel buffer cu valori intre 0 si 1 fie intr-o textura de 8bpp ( inmultind fiecare component cu 255.0 si luand partea intreaga ), fie sa folosim valorile ca factor de interpolare intre doua culori specificate, fie sa mapam valorile respective intr-un canal al unei texturi de 24 sau 32 biti ( R, G, B, A )
Modelul tipului de celula depinde de modelul variatiei culorii cu acea distanta minima calculata fata de centrele celulelor. Un exemplu ar fi variatia patratica : in buffer se stocheaza distanta minima la patrat. Se pot exemplifica multe formule de variatie.
O alta metoda de variatie a texturii odata obtinut un buffer de valori este de a lua complementul culorii, obtinandu-se un 'negativ' ce poate arata extrem de interesant.
Nu, nu ai fost deloc criptic, parerea mea cel putin. Propun sa ne tii la curent pe masura ce avansezi cu cercetarile, este un domeniu de studiu cat se poate de interesant. Succes! PS: In ce limbaje, medii de programare/dezvoltare iti creezi operele de arta?
Multumesc de urari. Directia de dezvoltare ar fi crearea unui generator de texturi pentru 64k-uri.
Limbaje ? depinde de target : pentru verificarea rapida a unor concepte, folosesc php sau perl. Pentru problemele mai "serioase", c++
Multumesc de urari. Directia de dezvoltare ar fi crearea unui generator de texturi pentru 64k-uri.
Limbaje ? depinde de target : pentru verificarea rapida a unor concepte, folosesc php sau perl. Pentru problemele mai "serioase", c++
Am studiat, nu foarte amanuntit, recunosc, ce se afla in spatele linkului si cu riscul de a ma repeta pot spune ca imi place. Daca cumva timpul ma va lasa sa studiez in aceasta directie, promit sa imi postez aici "cuceririle".
Nu puteți crea un subiect nou în acest forum Nu puteți răspunde în subiectele acestui forum Nu puteți modifica mesajele proprii din acest forum Nu puteți șterge mesajele proprii din acest forum Nu puteți vota în chestionarele din acest forum Nu puteți atașa fișiere în acest forum Nu puteți descărca fișiere în acest forum
Referință subiect (Stil MLA) "texturi celulare." Mesaj online. Mar Apr 17, 2007 11:39 am. razvan.bocu.ro / forum.bocu.ro. Mar Mai 21, 2024 7:24 pm. < http://forum.bocu.ro/viewtopic.php?t=31 >.