როგორ გავარკვიოთ რომელი DirectX არის დაინსტალირებული: რამდენიმე მარტივი გზა. ზოგიერთმა OpenGL აპლიკაციამ და თამაშმა შეწყვიტა მუშაობა იმ ფაქტზე, რომ OpenGL არ არის მხარდაჭერილი სისტემის მიერ

21.02.2024

გამარჯობა მეგობრებო. ჩემი ბოლო სტატიები ორიენტირებული იყო გრაფიკისა და ვიდეო გადამყვანების თემაზე. ვფიქრობ, გავაგრძელებ ამ თემის შემდგომ შესწავლას. წინა სტატიებში ვისაუბრეთ DirectX-სა და შადერებზე, დღეს ჩვენ ჩავძირებით OpenGL-ის სამყაროში. მოდით გავარკვიოთ რა არის, სად გადმოვწეროთ და რისთვის არის საჭირო. თემა გამიზნული იქნება მათთვის, ვისაც უბრალოდ ეს აინტერესებს და ვისაც ძალიან აინტერესებს რაიმე ახალი ისწავლოს კომპიუტერებზე. არ დავიღალე, დავიწყებ წერას. ისიამოვნეთ კითხვით :)

რა არის OpenGL და რაში გამოიყენება?

OpenGL არის გრაფიკული სტანდარტი კომპიუტერულ გრაფიკაში. ამ დროისთვის ეს არის ერთ-ერთი ყველაზე პოპულარული გრაფიკული სტანდარტი მთელ მსოფლიოში.

OpenGL ნიშნავს Open Graphics Library, რაც ნიშნავს, რომ OpenGL არის ღია და მობილური სტანდარტი. OpenGL-ის გამოყენებით დაწერილი პროგრამების გადატანა შესაძლებელია თითქმის ნებისმიერ პლატფორმაზე, იმავე შედეგის მიღებისას, იქნება ეს გრაფიკული სადგური თუ სუპერკომპიუტერი.

OpenGL ათავისუფლებს პროგრამისტს კონკრეტული ტექნიკისთვის პროგრამების დაწერისგან. თუ მოწყობილობა მხარს უჭერს ფუნქციას, მაშინ ეს ფუნქცია შესრულებულია აპარატურაში, თუ არა, მაშინ მისი განხორციელება ხორციელდება ბიბლიოთეკის პროგრამით.

ერთ პოპულარულ ვებსაიტზე შეგიძლიათ იპოვოთ ამ სტანდარტის დეტალები:

იგი მოიცავს დაახლოებით 150 სხვადასხვა ბრძანებას, რომლითაც პროგრამისტს შეუძლია სხვადასხვა ობიექტების განსაზღვრა და რენდერი. უფრო მარტივი სიტყვებით, თქვენ განსაზღვრავთ ობიექტებს, აყენებთ მათ მდებარეობას სამგანზომილებიან სივრცეში, განსაზღვრავთ სხვა პარამეტრებს (როტაცია, მასშტაბი, ...), ადგენთ ობიექტის თვისებებს (ფერი, ტექსტურა, მასალა, ...), დამკვირვებლის პოზიცია. , და OpenGL ბიბლიოთეკა იზრუნებს ამ ყველაფრის ეკრანზე ჩვენებაზე.

OpenGL განხორციელებები.

როგორც ზემოაღნიშნულიდან გაიგებთ. რომ OpenGL არის მხოლოდ ზოგიერთი აღწერილი სპეციფიკაცია 3D გრაფიკისთვის. ამ სპეციფიკაციის რეალობად გადაქცევისთვის, თქვენ უნდა დაწეროთ (დანერგოთ) კოდი. შემდეგ კოდი შეფუთულია სპეციალურ ბიბლიოთეკაში. და არსებობს რამდენიმე ასეთი ბიბლიოთეკა, სხვადასხვა პროგრამისტებისგან.

