Specificarea lățimii liniei în opengl

Pe măsură ce setați diferite dimensiuni ale punctelor, atunci când desenați utilizând funcția glLineWidth, puteți specifica o altă lățime a liniei: void glLineWidth (lățimea GLfloat);







Funcția glLineWidth ia un parametru care specifică lățimea aproximativă în pixeli a liniei afișate. Ca și dimensiunea punctelor, nu este acceptată nici o lățime a liniei și trebuie să vă asigurați că este disponibilă lățimea necesară. Pentru a determina intervalul de lățimi de linie și cel mai mic interval dintre acestea, utilizați următorul cod.

Aici, matricea de dimensiuni va conține două elemente - cea mai mică și cea mai mare valoare acceptabilă pentru glLineWidth. În plus, variabila pas va conține cea mai mică dimensiune a pasului permisă între lățimile liniei. Specificația OpenGL necesită doar o lățime de linie de -1,0. Implementarea OpenGL, executată de Microsoft, permite utilizarea lățimii liniei de la 0.5 la 10.0 cu cea mai mică mărime a pasului -0.125.

Listing 3.6 arată codul pentru un exemplu mai interesant de utilizare a glLineWidth. Este preluat din programul LINESW și, atunci când este executat, sunt desenate 10 linii de lățime variabilă. Execuția programului începe în partea de jos a ferestrei la -90 de-a lungul axei y și fiecare linie următoare este cu 20 de unități mai mare și are o lățime de 1 mai mare. Rezultatul acestui program este prezentat în Fig. RĂU.







Rețineți că, specificând coordonatele liniei, am folosit glVertex2f în loc de glVertex3f. Așa cum am menționat mai devreme, acesta este doar un aranjament, deoarece atragem toate obiectele pe planul xxy la o coordonată de z egală cu 0. Pentru a vă asigura că trageți liniile în trei dimensiuni, rotiți desenul folosind tastele săgeți. Veți observa imediat că toate liniile sunt în același plan.

Textura liniei

În plus față de schimbarea lățimii segmentelor, puteți crea linii cu modele întrerupte sau punctate, numite decolări. Pentru a utiliza factorul de linie, trebuie mai întâi să îl activați cu următoarea comandă: glEnable (GL_LINE_STIPPLE); După aceea, funcția glLineStipple stabilește structura care va fi folosită la desen: void glLineStipple (factor GLint, model GLushort);

Linia 3.7 arată un exemplu de utilizare a unui șablon de facturare, care este pur și simplu o secvență de biți alternativi activi și dezactivați (0101010101010101). Acest cod este preluat din programul LSTIPPLE, care arată 10 linii paralele cu axa x de jos în sus. Textura fiecărei linii este reprezentată de șablonul 0x5555, dar pentru fiecare linie următoare multiplicatorul șablonului este mărit cu 1. Influența multiplicatorului asupra modelului de textura extinsă poate fi văzută în Fig. 3.12.

Specificarea lățimii liniei în opengl

Specificarea lățimii liniei în opengl







Trimiteți-le prietenilor: