Forskjeller mellom teksturkart. Lage materialer og teksturer for 3D-modeller


De fleste av naturscenene er blottet for betydelige detaljer i store rom. I disse områdene kan scenen ofte beskrives som manifestasjonen av en repeterende struktur, lik den til et stoff eller et flislagt gulvmønster. Det er mange eksempler hvor det er ønskelig å definere grensene for et teksturområde og teksturkornstørrelsen innenfor hver region. Den første oppgaven er vurdert i Sec. 18.7. Denne delen er viet den kvantitative beskrivelsen av tekstur.

Noen forskere har forsøkt å gi en kvalitativ definisjon av tekstur. Pickett sa det på denne måten: "Tekstur brukes til å beskrive todimensjonale rekker av lysstyrkeendringer. Teksturelementer og reglene for deres romlige organisering eller arrangement kan endres vilkårlig, så lenge egenskapene til frekvensen av endringer i lysstyrke forblir uendret. Hawkins ga en mer detaljert beskrivelse av teksturen: "Tilsynelatende dekker teksturen følgende egenskaper bilder: 1) du kan finne et fragment i det, hvis "tegning" gjentas regelmessig innenfor et område som er stort sammenlignet med størrelsen på fragmentet; 2) dette "mønsteret" er dannet av elementært bestanddeler fragment plassert i en eller annen ikke-tilfeldig rekkefølge; 3) elementære deler er omtrent homogene enheter som har omtrent samme form i hele teksturområdet. Selv om disse beskrivelsene av tekstur virker rimelige, fører de ikke direkte til enkle kvantitative teksturattributter i den forstand at ideen om en skarp endring i lysstyrke fører til en kvantitativ definisjon av den når det gjelder parametere som karakteriserer forskjellens posisjon i plass, bratthet og høyde.

Tekstur kan deles inn i kunstig og naturlig. Kunstige teksturer er strukturer laget av grafiske skilt plassert på nøytral bakgrunn. Slike tegn kan være linjestykker, prikker, stjerner eller bokstaver og tall. Flere eksempler på kunstige teksturer er vist i fig. 17.8.1. Naturlige teksturer, som navnet tilsier, er bilder av naturlige scener som inneholder nesten periodiske mønstre. Eksempler er bilder av murvegger, takstein, sand, gress m.m. Brodatz publiserte et album med teksturer funnet i naturen. På fig. 17.8.2 viser noen eksempler på naturlige teksturer. Ytterligere teksturanalyse er begrenset til naturlige teksturer.

Ris. 17.8.1. Eksempler på kunstige teksturer.

En tekstur beskrives ofte kvalitativt ved dens kornstørrelse. For eksempel et stykke ullstoff"grovere" enn et stykke silkestoff under de samme observasjonsforholdene. Kornstørrelsen er relatert til perioden med romlig repeterbarhet av den lokale strukturen. En stor periode tilsvarer en stor tekstur, og en liten periode tilsvarer en liten. Det er klart at kornstørrelsen ikke er tilstrekkelig til å kvantitativt måle teksturen, men den kan i det minste brukes til å estimere i hvilken retning teksturtrekkene skal endre seg, dvs. små numeriske verdier av funksjonene skal tilsvare en fin tekstur, og store verdier- stor. Det bør tas i betraktning at teksturen er en egenskap i nabolaget til bildepunktet.

Ris. 17.8.2. Eksempler på naturlige teksturer: a - gress; b - eføy; c - murverk; g - gitter.

Derfor er teksturegenskaper iboende avhengige av størrelsen på nabolaget de er definert i. Fordi tekstur er en romlig egenskap, bør målinger av dens egenskaper begrenses til områder med relativ ensartethet. Derfor, før du prøver å måle teksturen, er det nødvendig å etablere grensene for regionen med ensartet tekstur ved observasjon eller ved å bruke en av de automatiske bildesegmenteringsmetodene beskrevet i kap. atten.

Flere studier har blitt viet til teksturanalyse ved bruk av Fourier-spekteret (se avsnitt 17.3). Siden teksturkornstørrelsen er proporsjonal med den romlige perioden, bør det grove teksturområdet gi et Fourier-spektrum hvis energi er konsentrert ved lave romlige frekvenser. Tvert imot, for områder med finkornet tekstur, er energien til spekteret konsentrert ved høye romlige frekvenser. Selv om en slik korrespondanse delvis eksisterer, oppstår ofte vanskeligheter på grunn av den romlige endringen i perioden og fasen av strukturrepetisjoner. Eksperimenter har vist at det er betydelig spektral overlapping for områder med markant forskjellig naturlig tekstur, som urbane områder, landlige områder og skogkledde områder fremhevet i flyfoto. På den annen side var spektral Fourier-analyse vellykket med å oppdage og klassifisere antrakose i lungene hos gruvearbeidere, som visuelt manifesterer seg i form av diffuse teksturavvik i lungebilder fra normen.

Den romlige autokorrelasjonsfunksjonen ble foreslått som hovedteksturkarakteristikk. Vurder denne funksjonen

, (17.8.1)

beregnet på et vindu av størrelse for hvert punkt i bildet og ved forskyvninger. Det antas at ved en fast forskyvning vil det grovkornede teksturområdet tilsvare en høyere verdi av korrelasjonsfunksjonen enn det finkornede teksturområdet. Således er kornstørrelsen på teksturen proporsjonal med bredden til autokorrelasjonsfunksjonen. En av mulige tiltak autokorrelasjonsbredde er det andre øyeblikket

. (17.8.2)

Rosenfeld og Troy foreslo å bruke antall lysstyrkefall i nærheten av et punkt som en teksturfunksjon. Først, med et eller annet kantdeteksjonssystem, opprettes en konturforberedelse, slik for det detekterte kantpunktet og ellers. Vanligvis er deteksjonsterskelen satt lavere enn ved utheving av grensepunktene til områder med konstant lysstyrke.

Deretter dannes en teksturfunksjon

, (17.8.3)

beregnet på vindusstørrelse for hvert betraktet punkt i bildet.

Ris. 17.8.3. Relativ plassering av punkter i beregningen av lysstyrkeavhengighetsmatrisene.

Haralik, Shanmugan og Dinshtein foreslo en rekke teksturegenskaper basert på egenskapene til histogrammet for frekvensfordelingen av de felles lysstyrkeverdiene til et par bildeelementer. Hvis bildet har et område med en fin tekstur, vil dette histogrammet være nær ensartet, og for en grov tekstur vil det være konsentrert langs diagonalen. Tenk på et par bildeelementer og , avstanden mellom disse bestemmes av en vektor med en modul med en vinkel i forhold til den horisontale aksen. La er frekvensfordelingen målt i et vindu med størrelse , hvor lysstyrkeverdiene er kvantisert i området . Denne fordelingen kan tenkes som et estimat av den felles sannsynlighetsfordelingen

