Bazı OpenGL uygulamaları ve oyunları, OpenGL'nin sistem tarafından desteklenmemesi nedeniyle çalışmayı durdurdu. Başlayanlar çok yavaştır. Ne oldu? Office ve hizmet paketinin sürümünü VBA'dan belirlemek mümkün mü? OpenGL sürümü nasıl kontrol edilir?

  1. Windows işletim sistemine dahil olan NVIDIA video kartlarının sürücüleri genellikle OpenGL'yi desteklemez. Uygulamalar Windows OpenGL yazılım oluşturmayı (Windows Vista'da Direct3D'de bir sarmalayıcı) kullanacaktır. OpenGL Extensions Viewer ve GPU Caps Viewer yardımcı programlarını kullanarak sistemde bir OpenGL sürücüsünün varlığını kontrol edebilirsiniz. OpenGL satıcısının Microsoft olduğunu gösterirlerse sistemde OpenGL sürücüsü yoktur. NVIDIA web sitesinden en son grafik kartı sürücüsünü indirip yükleyin.
  2. Sürücünün yeni bir sürümü, uygulama tarafından bilinmeyen yeni bir OpenGL API sürümü için destek eklemiş olabilir. Örneğin, sürücü uygulamalara OpenGL sürüm 2.0'ı desteklediğini söyler ve uygulama/oyun OpenGL sürüm 1.X desteğini kontrol eder. Sorunu çözmek için, sürücü tarafından bildirilen OpenGL sürüm dizesini geçersiz kılmayı uygulama tarafından desteklenen sürüme (örneğin 1.5) zorlamak için "Uyumluluk" sekmesindeki OpenGL ayarlarında RivaTuner'ı kullanabilirsiniz. Bu seçenek OpenGL'nin video kartı tarafından yürütülmesini etkilemez ancak aynı nedenden dolayı OpenGL sürüm 2.0 gerektiren uygulamalar çalışmayı durdurabilir. Daha esnek bir yol, nHancer yardımcı programını kullanarak, "Uyumluluk" sekmesindeki "Raporlanan OpenGL Sürümü" seçeneğinde gerekli sürümü belirterek sorunlu uygulama için bir sürücü profili oluşturmaktır.
  3. Sistemde herhangi bir nedenle birden fazla OpenGL sürücüsü yüklüyse sorun oluşabilir. Adresteki kayıtta HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers (HKLM\Software\Microsoft\Windows\CurrentVersion\OpenGLdrivers Windows 9x-ME için) tek bir RIVATNT alt anahtarının olup olmadığını ve bu bölümdeki Dll anahtarının nvoglnt değerine sahip olup olmadığını kontrol edin (Windows 9x-ME için nvopengl.dll değerine sahip tek bir anahtar vardır). Ati2dvag (ATI OpenGL sürücüsü) gibi başka alt bölümler varsa, bunlar önce bir .reg dosyasına aktarılarak kaldırılmalıdır.
  4. NVIDIA sürücüsünde GeForce FX ve daha yüksek GPU'lar için OpenGL 2.0'ın uygulanması, SSE uzantıları için CPU desteği gerektirir. Bu uzantılar mevcut değilse OpenGL ICD sürücüsü başlatılmayacak, OpenGL uygulamaları kapatılacak veya yazılım oluşturma kullanılacaktır. OpenGL Extensions Viewer ve GPU Caps Viewer yardımcı programlarını kullanarak sürücü başlatmayı kontrol edebilirsiniz; yardımcı programları kullanarak işlemci tarafından desteklenen uzantıları kontrol edebilirsiniz. CPU-Z veya Sandra. İşlemci SSE'yi desteklemiyorsa, sürücünün önceki sürümlerini (75.XX'e kadar) kullanabilir veya "Uyumluluk" sekmesindeki OpenGL ayarlarında RivaTuner'ı kullanarak varsayılan mod yerine "NV25 Emülasyon modunu" etkinleştirebilirsiniz. “Maksimum hızlanma” " Son çare olarak OpenGL -> Direct3D sarmalayıcı GLDirect veya TitaniumGL'yi kullanabilirsiniz. Bazen işlemci SSE'yi destekler, ancak anakart BIOS'unun güncel olmaması nedeniyle destek çalışmaz. Bu sorun özellikle AMD Athlon XP ve Duron işlemcili sistemler için tipiktir. Anakart BIOS'unun güncellenmesi SSE desteğini geri yükleyebilir.
  5. Sistemde farklı NVIDIA GPU'ları temel alan birden fazla video kartı varsa OpenGL sürücüsü yalnızca tüm video kartları tarafından desteklenen OpenGL sürümünü destekleyecektir.