ამ ბიბლიოთეკებიდან პირველს GLU ჰქვია. ეს ბიბლიოთეკა უკვე გახდა სტანდარტი და მოყვება მთავარი OpenGL ბიბლიოთეკა. შემდეგი ბიბლიოთეკა, რომელიც ასევე ფართოდ გამოიყენება, არის GLUT. ის ასევე არის პლატფორმის დამოუკიდებელი ბიბლიოთეკა. იგი ახორციელებს არა მხოლოდ დამატებით OpenGL ფუნქციებს, არამედ უზრუნველყოფს Windows-თან, კლავიატურასთან და მაუსთან მუშაობის ფუნქციებს. არის კიდევ ერთი ბიბლიოთეკა, რომელიც გლუტის მსგავსია, მას GLAUX ჰქვია. ეს ბიბლიოთეკა შეიქმნა Microsoft-ის მიერ Windows ოპერაციული სისტემისთვის. ის მრავალი თვალსაზრისით ჰგავს GLUT ბიბლიოთეკას, მაგრამ ოდნავ ჩამორჩება მას თავისი შესაძლებლობებით.

ალტერნატივა OpenGL-სთვის.

მიუხედავად იმისა, რომ OpenGL ბიბლიოთეკა ითვლება ერთ-ერთ საუკეთესო ბიბლიოთეკაში, ის მარტო არ არის ამ ინდუსტრიაში. მას ჰყავს ერთი პირდაპირი კონკურენტი, რაზეც ერთ-ერთ წინა სტატიაში ვისაუბრე. და ეს კონკურენტი მიჩნეულია Microsoft-ის მიერ შემუშავებული DirectX პაკეტიდან Direct3D-ად. Direct3D შეიქმნა ექსკლუზიურად სათამაშო აპლიკაციებისთვის. მათ შორის ბევრი განსხვავებაა, ყველაზე აშკარაა ის, რომ Direct3D მხარდაჭერილია იაფი ტექნიკით დაწყებული, ხოლო OpenGL არ არის მხარდაჭერილი ყველა გრაფიკულ ბარათზე.

მჭირდება OpenGL-ის დაყენება?

თუ თქვენ უკვე დააინსტალირეთ დრაივერები თქვენს ვიდეო ბარათზე, მაშინ არა. მას შემდეგ, რაც OpenGL-ის უახლესი ვერსია დაინსტალირებულია თქვენი გრაფიკული ბარათიდან დრაივერების დაყენებისას.

OpenGL-ის ახალი ვერსიის ინსტალაციისთვის საჭიროა თქვენი ვიდეო ბარათის დრაივერების განახლება. გადადით თქვენი ვიდეო ბარათის მწარმოებლის ვებსაიტზე: NVIDIA, AMD ან სხვა. ჩამოტვირთეთ თქვენი ბარათის უახლესი დრაივერები და დააინსტალირეთ ისინი.

მაგალითად, ჩემი ვიდეო კარტა Radeon 7850. შევდივარ საიტზე www.amd.com, ვპოულობ გვერდს, სადაც ჩემი ვიდეო ბარათია და ტექნიკურ მახასიათებლებს ვათვალიერებ.

როგორც ხედავთ, ჩემი ვიდეო ადაპტერი თავსებადია OpenGL 4.2-თან. ახლა ჩვენ ვირჩევთ დრაივერებს.

შეუძლია თუ არა OpenGL-ს გაშვება იმავე კომპიუტერზე Direct3D-ით?

დიახ. ორივე პროგრამა შედის Windows-ის ვერსიაში, მუშაობს მაღალი სიჩქარით და უზრუნველყოფს ბევრ ფუნქციას გეიმერებისთვის და ვიდეო რედაქტორებისთვის. მაშასადამე, არ არსებობს მიზეზი, რომ იფიქროთ იმაზე, რომ ისინი ერთად "ცხოვრობენ" თქვენს კომპიუტერში :)

როგორ ჩართოთ OpenGL?

ამ საკითხთან დაკავშირებით ცალსახა მითითებების მიცემა შეუძლებელია. ზოგადად, ნაგულისხმევად, ამ ტექნოლოგიის მხარდაჭერა დადგენილია თამაშის შემქმნელის მიერ კოდის დაწერის დროს. და, ვთქვათ, DirectX-ის ან OpenGL-ის გამოყენება შეიძლება კონფიგურირებული იყოს თამაშის მენიუში გარკვეული ელემენტის მეშვეობით, ან ჩართული იყოს თავად თამაშის მიერ ნაგულისხმევად. ამიტომ, თუ თამაშის შემქმნელი არ გამოუშვებს დამატებით განახლებებს და ინსტრუქციებს, ვთქვათ, დამატებითი ბიბლიოთეკების დაყენებისთვის, მაშინ აზრი არ აქვს ამ საკითხზე ფიქრს. ისე, თუ გამოვიდა ზოგიერთი დანამატი, ვთქვათ იგივე Counter Strike 1.6-ზე, ენთუზიასტებმა დაწერეს მოტყუება (და მოტყუება ცუდია!! atata), მაშინ ამ ინსტალაციისთვის გჭირდებათ ჩამოტვირთეთ პატარა .dll ფაილიდა ჩააგდე თამაშის root დირექტორიაში და შემდეგ თამაშის პარამეტრებში აირჩიეთ OpenGL.