For hvert sett med parametere kan frekvensfordelingen sees på som en rekke tall som bestemmer graden av statistisk avhengighet av par med bildeelementer. Slike matriser kalles lysstyrkeavhengighetsmatriser eller tilstøtende matriser. Fordelingen, representert som en rekke tall, må lagres for hvert punkt i bildet og for hvert sett med verdier, derfor er det nødvendig å begrense vinkelen og den absolutte verdien fra et synspunkt om å redusere beregningsoperasjoner. av avstandsvektoren til et lite antall diskrete verdier. På fig. 17.8.3 viser plasseringen av bildeelementene ved måling av frekvensfordelingen for tilfellet når avstanden langs radien fra punkt til punkt tar fire diskrete verdier, og vinkelen er radianer (det er antatt vinkelsymmetri). Et godt estimat på felles sannsynlighetsfordeling oppnås ved tilstrekkelig store frekvenser. Sistnevnte kan oppnås enten ved å begrense antall luminanskvantiseringsnivåer eller ved å bruke relativt store vinduer.

Ris. 17.8.4. Histogrammer konstruert for lysstyrkeavhengighetsmatrisene, for , .

a - gress; b - eføy; c - murverk; g - gitter.

Den første måten fører til tap av nøyaktighet ved måling av lavkontrastteksturer, og den andre gir en feil hvis teksturen endres innenfor vinduet. Et vanlig kompromiss er å bruke 16 graderinger av lysstyrke og et vindu på omtrent 30-50 elementer i hver dimensjon.

På fig. 17.8.4 viser histogrammene for lysstyrken til par av elementer for områder med store og små teksturer. For de gitte verdiene er de fine teksturhistogrammene mer jevnt fordelt enn de grove teksturhistogrammene. Teksturkornstørrelsen kan måles ved mengden histogramspredning rundt hoveddiagonalen. Haralik et al. har foreslått en rekke histogramspredningsmål for å måle tekstur. Noen av dem er gitt i sekt. 17.2. For eksempel gir treghetsmomentet, bestemt av uttrykk (17.2.13), et teksturtrekk i formen

Galloway foreslo en annen variant av teksturmålemetoden, der kjørelengdehistogrammer brukes i stedet for lysstyrkehistogrammer. Løpelengden defineres på vanlig måte som antall bildeelementer som følger hverandre i en bestemt retning med samme lysstyrke. Med grov tekstur oppnås lange serier, og med fin tekstur korte. Flere teksturfunksjoner er formulert som mål på histogramspredning i løpelengde.

Den største innsatsen til forskere innen teksturanalyse var ikke rettet mot å avsløre nye teksturegenskaper, men på å bruke kjente funksjoner for mønstergjenkjenning. For eksempel brukte Haralik og Shanmougan andre-ordens lysstyrkehistogramfunksjoner for å klassifisere spektrale-sonale flyfotografier, mens Weshka, Dyer og Rosenfeld utforsket terrengklassifisering med flere typer teksturegenskaper. Krueger, Thompson og Turner brukte teksturegenskaper for å oppdage og klassifisere pulmonal antrakose hos gruvearbeidere fra røntgenstråler. bryst. I tillegg brukte Zobrist og Thompson teksturegenskaper for å utvikle en funksjon som evaluerer den perseptuelle forskjellen mellom teksturregioner.

Ris. 17.9.1. Eksempler på tekstursyntese.

a - naturlig gress; b - kunstgress; c - naturlig eføy; g - kunstig eføy.

I henhold til arten av fordelingen av mineralaggregater er malmteksturer delt inn i homogene og heterogene.

Homogene teksturer er besatt av malmer representert av ett mineralaggregat store størrelser hvor mineralene er jevnt fordelt. Homogene teksturer er delt inn i massive, jevnt innblandet og pulveraktig.

gigantisk, eller fast, teksturen sees i malmer som består av ett eller flere verdifulle mineraler tett ved siden av hverandre og fordelt mer eller mindre jevnt. Begrepet "massiv tekstur" brukes vanligvis på rike malmer der malmmineraler dominerer over ikke-metalliske. Disse malmene krever vanligvis ikke forbehandling.

Malmer med en massiv tekstur fra forskjellige deler av malmkroppen er preget av samme mineralsammensetning og strukturer. Under et mikroskop ser de ofte ujevne ut. Den heterogene strukturen til malmen skyldes ikke bare ujevn fordeling av mineraler, men også ujevn kornstørrelse på mineralaggregater. Massive teksturer er mest karakteristiske for malmer av magmatisk, sedimentær og metamorf genese.

jevnt ispedd teksturen skiller seg ut hvis malmmineralene er jevnt fordelt i massen av ikke-metalliske mineraler som utgjør bergarten eller åremassen.

Pulveraktig tekstur karakteriserer sammensetningen av et løst monomineralt aggregat bestående av mineralkorn eller kolloidale partikler.

Uensartede teksturer er de mest utbredte og delt inn i åtte morfogenetiske grupper: flekkete, langstrakte, druser og geoder, kolloidale og metakolloidale, kataklastiske og klastiske, organogene, korrosjon, ramme.

Fikk øye på Teksturer er preget av mineralaggregater med uregelmessig, isometrisk og avrundet form i form av spredning, flekker, reir og knuter. Slike tilslag er ujevnt fordelt i bergarter eller malmer. Mineraltilslag varierer i størrelse.

ispedd tekstur er preget av en ujevn fordeling av små malmtilslag (enkelte korn eller deres sammenvekster) i stein eller i en masse gangmineraler. Impregneringsformen er uregelmessig, linseformet, isometrisk, og dimensjonene er fra tusendeler og hundredeler av en millimeter til 1 cm. Mengden av malmmineraler, avhengig av malmtype, måles i tusendeler og hundredeler av en prosent eller første titalls prosent.

Spredningen av malmmineraler kan være syngenetisk, når den dannes samtidig med vertsmineralaggregatet, epigenetisk, når den dannes når sene mineraler legges over tidlige mineralaggregater, genetisk relatert til påfølgende stadier og stadier av mineralisering, og relikt, bevart under metamorfosen til en stein eller malm.

