Diferențele dintre hărțile de textură. Crearea de materiale și texturi pentru modele 3D


Majoritatea scenelor naturale sunt lipsite de detalii semnificative în spații mari. În aceste zone, scena poate fi adesea descrisă ca manifestarea unei structuri care se repetă, similară cu cea a unei țesături sau a unui model de podea cu gresie. Există multe exemple în care este de dorit să se definească limitele unei regiuni de textură și dimensiunea granulelor texturii în fiecare regiune. Prima sarcină este considerată în Sec. 18.7. Această secțiune este dedicată descrierii cantitative a texturii.

Unii cercetători au încercat să dea o definiție calitativă a texturii. Pickett a spus astfel: „Textura este folosită pentru a descrie rețele bidimensionale de modificări de luminozitate. Elementele de textură și regulile pentru organizarea sau aranjarea lor spațială pot fi modificate în mod arbitrar, atâta timp cât caracteristicile frecvenței modificărilor luminozității rămân neschimbate. Hawkins a oferit o descriere mai detaliată a texturii: „Aparent, textura acoperă următoarele proprietăți imagini: 1) puteți găsi un fragment în el, al cărui „desen” se repetă în mod regulat într-o zonă care este mare în comparație cu dimensiunea fragmentului; 2) acest „model” este format din elementare părțile constitutive fragment plasat într-o ordine non-aleatorie; 3) părțile elementare sunt unități aproximativ omogene care au aproximativ aceeași formă în întreaga zonă de textură. Deși aceste descrieri ale texturii par rezonabile, ele nu conduc direct la simple atribute cantitative ale texturii, în sensul că ideea unei schimbări bruște a luminozității duce la o definire cantitativă a acesteia în ceea ce privește parametrii care caracterizează poziția diferenței. în spațiu, abrupt și înălțime.

Textura poate fi împărțită în artificială și naturală. Texturile artificiale sunt structuri realizate din semne grafice situate pe fundal neutru. Astfel de caractere pot fi segmente de linie, puncte, asteriscuri sau litere și cifre. Mai multe exemple de texturi artificiale sunt prezentate în Fig. 17.8.1. Texturile naturale, așa cum sugerează și numele lor, sunt imagini ale scenelor naturale care conțin modele aproape periodice. Exemple sunt fotografiile cu pereți de cărămidă, țigle de acoperiș, nisip, iarbă etc. Brodatz a publicat un album de texturi găsite în natură. Pe fig. 17.8.2 prezintă câteva exemple de texturi naturale. Analiza ulterioară a texturii este limitată la texturi naturale.

Orez. 17.8.1. Exemple de texturi artificiale.

O textură este adesea descrisă calitativ prin dimensiunea granulelor sale. De exemplu, o bucată țesătură de lână„mai aspru” decât o bucată de material de mătase în aceleași condiții de observare. Dimensiunea granulelor este legată de perioada de repetabilitate spațială a structurii locale. O perioadă mare corespunde unei texturi mari, iar o perioadă mică corespunde uneia mici. Este clar că mărimea granulelor nu este suficientă pentru a măsura cantitativ textura, dar poate fi folosită cel puțin pentru a estima direcția în care caracteristicile texturii ar trebui să se schimbe, adică valorile numerice mici ale caracteristicilor ar trebui să corespundă unei fine. textura și valori mari- mare. Trebuie luat în considerare faptul că textura este o proprietate a vecinătății punctului de imagine.

Orez. 17.8.2. Exemple de texturi naturale: a - iarba; b - iedera; c - zidărie; g - zăbrele.

Prin urmare, caracteristicile texturale depind în mod inerent de dimensiunea vecinătății pe care sunt definite. Deoarece textura este o proprietate spațială, măsurătorile caracteristicilor sale ar trebui limitate la zone de uniformitate relativă. Prin urmare, înainte de a încerca măsurarea texturii, este necesar să se stabilească limitele regiunii de textura uniformă prin observare sau prin utilizarea uneia dintre metodele automate de segmentare a imaginii descrise în Cap. optsprezece.

Mai multe studii au fost dedicate analizei texturii folosind spectrul Fourier (vezi Secțiunea 17.3). Deoarece dimensiunea granulelor texturii este proporțională cu perioada spațială, regiunea de textura grosieră ar trebui să dea un spectru Fourier a cărui energie este concentrată la frecvențe spațiale joase. Dimpotrivă, pentru regiunile cu textură fină, energia spectrului este concentrată la frecvențe spațiale înalte. Deși o astfel de corespondență există parțial, dificultățile apar adesea din cauza schimbării spațiale în perioada și faza repetițiilor structurii. Experimentele au arătat că există o suprapunere spectrală semnificativă pentru zone cu textură naturală semnificativ diferită, cum ar fi zonele urbane, zonele rurale și zonele împădurite evidențiate în fotografiile aeriene. Pe de altă parte, analiza spectrală Fourier a avut succes în detectarea și clasificarea antracozei plămânilor la mineri, care se manifestă vizual sub formă de anomalii texturale difuze în imaginile pulmonare din normă.

Funcția de autocorelare spațială a fost propusă ca principală caracteristică a texturii. Luați în considerare această funcție

, (17.8.1)

calculat pe o fereastră de mărime pentru fiecare punct al imaginii și la decalaje . Se presupune că la o deplasare fixă, zona texturii cu granulație grosieră va corespunde unei valori mai mari a funcției de corelare decât zona texturii cu granulație fină. Astfel, dimensiunea granulației texturii este proporțională cu lățimea funcției de autocorelare. Unul dintre măsuri posibile lățimea de autocorelare este al doilea moment

. (17.8.2)

Rosenfeld și Troy au sugerat utilizarea numărului de scăderi de luminozitate în vecinătatea unui punct ca o caracteristică texturală. În primul rând, cu un sistem de detectare a marginilor, este creată o pregătire a conturului, astfel încât pentru punctul de margine detectat și altfel. De obicei, pragul de detectare este setat mai mic decât în ​​cazul evidențierii punctelor de limită ale zonelor cu luminozitate constantă.

Apoi se formează o caracteristică de textură

, (17.8.3)

calculat pe dimensiunea ferestrei pentru fiecare punct considerat al imaginii.

Orez. 17.8.3. Locația relativă a punctelor în calculul matricelor de dependență de luminozitate.

Haralik, Shanmugan și Dinshtein au propus o serie de caracteristici texturale bazate pe proprietățile histogramei distribuției de frecvență a valorilor de luminozitate comune ale unei perechi de elemente de imagine. Dacă imaginea are o zonă cu o textură fină, atunci această histogramă va fi aproape uniformă, iar pentru o textură aspră va fi concentrată de-a lungul diagonalei. Luați în considerare o pereche de elemente de imagine și , distanța dintre care este determinată de un vector cu un modul cu un unghi față de axa orizontală. Lasa este distribuția de frecvență măsurată într-o fereastră cu dimensiune , unde valorile luminozității sunt cuantificate în intervalul . Această distribuție poate fi gândită ca o estimare a distribuției comune de probabilitate

Pentru fiecare set de parametri, distribuția de frecvență poate fi văzută ca o matrice de numere care determină gradul de dependență statistică a perechilor de elemente de imagine. Astfel de matrice sunt numite matrici de dependență de luminozitate sau matrice de adiacență. Distribuția, reprezentată ca o matrice de numere, trebuie stocată pentru fiecare punct al imaginii și pentru fiecare set de valori, prin urmare, din punctul de vedere al reducerii operațiilor de calcul, este necesar să se limiteze unghiul și valoarea absolută. a vectorului distanță la un număr mic de valori discrete. Pe fig. 17.8.3 arată locația elementelor imaginii la măsurarea distribuției de frecvență pentru cazul în care distanța de-a lungul razei de la un punct la altul ia patru valori discrete, iar unghiul este radiani (se presupune simetria unghiulară). O bună estimare a distribuției comune a probabilității se obține la frecvențe suficient de mari. Aceasta din urmă poate fi realizată fie prin limitarea numărului de niveluri de cuantizare a luminanței, fie prin utilizarea ferestrelor relativ mari.

Orez. 17.8.4. Histograme construite pentru matricele de dependență de luminozitate, pentru , .

a - iarbă; b - iedera; c - zidărie; g - zăbrele.

Prima modalitate duce la o pierdere a preciziei la măsurarea texturilor cu contrast scăzut, iar a doua dă o eroare dacă textura se modifică în cadrul ferestrei. Un compromis comun este folosirea a 16 gradații de luminozitate și o fereastră de aproximativ 30-50 de elemente în fiecare dimensiune.

Pe fig. 17.8.4 prezintă histogramele luminozității perechilor de elemente pentru zonele cu texturi mari și mici. Pentru valorile date, histogramele cu textură fină sunt distribuite mai uniform decât histogramele cu textură grosieră. Dimensiunea granulelor texturii poate fi măsurată prin cantitatea de împrăștiere a histogramei în jurul diagonalei principale. Haralik și colab. au propus o serie de măsuri de împrăștiere a histogramei pentru a măsura textura. Unele dintre ele sunt date în sect. 17.2. De exemplu, momentul de inerție, determinat de expresia (17.2.13), dă o caracteristică de textură sub forma

Galloway a propus o altă variantă a metodei de măsurare a texturii, în care sunt folosite histograme de lungime a cursului în loc de histograme de luminozitate. Lungimea rulării este definită în mod obișnuit ca numărul de elemente de imagine care se succed într-o anumită direcție cu aceeași luminozitate. Cu textura aspra se obtin serii lungi, iar cu textura fina, scurte. Mai multe caracteristici de textură au fost formulate ca măsurători ale împrăștierii histogramei pe lungime.

Cele mai mari eforturi ale cercetătorilor în domeniul analizei texturii au fost îndreptate nu spre dezvăluirea de noi caracteristici texturale, ci spre utilizarea caracteristicilor cunoscute pentru recunoașterea modelelor. De exemplu, Haralik și Shanmougan au folosit caracteristici de histogramă de luminozitate de ordinul doi pentru a clasifica fotografiile aeriene spectrale-zonale, în timp ce Weshka, Dyer și Rosenfeld au explorat clasificarea terenului cu mai multe tipuri de caracteristici texturale. Krueger, Thompson și Turner au folosit caracteristici texturale pentru a detecta și clasifica antracoza pulmonară la mineri din raze X. cufăr. În plus, Zobrist și Thompson au folosit caracteristici texturale pentru a dezvolta o funcție care evaluează diferența de percepție între regiunile de textură.

Orez. 17.9.1. Exemple de sinteza texturii.

a - iarbă naturală; b - iarbă artificială; c - iedera naturala; g - iedera artificială.

În funcție de natura distribuției agregatelor minerale, texturile minereurilor sunt împărțite în omogene și eterogene.

Texturile omogene sunt posedate de minereuri reprezentate de un agregat mineral dimensiuni mariîn care mineralele sunt distribuite uniform. Texturile omogene sunt împărțite în masive, uniform intercalate și pudrate.

masiv, sau solidă, textura este văzută în minereuri care constau din unul sau mai multe minerale valoroase apropiate unele de altele și distribuite mai mult sau mai puțin uniform. Termenul „textură masivă” este de obicei aplicat minereurilor bogate în care mineralele minerale predomină asupra celor nemetalice. Aceste minereuri de obicei nu necesită tratament prealabil.

Minereurile cu o textură masivă din diferite părți ale corpului de minereu sunt caracterizate prin aceeași compoziție și structuri minerale. La microscop, deseori arată neregulat. Structura eterogenă a minereului se datorează nu numai distribuției neuniforme a mineralelor, ci și mărimii neuniforme a granulelor agregatelor minerale. Texturile masive sunt cele mai caracteristice minereurilor de geneza magmatică, sedimentară și metamorfică.

uniform intercalate textura iese în evidență dacă mineralele de minereu sunt dispersate uniform în masa mineralelor nemetalice care alcătuiesc masa de rocă sau filon.

Pulverulent textura caracterizează compoziția unui agregat monomineral liber format din granule minerale sau particule coloidale.

Texturi neuniforme sunt cele mai răspândite și subdivizate în opt grupe morfogenetice: pete, alungite, druse și geode, coloidale și metacoloidale, cataclastice și clastice, organogenice, corozive, cadru.

Pestriţ Texturile se caracterizează prin agregate minerale de formă neregulată, izometrică și rotunjită sub formă de diseminare, pete, cuiburi și noduli. Astfel de agregate sunt distribuite neuniform în roci sau minereuri. Agregatele minerale variază în mărime.

intercalate textura se caracterizează printr-o distribuție neuniformă a agregatelor mici de minereu (boabe individuale sau creșteri între ele) în stâncă sau într-o masă de minerale de gangă. Forma de impregnare este neregulată, lenticulară, izometrică, iar dimensiunile sunt de la miimi și sutimi de milimetru până la 1 cm Cantitatea de minerale, în funcție de tipul de minereu, se măsoară în miimi și sutimi de procent sau primele zeci de procente.

Diseminarea mineralelor de minereu poate fi singenetică, când se formează concomitent cu agregatul mineral gazdă, epigenetică, când se formează când mineralele târzii sunt suprapuse agregatelor minerale timpurii, legate genetic de etapele și stadiile ulterioare de mineralizare, și relicte, conservate. în timpul metamorfismului unei roci sau minereu.

Texturile diseminate sunt observate în minereurile de toate tipurile genetice de zăcăminte minerale. Adesea se găsesc în minereuri de geneză magmatică și postmagmatică. Este în general acceptat că texturile diseminate caracterizează minereurile sărace.

Spectacol textura este un fel de intercalate; caracterizat printr-o formă ovală, lenticulară sau alungită de diseminare și se dezvoltă în timpul proceselor de dinamometamorfism.

pestriţ textura caracterizează astfel de forme de intergrowth atunci când un agregat mineral de minereu sau mai multe agregate sub formă de pete și cuiburi sunt dezvoltate în masa unui alt minereu sau agregat mineral nemetalic. Texturile pete sunt observate în toate tipurile genetice de depozite, dar ele sunt dezvoltate cel mai mult în depozitele metasomatice și venele de umplere.

nodulare textura este un fel de textură cu pete și este caracteristică spinelelor de crom și minereurilor de cupru-nichel. Nodulii separați cu un diametru de 5 până la 15 mm au o formă ovală, mai rar rotunjită, cu limite ascuțite. Ele sunt închise într-o masă de minerale alterate care formează roci. Structurile nodulului sunt granulare.

Texturi alungite se observă în minereurile compuse din agregate minerale alungite într-o anumită direcție și care diferă ca grosime, structură, compoziție, granulă și culoare. Agregatele minerale sub formă de benzi, straturi intermediare, lentile și plăci de schistozitate sunt de obicei dispuse mai mult sau mai puțin paralel între ele. Agregatele minerale sub formă de nervuri sau sub formă de nervuri se formează în timpul umplerii fisurilor sau în timpul înlocuirii de-a lungul fisurilor și sunt adesea aranjate aleatoriu. Destul de des, venele se intersectează între ele, formând texturi de intersecție. Agregatele minerale deosebite - cruste și dendrite - sunt intercreșteri de boabe cristaline sau o substanță coloidală în fisuri.

Tipurile morfologice caracteristice de texturi din acest grup sunt cu bandă, cu benzi moștenite, cu benzi de gneis, crustificate, stratificate, pseudostratificate, lenticulare, șistozate, fulgioase, nervurate, sub formă de nervuri, intersecții, bucle, cruste, dendritice.

Textura în dungi caracterizat prin dungi alternante de diferite compozitia minerala, granularitate diferită sau benzi de culori diferite ale aceluiași mineral. Textura cu bandă este dezvoltată pe scară largă în minereuri cel mai adesea dintre toate grupurile genetice.

Crustificarea textura apare în venele execuției. Textura este caracterizată printr-un aranjament în benzi de agregate minerale. În același timp, pe pereții fisurii s-au depus benzi de minerale de la periferie spre centru. Fiecare bandă ulterioară repetă toate contururile pereților unei fisuri sau suprafeței unei benzi dintr-un agregat mineral depus anterior. Pot exista mai multe astfel de dungi, iar cele care sunt adiacente peretelui fisurii sunt cele mai vechi și, dimpotrivă, cele mai tinere dungi sunt dezvoltate în centrul fisurii; uneori, goluri neumplute (geode) de formă lenticulară rămân în centrul fisurii.

benzi colomorfe textura coloidală se formează prin creșterea succesivă a benzilor de gel pe pereții unei fisuri sau cavități substanță minerală. În același timp, dungile diferă prin contururi festonate. Textura metacoloidă cu benzi de coloform este caracterizată printr-o structură radială și fibroasă a dungilor.

stratificat textura se remarcă prin dispunerea aproape paralelă a straturilor, a straturilor intermediare și a straturilor intermediare de diferite compoziții minerale, structură, culoare, duritate și porozitate. De obicei, straturile intermediare de minereu alternează cu straturile intermediare de rocă.

Lenticular textura depozitului este un fel de stratificată și bandă; se formează în acele cazuri când agregatele de minereu sub formă de straturi, straturi intermediare sau benzi sunt ciupite sau îndepărtate treptat de-a lungul loviturii. În astfel de cazuri, agregatele minerale de minereu au forma de lentile. Textura lenticulară a metamorfismului se formează în timpul zdrobirii și expansiunii agregatelor minerale compuse din minerale fragile și plastice. Textura lenticulară se găsește în principal în depozitele de geneză sedimentară și metamorfică.

ardezie textura se formează sub influența presiunii orientate și se caracterizează printr-o aranjare liniară sau plan-paralelă a agregatelor minerale alungite. La microscop, sunt detectate alungirea și aceeași orientare a boabelor individuale în agregate. Schistozitatea poate să coincidă sau nu cu direcția de așternut sau de bandă. Textura șisturilor este secundară și răspândită printre minereurile și rocile metamorfozate.

turtit textura este un fel de texturi cu benzi, stratificate și ardezie. Se formează prin zdrobirea și ondularea benzilor subțiri sau straturi în pliuri mici. Uneori, straturile sau benzile sunt rupte și deplasate, rupte de crăpături.

venat Textura este caracterizată prin dezvoltarea de filoane de minereu și minerale filonate de-a lungul fisurilor care traversează roca sau minereul în zonele de brecciare, sau de-a lungul crăpăturilor de fragmentare și schistozitate sau de-a lungul fisurilor de contracție. Grosimea nervurilor variază de la fracțiuni de milimetru până la 2 cm, mai rar până la 10 cm.Uneori, nervurile formează o serie de fisuri paralele; în astfel de cazuri, textura minereului va fi bandă. În alte tipuri de intercreșteri minerale, nervurile unui agregat mineral umplu fisurile. directii diferite cu formarea unei texturi în buclă sau plasă. La intersecția nervurilor de agregate minerale de diferite vârste, se formează o textură de intersecție.

Cortical textura caracterizează adesea depozitele de minerale supergene sub formă de cruste de diferite grosimi pe pereții fisurilor și golurilor din roci și minereuri, de exemplu, cruste de malachit, goethit, psilomelan, smithsonit, crisocola, garnierit, opal, calcit etc. Textura crustei este tipică pentru zonele de oxidare și este strâns legată de geodă, reniformă și stalactită.

dendritice textura se formează în timpul depunerii mineralelor în fisuri și mai rar în timpul proceselor de înlocuire. Dendritele sunt agregate minerale care au formă de copac. Dendritele sub formă de cruste subțiri ramificate cu structură granulară sau coloidală; se dezvoltă de-a lungul planurilor fisurilor din roci, minereuri și minerale, cum ar fi, de exemplu, dendritele hidroxizilor de mangan sau hidroxizilor de fier. Exemple de texturi dendritice sunt și dendritele native de argint, dendritele de arseniură și sulfură din minereurile de tip cobalt-nichel-argint, dendritele native de cupru din minereurile de cupru oxidate, precum și dendritele native de bismut în carbonați etc.

Druzi și geode texturile sunt adesea asociate cu cavități neregulate, izometrice, lenticulare sau rotunde din rocă sau minereu. Pe pereții unor astfel de cavități se depun agregate minerale („perii” de cristale și „cruste” de boabe sau materie amorfă), care le umplu parțial sau complet.

Formarea agregatelor de druze se datorează unui număr de factori, dintre care cei mai importanți sunt următorii: 1) forma nucleelor ​​cristaline; 2) efectul asupra embrionului al mineralelor substratului pe care se află acestea; 3) interacțiunea nucleelor ​​minerale în timpul creșterii lor ulterioare („selecție geometrică”).

Geodă și secreție texturile se formează atunci când substanța minerală umple mici goluri de formă mai mult sau mai puțin izometrică. Creșterea crustelor în interiorul cavității are loc întotdeauna de la periferie spre centru. Crustele au o structură granulară, coloidală, criptocristalină și fibroasă. Dimensiunile geodelor pot fi foarte diferite - de la câțiva milimetri în diametru până la 2-3 cm sau mai mult. În centrul geodei, se păstrează întotdeauna goluri de formă lenticulară sau ovală. În cazul umplerii întregii cavități geodei cu o substanță minerală, se formează o textură de secreție a execuției.

Coloidal și metacoloidal Texturile sunt caracteristice agregatelor minerale, care, sub acțiunea tensiunii superficiale și a gravitației, au căpătat o formă sferică (bile, muguri, noduli) și sinterizat (scoici, cruste, cochilii, noduli, stalactite, stalagmite, ciorchini). Agregatele sinterizate sunt cunoscute pentru o serie de minerale, cum ar fi hidrogoethit și goethit, psilomelan, malachit, aragonit, opal, melnikovit-pirit, marcazit, wurtzit, pechblenda etc. Sunt depuse din soluții adevărate și coloidale.

oolitic textura se caracterizează prin acumularea de ooliți, care sunt agregate minerale de formă sferică sau elipsoidală cu structură concentric-zonală. Ooliții se formează într-un mediu extrem de mobil ca urmare a creșterii concentrice a materiei coloidale în jurul grăuntelor de nisip, particulelor de argilă, reziduurilor organice, fragmentelor de ooliți, bule de aer, etc. în suspensie în apă. Ooliții au un concentric-zonal, mai puțin adesea gel criptocristalin și structură radial-radiantă. Ooliții pot fi compusi din aragonit, calcit, siderit, dolomit, chamosit, hidroxizi de fier și mangan, hematit, magnetit, opal, calcedonie, pirită, marcasită, galenă, barită, gips, hidrargilit, diasporă și fosfați de calciu. Textura oolitică este tipică pentru minereurile și rocile de geneza sedimentară.

În formă de rinichi textura se caracterizeaza prin prezenta unor agregate tuberculate semisferice, rotunjite sau rotunjite, adesea cu suprafata lucioasa. În secțiune, rinichii au o înveliș concentrică, unde concentrele dense au o structură de gel și criptocristalină. Dacă agregatele au o structură radială-radiantă dezvoltată, atunci va caracteriza o textură metacoloidală în formă de rinichi.

concreţionară textura se caracterizează prin formarea de constricții sferice, ovale, mai rar formă neregulatăîn roci argilo-carbonatice și argilo-nisipoase de geneză sedimentară sau în produse meteorologice afanate. Dimensiunea nodulilor variază de la câțiva milimetri la 1 m sau mai mult. După cum se știe, creșterea nodulilor are loc întotdeauna de la centru spre partea exterioară a agregatului mineral. Concrețiile reprezintă uneori o contracție a substanțelor coloidale cu fisuri de deshidratare concentrice și radiale caracteristice. Suprafața concrețiilor este netedă, lustruită sau accidentată. Structura lor este gel, concentric-zonală. Textura metacoloidă concreționară se remarcă prin structura radial radiantă a agregatelor.

coloform textura se găseşte în minereuri compuse din agregate minerale festonate. Structurile unor astfel de agregate sunt granulare sau coloidale. Agregatele festone cu structuri radial radiant și fibroase caracterizează textura metacoloidă colomorfă.

Concentric-cochiliu sau stratificat concentric textura caracterizează structura agregatului mineral depus sub formă de cruste alternante - straturi de formă semisferică și festonată. Cu toate acestea, depunerea de minerale compoziție diferită apare de la centru spre periferie în jurul fragmentelor de rocă sau bulgări de argilă. Structura agregatelor este gel și criptocristalină.

Stalactită textura se observă în minereuri sau roci în care se formează agregate minerale sinterizate alungite atunci când substanța crește de sus în jos strict vertical. Agregatele minerale suspendate alungite se numesc stalactite.

stalagmită textura este caracterizată de agregate minerale sinterizate, care se formează în partea inferioară a cavităților deschise atunci când substanța crește de jos în sus. Astfel de agregate minerale se numesc stalagmite.

Pudra sau pământoasă, textura este caracteristică maselor pulverulente libere de substanțe amorfe și criptocristaline eliberate din soluții adevărate și coloidale în bazine de apă sau pe pereţii cavităţilor şi crăpăturilor. Masele pulverulente de culoare neagră (de exemplu, hidroxizi de mangan sau covelline și calcocit și, eventual, pirita și melnikovit fin dispersate) sunt numite funingine, galben și maro - ocru (de exemplu, depozite de hidrogoethit sau raiduri de ferimolibdită în goluri) .

Texturi cataclastice și plastice sunt caracterizate prin prezența fragmentelor de minereu, rocă, precum și prin fracturare. Fragmentele se formează în timpul zdrobirii rocilor și minereurilor de către agenți de dinamometamorfism și intemperii. Resturile pot rămâne pe loc (texturi cataclastice) și pot fi mutate de curgerile de apă și noroi, ghețari, vânturi și alte mijloace pe distanțe considerabile și re-depuse (texturi clastice).

Fragmentele de roci și minerale au o mare varietate de texturi și structuri, de obicei sunt ținute împreună de ciment. Intercreșterile de fragmente și ciment sunt caracterizate prin următoarele tipuri morfologice de texturi; breciată, breciată, cocardă, conglomerată și pseudo-oolitică. În procesul de distrugere mecanică a rocilor și minereurilor se formează un agregat liber, în vrac din cele mai mici fragmente și fragmente de diferite minerale (pulbere).

fisurat textura se observă în agregatele minerale intersectate de fisuri în una sau mai multe direcții. Natura fracturării este diferită - zdrobirea tectonică a rocilor și minereurilor, crăparea materiei coloidale în timpul diagenezei, crăparea și zdrobirea mineralelor în timpul intemperiilor etc.

