Kako saznati koji je DirectX instaliran: Nekoliko jednostavnih načina. Neke OpenGL aplikacije i igre su prestale da rade, navodeći činjenicu da sistem ne podržava OpenGL

21.02.2024

Zdravo prijatelji. Moji zadnji članci bili su fokusirani na temu grafičkih i video adaptera. Mislim da ću nastaviti dalje da istražujem ovu temu. U prethodnim člancima smo govorili o DirectX-u i shaderima, danas ćemo uroniti u svijet OpenGL-a. Hajde da saznamo šta je to, gde da ga preuzmemo i za šta je potrebno. Tema će biti namijenjena onima koje samo ovo zanima i koji su jako zainteresirani da nauče nešto novo o računarima. Neću čamiti, počeću pisati. Uživajte u čitanju :)

Šta je OpenGL i sa čime se koristi?

OpenGL je grafički standard u kompjuterskoj grafici. Trenutno je to jedan od najpopularnijih grafičkih standarda u cijelom svijetu.

OpenGL je skraćenica od Open Graphics Library, što znači da je OpenGL otvoren i mobilni standard. Programi napisani koristeći OpenGL mogu se prenijeti na skoro svaku platformu, postižući isti rezultat, bilo da se radi o grafičkoj stanici ili superkompjuteru.

OpenGL oslobađa programera od pisanja programa za određeni hardver. Ako uređaj podržava funkciju, tada se ova funkcija izvodi u hardveru, ako ne, onda se njena implementacija vrši pomoću bibliotečkog programa.

Na jednoj popularnoj web stranici možete pronaći detalje ovog standarda:

Uključuje oko 150 različitih naredbi pomoću kojih programer može definirati različite objekte i renderirati. Jednostavnije rečeno, vi definirate objekte, postavljate njihovu lokaciju u trodimenzionalnom prostoru, definirate druge parametre (rotaciju, razmjer, ...), postavljate svojstva objekta (boja, tekstura, materijal,...), poziciju posmatrača , a OpenGL biblioteka će se pobrinuti da sve to prikaže na ekranu.

OpenGL implementacije.

Kao što možete razumjeti iz gore navedenog. Taj OpenGL je samo neka opisana specifikacija za 3D grafiku. Da biste ovu specifikaciju pretvorili u stvarnost, morate napisati (implementirati) kod. Kod se zatim pakira u posebnu biblioteku. I postoji nekoliko takvih biblioteka, od različitih programera.

Prva od ovih biblioteka se zove GLU. Ova biblioteka je već postala standard i dolazi sa glavnom OpenGL bibliotekom. Sljedeća biblioteka, također široko korištena, je GLUT. To je također platformski nezavisna biblioteka. On implementira ne samo dodatne OpenGL funkcije, već pruža i funkcije za rad sa prozorima, tastaturom i mišem. Postoji još jedna biblioteka slična GLUT-u, zove se GLAUX. Ovu biblioteku je razvio Microsoft za Windows operativni sistem. Po mnogo čemu je slična GLUT biblioteci, ali malo zaostaje za njom u svojim mogućnostima.

Alternativa za OpenGL.

Iako se OpenGL biblioteka smatra jednom od najboljih biblioteka, nije sama u ovoj industriji. Ima jednog direktnog konkurenta, o čemu sam govorio u jednom od prethodnih članaka. A ovaj konkurent se smatra Direct3D iz DirectX paketa, koji je razvio Microsoft. Direct3D je kreiran isključivo za aplikacije za igre. Postoje mnoge razlike među njima, a najočitija je da je Direct3D podržan počevši od jeftinog hardvera, dok OpenGL nije podržan na svim grafičkim karticama.

Trebam li instalirati OpenGL?

Ako ste već instalirali drajvere na svoju video karticu, onda ne. Pošto se najnovija verzija OpenGL-a instalira kada instalirate drajvere sa vaše grafičke kartice.

Da biste instalirali novu verziju OpenGL-a, potrebno je da ažurirate upravljačke programe vaše video kartice. Idite na web stranicu proizvođača vaše video kartice: NVIDIA, AMD ili drugi. Preuzmite najnovije drajvere za svoju karticu i instalirajte ih.

Na primjer, moja grafička kartica Radeon 7850. Odem na web stranicu www.amd.com, tamo pronađem stranicu sa svojom video karticom i pogledam tehničke specifikacije.