Soru: OpenGL versiyonunu belirleyin


OpenGL ES 2 için kod lazım
ve ağ ilk sürüm için kodlarla dolu
opengl sürümünü koda göre nasıl hızlı bir şekilde belirleyebilirsiniz?
İlk birkaç adımda kara lekeye ihtiyaç var mı?

Cevap:öncelikle VBO'yu kullanmalısınız. yani glGenBuffers, glBindBuffer, vb. gerçi bu şey 1.5'ten beri destekleniyor. İkinci olarak gölgelendiricileri kullanmalısınız. yani glCreateProgram, glLinkProgram, glSetShader, vb. Kod aynı zamanda gölgelendirici kodunu da içermelidir (her ne kadar 3.3'e kadar gölgelendiricilere gerek olmasa da, 2.0'dan itibaren gölgelendiriciler olmadan 1.5'ten itibaren hiçbir işe yaramaz).

Soru: Uygulamanın en fazla sayıda video kartını desteklemesi için OpenGL'nin hangi sürümünü seçmeliyim?


Merhaba! Soru konuyla tamamen aynı: Uygulamanın en fazla sayıda video kartını desteklemesi için OpenGL'nin hangi sürümünü seçmeliyim?

Cevap: Genel olarak böyle düşünüyorum.
İlk başta PC kullanıcılarının sayısı katlanarak arttı ve bu büyümenin 2008-2011 yılları arasında zirveye ulaştığını düşünüyorum (bu zirve her ülke için farklı zamanlardaydı, ancak bazı ülkelerde ulaşamamış olabilir) ve şimdi bu büyüme azalıyor.

Aslında bu zirveden başlardım, yani... O sırada OpenGL'nin hangi sürümünün olduğuna bakardım ve büyük ihtimalle desteğe ihtiyacım olursa bunu amacım için kullanırdım. Belki bir eksi birkaç ay daha... yani bilgisayarın üreticiden alıcıya ulaşması için geçen süre.

Soru: OpenGL'nin en uygun sürümünü seçme


Soru şu: 2016'da basit bir 2D oyun için yeterli sistem gereksinimleri ne olmalı? Birçok ekran kartının bu sürümle uyumsuzluğu nedeniyle OpenGL 4.x'te Flappy Bird düzeyinde proje oluşturmanın yanlış olacağı düşüncesi var. Bana göre OpenGL'in minimum sürümü 2.0'dır, çünkü bir yandan eski nesil donanımları kapsıyor, diğer yandan GLSL gölgelendiricilerin kullanılmasını mümkün kılıyor. Bir çerçeve arabelleği kullanılarak yapılan son işlemler, uzantılarla yapılır. Ancak glTexImage2D işleviyle ilgili sınırlamalardan memnun değilim. OpenGL 2.0 video kartlarının tümü, bellekte 1024px*1024px'ten daha yüksek dokular oluşturmaya izin vermez. Ayrıca bu tür donanımları optimize etmek daha fazla çaba gerektirir. Herhangi bir tavsiyeden memnuniyet duyarım. Bu konuyla ilgili bazı istatistiklere sahip olmak da güzel olurdu.

Cevap:

Mesaj gönderen: 8Gözlemci8

Win7 işletim sistemi çalıştıran modern bir dizüstü bilgisayarda oyunları (exe olarak) topladığım bir durum var.

Ne topladığınız önemli değil.
Motor için çalıştığı makinenin konfigürasyonu önemlidir.

Mesaj gönderen: 8Gözlemci8

Motorun exe'yi, exe başlatıldığında uygulamanın kendisi seçeceği şekilde bir araya getirdiği ortaya çıktı: OpenGL 2.0 mı yoksa OpenGL 4.x mi?

Exe motoru içerir.
Mevcut modüllerden başlatıldığında konfigürasyonunu dinamik olarak bir araya getiren şey budur.

Soru: OpenGL sürümü


İyi akşamlar değerli forum üyeleri. OpenGL 1.0-1.5 sürümlerini (bu sınırlama enstitüdeki bir öğretmen tarafından belirlendi) örneğin GLUT (veya başka bazı kütüphaneler) yükleyerek kullanmak mümkün müdür? Cevabınız için şimdiden teşekkürler.
Not: programlama dili C veya C++.

Cevap: glCreateShaderObjectARB(..), glAttachObjectARB(..), vb. gibi uzantıları ve işlevleri kullanmıyorsanız. (yani tamamen gölgelendirici olmadan yapın), o zaman bu OpenGL 1.5 olacaktır.

Soru: Windows sürümünü belirleme


Herkese selamlar.
Aşağıdaki sorunla karşılaştım: İşletim sistemi sürümünü GetVersionEx kullanmadan belirlemem gerekiyor. Gerçek şu ki, msdn'de bu işlev hakkında yazılmıştır:

Alıntı

Windows 8.1 veya Windows 10 için gösterilmeyen uygulamalar, Windows 8 işletim sistemi sürüm değerini (6.2) döndürecektir. Belirli bir işletim sistemi sürümü için bir uygulama bildirildiğinde, GetVersionEx her zaman uygulamanın gelecek sürümlerde bildirildiği sürümü döndürecektir.

Ancak uygulamamın Windows 10'da çalıştığını tespit etmesine ihtiyacım var.
Windows 10 uygulamalarını manifest dosyasına ekleme seçeneği çalışmıyor.

Aslında soru şu: Windows sürümünü yalnızca kullanıcı modu işlevlerini kullanarak belirlemenin herhangi bir yolu var mı (RtlGetVersion çekirdek modunda çalıştığı için uygun değil).

Bu mesaj tarafından düzenlendi Rudolfninja - 13.8.2015, 12:16

Soru: Kurulu ASP.NET sürümünü belirleme


Merhaba! Çevreden bilgi toplamak için bir program yazıyorum.
PC'de yüklü olan ASP.NET sürümünü nasıl belirleyeceğimi söyle
.NET framework sürümünü ve çok daha fazlasını zaten belirledim ancak ASP.NET ile ilgili sorunlar var.

Cevap:

Mesaj gönderen: acemi

veya NET Framework sürümüyle eşleşiyor mu?

Eksik olamaz çünkü bu NET Framework'tür, bileşiminden sadece birkaç derlemedir.

Merhaba arkadaşlar. Son makalelerim grafik ve video bağdaştırıcıları konusuna odaklandı. Bu konuyu daha da araştırmaya devam edeceğimi düşünüyorum. Önceki yazılarımızda DirectX ve gölgelendiricilerden bahsetmiştik, bugün OpenGL dünyasına dalacağız. Ne olduğunu, nereden indirileceğini ve ne için gerekli olduğunu öğrenelim. Konu sadece bunlarla ilgilenen ve bilgisayarlar hakkında yeni bir şeyler öğrenmekle çok ilgilenenler için tasarlanacaktır. Susmayacağım, yazmaya başlayacağım. Okumanın tadını çıkarın :)