Disseminerte teksturer er observert i malmer av alle genetiske typer mineralforekomster. Ofte finnes de i malmer av magmatisk og postmagmatisk opprinnelse. Det er generelt akseptert at spredte teksturer karakteriserer dårlige malmer.

Spektakel teksturen er en slags ispedd; preget av en oval, linseformet eller langstrakt form for spredning og utvikler seg under prosessene med dynamometamorfisme.

fikk øye på tekstur karakteriserer slike former for sammenvekst når ett malmmineraltilslag eller flere tilslag i form av flekker og reir utvikles i massen av en annen malm eller ikke-metallisk mineraltilslag. Flekkede teksturer er observert i alle genetiske typer avleiringer, men de er mest utviklet i metasomatiske avleiringer og fyllårer.

nodulær teksturen er en slags flekket tekstur og er karakteristisk for kromspineller og kobber-nikkelmalm. Separate knuter med en diameter på 5 til 15 mm har en oval, mindre ofte avrundet form, med skarpe grenser. De er innelukket i en masse endrede steindannende mineraler. Nodule strukturer er granulære.

Langstrakte teksturer er observert i malmer som består av mineraltilslag som er forlenget i en bestemt retning og varierer i tykkelse, struktur, sammensetning, kornstørrelse og farge. Mineraltilslag i form av strimler, mellomlag, linser og skiver av skistositet er vanligvis arrangert mer eller mindre parallelt med hverandre. Mineralaggregater av en åre eller åre-lignende form dannes under fylling av sprekker eller under utskifting langs sprekker og er ofte ordnet tilfeldig. Ganske ofte krysser venene hverandre og danner skjæringsteksturer. Spesielle mineraltilslag - skorper og dendritter - er sammenvekster av krystallinske korn eller et kolloidalt stoff i sprekker.

Karakteristiske morfologiske typer teksturer i denne gruppen er båndet, arvet båndet, gneis-båndet, korsfestet, lagdelt, pseudo-lagdelt, linseformet, skistose, flakete, venelet, venelet-lignende, skjæringspunkter, looped, crusty, dendritisk.

Stripete tekstur preget av vekslende striper av forskjellige mineralsammensetning, forskjellig granularitet eller bånd av forskjellige farger av samme mineral. Båndet tekstur er mye utviklet i malmer oftest av alle genetiske grupper.

Korsdannelse tekstur oppstår i utførelsesårene. Teksturen er preget av et båndet arrangement av mineraltilslag. Samtidig ble det avsatt striper av mineraler på veggene i sprekken fra periferien til sentrum. Hver påfølgende stripe gjentar alle konturene av veggene til en sprekk eller overflaten av en stripe av et tidligere avsatt mineralaggregat. Det kan være flere slike striper, og de som ligger inntil sprekkveggen er de tidligste, og omvendt utvikles de yngste stripene i midten av sprekken; noen ganger forblir ufylte hulrom (geoder) med en linseformet form i midten av sprekken.

kolomorfe bånd kolloidal tekstur dannes ved suksessiv vekst av gelstrimler på veggene til en sprekk eller hulrom mineralstoff. Samtidig skiller stripene seg i skjellerte konturer. Den colloform-båndede metakolloid-teksturen er preget av en radialt strålende og fibrøs struktur av stripene.

lagdelt teksturen er kjent for det nesten parallelle arrangementet av lag, mellomlag og mellomlag med ulik mineralsammensetning, struktur, farge, hardhet og porøsitet. Vanligvis veksler malmmellomlag med mellomlag av stein.

Linseformet teksturen av innskuddet er en slags lagdelt og båndet; det dannes i de tilfellene når malmtilslag i form av lag, mellomlag eller strimler klemmes eller gradvis kiles ut langs anslaget. I slike tilfeller har malmmineraltilslag i form av linser. Den linseformede teksturen av metamorfose dannes under knusing og utvidelse av mineralaggregater sammensatt av sprø og plastiske mineraler. Den linseformede teksturen finnes hovedsakelig i forekomster av sedimentær og metamorf genese.

skifer teksturen er dannet under påvirkning av orientert trykk og er preget av et lineært eller planparallelt arrangement av langstrakte mineralaggregater. Under et mikroskop oppdages forlengelse og samme orientering av individuelle korn i aggregater. Skistositet kan eller ikke falle sammen med retningen på sengetøy eller bånd. Skifertekstur er sekundær og utbredt blant metamorfoserte malmer og bergarter.

flatet ut teksturen er en slags båndede, lagdelte og skiferteksturer. Den dannes ved å knuse og korrugere tynne strimler eller lag i små folder. Noen ganger blir lag eller strimler revet og forskjøvet, brutt av sprekker.

året Teksturen er preget av utvikling av årer av malm og åremineraler langs sprekker som krysser bergarten eller malmen i brecciasjonssoner, eller langs fragmenterings- og skistositetssprekker, eller langs krympesprekker. Tykkelsen på venene varierer fra brøkdeler av en millimeter til 2 cm, sjeldnere opp til 10 cm. Noen ganger lager venene en serie parallelle sprekker; i slike tilfeller vil teksturen til malmen være båndet. I andre typer mineralsammenvekster fyller årer av ett mineralaggregat sprekker. ulike retninger med dannelse av en loopet, eller mesh, tekstur. I skjæringspunktet mellom årer av mineralaggregater i forskjellige aldre, dannes en skjæringstekstur.

Kortikal tekstur karakteriserer ofte forekomster av supergene mineraler i form av skorper av forskjellige tykkelser på veggene av sprekker og hulrom i bergarter og malmer, for eksempel skorper av malakitt, goetitt, psilomelan, smithsonite, chrysocolla, garnieritt, opal, kalsitt, etc. Skorpeteksturen er typisk for oksidasjonssoner og er nært knyttet til geode, reniform og dryppstein.

Dendritisk teksturen dannes under deponering av mineraler i sprekker og sjeldnere under utskiftingsprosesser. Dendritter er mineraltilslag som har en treform. Dendritter i form av tynne forgrenede skorper av en granulær eller kolloidal struktur; utvikles langs planene av sprekker i bergarter, malmer og mineraler, som for eksempel dendritter av manganhydroksider eller jernhydroksider. Eksempler på dendrittiske teksturer er også native sølvdendritter, arsenid- og sulfiddendritter i malmer av kobolt-nikkel-sølvtype, native kobberdendritter i oksiderte kobbermalmer, samt native vismutdendritter i karbonater, etc.

drusere og geoder teksturer er ofte forbundet med uregelmessige, isometriske, linseformede eller runde hulrom i bergarten eller malmen. På veggene til slike hulrom avsettes mineralaggregater ("børster" av krystaller og "skorper" av korn eller amorft materiale), som delvis eller helt fyller dem.

Dannelsen av druse-aggregater skyldes en rekke faktorer, hvorav de viktigste er følgende: 1) formen på krystallinske kjerner; 2) effekten på embryoet av mineraler av substratet de er lokalisert på; 3) interaksjon av mineralkjerner under deres påfølgende vekst ("geometrisk seleksjon").

Geode og sekresjon teksturer dannes når mineralstoffet fyller små tomrom med mer eller mindre isometrisk form. Veksten av skorper inne i hulrommet skjer alltid fra periferien til midten. Skorpene har en granulær, kolloidal, kryptokrystallinsk og fibrøs struktur. Størrelsene på geoder kan være svært forskjellige - fra noen få millimeter i diameter til 2-3 cm eller mer. I midten av geoden er hulrom med linseformet eller oval form alltid bevart. Ved å fylle hele geodehulen med et mineralstoff, dannes en sekresjonstekstur av utførelsen.

Kolloidal og metakolloidal Teksturer er karakteristiske for mineralaggregater, som under påvirkning av overflatespenning og tyngdekraft fikk en sfærisk (kuler, knopper, knuter) og sintrede (kamskjell, skorper, skjell, knuter, stalaktitter, stalagmitter, klynger). Sinteraggregater er kjent for en rekke mineraler, som hydrogoetitt og goetitt, psilomelan, malakitt, aragonitt, opal, melnikovitt-pyritt, markasitt, wurtzitt, bekblende osv. De avsettes fra ekte og kolloidale løsninger.

Oolitisk teksturen er preget av akkumulering av oolitter, som er mineralaggregater av sfærisk eller ellipsoid form med en konsentrisk-sonal struktur. Oolitter dannes i et svært mobilt medium som et resultat av en konsentrisk vekst av kolloidalt materiale rundt sandkorn, leirpartikler, organiske rester, fragmenter av oolitter, luftbobler etc. suspendert i vann. Oolitter har en konsentrisk-sonal, mindre ofte kryptokrystallinsk gel og radial-strålende struktur. Oolittene kan være sammensatt av aragonitt, kalsitt, sideritt, dolomitt, kamositt, hydroksider av jern og mangan, hematitt, magnetitt, opal, kalsedon, pyritt, markasitt, galena, baritt, gips, hydrargillitt, diaspore og kalsiumfosfater. Den oolittiske teksturen er typisk for malmer og bergarter av sedimentær genese.

Reniform teksturen er preget av tilstedeværelsen av halvkuleformede, avrundede eller avrundede tuberkulære aggregater, ofte med en skinnende overflate. I snittet har nyrene et konsentrisk skall, hvor tette konsentre har en gel- og kryptokrystallinsk struktur. Hvis aggregatene har en utviklet radial-strålende struktur, vil det karakterisere en nyreformet metakolloidal tekstur.

konkretisering tekstur er preget av dannelsen av innsnevringer sfæriske, ovale, sjeldnere uregelmessig form i leirholdig karbonat og leirholdig sandholdig bergarter av sedimentær opprinnelse eller i løse forvitringsprodukter. Noduler varierer i størrelse fra noen få millimeter til 1 m eller mer. Som kjent skjer veksten av knuter alltid fra sentrum til den ytre delen av mineralaggregatet. Konkresjoner representerer noen ganger en sammentrekning av kolloidale stoffer med karakteristiske konsentriske og radielle dehydreringssprekker. Overflaten på betong er glatt, polert eller humpete. Strukturen deres er gel, konsentrisk-sonal. Den konkresjonære metakolloid-teksturen utmerker seg ved den radielt strålende strukturen til aggregatene.

kolloform teksturen finnes i malmer som er sammensatt av skjellete mineraltilslag. Strukturene til slike aggregater er granulære eller kolloidale. Skallete aggregater med radielt strålende og fibrøse strukturer karakteriserer den kollomorfe metakolloidale teksturen.

Konsentrisk-shell eller konsentrisk lagdelt tekstur karakteriserer strukturen til mineralaggregatet avsatt i form av vekslende skorper - lag med halvkuleformet og kamskjell form. Imidlertid avsetning av mineraler annen sammensetning oppstår fra sentrum til periferien rundt steinfragmenter eller leirklumper. Strukturen til aggregatene er gel og kryptokrystallinsk.

Dryppstein teksturen observeres i malmer eller bergarter der det dannes langstrakte sintermineralaggregater når stoffet vokser fra topp til bunn strengt vertikalt. Langstrakte hengende mineraltilslag kalles stalaktitter.

stalagmitt teksturen er preget av sintrede mineraltilslag, som dannes i bunnen av åpne hulrom når stoffet vokser fra bunn til topp. Slike mineraltilslag kalles stalagmitter.

Pulveraktig eller jordaktig, teksturen er karakteristisk for løse pulveraktige masser av amorfe og kryptokrystallinske stoffer frigjort fra sanne og kolloidale løsninger i vannbassenger eller på veggene av hulrom og sprekker. Pulveraktige masser av svart farge (for eksempel hydroksider av mangan eller covellin og chalcocite, og muligens fint dispergert pyritt og melnikovite) kalles sot, gul og brun - oker (for eksempel forekomster av hydrogoetitt eller raid av ferrimolybditt i tomrom) .

Kataklastiske og plastiske teksturer er preget av tilstedeværelsen av fragmenter av malm, stein, samt frakturering. Fragmenter dannes under knusing av bergarter og malm av midler for dynamometamorfisme og forvitring. Avfall kan forbli på plass (kataklastiske teksturer) og kan flyttes av vann- og gjørmestrømmer, isbreer, vind og andre midler over betydelige avstander og avsettes på nytt (klastiske teksturer).

Fragmenter av bergarter og mineraler har et bredt utvalg av teksturer og strukturer, de holdes vanligvis sammen av sement. Sammenveksten av fragmenter og sement er preget av følgende morfologiske typer teksturer; brecciated, brecciated, kokarde, konglomerat og pseudo-oolitisk. Løst, løst tilslag av de minste fragmentene og fragmenter av forskjellige mineraler (pulver) dannes i prosessen med mekanisk ødeleggelse av bergarter og malmer.

sprekker tekstur er observert i mineraltilslag krysset av sprekker i en eller flere retninger. Arten av frakturering er forskjellig - tektonisk knusing av bergarter og malm, oppsprekking av kolloidalt materiale under diagenese, sprekking og knusing av mineraler under forvitring, etc.

Breccia teksturen er utviklet i malm og bergarter sammensatt av kantete fragmenter og sement. Klasser og sement er forskjellige i tidspunktet for dannelse av mineralaggregater med visse paragenetiske assosiasjoner av mineraler, strukturer og teksturer.

brecciated teksturen er preget av avrundede fragmenter og sement; sistnevnte er noen ganger avsatt i flere stadier av mineralisering. Den runde formen til fragmentene oppsto som et resultat av deres korrosjon av sement eller som et resultat av ekspansjon under fenomenene dynamometamorfisme.

Cockade tekstur karakterisert ved suksessiv avsetning av sementmineraler i form av ringer eller skorper rundt uregelmessige eller ovale bergarter eller malm. Denne teksturen oppstår når sprekken er delvis fylt med rusk. Kokarde-teksturen er en rekke brecciated, sementbasert og crustified.

konglomerat tekstur er observert i malm og bergarter som består av sementerte småstein og steinblokker. Hulrommene mellom fragmentene er fylt med leirholdig, sandig-argilce- og kalkholdig sement. Konglomeratteksturer er utbredt i malmene til sedimentære forekomster av gull, platina, jern og i noen ikke-metalliske mineraler som er byggematerialer.

Sement teksturer er bemerkelsesverdige ved at malmmineraltilslaget sementerer sandkorn, småstein og steinblokker. Noen ganger korroderer sementstoffet individuelle fragmenter. Morfologiske arter teksturer i denne gruppen er sementavleiringer og sement som er arvet.

Organogen teksturer er karakteristiske for slike malmer og bergarter som er sammensatt av mineralaggregater som representerer restene av fossiliserte plante- og dyreorganismer, for eksempel brachiopoder, foraminiferer, koraller, crinoider, pelecypoder, mosdyr, alger, radiolarier, kiselalger, tre, blader og røtter av planter. Hulrommene mellom de organiske restene er fylt med sement. Den organogene teksturen til en stein eller malmforekomst er preget av sammenvekst av mineraltilslag som representerer forsteinede organiske rester avsatt i vannbassenger, for eksempel skjell- og korallkalkstein, foraminifert kritt, kolber, kiselgur, tripoli, forsteinede planter (stammer og fragmenter av trær, greiner og blader). avhengig; Følgende morfologiske typer teksturer skilles fra typen organiske relikvier: foraminifer, korall, crinoid, pelecypod, bryozoan, alger, etc. Den organogene teksturen er typomorf for sedimentære bergarter og malmer.

Korrosjonsteksturer kjennetegnes ved sammenvekst av to forskjellige tidsmessige dannelse av mineraltilslag, hvorav det tidlige erstattes av det senere med korrosjonsfenomener langs spaltningssprekker, knusing, tvilling, skistositet, lagdeling, langs korn- og tilslagsgrenser.

Morfologiske typer teksturer i denne gruppen er: skjelett, hjerteformet, sonal, relikt, kant, sonekant, filamentøs, løkke, eller mesh, gitter, grafisk, subgrafisk, emulsjonslignende og etsende.

Korrosjonsmikrotekstur er viktige for å etablere sekvensen av segregeringer av mineralforeninger. De dannes under både endogen og eksogen erstatning, men de er spesielt mye utviklet i oksidasjonssonen, sonen for sekundær sulfidanrikning og i kontrakt-metasomatiske avsetninger.

Skjelett mikrotekstur utvikles under substitusjon indre deler euhedrale krystaller av et primært mineral av sekundære mineraler eller mineraler fra senere stadier av mineralisering; i dette tilfellet forblir skjeletter av krystaller fra de erstattede krystallene.

Kjerne mikrotekstur skiller seg ut når bare den sentrale delen er erstattet i et krystall- eller monomineralt aggregat.

Sonal den nedarvede mikroteksturen dannes ved selektiv erstatning av individuelle soner av det erstattede krystall- eller mineralaggregatet med et sent mineral.

relikvie mikroteksturen karakteriserer nesten fullstendig erstatning av det tidlige mineraltilslaget. De overlevende restene av sistnevnte har en uregelmessig form, mens den i lamellformede mineraler er langstrakt, deres grenser er taggete.

Kaemochnaya, eller reaksjonskant, mikrotekstur i en malm eller bergart er preget av utviklingen av smale kanter av et sent mineraltilslag langs periferien av segregeringene til et tidlig tilslag. Dimensjonene til kantene i diameter er målt i brøkdeler av en millimeter. Vanligvis har felgene en finkornet, amorf eller kryptokrystallinsk struktur. Grensene mellom primære og sekundære mineraltilslag er etsende. Eksempler på en slik tekstur er kanter av supergen chalcocite, covellite og bornitt rundt chalcopyrite segregeringer eller anglesite og covellite felger rundt galena områder osv. Felgteksturen er typisk for korrosjonserstatning. En rekke felgteksturer er en sonefelgtekstur, som utmerker seg ved sonearrangementet av mineraler som utgjør felgen.

filamentøs mikroteksturen er bemerkelsesverdig for de filamentøse årer av det sene aggregatet, som erstatter det tidlige aggregatet langs et system av hårlignende mikrosprekker koblet til hverandre. Vanligvis har det tidlige mineralet ikke en veldefinert spalting. De filamentøse årer kan være sammensatt av covellitt, chalcocite, argentin, goetitt, markasitt og andre mineraler i oksidasjons- og sementeringssonen, samt hypogene mineraler fra et senere stadium av mineralisering. Filamentøse teksturer blir til løkke- og gitterteksturer og vises vanligvis i begynnelsen av erstatningsprosessen.

Looped, eller mesh , er mikroteksturen preget av et nettverk av tynne årer av erstatningsmineraltilslaget i det erstattede tilslaget. Venene danner et komplekst mønster i form av et rutenett. Grensene mellom venene og det primære mineraltilslaget er taggete. Denne teksturen blir ofte observert i sonen for sementering og oksidasjon, for eksempel når kalkopiritt erstattes av supergen bornitt, chalcocite, covellite og hydrohematite. Den løkkede teksturen indikerer den intensive utviklingen av substitusjonsprosessen.

gitter mikrotekstur oppstår når mikrovener av sekundære mineraler plasseres langs de krystallografiske retningene (sprekker, spaltninger, tvillingsømmer) til det primære mineralaggregatet. Ved skjæringspunktet mellom individuelle årer dannes en gittertekstur. Venene hovner vanligvis opp i kryssene. Grensene mellom mineraltilslag er taggete. En gittertekstur observeres når galena erstattes med cerussitt, magnetitt med hematitt, etc. Den grafiske teksturen og mikroteksturen representerer sammenveksten av to forskjellige tidsmessige dannelser av mineralaggregater, hvorfra erstatningsaggregatet danner sinusede segregasjoner i det erstattede. Grensene mellom tilslag er taggete. Slike teksturer er typiske for korrosjonserstatningsprosesser.

Subgrafikk mikroteksturen er karakteristisk for sammenvekster som ligner typiske grafiske og åreaktige teksturer, der mineraltilslaget senere i dannelsestidspunktet utvikles i en mindre mengde.

emulgert mikrotekstur dannes i prosessen med å erstatte ett mineralaggregat med et annet, mens det senere mineralaggregatet utvikler seg i form av små områder med uregelmessig eller avrundet form med taggete grenser. Denne teksturen blir ofte observert under sammenveksten av pyritt og kalkopiritt, som er en del av forskjellige parageneser.

Tekstur og mikrotekstur korrosjon etableres langs de karakteristiske taggete grensene mellom de tidlige og sene monominerale aggregatene. I denne typen sammenvekster er det ikke tatt hensyn til formen på mineraltilslag.

Wireframe teksturer er kjent for tilstedeværelsen av hulrom i malmen eller i bergarten, som utvikler seg i prosessen med oppløsning og utlekking av mineraler.

porøs tekstur er et system av porer som dannes i en stein eller malm under utlekking av ustabile mineraler og mineraltilslag. Formen og størrelsen på hulrommene kan være svært forskjellige og tilsvarer ofte utseendet til et utlutet mineral eller mineraltilslag. Skillevegger mellom hulrom er sammensatt av lite løselige hypogene og supergene mineraler. Varianter av porøs tekstur er mobil, boks.

Cavernous teksturen er preget av store hulrom som følge av utlekking av uregelmessig formede mineraltilslag som varierer i størrelse fra 2-3 mm til 10-15 cm eller mer.

Cellulær eller svampete, er teksturen preget av isometriske porer. Skillevegger mellom celler er oftest sammensatt av kalsedon, opal, kvarts, goetitt og skoroditt.

Boks tekstur det er preget av en spesiell type ramme, som er et system av rektangulære bokser eller bokser med vegger sammensatt av jernhydroksider, baritt, opal, kalsedon og andre mineraler.

Produktproduksjonsprosess ved hjelp av 3D-teknologi data-grafikk består av flere stadier. En av de viktigste og obligatoriske milepæler er skapelsesstadiet 3D-modeller, som i fremtiden vil være en del av historien som fortelles. Dessuten spiller det ingen rolle i det hele tatt hva 3D-modeller er laget for eller i hvilken bransje de skal brukes. Tross alt er hovedoppgaven til tredimensjonale modeller å skape en følelse av virkelighet, å få seeren til å tro det han ser på skjermen og være fullstendig prisgitt historien som fortelles. Til syvende og sist er tredimensjonal grafikk bare én måte å formidle til seeren historien som manusforfatteren har funnet opp.

Men under den korte setningen "lag tredimensjonale modeller", ligger en mye mer kompleks produksjonsprosess. En veldig viktig komponent i stadiet for å lage tredimensjonale modeller er å lage materialer og teksturer for tredimensjonale modeller.

Reklameplakat for kortfilmen Archetype av Aron Sims, hovedrolle der en karakter "spiller" helt skapt ved hjelp av tredimensjonal datagrafikk.
Copyright © 2012 Aaron Sims

generell informasjon

Før en tredimensjonal modell vises på skjermen til en kino, TV eller monitor, må den opprettes. Som regel betyr begrepet "lag en modell" å gå gjennom følgende produksjonsstadier en etter en:

  1. Oppretting av bildet av den fremtidige modellen.
  2. Oppretting av en geometrisk form av en tredimensjonal modell.
  3. Lage et sett med teksturer for modellen og sette opp materialer.
  4. Sette opp skjelettet og rigging av 3D-modellen.
  5. Modell animasjon.

To siste etappe produksjoner er kun til stede hvis 3D-modellen er en karakter. Hvis det bare er en detalj av miljøet, det vil si verden der hendelsene utspiller seg, er det som regel bare de tre første trinnene som er nok til å lage en slik modell.

Å lage et modellbilde utfører konseptkunstner(konseptkunstner) basert på den verbale beskrivelsen av regissøren eller manusforfatteren. De mottatte skissene overføres modellbygger(modelleringskunstner) for at han skal lage en tredimensjonal geometrisk form av modellen. Dette fullfører de to første stegene i produksjonsprosessen av en 3D-modell, men dette er fortsatt ikke nok til at modellen kan brukes i sluttprosjektet.

Faktum er at etter modelleringsstadiet har modellen bare en vanlig geometrisk form, dvs. en hund er en hund, en bil er en bil, men modellen mangler fullstendig materialene som forråder den til den unike egenskaper, samt gjøre modellen realistisk. Det er etter opprettelsen og tildelingen av materialer at den tredimensjonale modellen av hunden har en svart pelsfarge, og bilen er rødlakkert og har brunt skinninteriør. Uten materialer ser en 3D-modell grå og funksjonsløs ut, men det er materialer som blåser liv i 3D-modeller.


Et eksempel på en 3D-modell av en mekanisk soldat i fremtiden. Venstre side er en ren 3D-modell, høyre side er en ferdig modell med tildelte materialer.
Copyright 2011 © Mike Jensen
Kilde: http://eat3d.com/zbrush_hardsurface

Lag og tilpass materialer

Hva er "materialene" som 3D-modeller trenger så mye? Dette begrepet refererer til beskrivelsen av et sett med overflateegenskaper. Det vil si at materialet lagrer i seg selv en beskrivelse av hvilke egenskaper (parametre) overflaten har. Dette er egenskaper som: overflatefarge, glans eller uklarhet, tilstedeværelse eller fravær av relieff, refleksjon, gjennomsiktighet, glød, etc.

Materialer finnes stor mengde og hver av dem har sine egne, unike for ham, sett med egenskaper (parametere). Hver 3D-modell har sine egne materialer. For eksempel trenger en modell av et glassvinglass bare ett materiale med egenskapene farge, gjennomsiktighet og refleksjon. Og for en tredimensjonal modell av en person trenger du flere materialer. En for huden med farge-, glans- og avlastningsegenskaper, en annen for håret med egenskaper for farge, glans, avlastning og gjennomsiktighet, og den tredje for øynene med farge-, refleksjons- og transparensegenskaper.

Materialer skaper teksturkunstnere(teksturkunstner), og kan også lages av modellerere eller gjengivelsesoppsettspesialister (lys-/skyggekunstner). I store selskaper kan prosessen med å lage en geometrisk form av en tredimensjonal modell og lage materialer for den utføres av forskjellige spesialister. PÅ små selskaper Alt arbeid på hele produksjonssyklusen av modellen utføres oftest av modellbyggeren.


Eksempel utseende ulike materialer som brukes til å tildele 3D-modeller.
Kilde: http://www.vray-materials.de

Men materialer lages og justeres vanligvis i de samme programmene der den geometriske formen til en tredimensjonal modell lages. Dette er slike pakker som: Maya, Softimage, 3dsMax, LightWave 3D, Cinema 4D, Blender, Houdini, Modo og mange andre. Som regel gir alle disse programmene et praktisk grensesnitt for å jobbe med materialer. Og selve arbeidsprosessen koker ned til det faktum at kunstneren må velge riktig verdi av en eller annen parameter i et bestemt materiale for at den skal matche den ønskede overflaten mer nøyaktig.

Verdiene til materialparametrene kan endres av kunstneren på flere måter. Første vei - dette er fargen. For eksempel ser en rød kappe rød ut fordi fargeparameteren i materialet som er tilordnet kappens geometri er satt til rød. Den andre måten å endre eller angi materialparameteren på er dette er en digital verdi. For eksempel kan materialets gjennomsiktighetsegenskap settes til et tall mellom 0 og 100, der 0 betyr at modellen er helt gjennomsiktig og 100 betyr at modellen ikke er gjennomsiktig. Samtidig vil en verdi på 68 gjøre modellen delvis gjennomsiktig. Og den tredje måten - er bruk av teksturer. For eksempel, ved ganske enkelt å tilordne en terrengtekstur til 3D-terrenggeometrien, får vi umiddelbart vår 3D-modell til å se ut som et landskap. Det er den tredje måten å sette opp materialet på som oftest brukes når man lager komplekse typer materialer.


Eksempel på materialoppsett i Autodesk Maya-programvaren.
Kilde: http://www.polycount.com/forum/showthread.php?t=94077

Bruke teksturer

Teksturer i alle pakker involvert i arbeid med tredimensjonal grafikk er delt inn i to typer:

  • bitmap-teksturer;
  • prosedyreteksturer.

Rasterteksturer er vanlige bitmapbilder som kan oppnås på alle måter: foto, videoteknikk, bildeskanning, selvstendig skapelse i rastergrafikkredigerere som Adobe Photoshop, Gimp, etc.

Prosedyreteksturer er teksturer, hvis mønster er oppnådd på grunn av en viss algoritme (matematisk formel). Som regel er slike teksturer ikke veldig detaljerte, men veldig praktiske ved mottak. komplekse materialer, hvor de brukes til å blande punktgrafikkteksturer sammen.

Oftere enn ikke bruker teksturkunstnere punktgrafikk for å lage materialer for 3D-modeller. Og her er det veldig viktig å huske ett trekk ved rasteret. Det ligger i det faktum at kvaliteten på en bitmap-fil er begrenset av størrelsen. Jo større bredde og høyde på bildet (bildet), desto større er sannsynligheten for at materialet vil bli vist i kvalitet ved en hvilken som helst grad av kameratilnærming til overflaten av modellen. Derfor bruker moderne modeller vanligvis teksturer på minst 2k (2048 piksler) i størrelse, og ideelt sett minst 4k (4096 piksler) og enda mer.

Når du bruker teksturer som en integrert del av materialet til modellen, er det obligatorisk å lage en teksturskanning av 3D-modellen. Hvis for materialer som er laget uten bruk av teksturer, og til og med i noen tilfeller ved bruk av prosedyreteksturer, er ikke opprettelsen av et teksturkart obligatorisk krav, så for bitmap-teksturer er dette et nødvendig krav. Derfor, før teksturer opprettes for en 3D-modell, må den pakkes ut med teksturkoordinater.

Utpakning av teksturkoordinater

Det finnes et stort antall verktøy for å lage tredimensjonale modeller, og hver modelleringspakke har sin egen verktøykasse for denne oppgaven. Det er spline-basert modellering, NURBS-modellering, polygonal modellering, Sub-D overflatemodellering, men vanligvis helt på slutten blir modellen konvertert til et polygonalt nett. Og en av grunnene til denne konverteringen ligger i det faktum at for en polygonal wireframe er det ikke så vanskelig å lage en skanning av teksturkoordinater.

Under begrepet skanning(unwrap) - innebærer prosessen med å lage for hver polygon en tredimensjonal modell av dens visning (projeksjon) på koordinatplanet. Modellene som lages er geometriske former arrangert i 3D-rom, og teksturene er flate bilder. Skanning lar deg løse problemet med hvordan du bruker et flatt (todimensjonalt) bilde på en tredimensjonal geometri.

For å lage sveip kan du bruke både programmer som er involvert i modellering av objekter, så vel som spesialiserte programmer som kun utfører oppretting av sveip. Eksempler på programmer av den andre typen er programmer: headus UVLayout, Ultimate Unwrap 3D, UVMapper, Unfold 3D.

Det er flere krav for å pakke ut teksturkoordinater:

  1. Størrelsen på polygonene på teksturkoordinatgitteret skal samsvare med eller nærme seg størrelsen på polygonen på 3D-geometrien. Ellers kan teksturen på overflaten av modellen bli forvrengt (komprimert eller strukket).
  2. Det er nødvendig å prøve så effektivt som mulig å okkupere plassen til teksturfirkanten (stedet hvor skanningen av teksturkoordinatene er plassert), ellers vil dette føre til en forringelse av kvaliteten på teksturvisningen.
  3. I de fleste tilfeller er lagdeling (overlapping) av noen teksturkoordinater med andre forbudt. De eneste unntakene er symmetriske, og noen ganger identiske deler av modellen.
  4. Du må prøve å lage så få sømmer som mulig (steder for separasjon av teksturkoordinater) på synlige deler modeller.

Når modellen er pakket ut, kan teksturkunstneren begynne å lage teksturpakken.


Et eksempel på uinnpakket teksturkoordinater (høyre) for en 3D-pistolmodell (venstre).
Kilde: http://www.polycount.com/forum/showthread.php?t=80947

Lage teksturer for en 3D-modell

dette øyeblikket Det er to hovedmåter å lage teksturer for et materiale som vil bli tildelt en 3D-modell i fremtiden.