Kao što vidite, moj video adapter je kompatibilan sa OpenGL 4.2. Sada biramo drajvere.

Može li OpenGL raditi na istoj mašini sa Direct3D?

Da. Oba programa su uključena u Windows verziju, rade velikom brzinom i pružaju mnoge funkcije za igrače i video urednike. Stoga, nema razloga da brinete o tome da će oni zajedno "živeti" na vašem računaru :)

Kako omogućiti OpenGL?

Nemoguće je dati nedvosmislena uputstva o ovom pitanju. Općenito, prema zadanim postavkama, podršku za ovu tehnologiju propisuje kreator igre u vrijeme pisanja koda. A korištenje, recimo, DirectX-a ili OpenGL-a, može se konfigurirati putem određene stavke u izborniku igre, ili ga po defaultu omogućiti sama igra. Stoga, ako kreator igre ne objavi dodatna ažuriranja i upute za instaliranje, recimo, dodatnih biblioteka, onda nema smisla razmišljati o ovom pitanju. Pa ako su pušteni neki dodaci, recimo za isti Counter Strike 1.6, entuzijasti su napisali cheat (a varanje je loše!! atata), onda za ovu instalaciju trebate preuzmite malu .dll datoteku i ispustite ga u korijenski direktorij igre, a zatim odaberite OpenGL u postavkama igre.

Zbog toga igra počinje koristiti funkcije zapisane u ovoj datoteci.

Zaključak

Pa smo prešli preko druge biblioteke za rad sa grafikom. Recimo OpenGL je tako specifična stvar, koja se najviše koristi u profesionalnim aktivnostima za 3D modele. U igrama, uglavnom, ima dovoljno Direct3D funkcija, pa čak i više. Uzmite nedavno objavljenu verziju 12. Ali OpenGL također ne miruje i sa određenim vremenskim periodom objavljuje nove verzije najnovijih - verziju 4.5 od 11. avgusta 2014. godine.

Bez sumnje, mnogi igrači znaju da je za ispravno funkcionisanje poznatih igara kao što su Minecraft ili CS, jedan od najosnovnijih uslova da na sistemu imaju instalirane najnovije verzije OpenGL drajvera. O tome kako ažurirati ovaj paket drajvera će se sada raspravljati, jer, kao i svaki drugi softver, oni mogu zastarjeti. Zbog toga ponekad postoje problemi s pokretanjem vaših omiljenih igrica.

OpenGL: koji je najjednostavniji način?

Prije svega, ako pri pokretanju igre ili neke specifične aplikacije sistem javi da je potrebno ažurirati OpenGL drajvere, trebali biste koristiti najstandardnije rješenje.

Da biste aktivirali proces, morate ući u standardni “Device Manager”, što se može učiniti iz “Control Panel”, odjeljka administracije računala ili komandom devmgmgt.msc kroz liniju konzole “Run” i pronaći instalirani video adapter tamo.

Ažuriranje se može pokrenuti pomoću istoimene komande u meniju desnog klika ili u odjeljku svojstava uređaja. Ako navedete automatsko pretraživanje, ovo možda neće dati rezultate, a sistem će prijaviti da je najpogodniji upravljački program već instaliran. Stoga je preporučljivo prvo otići na web stranicu proizvođača opreme, odabrati model svoje grafičke kartice, preuzeti najnoviji drajver i tijekom instalacije naznačiti lokaciju spremljene distribucije.

Kako ažurirati OpenGL na Windows 7 ili bilo koji drugi sistem koristeći specijalizovane uslužne programe?

Za vlasnike NVIDIA i Radeon čipova, zadatak se može donekle pojednostaviti. U pravilu se za njih isporučuju unaprijed instalirani posebni kontrolni programi poput PhysX i Catalyst. Zbog toga možete ažurirati OpenGL drajver pomoću njih.

Ako iz nekog razloga takvi uslužni programi nisu dostupni, trebali biste ih jednostavno preuzeti i integrirati u sistem. Ako imate stalno aktivnu internetsku vezu, oni će biti korisni ne samo za postavljanje igara, već i za automatsko praćenje pojave novih verzija potrebnih drajvera, uključujući OpenGL.