ამის გამო თამაში იწყებს ამ ფაილის შიგნით ჩაწერილი ფუნქციების გამოყენებას.

დასკვნა

ასე რომ, ჩვენ გადავედით სხვა ბიბლიოთეკაში გრაფიკასთან მუშაობისთვის. ვთქვათ OpenGL არის ასეთი სპეციფიკური რამ, რომელიც ძირითადად გამოიყენება პროფესიონალურ საქმიანობაში 3D მოდელებისთვის. თამაშებში, ზოგადად, საკმარისია Direct3D ფუნქციები და კიდევ უფრო მეტი. აიღეთ ახლახან გამოშვებული ვერსია 12. მაგრამ OpenGL ასევე არ დგას და, გარკვეული პერიოდის შემდეგ, გამოუშვებს უახლესი ვერსიების ახალ ვერსიებს - ვერსია 4.5, 2014 წლის 11 აგვისტოთ.

ეჭვგარეშეა, ბევრმა გეიმერმა იცის, რომ ისეთი ცნობილი თამაშებისთვის, როგორიც არის Minecraft ან CS, სწორად იმუშაოს, ერთ-ერთი ყველაზე ძირითადი პირობაა სისტემაში დაინსტალირებული OpenGL დრაივერების უახლესი ვერსიები. როგორ განაახლოთ ამ დრაივერის პაკეტი ახლა განიხილება, რადგან, როგორც ნებისმიერი სხვა პროგრამული უზრუნველყოფა, ისინი შეიძლება მოძველდეს. სწორედ ამიტომ ზოგჯერ წარმოიქმნება პრობლემები თქვენი საყვარელი თამაშების გაშვებისას.

OpenGL: რა არის უმარტივესი გზა?

უპირველეს ყოვლისა, თუ თამაშის ან რაიმე კონკრეტული აპლიკაციის დაწყებისას სისტემა იტყობინება, რომ OpenGL დრაივერები უნდა განახლდეს, თქვენ უნდა გამოიყენოთ ყველაზე სტანდარტული გადაწყვეტა.

პროცესის გასააქტიურებლად, თქვენ უნდა შეიყვანოთ სტანდარტული "მოწყობილობის მენეჯერი", რაც შეიძლება გაკეთდეს "პანელიდან", კომპიუტერის ადმინისტრაციის განყოფილებიდან ან devmgmgt.msc ბრძანებით "Run" კონსოლის ხაზის მეშვეობით და იპოვოთ დაინსტალირებული ვიდეო. ადაპტერი იქ.

განახლების გაშვება შესაძლებელია იმავე სახელის ბრძანების გამოყენებით მარჯვენა ღილაკით მენიუში ან მოწყობილობის თვისებების განყოფილებაში. თუ მიუთითებთ ავტომატურ ძიებას, ამან შეიძლება შედეგი არ გამოიღოს და სისტემა იტყობინება, რომ ყველაზე შესაფერისი დრაივერი უკვე დაინსტალირებულია. ამიტომ, მიზანშეწონილია ჯერ გადახვიდეთ აღჭურვილობის მწარმოებლის ვებსაიტზე, აირჩიოთ თქვენი გრაფიკული ბარათის მოდელი, ჩამოტვირთოთ უახლესი დრაივერი და ინსტალაციის დროს მიუთითოთ შენახული განაწილების ადგილმდებარეობა.

როგორ განაახლოთ OpenGL Windows 7-ზე ან ნებისმიერ სხვა სისტემაზე სპეციალიზებული კომუნალური საშუალებების გამოყენებით?

NVIDIA და Radeon ჩიპების მფლობელებისთვის, ამოცანა შეიძლება გარკვეულწილად გამარტივდეს. როგორც წესი, მათთვის წინასწარ დაინსტალირებულია სპეციალური საკონტროლო პროგრამები, როგორიცაა PhysX და Catalyst. სწორედ ამიტომ, თქვენ შეგიძლიათ განაახლოთ OpenGL დრაივერი მათი გამოყენებით.