OpenGL nedir ve ne ile kullanılır?

OpenGL bilgisayar grafiklerinde bir grafik standardıdır. Şu anda tüm dünyada en popüler grafik standartlarından biridir.

OpenGL, Open Graphics Library anlamına gelir; bu, OpenGL'nin açık ve mobil bir standart olduğu anlamına gelir. OpenGL kullanılarak yazılan programlar, ister grafik istasyonu ister süper bilgisayar olsun, hemen hemen her platforma aktarılabilir ve aynı sonuç elde edilebilir.

OpenGL, programcıyı belirli donanımlar için program yazmaktan kurtarır. Bir cihaz bir işlevi destekliyorsa, bu işlev donanımda gerçekleştirilir; desteklenmiyorsa uygulanması bir kütüphane programı tarafından gerçekleştirilir.

Popüler bir web sitesinde bu standardın ayrıntılarını bulabilirsiniz:

Programcının çeşitli nesneleri tanımlayabileceği ve oluşturabileceği yaklaşık 150 farklı komut içerir. Daha basit bir ifadeyle, nesneleri tanımlarsınız, üç boyutlu uzayda konumlarını ayarlarsınız, diğer parametreleri tanımlarsınız (döndürme, ölçek, ...), nesne özelliklerini ayarlarsınız (renk, doku, malzeme, ...), gözlemcinin konumu ve OpenGL kütüphanesi bunların tamamını ekranda görüntülemeyle ilgilenecektir.

OpenGL uygulamaları.

Yukarıdakilerden de anlayabileceğiniz gibi. Bu OpenGL, 3D grafikler için tanımlanmış bazı spesifikasyonlardan sadece biridir. Bu spesifikasyonu gerçeğe dönüştürmek için kod yazmanız (uygulamanız) gerekir. Kod daha sonra özel bir kitaplıkta paketlenir. Ve farklı programcılardan bu tür birkaç kütüphane var.

Bu kütüphanelerden ilkine GLU adı verilmektedir. Bu kütüphane zaten bir standart haline geldi ve ana OpenGL kütüphanesiyle birlikte geliyor. Bir sonraki yaygın olarak kullanılan kütüphane ise GLUT'tur. Aynı zamanda platformdan bağımsız bir kütüphanedir. Yalnızca ek OpenGL işlevlerini uygulamakla kalmaz, aynı zamanda pencereler, klavye ve fareyle çalışmaya yönelik işlevler de sağlar. GLUT'a benzer başka bir kütüphane daha var, buna GLAUX denir. Bu kütüphane Microsoft tarafından Windows işletim sistemi için geliştirilmiştir. Birçok yönden GLUT kütüphanesine benzer ancak yetenekleri bakımından biraz gerisindedir.

OpenGL'ye alternatif.

OpenGL kütüphanesi en iyi kütüphanelerden biri olarak görülse de bu sektörde yalnız değildir. Önceki makalelerden birinde bahsettiğim doğrudan bir rakibi var. Ve bu rakibin Microsoft tarafından geliştirilen DirectX paketinden Direct3D olduğu kabul ediliyor. Direct3D, oyun uygulamaları için özel olarak oluşturuldu. Aralarında pek çok fark var; en bariz olanı Direct3D'nin ucuz donanımdan itibaren desteklenmesi, OpenGL'nin ise tüm grafik kartlarında desteklenmemesidir.

OpenGL'i kurmam gerekiyor mu?

Video kartınıza sürücüleri zaten yüklediyseniz, hayır. Sürücüleri grafik kartınızdan yüklediğinizde OpenGL'nin en son sürümü yüklendiğinden.

OpenGL'nin yeni bir sürümünü yüklemek için video kartı sürücülerinizi güncellemeniz gerekir. Video kartınızın üreticisinin web sitesine gidin: NVIDIA, AMD veya diğerleri. Kartınızın en güncel sürücülerini indirin ve yükleyin.

Mesela ekran kartım Radeon 7850. www.amd.com sitesine giriyorum, orada ekran kartımın bulunduğu sayfayı buluyorum ve teknik özelliklerine bakıyorum.

Gördüğünüz gibi video bağdaştırıcım OpenGL 4.2 ile uyumlu. Şimdi sürücüleri seçiyoruz.

OpenGL Direct3D ile aynı makinede çalışabilir mi?

Evet. Her iki program da Windows sürümüne dahildir, yüksek hızda çalışır ve oyuncular ve video editörleri için birçok özellik sağlar. Bu nedenle bilgisayarınızda “birlikte yaşamaları” konusunda endişelenmenize gerek yok :)

OpenGL nasıl etkinleştirilir?

Bu soru hakkında kesin talimatlar vermek imkansızdır. Genel olarak, varsayılan olarak bu teknolojiye yönelik destek, kodun yazıldığı sırada oyunun yaratıcısı tarafından belirlenir. Ve örneğin DirectX veya OpenGL'nin kullanımı, oyun menüsündeki belirli bir öğe aracılığıyla yapılandırılabilir veya varsayılan olarak oyunun kendisi tarafından etkinleştirilebilir. Bu nedenle, oyunun yaratıcısı ek güncellemeler ve örneğin ek kütüphanelerin kurulumuna ilişkin talimatlar yayınlamazsa, o zaman bu konuyu düşünmenin bir anlamı yok. Peki, örneğin aynı Counter Strike 1.6 için bazı eklentiler yayınlanmışsa, meraklılar bir hile yazdılar (ve hile yapmak kötü!! Atata), o zaman bu kurulum için ihtiyacınız var küçük bir .dll dosyasını indirin oyunun kök dizinine bırakın ve ardından oyun ayarlarında OpenGL'yi seçin.

Bu sayede oyun bu dosyanın içinde yazılı olan fonksiyonları kullanmaya başlar.

Çözüm

Bu yüzden grafiklerle çalışmak için başka bir kütüphaneye gittik. Diyelim ki OpenGL o kadar spesifik bir şey ki, çoğunlukla 3D modeller için profesyonel aktivitelerde kullanılıyor. Oyunlarda genel olarak yeterli Direct3D işlevi ve hatta daha fazlası vardır. Yakın zamanda piyasaya sürülen 12 sürümünü alın. Ancak OpenGL de yerinde durmuyor ve belirli bir süre içinde en son sürümlerin yeni sürümlerini yayınlıyor - 11 Ağustos 2014 tarihli sürüm 4.5.

4 cevap

Korkarım Linux'a ilk başladığınızda komut istemini açmak zorunda kalacaksınız (endişelenmeyin, bana da oldu). Uygulamalar -> Standart -> Terminal. lspci yazın ve Enter'a basın. Video kartı dahil, PCI veya PCI express üzerinden yapılan tüm bağlantılar burada listelenir. ATI, nVidia veya Intel modellerinden biri hakkında bir şeyler görene kadar listeyi okuyun.

daha sonra kartınızın desteklediği OpenGL sürümünü öğrenmek için Wikipedia'nın grafik kartı karşılaştırma tablolarına gidin.

Size yalnızca donanımın hangi sürümü desteklediğini söylediklerini unutmayın. OpenGL kütüphanelerini çalıştırabilmek için onları destekleyen bir sürücüye de ihtiyacınız var. Linux için her nesil çip için birden fazla video sürücüsü. Ubuntu, fena olmayan, ancak grafik kartı üreticileri tarafından piyasaya sürülen özel sürücülerin (genellikle ikili sürücüler veya özel sürücüler olarak adlandırılır) bir adım gerisinde olma eğiliminde olan açık kaynak sürümleriyle birlikte gelir. Donanımınızın OpenGL 2.0'ı desteklediği ortaya çıkarsa (ki çoğu bunu destekler), özel sürücüleri deneyebilirsiniz. Bunlara nvidia için nvidia-current ve ATI için fglrx denir. Intel için yalnızca açık kaynaklı sürücüler mevcuttur.

dizüstü bilgisayarımdan örnek:

İstem>lspci | grep VGA 00:02.0 VGA uyumlu denetleyici: Intel Corporation Çekirdek İşlemci Tümleşik Grafik Denetleyicisi (rev 02) 01:00.0 VGA uyumlu denetleyici: nVidia Corporation Device 0df0 (rev a1) istem>

ve lshw'den ilgili alıntı:

*-pci:0 açıklama: PCI köprü ürünü: Çekirdek İşlemci PCI Express x16 Kök Bağlantı Noktası satıcısı: Intel Corporation fiziksel kimlik: 1 veri yolu bilgisi: :00:01.0 sürüm: 02 genişlik: 32 bit saat: 33MHz yetenekler: pci pm msi pciexpress normal_decode bus_master cap_list yapılandırması: sürücü=pcieport kaynakları: irq:42 ioport:2000(size=4096) bellek:fb000000-fbffffff ioport:f0000000(size=167772160) *-ekran açıklaması: VGA uyumlu denetleyici ürünü: nVidia Corporation satıcısı: nVidia Corporation fiziksel kimlik: 0 veri yolu bilgisi: :01:00.0 sürüm: a1 genişlik: 64 bit saat: 33MHz yetenekler: pm msi pciexpress vga_controller bus_master cap_list yapılandırması: sürücü=nouveau gecikme=0 kaynaklar: irq:16 bellek:fb000000-fbffffff bellek:f0000000- f7ffffff bellek:f8000000-f9ffffff ioport:2000(boyut=128) *-ekran açıklaması: VGA uyumlu denetleyici ürünü: Çekirdek İşlemci Tümleşik Grafik Denetleyici satıcısı: Intel Corporation fiziksel kimliği: 2 veri yolu bilgisi.

Fok
Konunun devamı:
Wifi

En son BOOM: Müzik Çalar apk İndir. BOOM, VKontakte ve Odnoklassniki sosyal ağlarının geniş bir koleksiyonu ve müziği olan resmi müzik oynatıcısıdır...