U principu, ako se korisniku ne sviđa ova opcija, možete koristiti ništa manje zanimljive programe poput Driver Booster, koji bez intervencije korisnika ažuriraju upravljačke programe za apsolutno sve hardverske i softverske uređaje instalirane na računalu ili laptopu. Aplikacija će automatski odrediti verziju OpenGL drajvera tokom skeniranja sistema. Kako ga ažurirati? Potrebno je samo da se složite sa ponudom za instaliranje pronađenih ažuriranja. Kada se proces ažuriranja završi, bit će potrebno potpuno ponovno pokretanje.

Konačno, možete instalirati poseban uslužni program pod nazivom OpenGL Extensions Viewer, pomoću kojeg možete saznati verziju instaliranog paketa drajvera i ažurirati ga na najnoviju verziju.

DirectX ažuriranje

Međutim, ažuriranje možda neće dati željeni pozitivan rezultat bez ažuriranja DirectX platforme, koja je svojevrsni povezujući most između hardvera i softvera u smislu multimedije.

Instaliranu verziju možete saznati pomoću naredbe dxdiag unesene u izbornik Run. Novu distribuciju možete preuzeti sa zvanične Microsoftove stranice podrške u odjeljku Preuzimanja.

Kao što je već jasno, DirectX OpenGL se može ažurirati jednostavnim pokretanjem procesa instalacije preuzete distribucije. Još jedna prednost ovog ažuriranja je da možete pokrenuti brojne testove unutar samog DirectX dijaloga, uključujući DirectSound performanse, ffdshow, Direct3D, itd.

Zašto drajveri nisu ažurirani?

Ako odjednom nijedno od gore navedenih rješenja ne pomogne, najvjerovatnije razlog leži samo u činjenici da video adapter jednostavno ne podržava instaliranu verziju OpenGL-a, stoga, kako god pokušali, nećete moći instalirati drajver. Jedino rješenje je instaliranje snažnije video kartice.

Inače, ovaj problem se najčešće javlja u slučaju integrisanih video čipova standarda video-on-board, koji su ugrađeni u matične ploče. Po pravilu, nema takvih problema sa diskretnim video karticama (naravno, pod uslovom da čip nije previše zastareo i da izvorno podržava OpenGL tehnologiju). Mislim da je već jasno kako za takve kartice. Ali ponekad će možda biti potrebno ažurirati JAVA Runtime platforme ili čak .NET Framework iz Microsofta - ni ovo ne smijemo zaboraviti. Ali u pravilu, u većini slučajeva to nije potrebno - dovoljno je paralelno koristiti uslužni program OpenGL Extensions Viewer.

U većini slučajeva, korisnicima je potreban paket datoteka pod nazivom OpenGL da bi ispravno pokrenuli određene igre na računaru sa operativnim sistemom Windows 7. Ako ovaj drajver nedostaje ili je njegova verzija zastarjela, programi se jednostavno neće uključiti, a odgovarajuća obavijest će biti prikazana na ekranu tražeći instalaciju ili ažuriranje BY. U ovom članku ćemo govoriti što je moguće detaljnije o učitavanju novih OpenGL biblioteka.

Prije svega, vrijedno je razumjeti kako se dotična komponenta instalira na PC. Svi potrebni fajlovi su instalirani zajedno sa drajverima grafičkog adaptera. Stoga bi prvo trebali ažurirati softver ove komponente, a zatim preći na analizu alternativne metode.

Kada imate instaliran najnoviji drajver na vašoj video kartici i nema više ažuriranja, ali se i dalje pojavljuje obavijest o potrebi ažuriranja OpenGL-a, odmah prijeđite na treću metodu. Ako ova opcija ne donese nikakve rezultate, to znači da vaša oprema ne podržava najnovije biblioteke. Preporučujemo da razmislite o odabiru nove video kartice.

Metoda 1: Ažurirajte upravljačke programe za video karticu u Windows 7

Kao što je gore spomenuto, OpenGL komponente se instaliraju zajedno sa datotekama grafičkog adaptera. Windows 7 ima nekoliko metoda za njihovo ažuriranje. Svaki od njih je prikladan u različitim situacijama i zahtijeva od korisnika da izvrši određene radnje. Idite na članak na linku ispod da biste se detaljno upoznali sa svim metodama. Odaberite onaj koji vam odgovara i slijedite date upute. Kada se proces završi, samo ponovo pokrenite računalo i provjerite funkcionalnost igara ili drugih programa za koje je potrebna nova verzija biblioteke.

Metoda 2: Ažuriranje komponenti u vlasničkom uslužnom programu video kartice