თუ რაიმე მიზეზით ასეთი კომუნალური პროგრამები მიუწვდომელია, თქვენ უბრალოდ უნდა გადმოწეროთ და სისტემაში ინტეგრირდეთ. თუ თქვენ გაქვთ მუდმივად აქტიური ინტერნეტ კავშირი, ისინი სასარგებლო იქნება არა მხოლოდ თამაშების დასაყენებლად, არამედ საჭირო დრაივერების ახალი ვერსიების გაჩენის ავტომატურად მონიტორინგისთვის, მათ შორის OpenGL.

პრინციპში, თუ მომხმარებელს არ მოსწონს ეს ვარიანტი, შეგიძლიათ გამოიყენოთ არანაკლებ საინტერესო პროგრამები, როგორიცაა Driver Booster, რომელიც მომხმარებლის ჩარევის გარეშე განაახლებს დრაივერებს კომპიუტერზე ან ლეპტოპზე დაინსტალირებული აბსოლუტურად ყველა ტექნიკისა და პროგრამული მოწყობილობისთვის. აპლიკაცია ავტომატურად განსაზღვრავს OpenGL დრაივერის ვერსიას სისტემის სკანირების დროს. როგორ განაახლოთ იგი? თქვენ უბრალოდ უნდა დაეთანხმოთ შეთავაზებას ნაპოვნი განახლებების ინსტალაციისთვის. განახლების პროცესის დასრულების შემდეგ, საჭირო იქნება სრული გადატვირთვა.

დაბოლოს, შეგიძლიათ დააინსტალიროთ სპეციალური პროგრამა, სახელწოდებით OpenGL Extensions Viewer, რომლითაც შეგიძლიათ გაიგოთ დაინსტალირებული დრაივერის პაკეტის ვერსია და განაახლოთ იგი უახლეს ვერსიამდე.

DirectX განახლება

თუმცა, განახლებამ შესაძლოა ვერ მოიტანოს სასურველი დადებითი შედეგი DirectX პლატფორმის განახლების გარეშე, რომელიც მულტიმედიური თვალსაზრისით ერთგვარი დამაკავშირებელი ხიდია აპარატურასა და პროგრამულ უზრუნველყოფას შორის.

თქვენ შეგიძლიათ გაიგოთ დაინსტალირებული ვერსია Run მენიუში შეყვანილი dxdiag ბრძანების გამოყენებით. შეგიძლიათ ჩამოტვირთოთ ახალი დისტრიბუცია Microsoft-ის მხარდაჭერის ოფიციალური ვებსაიტიდან ჩამოტვირთვების განყოფილებაში.

როგორც უკვე ნათელია, DirectX OpenGL შეიძლება განახლდეს გადმოწერილი განაწილების ინსტალაციის პროცესის უბრალოდ დაწყებით. ამ განახლების კიდევ ერთი უპირატესობა ის არის, რომ თქვენ შეგიძლიათ გაუშვათ მთელი რიგი ტესტები თავად DirectX დიალოგში, მათ შორის DirectSound შესრულება, ffdshow, Direct3D და ა.შ.

რატომ არ არის განახლებული დრაივერი?

თუ მოულოდნელად არცერთი ზემოაღნიშნული გამოსავალი არ დაგვეხმარება, სავარაუდოდ, მიზეზი მხოლოდ იმაში მდგომარეობს, რომ ვიდეო ადაპტერი უბრალოდ არ უჭერს მხარს OpenGL-ის დაინსტალირებულ ვერსიას, ამიტომ, როგორც არ უნდა სცადოთ, ვერ შეძლებთ დრაივერის დაყენებას. ერთადერთი გამოსავალი არის უფრო ძლიერი ვიდეო ბარათის დაყენება.

სხვათა შორის, ეს პრობლემა ყველაზე ხშირად ჩნდება ვიდეო-ბორტზე სტანდარტის ინტეგრირებული ვიდეო ჩიპების შემთხვევაში, რომლებიც ჩაშენებულია დედაპლატებში. როგორც წესი, ასეთი პრობლემები არ არის დისკრეტულ ვიდეო ბარათებთან დაკავშირებით (რა თქმა უნდა, იმ პირობით, რომ ჩიპი არ არის ძალიან მოძველებული და მშობლიურად მხარს უჭერს OpenGL ტექნოლოგიას). ვფიქრობ, უკვე გასაგებია, როგორ ხდება ასეთი ბარათები. მაგრამ ზოგჯერ შეიძლება საჭირო გახდეს JAVA Runtime პლატფორმების ან თუნდაც .NET Framework-ის განახლება Microsoft-ისგან - არც ეს უნდა დავივიწყოთ. მაგრამ, როგორც წესი, უმეტეს შემთხვევაში ეს არ არის საჭირო - საკმარისია პარალელურად გამოიყენოთ OpenGL Extensions Viewer პროგრამა.

უმეტეს შემთხვევაში, ფაილების პაკეტს, სახელწოდებით OpenGL, ესაჭიროებათ მომხმარებლები, რათა სწორად გაუშვან კომპიუტერი, რომელიც მუშაობს Windows 7 ოპერაციულ სისტემაზე, თუ ეს დრაივერი აკლია ან მისი ვერსია მოძველებულია, პროგრამები უბრალოდ არ ჩაირთვება და ა შესაბამისი შეტყობინება გამოჩნდება ეკრანზე და ითხოვს ინსტალაციას ან განახლებას BY. ამ სტატიაში ჩვენ ვისაუბრებთ მაქსიმალურად დეტალურად ახალი OpenGL ბიბლიოთეკების ჩატვირთვაზე.

უპირველეს ყოვლისა, ღირს იმის გაგება, თუ როგორ არის დაინსტალირებული მოცემული კომპონენტი კომპიუტერზე. ყველა საჭირო ფაილი დაინსტალირებულია გრაფიკული ადაპტერის დრაივერებთან ერთად. ამიტომ, ჯერ უნდა განაახლოთ ამ კომპონენტის პროგრამული უზრუნველყოფა, შემდეგ კი გადახვიდეთ ალტერნატიული მეთოდის ანალიზზე.

როდესაც ვიდეო ბარათზე დაინსტალირებული გაქვთ უახლესი დრაივერი და აღარ არის განახლებები, მაგრამ კვლავ გამოჩნდება შეტყობინება OpenGL-ის განახლების აუცილებლობის შესახებ, დაუყოვნებლივ გადადით მესამე მეთოდზე. თუ ეს ვარიანტი არ მოიტანს რაიმე შედეგს, ეს ნიშნავს, რომ თქვენი მოწყობილობა არ უჭერს მხარს უახლეს ბიბლიოთეკებს. გირჩევთ იფიქროთ ახალი ვიდეო ბარათის არჩევაზე.

მეთოდი 1: განაახლეთ ვიდეო ბარათის დრაივერები Windows 7-ში

როგორც ზემოთ აღინიშნა, OpenGL კომპონენტები დამონტაჟებულია გრაფიკული ადაპტერის ფაილებთან ერთად. Windows 7-ს აქვს რამდენიმე მეთოდი მათი განახლებისთვის. თითოეული მათგანი შესაფერისია სხვადასხვა სიტუაციებში და მოითხოვს მომხმარებლისგან გარკვეული მოქმედებების შესრულებას. გადადით სტატიაზე ქვემოთ მოცემულ ბმულზე, რათა დეტალურად გაეცნოთ ყველა მეთოდს. აირჩიეთ თქვენთვის შესაფერისი და მიჰყევით მითითებებს. პროცესის დასრულების შემდეგ, უბრალოდ გადატვირთეთ კომპიუტერი და შეამოწმეთ თამაშების ან სხვა პროგრამების ფუნქციონირება, რომლებიც საჭიროებენ ბიბლიოთეკის ახალ ვერსიას.

მეთოდი 2: კომპონენტების განახლება ვიდეო ბარათის საკუთრებაში არსებულ პროგრამაში

ამჟამად, გრაფიკული გადამყვანების მთავარი მწარმოებლები არიან AMD და NVIDIA. თითოეულს აქვს საკუთარი პროგრამული უზრუნველყოფა, რომელიც უზრუნველყოფს ოპერაციული სისტემის სწორ მუშაობას და საშუალებას გაძლევთ განაახლოთ პროგრამული უზრუნველყოფა. NVIDIA ვიდეო ბარათების მფლობელებს ურჩევენ, გაეცნონ მასალას შემდეგ ბმულზე, რათა გაიგონ, თუ როგორ დააინსტალიროთ OpenGL დრაივერის ახალი ვერსია GeForce Experience-ში.

AMD ბარათების მფლობელებმა უნდა წაიკითხონ სხვა სტატიები, რადგან ამ შემთხვევაში ყველა მოქმედება შესრულებულია Catalyst Control Center-ში ან Radeon Software Adrenalin Edition-ში, დაყენებული პროგრამული უზრუნველყოფის ტიპის მიხედვით.

მეთოდი 3: DirectX განახლება

არ არის ყველაზე ეფექტური, მაგრამ ზოგჯერ სამუშაო მეთოდი არის ახალი DirectX ბიბლიოთეკის კომპონენტების დაყენება. ზოგჯერ ის შეიცავს შესაფერის ფაილებს, რომლებიც საშუალებას აძლევს საჭირო თამაშებს ან პროგრამებს ნორმალურად იმუშაონ. ჯერ უნდა გაარკვიოთ რომელი DirectX არის უკვე დაინსტალირებული თქვენს კომპიუტერში. ამისათვის წაიკითხეთ ინსტრუქციები ქვემოთ მოცემულ სტატიაში.

ამ დროისთვის Windows 7 OS-ის უახლესი ვერსია არის DirectX 11. თუ ადრე დაინსტალირებული გაქვთ ბიბლიოთეკა, გირჩევთ განაახლოთ იგი და შეამოწმოთ პროგრამული უზრუნველყოფის ფუნქციონირება. წაიკითხეთ მეტი ამ თემის შესახებ სხვა სტატიაში.

როგორც ხედავთ, არაფერია რთული OpenGL-ის განახლებაში, მთავარი პრობლემა მხოლოდ ამ კომპონენტის უახლესი ფაილების მხარდაჭერაა თქვენი ვიდეო ბარათის მიერ. ჩვენ გირჩევთ ყველა მეთოდის ტესტირებას, რადგან თითოეულის ეფექტურობა დამოკიდებულია სხვადასხვა გარემოებებზე. წაიკითხეთ ინსტრუქციები და მიჰყევით მათ, მაშინ აუცილებლად მიაღწევთ წარმატებას.

შეკითხვა: განსაზღვრეთ opengl ვერსია


მჭირდება კოდი opengl es 2-ისთვის,
და ქსელი სავსეა კოდით პირველი ვერსიისთვის
როგორ შეგიძლიათ სწრაფად განსაზღვროთ opengl ვერსია კოდით?
არის თუ არა საჭირო შავი ლაქა პირველ ნაბიჯებში?

პასუხი:პირველ რიგში უნდა გამოიყენოთ VBO. ანუ glGenBuffers, glBindBuffer და ა.შ. თუმცა ეს ნივთი მხარდაჭერილია 1.5-დან. მეორეც, თქვენ უნდა გამოიყენოთ შადერები. ანუ glCreateProgram, glLinkProgram, glSetShader და ა.შ. ისე, კოდი ასევე უნდა შეიცავდეს შადერის კოდს (თუმცა არ არის მოთხოვნა 3.3-მდე შეიდერების შესახებ, მაგრამ 2.0-ის გარეშე 1.5-დან საერთოდ არ არის გამოსადეგი).

შეკითხვა: OpenGL-ის რომელი ვერსია უნდა ავირჩიო ისე, რომ აპლიკაციამ მხარდაჭერილი იყოს ვიდეო ბარათების უდიდესი რაოდენობა?


გამარჯობა! კითხვა ზუსტად იგივეა, რაც თემაში: OpenGL-ის რომელი ვერსია უნდა ავირჩიო ისე, რომ აპლიკაციამ მხარდაჭერილი იყოს ვიდეო ბარათების ყველაზე დიდი რაოდენობა?

პასუხი:ზოგადად, მე ასე ვფიქრობ.
თავიდან კომპიუტერის მომხმარებელთა რაოდენობა ექსპონენტურად გაიზარდა და ვფიქრობ, რომ ამ ზრდამ პიკს მიაღწია სადღაც 2008-2011 წლებში (თითოეული ქვეყნისთვის ეს პიკი იყო სხვადასხვა დროს, მაგრამ ზოგიერთ სხვა ქვეყანაში შეიძლება არ იყო მიღწეული) და ახლა ეს ზრდა მცირდება.

მე რეალურად დავიწყებდი ამ მწვერვალიდან, ანუ... მე შევხედავდი, თუ რა ვერსია იყო OpenGL-ის იმ მომენტში და გამოვიყენებდი მას ჩემი მიზნისთვის, თუ მჭირდებოდა მხარდაჭერა, სავარაუდოდ. ისე, შეიძლება კიდევ ერთი მინუს რამდენიმე თვე... ანუ დრო სჭირდება კომპიუტერს მწარმოებლიდან მყიდველამდე მისვლას.

კითხვა: OpenGL-ის ოპტიმალური ვერსიის არჩევა


საკითხავია: როგორი უნდა იყოს ადეკვატური სისტემური მოთხოვნები მარტივი 2D თამაშისთვის 2016 წელს? არსებობს მოსაზრება, რომ არასწორი იქნებოდა Flappy Bird დონის პროექტის შექმნა OpenGL 4.x-ზე მრავალი ვიდეო ბარათის ამ ვერსიასთან შეუთავსებლობის გამო. OpenGL-ის მინიმალური ვერსია, ჩემი აზრით, არის 2.0, ვინაიდან, ერთის მხრივ, ის მოიცავს ძველი თაობის აპარატურას, მეორეს მხრივ, შესაძლებელს ხდის GLSL შადერების გამოყენებას. ფრეიმბუფერის გამოყენებით შემდგომი დამუშავება ხდება გაფართოებებით. მაგრამ მე არ ვარ კმაყოფილი glTexImage2D ფუნქციასთან დაკავშირებული შეზღუდვით. ყველა OpenGL 2.0 ვიდეო ბარათი არ იძლევა საშუალებას შექმნას ტექსტურები მეხსიერებაში 1024px*1024px-ზე მაღალი. ის ასევე მოითხოვს მეტ ძალისხმევას ასეთი აპარატურის ოპტიმიზაციისთვის. მოხარული ვიქნები ნებისმიერი რჩევისთვის. ასევე კარგი იქნებოდა ამ საკითხთან დაკავშირებით გარკვეული სტატისტიკა.

პასუხი:

შეტყობინება 8 დამკვირვებელი8

მე მაქვს სიტუაცია, როდესაც ვაგროვებ (exe) თამაშებს თანამედროვე ლეპტოპზე, რომელიც მუშაობს Win7 OS-ით.

არ აქვს მნიშვნელობა რაზე აგროვებ.
ძრავისთვის მნიშვნელოვანია აპარატის კონფიგურაცია, რომელზეც ის მუშაობს.

შეტყობინება 8 დამკვირვებელი8

გამოდის, რომ ძრავა აკომპლექტებს exe-ს ისე, რომ exe-ის გაშვებისას თავად აპლიკაცია ირჩევს რა გამოიყენოს: OpenGL 2.0 თუ OpenGL 4.x?

exe შეიცავს ძრავას.
ეს არის ის, ვინც აწყობს მის კონფიგურაციას დინამიურად არსებული მოდულებიდან გაშვებისას.

კითხვა: OpenGL ვერსია


საღამო მშვიდობისა, ძვირფასო ფორუმის წევრებო. შესაძლებელია თუ არა OpenGL ვერსიების 1.0–1.5 გამოყენება (ეს შეზღუდვა დააწესა ინსტიტუტის მასწავლებელმა) მაგალითად, GLUT-ის (ან სხვა ბიბლიოთეკების) დაყენებით? წინასწარ გმადლობთ პასუხისთვის.
PS: პროგრამირების ენა C ან C++.

პასუხი:თუ არ იყენებთ გაფართოებებს და ფუნქციებს, როგორიცაა glCreateShaderObjectARB(..), glAttachObjectARB(..) და ა.შ. (ანუ მთლიანად გააკეთეთ ჩრდილების გარეშე), მაშინ ეს იქნება OpenGL 1.5

შეკითხვა: დაადგინეთ ვინდოუსის ვერსია


მოგესალმებით ყველას.
მე წავაწყდი შემდეგ პრობლემას: უნდა განვსაზღვრო OS-ის ვერსია GetVersionEx-ის გამოყენების გარეშე. ფაქტია, რომ msdn-ზე წერია ამ ფუნქციის შესახებ:

ციტატა