Den første måten er å lage teksturer i rastergrafikkredigerere (Adobe Photoshop, Gimp, Painter, etc.) fra bunnen av eller ved å bruke ferdige rasterbilder (bilder, tegninger osv.).

Den andre måten er å lage teksturer i et spesialisert program for å tegne teksturer umiddelbart på overflaten av en tredimensjonal modell.

Begge metodene brukes nå aktivt. Både den ene og den andre har sine tilhengere og motstandere. Både på den ene og den andre måten kan du få høykvalitets teksturer for modeller.

Før bruken av spesialiserte programmer ble teksturer tegnet kun i rastergrafikkredigerere i henhold til teksturlayoutmalen. Denne prosessen brukes fortsatt til ulike modeller. Den eneste ulempen med denne metoden er at hvis det er en søm på modellen (stedet der teksturkoordinatene er atskilt), må kunstneren jobbe perfekt slik at det ikke er merkbart på overflaten av 3D-modellen. Selv om sømmene er gjort riktig, kan de ikke engang bli lagt merke til.


Et eksempel på en 3D-dronemodell (til venstre) og en teksturpakke (til høyre) laget i Adobe Photoshop.


For en mer fargerik effekt kan vi blande den resulterende teksturfargen med toppunktfargen. For blanding multipliserer vi ganske enkelt fargene i fragmentskyggen.


Farge = tekstur(ourTexture, TexCoord) * vec4(ourColor, 1.0f);

Bør du ha noe slikt?


teksturblokk

Du lurer kanskje: "Hvorfor sampler2D en variabel er ensartet hvis vi aldri har gitt den en verdi med glUniform?”. Ved bruk av glUniform1i vi kan tilordne en metaplasseringsverdi til en tekstursampler for å tillate bruk av flere teksturer i en enkelt fragmentskyggelegging. Plasseringen av en tekstur blir oftere referert til som en teksturblokk. Standard teksturenhet er 0, som betyr den aktive teksturenheten slik at vi ikke trenger å spesifisere en plassering i forrige seksjon.


Hovedformålet med teksturenheter er å tillate oss å bruke mer enn 1 tekstur i skyggen vår. Ved å sende teksturenheter til sampleren kan vi binde flere teksturer samtidig så lenge vi aktiverer de tilsvarende teksturenhetene. I tillegg til glBindTekstur vi kan aktivere teksturene med glActivateTexture passerer inn teksturenheten vi ønsker å bruke:


glActiveTexture(GL_TEXTURE0); // Aktiver teksturblokken før du binder teksturen glBindTexture(GL_TEXTURE_2D, tekstur);

Etter aktivering av teksturenheten, den påfølgende samtalen glBindTekstur vil binde denne teksturen til den aktive teksturenheten. Blokkere GL_TEXTURE0 alltid aktivert som standard, så vi trengte ikke å aktivere teksturenheter i forrige eksempel.


OpenGL støtter minst 16 teksturenheter, som du kan få tilgang til via GL_TEXTURE0 - GL_TEXTURE15. De er deklarert i rekkefølge, så du kan også få dem slik: GL_TEXTURE8 = GL_TEXTURE0 + 8 . Dette er nyttig hvis du må iterere gjennom teksturenheter.

I alle fall må vi fortsatt endre fragmentskyggeren for å godta en annen sampler:


#versjon 330 kjerne ... uniform sampler2D ourTexture1; uniform sampler2D ourTexture2; void main() ( color = mix(texture(ourTexture1, TexCoord), texture(ourTexture2, TexCoord), 0.2); )

Det endelige resultatet er en kombinasjon av to teksturer. GLSL har en innebygd funksjon blande som tar to verdier som input og interpolerer dem basert på den tredje verdien. Hvis den tredje verdien 0.0 så vil denne funksjonen returnere det første argumentet if 1.0 deretter den andre. Verdi i 0.2 vil returnere 80 % av den første inngangsfargen og 20 % av den andre inngangsfargen.


Nå må vi laste inn og lage en annen tekstur; du er allerede kjent med de neste trinnene. Pass på at du oppretter et annet teksturobjekt, last inn bildet og generer den endelige teksturen med glTexImage2D. For den andre teksturen bruker vi ansiktsbildet fra disse veiledningene.


For å bruke den andre teksturen (og den første), må vi endre gjengivelsesprosedyren litt, ved å binde begge teksturene til de tilsvarende teksturenhetene og spesifisere hvilken teksturenhet som tilhører hvilken sampler:


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

Merk at du har brukt glUniform1i for å stille inn posisjonen til teksturblokken i uniformsprøvetakeren. Installerer dem via glUniform1i vi vil sørge for at uniformsprøvetakeren er kartlagt til riktig teksturenhet. Som et resultat bør du få følgende resultat:



Du har sikkert lagt merke til at teksturen er opp ned! Dette er fordi OpenGL representerer 0.0 på y-aksen nederst i bildet, men bilder har ofte 0.0 på toppen av y-aksen Noen biblioteker for lasting av bilder, som har innstillinger for å invertere y-aksen ved lasting tid. SOIL har ingen slik innstilling. JORD har en funksjon SOIL_load_OGL_texture som laster teksturen og genererer en tekstur med et flagg SOIL_FLAG_INVERT_Y som løser problemet vårt. Denne funksjonen bruker imidlertid anrop som ikke er tilgjengelig i moderne versjon OpenGL, så vi må slutte å bruke SOIL_load_image og selvlastende tekstur.


For å fikse denne lille feilen har vi 2 måter:

  1. Vi kan endre teksturkoordinatene i toppunktdataene og snu Y-aksen (trekk fra Y-koordinaten fra 1)
  2. Vi kan endre toppunktskyggeren for å snu Y-koordinaten ved å erstatte TexCoord-oppgaveformelen med TexCoord = vec2(texCoord.x, 1.0f - texCoord.y);..
Løsningene som er gitt er små hacks som lar deg snu et bilde. Disse metodene fungerer i de fleste tilfeller, men resultatet vil alltid avhenge av formatet og typen tekstur du velger, så den beste løsningen på problemet er å løse det på tidspunktet for innlasting av bildet, og konvertere det til et format som OpenGL forstår .

Så snart du endrer toppunktdataene eller snur Y-aksen i toppunktskyggeren, får du følgende resultat:


Øvelser

For bedre assimilering av materialet, før du går videre til neste leksjon, ta en titt på følgende øvelser.

  1. Få det til bare vertex shader har blitt snudd ved å endre fragment shader. Løsning
  2. Eksperimenter med andre metoder for å strekke teksturer ved å endre teksturkoordinater fra 0,0f

Tagger: Legg til tagger