Mini-HOWTO in modelarea si redarea graficii 3D
Dave Jarvis
v1.1, 27 Martie 2001
Detaliaza instructiuni pentru descarcarea si instalarea unui mediu de
dezvoltare in modelarea si redarea grafica folosind RedHat Linux.
______________________________________________________________________
Cuprins
1. Introducere
1.1 Preambul
1.2 Modelling vs. Modeling
1.3 Informatie despre dreptul de autor
2. Informatie de fundal
2.1 Biblioteca grafica
2.2 Unitatea de modelare grafica
2.3 Unitatea de redare grafica
3. Instructiuni de instalare
3.1 Avertisment
3.2 Descarcarea software-ului
3.3 Instalarea bibliotecii grafice
3.4 Instalarea unitatii de redare grafica
3.5 Instalarea unitatii de modelare grafica
3.6 Curatare
4. Informatii diverse
4.1 Iluminare
4.2 Tutoriale
5. Link-uri inrudite
5.1 Biblioteca grafica
5.2 Unitatea de redare grafica
5.3 Unitatea de modelare grafica
5.4 Diverse link-uri
6. Aprecieri
______________________________________________________________________
1. Introducere
1.1. Preambul
Acest document va va ghida prin etapele necesare pentru a instala si
configura un mediu pentru modelarea si redarea grafica tridimensionala
folosind Linux. In aceasta sectiune veti gasi de asemenea informatii in
termeni usori de inteles despre componentele necesare si modul in care
ele se imbina. Sectiunea instalarii este intentionat minimala; doar pasii
rapizi necesari pentru a porni si rula programul (daca nu functioneaza,
sunt disponibile informatii suplimentare). Pentru cei care vor mai multe
informatii despre componentele software si ceea ce fac ele (in general),
va rog cititi in continuare.
Exista, cel putin, trei pachete software de care aveti nevoie pentru a
porni la drum. Acestea sunt urmatoarele (in ordinea in care sunt explicate,
nu in ordinea in care vor fi instalate):
· o biblioteca de grafice
· unitatea de modelare grafica
· unitatea de redare grafica
1.2. Modelling vs. Modeling
Ortografierea 'modelling' este de origine canadiana. Ortografierea
'modeling' este de origine americana. Autorul acestui document este de
origine canadiana. ;-)
1.3. Informatii despre dreptul de autor
Copyright © 2000-2001 Dave Jarvis
Acest document poate fi reprodus in totalitate sau doar partial, fara taxa,
cu urmatoarele restrictii:
· nota despre dreptul de autor de mai sus si aceasta nota privind
reproducerea trebuie pastrate in toate copiile complete sau partiale;
· orice traducere sau lucrare derivata trebuie aprobata in scris de catre
autor, inainte de distribuire;
· daca distribuiti aceasta lucrare partial, instructiunile pentru
obtinerea versiunii complete trebuie incluse si de asemenea trebuie
incluse si mijloacele prin care se poate obtine versiunea completa;
· mici portiuni pot fi reproduse pentru a ilustra revizii sau ca citate
in alte lucrari fara aceasta nota de permisiune daca se ofera
recunoasterea necesara;
2. Informatie de fundal
Continutul acestei sectiuni exista doar pentru a descrie, in general, cele
trei componente principale necesare care se cer pentru modelarea si
redarea tridimensionala cu un sistem bazat pe Linux.
2.1. Biblioteca grafica
Biblioteca grafica este formata din instrumentele cele mai elementare
folosite pentru manipularea imaginilor grafice. Ganditi-va la lucrurile
necesare pentru a construi o casa: instalatie electrica, instalatii
tehnico-sanitare, lemn, caramizi si asa mai departe. Biblioteca grafica
poate fi vazuta nu ca aceste articole, ci mai degraba ca uneltele folosite
pentru a crea aceste articole. De fapt, cablurile, tuburile metalice,
scandurile, nu apar din senin; mai degraba ele sunt create si formate ca
entitati de sine statatoare. La fel si grafica, nu apare in mod magic pe
ecran -- in mod normal ea este formata din primitive grafice de nivel
scazut (linii, dreptunghiuri si pixeli individuali, de exemplu).
Deci biblioteca grafica trebuie vazuta ca primitive grafice de nivel
scazut folosite pentru a construi obiecte mult mai complexe (sfere, cutii,
poligoane complexe, etc). Aceste obiecte complexe sunt folosite apoi,
pentru a construi forme si figuri si mai complicate.
Biblioteca grafica instalata este implementarea freeware a OpenGL
numita Mesa.
2.2. Unitatea de modelare grafica
Din moment ce unitatea de redare grafica este, ideal, ascunsa complet
de utilizatorul final, ne vom ocupa de aceea spre final (in plus,
modelarea este urmatorul pas logic pastrand legatura cu analogia mea
privind construirea casei). Dar cand este vorba de instalarea
propriu-zisa, unitatea de modelare grafica este legata de cea de
redare grafica, aceasta fiind deja instalata.
Daca biblioteca grafica este asemenea uneltelor folosite pentru a
realiza uneltele necesare pentru construirea unei case (!), atunci
unitatea de modelare grafica poate fi vazuta ca instrumentul folosit
pentru construirea planurilor casei -- planuri sofisticate, caci
unitatea de modelare grafica va permite sa dictati unde trebuie
asezate instalatia electrica, instalatiile tehnico-sanitare, panourile
de lemn, caramizile si asa mai departe. In plus, va puteti alege stilul
panourilor si culoarea caramizilor dupa cum doriti.
Unitatea de modelare grafica instalata este pachetul freeware numit
The Mops, care produce fisiere compatibile cu RenderMan.
2.3. Unitatea de redare grafica
In concordanta cu analogia constructiei casei, unitatea de redare
grafica reprezinta muncitorii. Odata ce aveti planurile si materialele,
aveti nevoie de ceva care sa construiasca efectiva casa, astfel incat
sa apara exact asa cum a fost inchipuita. Unitatea de redare grafica
primeste informatii (de exemplu, schemele sub forma de fisiere
compatibile RenderMan sau echivalente) de la unitatea de modelare
pentru a produce rezultatul final.
La fel cum unitatea de modelare grafica necesita unitatea de redare
inainte sa fie instalata, unitatea de redare grafica necesita ca
biblioteca grafica sa fie instalata in prealabil.
Unitatea de redare grafica instalata este Blue Moon Rendering Toolkit
care foloseste fisiere RenderMan.
3. Instructiuni de instalare
Retineti faptul ca acestea sunt scurte instructiuni; un scurt rezumat
al celor mai importante detalii veti gasi in fisierele README pentru
pachetele software corespunzatoare. Nu este, sub nici o forma, un
substitut pentru citirea acelor fisiere (ele contin informatii despre
dreptul de autor si alte instructiuni pe care acest document nu le
ofera in mod obligatoriu).
3.1. Avertizare
In primul rand, trebuie stiut ca acest document ofera doar un mijloc
de a porni la drum folosind RedHat v7.0. Cand aveti ocazia sa alegeti
ce pachet software sa descarcati, asigurati-va de compatibilitatea cu
versiunea de distributie Linux pe care o folositi.
In al doilea rand, trimiteti e-mail-uri doar daca aveti informatii
ce ar putea ajuta si alte persoane care citesc acest document(cum ar
fi explicarea modului de instalare a altor instrumente, indicatii spre
alte tutoriale, pasi lipsa, greseli gramaticale sau de ortografie
etc.). Daca software-ul nu poate fi compilat sau nu va puteti descurca
va rog cititi documentatia aferenta. Va rog sa intelegeti ca sistemul
dumneavoastra poate fi complet diferit si de aceea depanarea problemelor
prin e-mail pe Internet nu este o sarcina iubita de nimeni. ;-)
In al treilea rand, acestea sunt pachete software, care au fost
instalate fara dificultati majore (a se citi: dureri de cap majore).
In sectiunea link-urilor inrudite se afla pachete software alternative
impreuna cu cele descrise mai joc. Chiar daca un anumit pachet software
nu este descris in amanuntime, acest lucru nu inseamna ca este mai slab
(sau mai bun) decat cele alese pentru instalare.
Succes!
3.2. Descarcarea software-ului
Inainte de a incepe, veti avea nevoie de un browser web si de un
shell Unix. Daca nu stiti sa utilizati un shell [bash, ksh, etc.],
sunteti pe cont propriu (cu toate ca instructiunile sunt si in romana
si in comenzi shell).
Daca nu este specificat altfel, toate instructiunile se vor realiza
ca root.
1. Creati un nou director /usr/local/archives pentru pachete:
mkdir /usr/local/archives
2. Descarcati urmatoarele pachete (in forma .tar.gz) in directorul
nou creat (sunt date paginile principale precum si link-urile
folosite pentru descarcarea paginilor, si versiunea minima
a software-ului).
· Mesa Graphics Library v3.4.1:
www.mesa3d.org/download.html
· Blue Moon Rendering Toolkit v2.6beta:
www.bmrt.org/BMRTdownload/index.html
· The Mops
v0.42d: www.informatik.uni-rostock.de/~rschultz/mops/download.html
3.3. Instalati biblioteca grafica
Versiunile vechi de tar nu suporta argumentul z. Pentru acele
sisteme, eliminati argumentul z si folositi gunzip pe fisier,
inainte de a folosi tar.
1. Schimbati directorul in /usr/local/archives:
cd /usr/local/archives
2. Dezarhivati Mesa (inlocuiti numarul versiunii daca este necesar):
tar zxf MesaLib-3.4.1.tar.gz
tar zxf MesaDemos-3.4.1.tar.gz
3. Treceti pe subdirectorul Mesa:
cd Mesa-3.4.1
4. Configurati,realizati si instalati Mesa folosind urmatoarele
comenzi:
./configure; make; make install
5. Editati /etc/ld.so.conf, si asigurati-va ca aveti o linie care
arata astfel:
/usr/local/lib
6. Lansati programul de configurare a bibliotecii dinamice:
ldconfig
3.4. Instalati unitatea de redare grafica
1. Reveniti la directorul /usr/local/archives:
cd ..
2. Dezarhivati Blue Moon Rendering Toolkit (inlocuiti numarul
versiunii daca este necesar):
tar zxf BMRT2.6beta.linux-glibc2.tar.gz
3. Treceti pe subdirectorul BMRT:
cd BMRT2.6
4. Copiati fisierele in directoarele corespunzatoare:
cp bin/* /usr/local/bin/
cp lib/lib* /usr/local/lib/
cp include/* /usr/local/include/
5. Realizati un director pentru shadere, asigurati-va ca toti
userii pot scrie in el, iar apoi copiati fisierele shaderelor
in el:
mkdir /usr/local/shaders
chmod 777 /usr/local/shaders
cp shaders/*.sl* /usr/local/shaders/
cp shaders/*.h /usr/local/shaders/
cp examples/*.sl* /usr/local/shaders/
cp examples/*.h /usr/local/shaders/
6. Editati profilul de login al sistemului (/etc/profile sau
echivalentul sau), si adaugati linia:
export SHADERS=.:/usr/local/shaders
7. Copiati fisierul .rendribrc in directorul home al fiecarui
user.
Daca ceva nu merge cum trebuie, consultati fisierul README
care acompaniaza Blue Moon Rendering Toolkit sau vizitati
site-ul lor.
3.5. Instalati unitatea de modelare grafica
Mops s-ar putea sa fie instalat pentru fiecare user sau pentru
tot sistemul de catre root (sau de catre echivalentul sau).
In acest exemplu, este instalat folosind un cont ne-administrativ,
care ar trebui sa dea rezultate pozitive. Retineti ca procesul de
compilare a esuat in timpul instalarii (un fisier header C lipsea),
astfel ca fisierele binare precompilate (compatibile cu RedHat v6.0,
sistemul dvs. s-ar putea sa difere) au fost instalate dupa cum
urmeaza:
1. Schimbati pe directorul parinte al locatiei unde doriti ca
The Mops sa se gaseasca. De exemplu, daca se doreste locatia
/usr/local/mops atunci dati comanda:
cd /usr/local
2. Dezarhivati The Mops (inlocuiti numarul daca este necesar),
apoi treceti pe directorul lui:
tar zxf /usr/local/archives/mops-0.42d-BMRT26-linux.tar.gz
cd mops
3. Mutati urmatoarele fisiere din /usr/local/mops/src in
/usr/local/mops:
mv src/crtmopssh.sh .
mv src/mfio.so .
mv src/mops .
4. Copiati fisierul .mopsrc in directorul home al fiecarui
utilizator care vrea sa ruleza The Mops. De exemplu,
utilizatorul "jane" ar avea nevoie de urmatoarele comenzi:
cp src/mopsrc /home/jane/.mopsrc
5. Creati /usr/local/lib/mops si mutati butoanele si shaderele:
mkdir /usr/local/lib/mops/
mv buttons/* /usr/local/lib/mops/
mv shader/*.sl* /usr/local/shaders/
Daca ceva nu merge bine, va rog consultati fisierele README si
Setup.txt care acompaniaza The Mops sau vizitati site-ul lor.
Iesiti din contul de root. Logati-va ca user obisnuit si rulati
The Mops astfel:
/usr/local/mops/mops
Ar fi de dorit sa creati un subdirector in $HOME/mops numit models
pentru a salva modelele 3D.
3.6. Curatare.
Acum ca instalarea este completa, puteti indeparta din sistemul
dumneavoastra toate fisierele de care nu mai aveti nevoie
(inlocuiti numarul versiunii unde este necesar).
cd /usr/local/archives/
rm -rf BMRT2.6
rm -rf Mesa-3.4.1
Nota: Fiti atenti cand folositi rm -rf... asigurati-va ca va
aflati in directorul corect si ca fisierele si/sau directoarele
pe care doriti sa le stergeti sunt prezente.
4. Informatii diverse
In loc de o sectiune cu intrebari fregvente, aici se afla
informatii despre unele dintre problemele (aproape stanjenitoare)
intalnite.
4.1. Iluminarea
Cea mai frustranta problema a fost, initial, incercarea de a
intelege cum de totul era negru... si apoi cum pot fi iluminate
obiectele. In aceste "lumi virtuale" in care modelati obiecte,
lumile sunt create de la zero. Nu exista lumina in lume pana cand
nu puneti o sursa de lumina in ea! Atunci sursele de lumina vor
radia pe o directie data, iluminand si lucrurile din calea lor
(conform proprietatilor suprafetei obiectelor). Asigurati-va ca
sursa voastra de lumina este:
1. orientata (prin rotatie sau prin translatie) pe directia corecta;
2. suficient de intensa pentru a ilumina indeajuns.
4.2. Tutoriale.
Lucrul cel mai simplu pe care o persoana ar vrea sa il faca cu
pachetul de modelare/redare este pozitionarea unei sfere pe o
suprafata, iluminarea ei si observarea rezultatului. Un tutorial
decent ar trebui sa descrie acest lucru mai intai.
Acest lucru fiind spus, The Mops are un prim tutorial minunat.
.
5. Link-uri inrudite
5.1. Biblioteci grafice
Mesa - o biblioteca grafica OpenGL.
5.2. Unitati de redare grafica
BMRT - The Blue Moon Rendering Toolkit.
POV-Ray - The Persistence of Vision
Raytracer.
5.3. Unitati de redare grafica
The Mops -
Un pachete de modelare 3D care foloseste BMRT.
Blender - O suita freeware de instrumente
pentru modelare si redare.
5.4. Diverse link-uri
Aici se gasesc link-uri care nu se potrivesc in alta categorie,
dar care merita sa fie accesate daca vreti sa folositi cu
adevarat computerul dvs. Linux pentru modelare si redare 3D.
Software 3D pentru Linux -
Contine in mare parte (daca nu in totalitate) link-urile din acest
document si altele in plus.
Software de modelare 3D pentru Linux
- link-uri catre
pachete software referitoare in principal la modelare.
Modelare si redare 3D folosind Linux -
Un site usor de inteles cu articole si software ce explica ceea ce
acest document rezuma.
6. Aprecieri
As vrea sa multumesc celor care au dezvoltat pachetele software
descrise in acest document. Calitatea produselor lor este la un
nivel comercial, dar cu toate acestea mentin spiritul
software-ului gratuit. Felicitari!