Trenutno su glavni proizvođači grafičkih adaptera AMD i NVIDIA. Svaki ima svoj softver koji osigurava ispravan rad operativnog sistema i omogućava ažuriranje softvera. Vlasnicima NVIDIA video kartica se savjetuje da pogledaju materijal na sljedećem linku kako bi razumjeli kako instalirati novu verziju OpenGL drajvera u GeForce Experience.

Vlasnici AMD kartica moraju pročitati i druge članke, jer se u ovom slučaju sve radnje obavljaju u Catalyst Control Center-u ili u Radeon Software Adrenalin Edition, ovisno o vrsti instaliranog softvera.

Metod 3: DirectX ažuriranje

Nije najefikasniji, ali ponekad radni metod je instaliranje novih komponenti DirectX biblioteke. Ponekad sadrži odgovarajuće datoteke koje omogućavaju normalan rad potrebnih igrica ili programa. Prvo morate saznati koji je DirectX već instaliran na vašem računalu. Da biste to učinili, pročitajte upute u članku ispod.

U ovom trenutku, najnovija verzija za Windows 7 OS je DirectX 11. Ako imate instaliranu raniju biblioteku, preporučujemo da je ažurirate i provjerite funkcionalnost softvera. Više o ovoj temi pročitajte u drugom članku.

Kao što vidite, nema ništa komplikovano u ažuriranju OpenGL-a, glavni problem je samo podrška za najnovije datoteke ove komponente od strane vaše video kartice. Preporučujemo da testirate sve metode, jer efikasnost svake zavisi od različitih okolnosti. Pročitajte upute i slijedite ih, tada ćete sigurno uspjeti.

Pitanje: Odredite verziju opengl-a


Potreban je kod za opengl es 2,
a mreža je puna koda za prvu verziju
kako možete brzo odrediti verziju opengl kodom?
Da li je potrebna crna oznaka u prvih nekoliko koraka?

odgovor: prvo morate koristiti VBO. tj. glGenBuffers, glBindBuffer, itd. iako je ova stvar podržana od 1.5. Drugo, morate koristiti shadere. tj. glCreateProgram, glLinkProgram, glSetShader, itd. Pa, kod bi trebao uključivati ​​i shader kod (iako do 3.3 nema zahtjeva za shadere, ali bez shadera od 2.0 nema koristi ono od 1.5).

Pitanje: Koju verziju OpenGL-a da odaberem da aplikacija podržava najveći broj video kartica?


Zdravo! Pitanje je potpuno isto kao u temi: koju verziju OpenGL-a da odaberem da aplikacija podržava najveći broj video kartica?

odgovor: Generalno, to je ono što ja mislim.
U početku je broj korisnika PC-a rastao eksponencijalno i mislim da je taj rast dostigao svoj vrhunac negdje između 2008-2011 (za svaku zemlju ovaj vrhunac je bio u različito vrijeme, ali u nekim drugim zemljama možda nije dostigao), a sada ovaj rast se smanjuje.

Ja bih zapravo krenuo od ovog vrhunca, to jest... Pogledao bih koja je verzija OpenGL-a u tom trenutku bio i koristio je za svoju svrhu ako mi je potrebna podrška da bude najvjerovatnije. Pa, možda još minus par mjeseci... odnosno vrijeme potrebno da PC pređe od proizvođača do kupca.

Pitanje: Odabir optimalne verzije OpenGL-a


Pitanje je: koji bi trebali biti adekvatni sistemski zahtjevi za jednostavnu 2D igru ​​u 2016. godini? Postoji ideja da bi bilo pogrešno kreirati projekat nivoa Flappy Bird na OpenGL 4.x zbog nekompatibilnosti mnogih video kartica sa ovom verzijom. Minimalna verzija OpenGL-a, po mom mišljenju, je 2.0, jer s jedne strane pokriva hardver starijih generacija, s druge strane omogućava korištenje GLSL shadera. Ekstenzije podržavaju naknadnu obradu pomoću framebuffera. Ali nisam zadovoljan ograničenjem povezanim s funkcijom glTexImage2D. Ne dozvoljavaju sve OpenGL 2.0 video kartice kreiranje tekstura u memoriji veće od 1024px*1024px. Takođe je potrebno više truda da se optimizuje za takav hardver. Bit će mi drago svakom savjetu. Također bi bilo lijepo imati neke statističke podatke o ovom pitanju.