Brecia textura este dezvoltată în minereuri și roci compuse din fragmente unghiulare și ciment. Clastele și cimentul diferă în timpul formării agregatelor minerale cu anumite asociații paragenetice de minerale, structuri și texturi.

breciată textura se caracterizează prin fragmente rotunjite și ciment; acesta din urmă se depune uneori în mai multe etape de mineralizare. Forma rotundă a fragmentelor a apărut ca urmare a coroziunii lor prin ciment sau ca urmare a expansiunii în timpul fenomenelor de dinamometamorfism.

Textura cocardă caracterizat prin depunerea succesivă a mineralelor de ciment sub formă de inele sau cruste în jurul unor claste neregulate sau ovale de rocă sau minereu. Această textură apare atunci când fisura este parțial umplută cu resturi. Textura cocardă este o varietate de brecciate, cimentate și crustificate.

conglomerat textura se observă în minereuri și roci formate din pietricele și bolovani cimentați. Golurile dintre fragmente sunt umplute cu ciment argilos, nisipos-argilaceu și calcaros. Texturile conglomerate sunt răspândite în minereurile zăcămintelor sedimentare de aur, platină, fier și în unele minerale nemetalice care sunt materiale de construcție.

Ciment texturile sunt remarcabile prin faptul că agregatul mineral de minereu cimentează granule de nisip, pietricele și bolovani. Uneori, substanța de ciment corodează fragmente individuale. Specii morfologice texturile din acest grup sunt depozitele de ciment și cimentul moștenit.

Organogene texturile sunt caracteristice unor astfel de minereuri și roci care sunt compuse din agregate minerale reprezentând rămășițele de organisme fosilizate de plante și animale, de exemplu, brahiopode, foraminifere, corali, crinoide, pelecypode, briozoare, alge, radiolari, diatomee, lemn, frunze și rădăcini. a plantelor. Golurile dintre resturile organice sunt umplute cu ciment. Textura organogenă a unui zăcământ de rocă sau minereu se caracterizează prin inter-creșterea agregatelor minerale reprezentând resturi organice pietrificate depuse în bazinele de apă, de exemplu, calcar de scoici și corali, cretă foraminiferală, balon, diatomite, tripoli, plante pietrificate (trunchiuri și fragmente de copaci, ramuri și frunze). in functie; De tipul de relicve organice se disting următoarele tipuri morfologice de texturi: foraminifere, corali, crinoide, pelecypod, briozoare, alge etc. Textura organogenă este tipomorfă pentru rocile sedimentare și minereuri.

Texturi de coroziune se caracterizează prin inter-creșterea a două formare în timp diferite a agregatelor minerale, dintre care cel timpuriu este înlocuit cu cel mai târziu cu fenomene de coroziune de-a lungul fisurilor de clivaj, strivire, îngemănare, schistozitate, stratificare, de-a lungul granițelor și agregatelor.

Tipurile morfologice de texturi din acest grup sunt: ​​scheletice, în formă de inimă, zonale, relicte, margini, margini zonale, filamentoase, bucle sau ochiuri, latice, grafice, subgrafice, emulsii și corozive.

Microtextură de coroziune sunt importante pentru stabilirea succesiunii segregărilor asociaţiilor minerale. Ele se formează atât în ​​timpul înlocuirii endogene cât și exogene, dar sunt dezvoltate în special în zona de oxidare, zona de îmbogățire secundară cu sulfuri și în depozitele contract-metasomatice.

Scheletice microtextura se dezvoltă în timpul înlocuirii piese interne cristale euedrice ale unui mineral primar prin minerale secundare sau minerale din stadiile ulterioare de mineralizare; în acest caz, din cristalele înlocuite rămân schelete de cristale.

Miez microtextura iese in evidenta atunci cand doar partea centrala este inlocuita intr-un agregat cristalin sau monomineral.

Zonal microtextura moștenită se formează prin înlocuirea selectivă a zonelor individuale ale cristalului sau agregatului mineral înlocuit cu un mineral târziu.

relicvă microtextura caracterizează înlocuirea aproape completă a agregatului mineral timpuriu. Rămășițele supraviețuitoare ale acestora din urmă au o formă neregulată, în timp ce la mineralele lamelare este alungită, limitele lor sunt zimțate.

Kaemochnaya, sau marginea de reacție, microtextura într-un minereu sau rocă este caracterizată prin dezvoltarea unor margini înguste ale unui agregat mineral târziu de-a lungul periferiei segregărilor unui agregat timpuriu. Dimensiunile marginilor în diametru sunt măsurate în fracțiuni de milimetru. De obicei, jantele au o structură cu granulație fină, amorfă sau criptocristalină. Limitele dintre agregatele minerale primare și secundare sunt corozive. Exemple de astfel de textură sunt marginile supergenelor calcocit, covellită și bornit în jurul segregărilor de calcopirită sau marginile anglesite și covellite din jurul zonelor de galenă etc. Textura marginii este tipică pentru înlocuirea coroziunii. O varietate de textură de jantă este o textură de margine zonală, care se distinge prin aranjamentul zonal al mineralelor care alcătuiesc marginea.

filamentos microtextura este notabilă pentru nervurile filamentoase ale agregatului târziu, care înlocuiește agregatul timpuriu de-a lungul unui sistem de microfisuri asemănătoare părului conectate între ele. De obicei, mineralul timpuriu nu are un clivaj bine definit. Filamentele filamentoase pot fi compuse din covellită, calcocit, argentină, goethit, marcazit și alte minerale din zona de oxidare și cementare, precum și minerale hipogene ale unei etape ulterioare de mineralizare. Texturile filamentoase se transformă în texturi bucle și latice și apar de obicei la începutul procesului de înlocuire.

În buclă, sau plasă , microtextura este caracterizată printr-o rețea de nervuri subțiri ale agregatului mineral de înlocuire în agregatul înlocuit. Venele formează un model complex sub forma unei rețele. Limitele dintre nervuri și agregatul mineral primar sunt zimțate. Această textură este adesea observată în zona de cimentare și oxidare, de exemplu, când calcopirita este înlocuită cu bornit supergen, calcocit, covellit și hidrohematit. Textura buclă indică dezvoltarea intensivă a procesului de substituție.

zăbrele microtextura apare atunci când microveinlets de minerale secundare sunt plasate de-a lungul direcțiilor cristalografice (fisuri, clivaje, cusături duble) ale agregatului mineral primar. La intersecția venelor individuale se formează o textură de zăbrele. Venele se umflă de obicei la intersecții. Granițele dintre agregatele minerale sunt zimțate. Se observă o textură reticulat atunci când galena este înlocuită cu cerusită, magnetită cu hematită etc. Textura grafică și microtextura reprezintă intercreșterea a două formare în timp diferite de agregate minerale, din care agregatul de înlocuire formează segregări sinuoase în cel înlocuit. Granițele dintre agregate sunt zimțate. Astfel de texturi sunt tipice pentru procesele de înlocuire a coroziunii.

Subgrafic microtextura este caracteristică intercreșterilor care seamănă cu texturi tipice grafice și sub formă de nervuri, în care agregatul mineral mai târziu în timpul formării este dezvoltat într-o cantitate mai mică.

emulsionat microtextura se formează în procesul de înlocuire a unui agregat mineral cu altul, în timp ce agregatul mineral de mai târziu se dezvoltă sub formă de zone mici de formă neregulată sau rotunjită, cu limite zimțate. Această textură este adesea observată în timpul intercreșterii piritei și calcopiritei, care fac parte din diferite parageneze.

Textura și microtextura coroziune sunt stabilite de-a lungul granițelor zimțate caracteristice dintre agregatele monominerale timpurii și târzii. În acest tip de intercreșteri nu se ia în considerare forma agregatelor minerale.

Texturi wireframe se remarcă prin prezența golurilor în minereu sau în rocă, care se dezvoltă în procesul de dizolvare și leșiere a mineralelor.

poros textura este un sistem de pori formați într-o rocă sau minereu în timpul leșierii mineralelor instabile și agregatelor minerale. Forma și dimensiunea golurilor pot fi foarte diverse și adesea corespund aspectului unui mineral sau agregat mineral levigat. Partițiile dintre goluri sunt compuse din minerale hipogene și supergene puțin solubile. Varietăți de textură poroasă sunt celular, cutie.

Cavernos textura se caracterizează prin goluri mari rezultate din leșierea agregatelor minerale de formă neregulată, cu dimensiuni cuprinse între 2-3 mm și 10-15 cm sau mai mult.

Celular sau spongios, textura este caracterizată de pori izometrici. Partițiile dintre celule sunt cel mai adesea compuse din calcedonie, opal, cuarț, goethit și scorodit.

Textura cutie se distinge printr-un tip special de rama, care este un sistem de cutii dreptunghiulare sau cutii cu pereti compusi din hidroxizi de fier, barita, opal, calcedonie si alte minerale.

Procesul de fabricare a produsului folosind tehnologia 3D grafica pe computer constă din mai multe etape. Una dintre cele mai importante și repere obligatorii este stadiul creației Modele 3D, care în viitor va face parte din povestea spusă. Mai mult, nu contează deloc pentru ce anume sunt create modelele 3D sau în ce industrie vor fi utilizate. La urma urmei, sarcina principală a modelelor tridimensionale este să creeze un sentiment de realitate, să-l facă pe spectator să creadă ceea ce vede pe ecran și să fie complet la cheremul poveștii spuse. În cele din urmă, grafica tridimensională este doar o modalitate de a transmite spectatorului povestea inventată de scenarist.

Dar sub expresia scurtă „creați modele tridimensionale”, se află un proces de producție mult mai complex. O componentă foarte importantă în etapa creării modelelor tridimensionale este crearea de materiale și texturi pentru modele tridimensionale.

Afiș promoțional pentru scurtmetrajul Archetype de Aron Sims, rol principalîn care un personaj „joacă” creat în întregime prin intermediul graficii computerizate tridimensionale.
Copyright © 2012 Aaron Sims

informatii generale

Înainte ca un model tridimensional să apară pe ecranul unui cinematograf, televizor sau monitor, acesta trebuie creat. De regulă, termenul „creați un model” înseamnă parcurgerea următoarelor etape de producție una câte una:

  1. Crearea imaginii viitorului model.
  2. Crearea unei forme geometrice a unui model tridimensional.
  3. Crearea unui set de texturi pentru model și configurarea materialelor.
  4. Configurarea scheletului și instalarea modelului 3D.
  5. Animație model.

Două ultima etapă producțiile sunt prezente doar dacă modelul 3D este un personaj. Dacă este doar un detaliu al mediului, adică al lumii în care se desfășoară evenimentele, atunci, de regulă, doar primii trei pași sunt de ajuns pentru a crea un astfel de model.

Crearea unei imagini model funcționează artist concept(artist de concept) pe baza descrierii verbale a regizorului sau scenaristului. Schițele primite sunt transferate modelator(artist modelator) pentru ca acesta să creeze o formă geometrică tridimensională a modelului. Acest lucru completează primii doi pași din procesul de producție a unui model 3D, dar acest lucru încă nu este suficient pentru ca modelul să fie utilizat în proiectul final.

Cert este că după etapa de modelare, modelul are doar o formă geometrică regulată, adică. un câine este un câine, o mașină este o mașină, dar modelului îi lipsesc complet materialele care îi trădează caracteristici unice, precum și pentru a face modelul realist. După crearea și atribuirea materialelor, modelul tridimensional al câinelui are culoarea hainei negre, iar mașina este vopsită în roșu și are interiorul din piele maro. Fără materiale, un model 3D arată gri și lipsit de caracteristici, dar sunt materialele care dă viață modelelor 3D.


Un exemplu de model 3D al unui soldat mecanic al viitorului. Partea stângă este un model 3D curat, partea dreaptă este un model finit cu materialele alocate.
Copyright 2011 © Mike Jensen
Sursa: http://eat3d.com/zbrush_hardsurface

Creați și personalizați materiale

Care sunt „materialele” de care modelele 3D au atât de mult nevoie? Acest termen se referă la descrierea unui set de proprietăți de suprafață. Adică materialul stochează în interiorul său o descriere a ce proprietăți (parametri) are suprafața. Acestea sunt proprietăți precum: culoarea suprafeței, luciu sau ceață, prezența sau absența reliefului, reflexia, transparența, strălucirea etc.

Materialele există o cantitate mareși fiecare dintre ele are propriile sale, unice pentru el, seturi de proprietăți (parametri). Fiecare model 3D are propriile sale materiale. De exemplu, un model de pahar de vin din sticlă are nevoie de un singur material cu proprietăți de culoare, transparență și reflexie. Și pentru un model tridimensional al unei persoane, aveți nevoie de mai multe materiale. Unul pentru pielea cu proprietăți de culoare, luciu și relief, altul pentru părul cu proprietăți de culoare, luciu, relief și transparență, iar al treilea pentru ochi cu proprietăți de culoare, reflexie și transparență.

Materialele creează artiști texturi(artist texturi) și poate fi creat și de modelatori sau specialiști în configurarea randării (artist de iluminare/umbrire). În companiile mari, procesul de creare a unei forme geometrice a unui model tridimensional și de creare a materialelor pentru acesta poate fi efectuat de diferiți specialiști. LA firme mici toate lucrările pe întregul ciclu de producție al modelului, cel mai adesea, sunt efectuate de modelator.