აპლიკაციები, რომლებიც არ არის გამოვლენილი Windows 8.1 ან Windows 10-ისთვის, დააბრუნებს Windows 8 OS ვერსიის მნიშვნელობას (6.2). მას შემდეგ, რაც აპლიკაცია გამოჩნდება მოცემული ოპერაციული სისტემის ვერსიისთვის, GetVersionEx ყოველთვის დააბრუნებს ვერსიას, რომლისთვისაც აპლიკაცია გამოიხატება მომავალ გამოშვებებში.

მაგრამ მე უბრალოდ მჭირდება ჩემი აპლიკაცია, რომ აღმოვაჩინო, რომ ის მუშაობს Windows 10-ზე.
Windows 10 აპლიკაციების მანიფესტში დამატების ვარიანტი არ მუშაობს.

აქ, ფაქტობრივად, ჩნდება კითხვა: არის თუ არა რაიმე გზა Windows-ის ვერსიის დასადგენად მხოლოდ მომხმარებლის რეჟიმის ფუნქციების გამოყენებით (RtlGetVersion არ არის შესაფერისი, რადგან ის მუშაობს ბირთვის რეჟიმში).

ეს შეტყობინება რედაქტირებულია რუდოლფნინია - 13.8.2015, 12:16

შეკითხვა: დაადგინეთ დაინსტალირებული ASP.NET-ის ვერსია


გამარჯობა! ვწერ პროგრამას გარემოდან ინფორმაციის შესაგროვებლად.
მითხარით, როგორ განვსაზღვროთ კომპიუტერზე დაინსტალირებული ASP.NET ვერსია
მე უკვე დავადგინე .NET Framework-ის ვერსია და ბევრი სხვა, მაგრამ არის პრობლემები ASP.NET-თან.

პასუხი:

შეტყობინება ნევბი

ან შეესაბამება NET Framework ვერსიას?

ის არ შეიძლება გამოტოვოთ, რადგან ეს არის NET Framework, მისი შემადგენლობიდან მხოლოდ რამდენიმე ასამბლეა.

უბრალოდ დარეკეთ glGetString(GL_VERSION) (კონტექსტის ინიციალიზაციის შემდეგ, რა თქმა უნდა) და გამორეცხეთ შედეგი (რომელიც რეალურად იგივეა, რაც glxinfo, მე მჯერა):

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

თქვენმა პროგრამამ ავტომატურად უნდა გამოიყენოს თქვენი აპარატურის და დრაივერის მხარდაჭერის ყველაზე მაღალი შესაძლო ვერსია, რომელიც თქვენს შემთხვევაში, როგორც ჩანს, არის 3.3. მაგრამ OpenGL 3+-ის ძირითადი პროფილის კონტექსტის შესაქმნელად (ის, სადაც მემკვიდრეობითი ფუნქციონალობა მთლიანად ამოღებულია), თქვენ უნდა მიიღოთ სპეციალური ზომები. მაგრამ GLFW-ის 2.7 ვერსიიდან არსებობს ამის გაკეთების საშუალება glfwOpenWindowHint ფუნქციის გამოყენებით. მაგრამ თუ არ გსურთ აშკარად გამორთოთ მემკვიდრეობითი ფუნქციები, შეგიძლიათ უბრალოდ გამოიყენოთ კონტექსტი, რომელიც თქვენთვის მოწოდებული GLFW-ის კონტექსტის შექმნის ნაგულისხმევი ფუნქციებით, რომელიც, როგორც ამბობენ, მხარს უჭერს თქვენი აპარატურის და დრაივერების მაქსიმალურ ვერსიას.

მაგრამ ასევე გახსოვდეთ, რომ OpenGL ფუნქციების 1.1 ვერსიის ზემოთ გამოსაყენებლად, თქვენ უნდა მიიღოთ შესაბამისი ფუნქციის მაჩვენებლები ან გამოიყენოთ ბიბლიოთეკა, რომელიც ამუშავებს ამას თქვენთვის, მაგალითად.

დავიწყე პროგრამების წერა C-ზე (ამჟამად), GLFW-სა და OpenGL-ის გამოყენებით. კითხვა არის, როგორ გავიგო OpenGL-ის რომელ ვერსიას გამოიყენებს ჩემი პროგრამა? ჩემი ლეპტოპი ამბობს, რომ ჩემს გრაფიკულ ბარათს აქვს OpenGL 3.3. შედით "glxinfo | grep -i opengl" უბრუნდება.