odgovor:

Poruka od 8Observer8

Imam situaciju da skupljam (u exe) igrice na modernom laptopu koji radi pod Win7 OS.

Nije važno na čemu sakupljate.
Za motor je važna konfiguracija mašine na kojoj radi.

Poruka od 8Observer8

Ispostavilo se da motor kompajlira exe na takav način da kada se exe pokrene, aplikacija sama bira šta će koristiti: OpenGL 2.0 ili OpenGL 4.x?

exe sadrži motor.
To je ono što dinamički sastavlja svoju konfiguraciju kada se pokrene iz postojećih modula.

Pitanje: OpenGL verzija


Dobro veče dragi forumaši. Da li je moguće koristiti OpenGL verzije 1.0–1.5 (ovo ograničenje je postavio nastavnik na institutu) instaliranjem, na primjer, GLUT-a (ili nekih drugih biblioteka)? Hvala unaprijed na odgovoru.
PS: programski jezik C ili C++.

odgovor: Ako ne koristite ekstenzije i funkcije poput glCreateShaderObjectARB(..), glAttachObjectARB(..), itd. (tj. potpuno bez ikakvih shadera), onda će ovo biti OpenGL 1.5

Pitanje: Odredite verziju Windows-a


Pozdrav svima.
Naišao sam na sljedeći problem: Moram odrediti verziju OS-a bez korištenja GetVersionExa. Činjenica je da na msdn piše o ovoj funkciji:

Citat

Aplikacije koje se ne manifestiraju za Windows 8.1 ili Windows 10 vratit će vrijednost verzije OS Windows 8 (6.2). Jednom kada se aplikacija manifestuje za datu verziju operativnog sistema, GetVersionEx će uvijek vratiti verziju za koju se aplikacija manifestira u budućim izdanjima.

Ali samo mi treba moja aplikacija da otkrijem da radi na Windows 10.
Opcija dodavanja Windows 10 aplikacija u manifest ne radi.

Ovdje se, zapravo, postavlja pitanje: da li postoje načini da se utvrdi verzija Windowsa koristeći samo funkcije korisničkog moda (RtlGetVersion nije prikladan, jer radi u kernel modu).

Ovu poruku je uredio rudolfninja - 13.8.2015, 12:16

Pitanje: Odredite verziju instaliranog ASP.NET-a


Zdravo! Pišem program za prikupljanje informacija iz okoline.
Recite mi kako da odredim verziju ASP.NET-a instaliranu na računaru
Već sam odredio verziju .NET frameworka i još mnogo toga, ali postoje problemi sa ASP.NET.

odgovor:

Poruka od nevbie

ili odgovara verziji NET Frameworka?

Ne može izostati, jer je ovo NET Framework, samo nekoliko sklopova iz njegovog sastava.

Samo pozovite glGetString(GL_VERSION) (naravno kada se kontekst inicijalizira) i ispraznite rezultat (koji je zapravo isti kao i glxinfo, vjerujem):

Printf("%s\n", glGetString(GL_VERSION));

Vaš program bi trebao automatski koristiti najvišu moguću verziju vašeg hardvera i podrške za drajvere, što se u vašem slučaju čini 3.3. Ali da biste kreirali kontekst jezgra profila za OpenGL 3+ (onaj gdje je naslijeđena funkcionalnost potpuno uklonjena), morate poduzeti posebne mjere. Ali od verzije 2.7 GLFW-a postoji način da se to učini pomoću funkcije glfwOpenWindowHint. Ali ako ne želite eksplicitno da onemogućite naslijeđene funkcije, možete jednostavno koristiti kontekst koji vam pružaju GLFW-ove zadane funkcije kreiranja konteksta, za koje se kaže da podržavaju najvišu moguću verziju vašeg hardvera i drajvera.

Ali također imajte na umu da za korištenje OpenGL funkcija iznad verzije 1.1 morate nabaviti odgovarajuće pokazivače funkcija ili koristiti biblioteku koja to radi umjesto vas, kao što je .

Počeo sam pisati programe u C-u (za sada), koristeći GLFW i OpenGL. Pitanje je, kako da znam koju verziju OpenGL-a će moj program koristiti? Moj laptop kaže da moja grafička kartica ima OpenGL 3.3. Unos "glxinfo | grep -i opengl" vraća.