Exemplu aspect diverse materiale care sunt folosite pentru a atribui modele 3D.
Sursa: http://www.vray-materials.de

Dar materialele sunt de obicei create și ajustate în aceleași programe în care este creată forma geometrică a unui model tridimensional. Acestea sunt pachete precum: Maya, Softimage, 3dsMax, LightWave 3D, Cinema 4D, Blender, Houdini, Modo și multe altele. De regulă, toate aceste programe oferă o interfață convenabilă pentru lucrul cu materiale. Și procesul de lucru în sine se rezumă la faptul că artistul trebuie să aleagă valoarea corectă a unuia sau altuia parametru dintr-un anumit material pentru ca acesta să se potrivească mai precis cu suprafața dorită.

Valorile parametrilor materialelor pot fi modificate de artist în mai multe moduri. Prima cale - aceasta este culoarea. De exemplu, o mantie roșie pare roșie deoarece parametrul de culoare din materialul care este atribuit geometriei mantiei este setat la roșu. A doua modalitate de a modifica sau seta parametrul materialului este aceasta este o valoare digitală. De exemplu, proprietatea de transparență a materialului poate fi setată la un număr între 0 și 100, unde 0 înseamnă că modelul este complet transparent și 100 înseamnă că modelul nu este transparent. În același timp, o valoare de 68 va face modelul parțial transparent. Și a treia cale - este utilizarea texturilor. De exemplu, prin simpla atribuire a unei texturi de teren geometriei terenului 3D, facem imediat modelul nostru 3D să arate ca un peisaj. Este a treia modalitate de configurare a materialului care este folosit cel mai des la crearea unor tipuri complexe de materiale.


Exemplu de configurare a materialului în software-ul Autodesk Maya.
Sursa: http://www.polycount.com/forum/showthread.php?t=94077

Folosind texturi

Texturile din toate pachetele implicate în lucrul cu grafica tridimensională sunt împărțite în două tipuri:

  • texturi bitmap;
  • texturi procedurale.

Texturile raster sunt imagini bitmap obișnuite care pot fi obținute în orice mod: fotografie, tehnică video, scanare de imagini, creație independentăîn editori de grafică raster, cum ar fi Adobe Photoshop, Gimp etc.

Texturile procedurale sunt texturi, al căror model este obținut datorită unui anumit algoritm (formulă matematică). De regulă, astfel de texturi nu sunt foarte detaliate, dar foarte convenabile la primire. materiale complexe, unde sunt folosite pentru a amesteca texturi bitmap.

De cele mai multe ori, artiștii de texturi folosesc hărți de bit pentru a crea materiale pentru modele 3D. Și aici este foarte important să ne amintim o caracteristică a rasterului. Constă în faptul că calitatea unui fișier bitmap este limitată de dimensiunea acestuia. Cu cât lățimea și înălțimea imaginii (imagine) sunt mai mari, cu atât este mai mare probabilitatea ca materialul să fie afișat în calitate la orice grad de apropiere a camerei de suprafața modelului. Prin urmare, modelele moderne folosesc de obicei texturi de cel puțin 2k (2048 pixeli) în dimensiune și, în mod ideal, cel puțin 4k (4096 pixeli) și chiar mai mult.

Când utilizați texturi ca parte integrantă a materialului modelului, este obligatoriu să creați o scanare a texturii modelului 3D. Dacă pentru materialele care sunt create fără utilizarea texturilor și chiar în unele cazuri când se utilizează texturi procedurale, crearea unei hărți de texturi nu este cerinta obligatorie, atunci pentru texturile bitmap aceasta este o cerință necesară. Prin urmare, înainte de a crea texturi pentru un model 3D, acesta trebuie să fie despachetat cu coordonatele texturii.

Desfacerea coordonatelor texturii

Există un număr mare de instrumente pentru crearea modelelor tridimensionale, iar fiecare pachet de modelare are propriul set de instrumente pentru această sarcină. Există modelare bazată pe spline, modelare NURBS, modelare poligonală, modelare a suprafeței Sub-D, dar, de obicei, la sfârșit, modelul este convertit într-o plasă poligonală. Și unul dintre motivele acestei conversii constă în faptul că, pentru un cadru poligonal, nu este atât de dificil să creați o scanare a coordonatelor texturii.

Sub termen scanează(unwrap) - implică procesul de creare pentru fiecare poligon a unui model tridimensional al afișajului (proiecției) acestuia pe planul de coordonate. Modelele care sunt create sunt forme geometrice dispuse în spațiu 3D, iar texturile sunt imagini plate. Scanarea vă permite să rezolvați problema modului de aplicare a unei imagini plane (bidimensionale) unei geometrii tridimensionale.

Pentru a crea sweep-uri, puteți folosi atât programe implicate în modelarea obiectelor, cât și programe specializate care efectuează doar crearea sweep-urilor. Exemple de programe de al doilea tip sunt programele: headus UVLayout, Ultimate Unwrap 3D, UVMapper, Unfold 3D.

Există mai multe cerințe pentru desfacerea coordonatelor texturii:

  1. Dimensiunea poligoanelor de pe grila de coordonate texturii ar trebui să se potrivească sau să se apropie de dimensiunea poligonului din geometria 3D. În caz contrar, textura de pe suprafața modelului poate fi distorsionată (comprimată sau întinsă).
  2. Este necesar să încercați cât mai eficient să ocupați spațiul pătratului texturii (locul în care se află scanarea coordonatelor texturii), altfel acest lucru va duce la o deteriorare a calității afișajului texturii.
  3. În cele mai multe cazuri, stratificarea (suprapunerea) unor coordonate de textură cu altele este interzisă. Singurele excepții sunt părți simetrice și uneori identice ale modelului.
  4. Trebuie să încercați să faceți cât mai puține cusături (locuri de separare a coordonatelor texturii). părți vizibile modele.

Odată ce modelul a fost despachetat, artistul de texturi poate începe să creeze pachetul de texturi.


Un exemplu de coordonate de textură neîmpachetate (dreapta) pentru un model de pistol 3D (stânga).
Sursa: http://www.polycount.com/forum/showthread.php?t=80947

Crearea de texturi pentru un model 3D

LA acest moment Există două modalități principale de a crea texturi pentru un material care va fi atribuit unui model 3D în viitor.

Prima modalitate este de a crea texturi în editorii de grafică raster (Adobe Photoshop, Gimp, Painter etc.) de la zero sau folosind imagini raster gata făcute (fotografii, desene etc.).

A doua modalitate este de a crea texturi într-un program specializat pentru desenarea texturilor imediat pe suprafața unui model tridimensional.

Ambele metode sunt acum utilizate în mod activ. Atât unul cât și al doilea au susținătorii și adversarii lor. Atât într-unul cât și în al doilea mod, puteți obține texturi de înaltă calitate pentru modele.

Înainte de apariția programelor specializate, texturile erau desenate numai în editorii de grafică raster conform șablonului de aspect al texturii. Acest proces este încă folosit pentru diverse modele. Singurul dezavantaj al acestei metode este că, dacă există o cusătură pe model (locul în care sunt separate coordonatele texturii), artistul trebuie să o rezolve perfect, astfel încât să nu fie vizibilă pe suprafața modelului 3D. Deși, dacă cusăturile sunt făcute corect, este posibil să nu fie observate.


Un exemplu de model de dronă 3D (stânga) și un pachet de texturi (dreapta) create în Adobe Photoshop.


Pentru un efect mai colorat, putem amesteca culoarea texturii rezultată cu culoarea vârfurilor. Pentru amestecare, pur și simplu înmulțim culorile în shaderul de fragmente.


Culoare = textura(ourTexture, TexCoord) * vec4(ourColor, 1.0f);

Ar trebui să ai așa ceva?


bloc de textură

S-ar putea să vă întrebați: „De ce sampler2D o variabilă este uniformă dacă nu i-am atribuit niciodată o valoare cu glUniform?”. Prin intermediul glUniform1i putem atribui o valoare meta locație unui eșantionare de textură pentru a permite mai multe texturi să fie utilizate într-un singur shader de fragment. Locația unei texturi este denumită mai frecvent bloc de textură. Unitatea de textură implicită este 0, ceea ce înseamnă unitatea de textură activă în prezent, astfel încât să nu fie nevoie să specificăm o locație în secțiunea anterioară.


Scopul principal al unităților de textură este de a ne permite să folosim mai mult de o textură în shaderul nostru. Trecând unități de textură către eșantionare, putem lega mai multe texturi simultan, atâta timp cât activăm unitățile de textură corespunzătoare. Exact ca glBindTexture putem activa texturile cu glActivateTexture trecând în unitatea de textură pe care dorim să o folosim:


glActiveTexture(GL_TEXTURE0); // Activează blocul de textură înainte de a lega textura glBindTexture(GL_TEXTURE_2D, texture);

După activarea unității de textură, apelul următor glBindTexture va lega această textură la unitatea de textură activă. bloc GL_TEXTURE0întotdeauna activat implicit, așa că nu a fost nevoie să activăm unitățile de textură în exemplul anterior.


OpenGL acceptă cel puțin 16 unități de textură, pe care le puteți accesa prin intermediul GL_TEXTURE0 - GL_TEXTURE15. Sunt declarate în ordine, așa că le puteți obține și astfel: GL_TEXTURE8 = GL_TEXTURE0 + 8 . Acest lucru este util dacă trebuie să iterați prin unitățile de textură.

În orice caz, mai trebuie să schimbăm shaderul de fragment pentru a accepta un alt sampler:


#versiunea 330 de bază ... uniform sampler2D ourTexture1; uniform sampler2D ourTexture2; void main() (culoare = mix(texture(ourTexture1, TexCoord), texture(ourTexture2, TexCoord), 0.2); )

Rezultatul final este o combinație de două texturi. GLSL are o funcție încorporată amesteca care ia două valori ca intrare și le interpolează pe baza celei de-a treia valori. Dacă a treia valoare 0.0 atunci această funcție va returna primul argument dacă 1.0 apoi al doilea. Valoare în 0.2 va returna 80% din prima culoare de intrare și 20% din a doua culoare de intrare.


Acum trebuie să încărcăm și să creăm o altă textură; ești deja familiarizat cu pașii următori. Asigurați-vă că creați un alt obiect textura, încărcați imaginea și generați textura finală cu glTexImage2D. Pentru a doua textură, vom folosi imaginea feței din aceste tutoriale.


Pentru a folosi cea de-a doua textură (și prima), va trebui să schimbăm puțin procedura de randare, legând ambele texturi la unitățile de textură corespunzătoare și specificând ce unitate de textură îi aparține cărui sampler:


glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textura1); glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture1"), 0); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, textura2); glUniform1i(glGetUniformLocation(ourShader.Program, "ourTexture2"), 1); glBindVertexArray(VAO); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); glBindVertexArray(0);

Rețineți că ați folosit glUniform1i pentru a seta poziția blocului de textură în prelevatorul uniform. Instalarea lor prin glUniform1i ne vom asigura că eșantionul uniform este mapat la unitatea de textură corectă. Ca urmare, ar trebui să obțineți următorul rezultat:



Probabil ai observat că textura este pe dos! Acest lucru se datorează faptului că OpenGL reprezintă 0,0 pe axa y din partea de jos a imaginii, dar imaginile au adesea 0,0 pe partea superioară a axei y. Unele biblioteci pentru încărcarea imaginilor, cum ar fi setări pentru inversarea axei y la încărcare timp. SOLUL nu are o astfel de setare. SOLUL are o funcție SOIL_load_OGL_texture care încarcă textura și generează o textură cu un steag SOIL_FLAG_INVERT_Y care ne rezolvă problema. Cu toate acestea, această funcție folosește apeluri care nu sunt disponibile în versiune modernă OpenGL, așa că va trebui să ne oprim din a folosi SOIL_load_imageși textura de autoîncărcare.


Pentru a remedia acest mic defect, avem 2 moduri:

  1. Putem schimba coordonatele texturii din datele de vârf și răsturnăm axa Y (scădem coordonatele Y de la 1)
  2. Putem schimba shaderul de vârf pentru a inversa coordonatele Y prin înlocuirea formulei sarcinii TexCoord cu TexCoord = vec2(texCoord.x, 1.0f - texCoord.y);..
Soluțiile oferite sunt mici hack-uri care vă permit să răsturnați o imagine. Aceste metode funcționează în majoritatea cazurilor, dar rezultatul va depinde întotdeauna de formatul și tipul de textură pe care îl selectați, așa că cea mai bună soluție la problemă este să o rezolvați în stadiul de încărcare a imaginii, conversia într-un format pe care OpenGL îl înțelege. .

De îndată ce modificați datele de vârf sau răsturnați axa Y în shaderul de vârf, veți obține următorul rezultat:


Exerciții

Pentru o mai bună asimilare a materialului, înainte de a trece la următoarea lecție, aruncați o privire la următoarele exerciții.

  1. Adu-l la numai shader-ul vertex a fost inversat, prin schimbarea shader-ului fragment. Decizie
  2. Experimentați cu alte metode de întindere a texturilor schimbând coordonatele texturii de la 0,0f

Etichete: Adăugați etichete