OpenGL හරස් වේදිකාවක් වුවද, DirectX OpenGL ට වඩා පහසු හෝ හොඳද? වින්ඩෝස් සඳහා මෙන් ලිනක්ස් සඳහා සැබෑ බලවත් ක්රීඩා අප නොදකින්නේ ඇයි?
OpenGL හරස් වේදිකාවක් වුවද, DirectX OpenGL ට වඩා පහසු හෝ හොඳද? වින්ඩෝස් සඳහා මෙන් ලිනක්ස් සඳහා සැබෑ බලවත් ක්රීඩා අප නොදකින්නේ ඇයි?
Answers:
මෙහි බොහෝ පිළිතුරු ඇත්තෙන්ම හොඳයි. නමුත් OpenGL සහ Direct3D (D3D) ගැටළුව විසඳිය යුතුය. ඒ සඳහා ... ඉතිහාස පාඩමක් අවශ්යයි.
අපි ආරම්භ කිරීමට පෙර, ඩිරෙක්ට් 3 ඩී ගැන මට වඩා OpenGL ගැන මම දනිමි . මම මගේ ජීවිතයේ කවදාවත් D3D කේත රේඛාවක් ලියා නැති අතර මම OpenGL හි නිබන්ධන ලියා ඇත. ඉතින් මම කියන්නට යන්නේ පක්ෂග්රාහී ප්රශ්නයක් නොවේ. එය හුදෙක් ඉතිහාසයේ කාරණයකි.
එක් දිනක්, 90 දශකයේ මුල් භාගයේදී, මයික්රොසොෆ්ට් අවට බැලීය. ඔවුන් දුටුවේ SNES සහ Sega Genesis නියමයි, ක්රියාදාම ක්රීඩා රාශියක් සහ එවැනි දේ. ඔවුන් ඩොස් දුටුවේය . සංවර්ධකයින් විසින් කොන්සෝල ක්රීඩා වැනි ඩොස් ක්රීඩා කේතනය කරන ලදි: ලෝහයට සෘජුවම. කෙසේ වෙතත්, කොන්සෝල මෙන් නොව, SNES ක්රීඩාවක් කළ සංවර්ධකයෙකු පරිශීලකයා සතුව ඇති දෘඩාංග මොනවාදැයි දැන සිටියද, ඩොස් සංවර්ධකයින්ට හැකි වින්යාසයන් සඳහා ලිවීමට සිදුවිය. මෙය ශබ්දයට වඩා අමාරුය.
මයික්රොසොෆ්ට් සමාගමට වඩා විශාල ගැටලුවක් තිබුණි: වින්ඩෝස්. බලන්න, වින්ඩෝස් වලට දෘඩාංග අයිති කර ගැනීමට අවශ්ය විය, ඩොස් මෙන් නොව, සංවර්ධකයින්ට ඕනෑම දෙයක් කිරීමට ඉඩ දෙයි. යෙදුම් අතර සහයෝගීතාවය පවත්වා ගැනීම සඳහා දෘඩාංග හිමිකම අවශ්ය වේ. සහයෝගිතාව යනු ක්රීඩා සංවර්ධකයින් පිළිකුල් කරන දෙයයි. මන්දයත් ඔවුන් භාවිතා කළ හැකි වටිනා දෘඩාංග සම්පත් නියමයි.
වින්ඩෝස් හි ක්රීඩා සංවර්ධනය ප්රවර්ධනය කිරීම සඳහා, මයික්රොසොෆ්ට් සමාගමට අවශ්ය වූයේ පහත් මට්ටමේ, ඒකාකාරී ඒපීඅයි එකක් වන අතර එය මන්දගාමී නොවී වින්ඩෝස් මත ධාවනය වන අතර බොහෝ විට හරස් දෘඩාංග අවශ්ය වේ. සියලුම ග්රැෆික්, ශබ්ද සහ ආදාන දෘඩාංග සඳහා තනි API එකක්.
මේ අනුව, ඩිරෙක්ට්එක්ස් උපත ලැබීය.
ත්රිමාණ ත්වරණකාරක උපත ලැබුවේ මාස කිහිපයකට පසුවය. මයික්රොසොෆ්ට් කරදරයට පත්විය. ඩිරෙක්ට්එක්ස් හි ග්රැෆික් සං component ටකය වන ඩිරෙක්ට් ඩ්රෝ සමඟ කටයුතු කළේ 2 ඩී ග්රැෆික්ස් සමඟ පමණි: ග්රැෆික් මතකය වෙන් කිරීම සහ මතකයේ විවිධ කොටස් අතර බිට්-බ්ලයිට් කිරීම.
මයික්රොසොෆ්ට් මිඩ්ල්වෙයාර් ටිකක් මිලට ගෙන එය විය Direct3D සංස්කරණය 3. බවට හැඩගැසීමෙන් එසේ විශ්වීය නින්දා. හොඳ හේතු ඇතුව; D3D v3 කේතය දෙස බැලීම ගිවිසුම් පෙට්ටිය දෙස බැලීම හා සමානයි.
අයිඩී මෘදුකාංගයේ පැරණි ජෝන් කාර්මාක් එම කුණු කූඩය දෙස බලා "එය ඉස්කුරුප්පු කරන්න!" සහ වෙනත් API වෙත ලිවීමට තීරණය කළේය: OpenGL.
බලන්න, මයික්රොසොෆ්ට් හි බොහෝ හිස ඇති මෘගයාගේ තවත් කොටසක් වින්ඩෝස් සඳහා OpenGL ක්රියාත්මක කිරීම සඳහා SGI සමඟ කාර්යබහුල වී ඇත. මෙහි අදහස වූයේ සාමාන්ය ජීඑල් යෙදුම්වල උසාවි සංවර්ධකයින්ට ය: වැඩපොළ යෙදුම්. CAD මෙවලම්, ආකෘති නිර්මාණය, ඒ වගේ දෙයක්. ක්රීඩා ඔවුන්ගේ මනසෙහි est තම දේ විය. මෙය මූලික වශයෙන් වින්ඩෝස් එන්ටී දෙයක් වූ නමුත් මයික්රොසොෆ්ට් සමාගම එය වින් 95 ටද එක් කිරීමට තීරණය කළේය.
වැඩපොළ සංවර්ධකයින් වින්ඩෝස් වෙත පොළඹවා ගැනීමේ මාර්ගයක් ලෙස මයික්රොසොෆ්ට් සමාගම මෙම නව ත්රිමාණ ග්රැෆික් කාඩ්පත් වෙත ප්රවේශය ලබා දී අල්ලස් දීමට උත්සාහ කළේය. මයික්රොසොෆ්ට් විසින් ස්ථාපනය කළ හැකි සේවාලාභී ධාවක ප්රොටෝකෝලය ක්රියාත්මක කරන ලදි: ග්රැෆික් කාඩ්පත් නිෂ්පාදකයෙකුට මයික්රොසොෆ්ට් හි මෘදුකාංග ඕපන් ජීඑල් ක්රියාත්මක කිරීම දෘඩාංග මත පදනම් වූ එකක් අභිබවා යා හැකිය. කේතයක් තිබේ නම් ස්වයංක්රීයව දෘඩාංග OpenGL ක්රියාත්මක කිරීම භාවිතා කළ හැකිය.
මුල් දිනවල, පාරිභෝගික මට්ටමේ වීඩියෝ කාඩ්පත් සඳහා OpenGL සඳහා සහය නොලැබුණි. කාර්මාක් ඔහුගේ එස්ජීඅයි වැඩපොළේ ක්වේක් ඕපන් ජීඑල් (ජීඑල්කේක්) වෙත ගෙනයාමෙන් එය වළක්වා නැත. GLQuake readme වෙතින් අපට කියවිය හැකි පරිදි:
න්යායාත්මකව, ග්ලූකේක් වයනයෙහි වස්තූන් දිගු කිරීම සඳහා සහාය වන ඕනෑම අනුකූල OpenGL මත ධාවනය වනු ඇත, නමුත් එය අවශ්ය සෑම දෙයක්ම වේගවත් කරන ඉතා ප්රබල දෘඩාංගයක් නොවේ නම්, ක්රීඩාව පිළිගත නොහැක. එයට කිසියම් මෘදුකාංග අනුකරණ මාර්ගයක් හරහා යාමට සිදුවුවහොත්, කාර්ය සාධනය තත්පරයට එක් රාමුවක් යටතේ සිදුවනු ඇත.
මෙම අවස්ථාවේදී (මාර්ච් '97), ග්ලූකේක් සාධාරණ ලෙස වාදනය කළ හැකි එකම සම්මත විවෘත දෘඩාංග වන්නේ ඉතා මිල අධික කාඩ්පතකි. 3dlabs ඔවුන්ගේ ක්රියාකාරිත්වය සැලකිය යුතු ලෙස වැඩි දියුණු කර ඇත, නමුත් පවතින ධාවක සමඟ එය තවමත් ක්රීඩා කිරීමට ප්රමාණවත් නොවේ. ග්ලින්ට් සහ පර්මීඩියා පුවරු සඳහා දැනට පවතින 3dlabs ධාවක සමහරක් සම්පූර්ණ තිර ධාවනයෙන් පිටවන විට NT බිඳ වැටිය හැක, එබැවින් 3dlabs දෘඩාංග මත ග්ලූක් ධාවනය කිරීමට මම නිර්දේශ නොකරමි.
3dfx විසින් ග්ලූක් සඳහා අවශ්ය සෑම දෙයක්ම ක්රියාත්මක කරන opengl32.dll ලබා දී ඇත, නමුත් එය පූර්ණ opengl ක්රියාත්මක කිරීමක් නොවේ. වෙනත් opengl යෙදුම් සමඟ එය වැඩ කිරීමට අපහසුය, එබැවින් එය මූලික වශයෙන් “ග්ලූක්වේක් ධාවකයක්” ලෙස සලකන්න.
මෙය මිනි ජීඑල් රියදුරන්ගේ උපත විය. දෘඩාංගවල බොහෝ OpenGL ක්රියාකාරිත්වය ක්රියාත්මක කිරීමට තරම් දෘඩාංග බලවත් වීම නිසා මේවා අවසානයේදී පූර්ණ OpenGL ක්රියාත්මක කිරීම් බවට පරිණාමය විය. පූර්ණ OpenGL ක්රියාත්මක කිරීමක් ඉදිරිපත් කළ ප්රථමයා විඩියා ය. තවත් බොහෝ වෙළෙන්දෝ අරගල කළහ, මෙය සංවර්ධකයින් ඩිරෙක්ට් 3 ඩී වලට වැඩි කැමැත්තක් දැක්වීමට එක් හේතුවකි: ඒවා පුළුල් පරාසයක දෘඩාංග සමඟ අනුකූල විය. අවසානයේදී එන්වීඩියා සහ ඒටීඅයි (දැන් ඒඑම්ඩී) පමණක් ඉතිරිව ඇති අතර දෙදෙනාම හොඳ ඕපන් ජීඑල් ක්රියාත්මක කිරීමක් සිදු කළහ.
මේ අනුව වේදිකාව සකසා ඇත: Direct3D එදිරිව OpenGL. D3D v3 කෙතරම් නරකදැයි සලකා බැලීමේදී එය ඇත්තෙන්ම පුදුමාකාර කතාවකි.
OpenGL වාස්තු විද්යාත්මක සමාලෝචන මණ්ඩලය (ARB) යනු OpenGL නඩත්තු කිරීමේ වගකීම දරන සංවිධානයයි. ඔවුන් දිගු ගණනාවක් නිකුත් කරයි, දිගු කිරීමේ ගබඩාව නඩත්තු කරයි, සහ API හි නව සංස්කරණ නිර්මාණය කරයි. ARB යනු බොහෝ ග්රැෆික් කර්මාන්තයේ ක්රීඩකයින් මෙන්ම සමහර මෙහෙයුම් පද්ධති නිෂ්පාදකයින්ගෙන් සැදුම්ලත් කමිටුවකි. ඇපල් සහ මයික්රොසොෆ්ට් විවිධ කාලවලදී ARB හි සාමාජිකයෙකි.
3Dfx Voodoo2 සමඟ එළියට එයි. බහුමාධ්යකරණය කළ හැකි පළමු දෘඩාංගය මෙය වන අතර එය මීට පෙර OpenGL ට කළ නොහැකි දෙයකි. 3Dfx OpenGL ට එරෙහිව දැඩි ලෙස විරුද්ධ වූ අතර, ඊළඟ බහුකාර්ය ග්රැෆික් චිපයේ (TNT1) නිෂ්පාදකයින් වන NVIDIA එයට ප්රිය කළේය. එබැවින් ARB විසින් දිගුවක් නිකුත් කරන ලදි: GL_ARB_multitexture, එමඟින් බහු-පෙළ සැකසීමට ප්රවේශ විය හැකිය.
මේ අතර, Direct3D v5 එළියට එයි. දැන්, D3D යනු බළලෙකු වමනය කළ හැකි දෙයකට වඩා සැබෑ API එකක් බවට පත්ව ඇත. ගැටලුව වන්නේ? බහු සැකසුම් නොමැත.
අපොයි.
දැන්, එම තැනැත්තාට තිබිය යුතු ප්රමාණයට වඩා හානියක් නොවනු ඇත, මන්ද මිනිසුන් බහු-පෙළ සැකසීම භාවිතා නොකළ බැවිනි. කෙලින්ම නොවේ. බහුවිධ සැකසුම් මගින් කාර්ය සාධනය තරමක් දුරට සිදුවන අතර බොහෝ අවස්ථාවන්හිදී එය බහු සම්මතයට සාපේක්ෂව එය වටින්නේ නැත. ඇත්ත වශයෙන්ම, ක්රීඩා සංවර්ධකයින් ඔවුන්ගේ ක්රීඩා පැරණි දෘඩාංග මත ක්රියාත්මක වන බව සහතික කිරීමට කැමතියි, ඒවාට බහු-පෙළක් නොමැති අතර බොහෝ ක්රීඩා එය නොමැතිව නැව්ගත කර ඇත.
මේ අනුව ඩී 3 ඩී සඳහා සමාව ලබා දෙන ලදී.
කාලය ගෙවී යන අතර NVIDIA විසින් GeForce 256 (GeForce GT-250 නොවේ; පළමු GeForce නොවේ) යොදවනු ලැබේ, ඉදිරි වසර දෙක සඳහා ග්රැෆික් කාඩ්පත් වල තරගය අවසන් වේ. ප්රධාන විකුණුම් ලක්ෂ්යය වන්නේ දෘඩාංගවල පෘෂ් te ීය පරිණාමනය සහ ආලෝකකරණය (ටී ඇන්ඩ් එල්) කිරීමට ඇති හැකියාවයි. එපමණක් නොව, NVIDIA OpenGL ට කොතරම් ආදරය කළේද යත්, ඔවුන්ගේ T&L එන්ජිම Open ලදායී ලෙස OpenGL විය. වචනාර්ථයෙන් පාහේ; මට තේරෙන පරිදි, ඔවුන්ගේ සමහර ලේඛණ ඇත්ත වශයෙන්ම OpenGL ගණන් කරන්නන් සෘජුවම අගයන් ලෙස ගෙන ඇත.
Direct3D v6 එළියට එයි. බහුකාර්යය අවසානයේ නමුත් ... දෘඩාංග ටී ඇන්ඩ් එල් නැත. ඕපන් ජීඑල් හි සෑම විටම ටී ඇන්ඩ් එල් නල මාර්ගයක් තිබී ඇත. එබැවින් NVIDIA හට ඔවුන්ගේ මෘදුකාංග ක්රියාත්මක කිරීම දෘඩාංග විසඳුමක් බවට පරිවර්තනය කිරීම ඉතා පහසු විය. D3D v7 තෙක් දෘඩාංග T&L සහය ලැබෙන තෙක් එය සිදු නොවේ.
ඊට පස්සේ GeForce 3 එළියට ආවා. ඒ වගේම බොහෝ දේ එකවර සිදුවිය.
මයික්රොසොෆ්ට් ආයතනය තීරණය කර තිබුණේ ඔවුන් නැවත ප්රමාද නොවන බවයි. එබැවින් NVIDIA කරන්නේ කුමක්දැයි සොයා බලා එය පිටපත් කිරීමෙන් පසුව ඔවුන් වෙත ගොස් ඔවුන් සමඟ කතා කිරීමේ විශ්මය ජනක ස්ථාවරය ගත්හ. ඊට පස්සේ ඔවුන් ආදරයෙන් බැඳලා ටිකක් කොන්සෝලයක් ගත්තා.
අවුල් සහගත දික්කසාදයක් පසුව සිදු විය. නමුත් එය තවත් කාලයක් සඳහා ය.
පරිගණකයට මෙයින් අදහස් කළේ ජී 3 ෆෝර්ස් 3 ඩී 3 ඩී වී 8 සමඟ එකවර එළියට පැමිණීමයි. ජීෆෝර්ස් 3 ඩී 3 ඩී 8 හි සෙවනැලි වලට බලපෑම් කළේ කෙසේදැයි බැලීමට අපහසු නැත. ෂේඩර් මොඩල් 1.0 හි පික්සල් සෙවන එන්වීඩියා හි දෘඩාංග සඳහා අතිශයින්ම විශේෂිත විය. එන්වීඩියා හි දෘඩාංග වියුක්ත කිරීමට කිසිදු උත්සාහයක් නොතිබුණි; එස්එම් 1.0 යනු ජිෆෝර්ස් 3 කළ ඕනෑම දෙයක් පමණි.
ATI විසින් Radeon 8500 සමඟ කාර්ය සාධන ග්රැෆික් කාඩ් තරඟයට පිවිසීමට පටන් ගත් විට, ගැටළුවක් ඇතිවිය. 8500 හි පික්සල් සැකසුම් නල මාර්ගය එන්වීඩියා හි දේවල් වලට වඩා බලවත් විය. එබැවින් මයික්රොසොෆ්ට් විසින් ෂේඩර් මොඩල් 1.1 නිකුත් කරන ලද අතර එය මූලික වශයෙන් "8500 කුමක් කළත්" විය.
එය ඩී 3 ඩී හි අසාර්ථක බවක් පෙනෙන්නට තිබේ. නමුත් අසමත් වීම සහ සාර්ථකත්වය උපාධි පිළිබඳ කාරණා වේ. හා මහා කාව්යය OpenGL-දේශයේ අසාර්ථක වූයේ නිමේෂයකි.
NVIDIA OpenGL ට ආදරය කළේය, එබැවින් GeForce 3 පහර දුන් විට, ඔවුන් OpenGL දිගු විශාල ප්රමාණයක් නිකුත් කළහ. හිමිකාර OpenGL දිගු: NVIDIA පමණි. ස්වාභාවිකවම, 8500 පෙන්වන විට, ඒ කිසිවක් භාවිතා කළ නොහැක.
බලන්න, අවම වශයෙන් D3D 8 ඉඩමක, ඔබට ඔබේ SM 1.0 සෙවනැලි ATI දෘඩාංග මත ධාවනය කළ හැකිය. වග බලා ගන්න, ඔබ 8500 ගේ දිනිය යුතු වාසිය ලබා ගැනීම සඳහා නව shaders ලියන්නට සිදු වුණා, නමුත් අවම වශයෙන් ඔබගේ කේතය වැඩ .
OpenGL හි Radeon 8500 හි ඕනෑම ආකාරයක සෙවනැලි ලබා ගැනීම සඳහා ATI හට OpenGL දිගු ගණනාවක් ලිවීමට සිදු විය. හිමිකාර OpenGL දිගු: ATI පමණි. ඒ නිසා ඔබ කිරීමට, ක NVIDIA codepath හා ATI codepath අවශ්ය shaders සියලු දී.
දැන් ඔබට ඇසිය හැකිය, "OpenGL ARB කොහෙද, OpenGL ධාරාව තබා ගැනීම කාගේ කාර්යයක්ද?" බොහෝ කමිටු බොහෝ විට අවසන් වන තැන: මෝඩකමෙන් ඉවත් වීම.
බලන්න, මම ඉහත සඳහන් කළේ ARB_multitexture මේ සියල්ලටම ගැඹුරින් බලපාන බැවිනි. ARB පෙනුනේ (පිටස්තරයෙකුගේ දෘෂ්ටිකෝණයකින්) සෙවනැලි පිළිබඳ අදහස මුළුමනින්ම මග හැරීමට අවශ්ය බවය. ස්ථාවර ක්රියාකාරී නල මාර්ගයට අවශ්ය තරම් වින්යාසගත කළ හැකි නම්, ඒවා සෙවන නල මාර්ගයක හැකියාව සමාන කළ හැකි බව ඔවුහු වටහා ගත්හ.
එබැවින් ARB දීර් extension කිරීමෙන් පසු දිගුව මුදා හැරියේය. එහි "texture_env" යන වචන සහිත සෑම දිගුවක්ම මෙම වයස්ගත සැලසුම සකස් කිරීමේ තවත් උත්සාහයකි. ලේඛකාධිකාරය පරීක්ෂා කරන්න: ARB සහ EXT දිගු අතර, මෙම දිගු අටක් සාදන ලදී. බොහෝ දෙනෙක් OpenGL මූලික අනුවාද වලට උසස් කරන ලදි.
මයික්රොසොෆ්ට් මේ අවස්ථාවේ ARB හි කොටසක් විය; ඔවුන් ඩී 3 ඩී 9 පහර දුන් වේලාව හැර ගියේය. එබැවින් ඔවුන් කිසියම් ආකාරයකින් OpenGL කඩාකප්පල් කිරීමට කටයුතු කරමින් සිටි බව මුළුමනින්ම කිව හැකිය. මම පෞද්ගලිකව මෙම න්යාය හේතු දෙකක් නිසා සැක කරමි. එකක්, ඒ සඳහා ඔවුන්ට වෙනත් ARB සාමාජිකයින්ගේ සහාය ලබා ගැනීමට සිදුවනු ඇත, මන්ද සෑම සාමාජිකයෙකුටම ලැබෙන්නේ එක් ඡන්දයක් පමණි. වැදගත්ම දෙය නම්, දේවල් ඉස්කුරුප්පු කිරීමට ARB හට මයික්රොසොෆ්ට්ගේ උදව් අවශ්ය නොවීය. ඒ පිළිබඳ වැඩිදුර සාක්ෂි අපි බලමු.
අවසානයේදී ARB, ATI සහ NVIDIA (ක්රියාකාරී සාමාජිකයන් දෙදෙනාම) යන දෙදෙනාගේම තර්ජනයට ලක්ව ඇති අතර අවසානයේදී එකලස් කිරීමේ ශෛලීන් සැපයීමට තරම් දිගු කාලයක් ඔවුන්ගේ හිස එළියට ගත්හ.
මෝඩ දෙයක් පවා අවශ්යද?
දෘඩාංග ටී ඇන්ඩ් එල්. OpenGL ට මුලින්ම තිබුනේ . හොඳයි, එය සිත්ගන්නා සුළුයි. දෘඩාංග ටී ඇන්ඩ් එල් වෙතින් උපරිම කාර්ය සාධනය ලබා ගැනීම සඳහා, ඔබ ඔබේ සිරස් දත්ත GPU හි ගබඩා කළ යුතුය. ඇත්ත වශයෙන්ම, ඔබේ පෘෂ් te වංශී දත්ත භාවිතා කිරීමට අවශ්ය වන්නේ GPU ය.
D3D v7 හි මයික්රොසොෆ්ට් විසින් Vertex Buffers සංකල්පය හඳුන්වා දෙන ලදී. පෘෂ් te වංශී දත්ත ගබඩා කිරීම සඳහා මේවා GPU මතකයේ වෙන් කර ඇත.
OpenGL ට මේ හා සමාන ප්රමාණයක් ලැබුණේ කවදාදැයි දැන ගැනීමට අවශ්යද? ඔහ්, එන්වීඩියා, ඕපන් ජීඑල් (ඔවුන් හිමිකාරී එන්වීඩියා දිගුවන් වන තාක් කල්) සියල්ලටම ඇලුම් කරන අතර, ජිෆෝර්ස් 256 පළමු වරට පහර දුන් විට පෘෂ් te වංශී අරා පරාසය දීර් extension කළේය. ඒ හා සමාන ක්රියාකාරීත්වයක් සැපයීමට ARB තීරණය කළේ කවදාද?
අවුරුදු දෙකකට පසු . මෙය ඔවුන් පෘෂ් te වංශී සහ කැබලි සෙවන (ඩී 3 ඩී භාෂාවෙන් පික්සෙල්) අනුමත කිරීමෙන් පසුවය . ජීපීයූ මතකයේ පෘෂ් te වංශී දත්ත ගබඩා කිරීම සඳහා හරස් වේදිකා විසඳුමක් සංවර්ධනය කිරීමට ARB හට කොපමණ කාලයක් ගතවේද යන්න එයයි. නැවතත්, දෘඩාංග ටී ඇන්ඩ් එල් උපරිම කාර්ය සාධනය ලබා ගැනීමට අවශ්ය දෙයක්.
ඉතින්, OpenGL සංවර්ධන පරිසරය කලකට කැඩී ගියේය. හරස් දෘඩාංග සෙවනැලි, හරස් දෘඩාංග GPU පෘෂ් te වංශී ගබඩාවක් නොමැති අතර D3D භාවිතා කරන්නන් ඒ දෙකම භුක්ති වින්දා. එය නරක අතට හැරිය හැකිද?
ඔයාට ... ඔයාට ඒක කියන්න පුළුවන්. 3D විද්යාගාර ඇතුළත් කරන්න .
ඔවුන් කවුදැයි ඔබට ඇසිය හැකිය. ඔවුන් අක්රීය සමාගමක් වන අතර ඔවුන් OpenGL හි සැබෑ lers ාතකයින් ලෙස මම සලකමි. ARB හි සාමාන්ය අකාර්යක්ෂමතාව නිසා OpenGL හි D3D හිමිකම තිබිය යුතු බවට අවදානමක් ඇති බව සහතිකයි. නමුත් 3DG ලැබ්ස් යනු OpenGL හි වර්තමාන වෙළඳපල තත්ත්වය සඳහා මගේ මතකයට ඇති එකම ලොකුම හේතුව විය හැකිය. ඒ සඳහා ඔවුන්ට කුමක් කළ හැකිද?
ඔවුන් නිර්මාණය කළේ OpenGL සෙවනැලි භාෂාවයි.
බලන්න, 3D ලැබ් යනු මිය යන සමාගමකි. NVIDIA විසින් වැඩපොළ වෙළඳපොළ කෙරෙහි වැඩි වන පීඩනය හේතුවෙන් ඔවුන්ගේ මිල අධික GPUs කොන් කරනු ලැබීය. එන්වීඩියා මෙන් නොව ත්රිමාණ විද්යාගාර ප්රධාන ධාරාවේ වෙළඳපොලේ නොතිබුණි; NVIDIA දිනුවා නම් ඔවුන් මිය ගියා.
ඔවුන් කළ දේ.
එබැවින්, ඔවුන්ගේ නිෂ්පාදන අවශ්ය නොවන ලෝකයක අදාළව සිටීමට ත්රිමාණ විද්යාගාර විසින් “සංවර්ධක ජීඑල් 2.0” යනුවෙන් හැඳින්වෙන යමක් සඳහා ඉදිරිපත් කිරීම් ඉදිරිපත් කරමින් ක්රීඩා සංවර්ධක සම්මන්ත්රණයකට පෙනී සිටියේය. මෙය OpenGL API හි මුල සිටම නැවත ලිවීමකි. එය අර්ථවත් කරයි; එකල OpenGL හි ඒපීඅයි හි විශාල කබොලක් තිබුණි (සටහන: එම කබොල තවමත් පවතී). වයනය පැටවීම සහ බන්ධනය ක්රියා කරන ආකාරය දෙස බලන්න; එය අර්ධ චාපයකි.
ඔවුන්ගේ යෝජනාවේ කොටසක් සෙවනැලි භාෂාවක් විය. ස්වාභාවිකවම. කෙසේ වෙතත්, වර්තමාන හරස් වේදිකා ARB දිගු මෙන් නොව, ඒවායේ සෙවනැලි භාෂාව “ඉහළ මට්ටමේ” විය (C සෙවනැලි භාෂාවක් සඳහා ඉහළ මට්ටමක පවතී. ඔව්, ඇත්තෙන්ම).
දැන්, මයික්රොසොෆ්ට් ඔවුන්ගේම ඉහළ මට්ටමේ සෙවනැලි භාෂාවෙන් වැඩ කරමින් සිටියේය. මයික්රොසොෆ්ට් හි සාමූහික පරිකල්පනය තුළ ඔවුන් හැඳින්වූයේ ... ඉහළ මට්ටමේ සෙවන භාෂාව (HLSL). නමුත් ඒවා භාෂාවන්ට මූලික වශයෙන් වෙනස් ප්රවේශයක් විය.
ත්රිමාණ විද්යාගාරයේ සෙවනැලි භාෂාවට ඇති ලොකුම ගැටලුව වූයේ එය ගොඩනගා තිබීමයි. බලන්න, එච්එල්එස්එල් යනු මයික්රොසොෆ්ට් විසින් නිර්වචනය කරන ලද භාෂාවකි. ඔවුන් ඒ සඳහා සම්පාදකයෙකු නිකුත් කළ අතර, එය ෂේඩර් මොඩල් 2.0 (හෝ පසුව සෙවන ආකෘති) එකලස් කිරීමේ කේතයක් ජනනය කළ අතර එය ඔබ ඩී 3 ඩී වෙත පෝෂණය කරනු ඇත. D3D v9 දිනවලදී, HLSL කිසි විටෙකත් D3D විසින් කෙලින්ම ස්පර්ශ නොකළේය. එය කදිම සාරාංශයකි, නමුත් එය තනිකරම විකල්පයකි. සංවර්ධකයෙකුට සෑම විටම සම්පාදකයා පිටුපසින් ගොස් උපරිම කාර්ය සාධනය සඳහා ප්රතිදානය වෙනස් කිරීමට අවස්ථාව තිබුණි.
ත්රිමාණ විද්යාගාර භාෂාවට ඒ කිසිවක් තිබුණේ නැත . ඔබ රියදුරාට සී වැනි භාෂාව ලබා දුන් අතර එය සෙවනැල්ලක් නිපදවීය. කතාවේ අවසානය. එකලස් කිරීමේ සෙවනක් නොවේ, ඔබ වෙනත් දෙයක් පෝෂණය කරන දෙයක් නොවේ. සෙවණැල්ලක් නියෝජනය කරන සත්ය OpenGL වස්තුව.
මෙයින් අදහස් කරන්නේ, එකලස් කිරීම වැනි භාෂා සම්පාදනය කිරීමේ හැකියාව ලබාගෙන සිටින සංවර්ධකයින්ගේ වෙනස්වීම් සඳහා OpenGL භාවිතා කරන්නන් විවෘතව සිටීමයි. අළුතින් නම් කරන ලද OpenGL සෙවනැලි භාෂාවේ (GLSL) සම්පාදක දෝෂ බහුලව දක්නට ලැබේ. නරකම දෙය නම්, ඔබට විවිධ වේදිකාවල නිවැරදිව සම්පාදනය කිරීමට සෙවණක් ලබා ගැනීමට හැකි වූයේ නම් (මධ්යන්ය කාර්යයක් නැත), ඔබ තවමත් දවසේ ප්රශස්තකරණයන්ට යටත් විය . ඒවා හැකි තරම් ප්රශස්ත නොවීය.
ජීඑල්එස්එල් හි විශාලතම අඩුපාඩුව එය වූවත් එය එකම අඩුපාඩුව නොවේ. විසින් මෙතෙක් .
ඩී 3 ඩී සහ ඕපන් ජීඑල් හි පැරණි එකලස් කිරීමේ භාෂාවලින් ඔබට පෘෂ් te වංශී හා කොටස් (පික්සල්) සෙවන මිශ්ර කර ගැළපේ. ඔවුන් එකම අතුරුමුහුණතක් සමඟ සන්නිවේදනය කරන තාක් කල්, ඔබට ඕනෑම අනුකූල කොටස් කැබැල්ලක් සහිත ඕනෑම ශීර්ෂ සෙවනක් භාවිතා කළ හැකිය. ඔවුන්ට පිළිගත හැකි නොගැලපීම් මට්ටම් පවා තිබුණි; කැබලි සෙවන කියවා නැති ප්රතිදානයක් ලිවීමට ශීර්ෂ සෙවනකට හැකිය. සහ එසේ ය.
ජීඑල්එස්එල්ට ඒ කිසිවක් තිබුණේ නැත. ත්රිමාණ විද්යාගාර “වැඩසටහන් වස්තුවක්” ලෙස හැඳින්වෙන සිරස් හා කොටස් කැබලි එකට සම්බන්ධ වී ඇත. එබැවින් ඔබට පෘෂ් te වංශී හා කොටස් වැඩසටහන් බෙදා ගැනීමට අවශ්ය නම්, ඔබට බහු වැඩසටහන් වස්තු සෑදිය යුතුය. මෙය දෙවන විශාලතම ගැටළුව ඇති කළේය.
බලන්න, ත්රිමාණ විද්යාගාර සිතුවේ ඔවුන් දක්ෂයි කියා. ඔවුන් ජීඑල්එස්එල් හි සම්පාදක ආකෘතිය සී / සී ++ මත පදනම් විය. ඔබ .c හෝ .cpp ගෙන එය වස්තු ගොනුවකට සම්පාදනය කරයි. ඉන්පසු ඔබ වස්තු ලිපිගොනු එකක් හෝ කිහිපයක් ගෙන ඒවා වැඩසටහනකට සම්බන්ධ කරයි. ජීඑල්එස්එල් සම්පාදනය කරන්නේ එලෙස ය: ඔබ ඔබේ සෙවන (සිරස් හෝ කැබැල්ල) සෙවන වස්තුවකට සම්පාදනය කරයි. ඉන්පසු ඔබ එම සෙවනැලි වස්තු ක්රමලේඛ වස්තුවකට දමා ඔබේ සත්ය වැඩසටහන සැකසීමට ඒවා එකට සම්බන්ධ කරන්න.
ප්රධාන සෙවණැල්ලන්ට ඇමතිය හැකි අතිරේක කේත අඩංගු “පුස්තකාල” ෂේඩර් තිබීම වැනි සිසිල් අදහස් සඳහා මෙය ඉඩ දී ඇති අතර, ප්රායෝගිකව එයින් අදහස් කළේ සෙවන දෙවරක් සම්පාදනය කිරීමයි. සම්පාදක අවධියේදී සහ එක් වරක් සම්බන්ධ කිරීමේ අදියරේදී. NVIDIA හි සම්පාදකයා මූලික වශයෙන් දෙවරක් සම්පාදනය කිරීම සඳහා ප්රසිද්ධ විය. එය කිසියම් ආකාරයක වස්තු කේත අතරමැදියෙකු ජනනය කළේ නැත; එය එක් වරක් සම්පාදනය කර පිළිතුර විසි කර, සම්බන්ධක වේලාවේදී එය නැවත සම්පාදනය කළේය.
එබැවින් ඔබේ පෘෂ් te වංශී සෙවන විවිධ කොටස් දෙකකට සම්බන්ධ කිරීමට ඔබට අවශ්ය වුවද, ඔබ D3D වලට වඩා බොහෝ සම්පාදනය කළ යුතුය. විශේෂයෙන්ම C වැනි භාෂාවක් සම්පාදනය කිරීම නොබැඳි ලෙස සිදු කර ඇති බැවින් වැඩසටහන ක්රියාත්මක කිරීමේ ආරම්භයේ දී නොවේ.
ජීඑල්එස්එල් සමඟ වෙනත් ගැටළු ඇති විය. සමහර විට ත්රිමාණ විද්යාගාර වලට දෝෂාරෝපණය කිරීම වැරදියි, මන්ද ARB අවසානයේ භාෂාව අනුමත කර ඒකාබද්ධ කළ හෙයිනි (නමුත් ඔවුන්ගේ “OpenGL 2.0” මුලපිරීම හැර වෙන කිසිවක් නැත). නමුත් එය ඔවුන්ගේ අදහස විය.
මෙන්න ඇත්තෙන්ම කනගාටුදායක කොටස: 3D විද්යාගාර හරි (බොහෝ දුරට). ජීඑල්එස්එල් යනු එවකට එච්එල්එස්එල් පැවති ආකාරයට දෛශික මත පදනම් වූ සෙවනැලි භාෂාවක් නොවේ. එයට හේතුව ත්රිමාණ විද්යාගාරයේ දෘඩාංග පරිමාණ දෘඩාංග (නූතන එන්වීඩියා දෘඩාංග වලට සමාන) වීමයි, නමුත් බොහෝ දෘඩාංග නිෂ්පාදකයින් ඔවුන්ගේ දෘඩාංග සමඟ ගිය දිශාවට අවසානයේ ඒවා නිවැරදි විය.
"ඉහළ මට්ටමේ" භාෂාවක් සඳහා සම්පාදක-මාර්ගගත ආකෘතියක් සමඟ යාමට ඔවුන් නිවැරදිය. D3D පවා අවසානයේදී ඒ වෙත මාරු විය.
ගැටළුව වූයේ ත්රිමාණ විද්යාගාර වැරදි වේලාවට නිවැරදි වීමයි . අනාගතය කල්තියා කැඳවීමට උත්සාහ කිරීමේදී, අනාගතය සනාථ කිරීමට උත්සාහ කිරීමේදී ඔවුන් වර්තමානය පසෙකට දමති . ඕපන් ජීඑල් සෑම විටම ටී ඇන්ඩ් එල් ක්රියාකාරීත්වයට ඇති හැකියාව හා සමානයි. ඕපන් ජීඑල් හි ටී ඇන්ඩ් එල් නල මාර්ගය දෘඩාංග ටී ඇන්ඩ් එල් ට පෙර තවමත් ප්රයෝජනවත් වූ බව හැර , ජීඑල්එස්එල් ලෝකය එයට හසු වීමට පෙර වගකීමක් විය.
GLSL හොඳ භාෂාව දැන් . නමුත් දැනට? එය භයානක විය. ඒ සඳහා OpenGL දුක් වින්දා.
ත්රිමාණ විද්යාගාර මාරාන්තික පහරක් එල්ල කළ බව මා විශ්වාස කරන අතරම, මිනී පෙට්ටියේ අවසන් නියපොතු පැදවූයේ ඒආර්බී ය.
මෙය ඔබ අසා ඇති කතාවකි. OpenGL 2.1 වන විට, OpenGL ගැටලුවක් බවට පත්වෙමින් තිබුණි. එහි සිටි බොහෝ උරුමය cruft ය. API තවදුරටත් භාවිතා කිරීම පහසු නැත. දේවල් කිරීමට ක්රම 5 ක් තිබූ අතර වේගවත්ම අදහසක් නැත. ඔබට සරල නිබන්ධන සමඟ OpenGL "ඉගෙන ගත හැකිය", නමුත් ඔබට නියම ක්රියාකාරිත්වය සහ චිත්රක බලය ලබා දුන් OpenGL API ඉගෙන ගත්තේ නැත.
එබැවින් විවෘත ජීඑල් හි තවත් නව සොයාගැනීමක් කිරීමට ARB තීරණය කළේය. මෙය 3D ලැබ් හි "OpenGL 2.0" ට සමාන විය, නමුත් වඩා හොඳ ARB පිටුපසින් සිටි බැවිනි. ඔවුන් එය හැඳින්වූයේ "ලෝන්ග්ස් පීක්" යනුවෙනි.
API වැඩි දියුණු කිරීමට යම් කාලයක් ගත කිරීම ගැන එතරම් නරක කුමක්ද? මෙය නරක වූයේ මයික්රොසොෆ්ට් තමන් අවදානමට ලක්ව ඇති බැවිනි. බලන්න, මෙය විස්ටා මාරුවීමේ අවස්ථාවේදී.
විස්ටා සමඟ මයික්රොසොෆ්ට් ඩිස්ප්ලේ ධාවකවල අත්යවශ්ය වෙනස්කම් කිහිපයක් ඇති කිරීමට තීරණය කළේය. ග්රැෆික් මතක අථත්යකරණය සහ වෙනත් බොහෝ දේ සඳහා මෙහෙයුම් පද්ධතියට ඉදිරිපත් කිරීමට ඔවුන් රියදුරන්ට බල කළහ.
යමෙකුට මෙහි ඇති ගුණාංග ගැන හෝ එය සැබවින්ම කළ හැකි දැයි විවාද කළ හැකි නමුත් සත්යය මෙයයි: මයික්රොසොෆ්ට් ඩී 3 ඩී 10 විස්ටා (සහ ඊට ඉහළින්) ලෙස සැලකුවේය. ඔබ සතුව ඩී 3 ඩී 10 හැකියාව ඇති දෘඩාංග තිබුණත්, විස්ටා ධාවනය නොකර ඔබට ඩී 3 ඩී 10 යෙදුම් ධාවනය කළ නොහැක.
ඔබට මතක ඇති විස්ටා ... ම්ම්, එය හොඳින් ක්රියාත්මක නොවූ බව කියමු. එබැවින් ඔබට per න ක්රියාකාරී මෙහෙයුම් පද්ධතියක්, එම මෙහෙයුම් පද්ධතිය මත පමණක් ක්රියාත්මක වන නව API එකක් සහ පෙර පරම්පරාවට වඩා වේගවත් යමක් කිරීමට එම API සහ මෙහෙයුම් පද්ධතිය අවශ්ය වන නව පරම්පරාවේ දෘඩාංග තිබේ .
කෙසේ වෙතත්, සංවර්ධකයින් හැකි ඕපන් GL හරහා D3D 10 පන්තියේ විශේෂාංග වෙත පිවිසීමට. හොඳයි, ARB ලෝන්ග්ස් පීක් හි කාර්යබහුල නොවී සිටියා නම් ඔවුන්ට පුළුවන්.
මූලික වශයෙන්, ඒපීඅයි වඩා හොඳ කිරීම සඳහා ARB වසර එකහමාරක් හෝ දෙකක් වටිනා වැඩක් වැය කළේය. OpenGL 3.0 සැබවින්ම එළියට එන විට, විස්ටා දරුකමට හදා ගැනීම වේගවත් විය, විස්ටා ඔවුන් පිටුපස තැබීමට වින් 7 කෙළවරේ සිටි අතර බොහෝ ක්රීඩා සංවර්ධකයින් කෙසේ හෝ ඩී 3 ඩී -10 පන්තියේ විශේෂාංග ගැන තැකීමක් කළේ නැත. සියල්ලට පසු, D3D 10 දෘඩාංග D3D 9 යෙදුම් ඉතා හොඳින් ක්රියාත්මක විය. PC-to-console ports (හෝ PC සංවර්ධකයින් විසින් කොන්සෝලය සංවර්ධනය කිරීම සඳහා නැව පනිනවා. ඔබේ තේරීම ගන්න), සංවර්ධකයින්ට D3D 10 පන්තියේ විශේෂාංග අවශ්ය නොවීය.
දැන්, සංවර්ධකයින්ට වින්එක්ස්පී යන්ත්ර මත ඕපන් ජීඑල් හරහා මීට පෙර එම විශේෂාංග වෙත ප්රවේශය තිබුනේ නම්, ඕපන් ජීඑල් සංවර්ධනයට අත්යවශ්ය අතක් ලබා ගත හැකිය. නමුත් ARB ඔවුන්ගේ අවස්ථාව මග හැරියේය. නරකම කොටස දැන ගැනීමට ඔබට අවශ්යද?
මුල සිටම API නැවත ගොඩනඟා ගැනීමට වටිනා වසර දෙකක් ගත කළද ... ඒවා තවමත් අසාර්ථක වී යථා තත්ත්වයට පත් විය (ක්ෂය කිරීමේ යාන්ත්රණයක් හැර).
ඒ නිසා ARB හට තීරණාත්මක අවස්ථාවක් අහිමි වූවා පමණක් නොව , එම අවස්ථාව මග හැරීමට හේතු වූ කාර්යය පවා ඔවුන් ඉටු කළේ නැත. බොහෝ වීර කාව්යයන් අසාර්ථක වේ.
ඕපන් ජීඑල් එදිරිව ඩිරෙක්ට් 3 ඩී කතාව එයයි. මඟ හැරුණු අවස්ථා, දළ මෝඩකම, හිතාමතාම අන්ධ වීම සහ සරල මෝඩකම පිළිබඳ කතාවකි.
Which they, in all of Microsoft's collective imagination, called... the High Level Shading Language (HLSL).
මේ සඳහා මිනිත්තු 6 කට වඩා වැඩි කාලයක් ලොල් කර ඇත.
සෑම කෙනෙකුම පරිශීලක පදනම කෙරෙහි අවධානය යොමු කිරීම මට පුදුමයක් විය, ප්රශ්නය 'ක්රීඩා සංවර්ධකයින්' මිස 'ක්රීඩා සංස්කාරකවරුන්' නොවේ.
මට නම්, සංවර්ධකයෙකු ලෙස ලිනක්ස් යනු ලේවැකි අවුලකි. බොහෝ සංස්කරණ, ඩෙස්ක්ටොප් කළමණාකරුවන්, යූඅයි කට්ටල යනාදිය ඇත ... මගේ වැඩ විවෘත මූලාශ්රයක් ලෙස බෙදා හැරීමට මට අවශ්ය නැතිනම්, පරිශීලකයාට නැවත සකස් කිරීමට (උත්සාහ කිරීමට) හැකි වන පරිදි එය ඔහුගේ අද්විතීය පැකේජ, පුස්තකාල සහ සැකසුම්, එය බියකරු සිහිනයක් !
අනෙක් අතට, මයික්රොසොෆ්ට් (බොහෝ විට) ඇදහිය නොහැකි පසුගාමී අනුකූලතාව සහ වේදිකා ස්ථායිතාව සපයයි. එක් සංවෘත ප්රභව ස්ථාපකයක් සමඟ මුළු පරාසයේම යන්ත්ර ඉලක්ක කර ගත හැකිය, නිදසුනක් ලෙස වින්ඩෝස් එක්ස්පී, විස්ටා සහ 7, 32 සහ 64 බිට් රසයන් ධාවනය වන පරිගණක, නිසි ඩීඑක්ස් හෝ වීසී නැවත බෙදාහැරීම් ස්ථාපනය නොකර, ආදිය ...
අන්තිම කාරණය, විවෘත හා ඩිරෙක්ටෙක්ස් සංසන්දනය කරමින් අන්තර්ජාල නැවතුම්පොළේ සෑම කෙනෙකුටම කරුණාකරලා! එක්කෝ Direct3D එදිරිව OpenGL සංසන්දනය කරන්න හෝ මෙය නොකරන්න . ඩිරෙක්ට්එක්ස් විසින් OpenGL නොකරන ආදාන සහාය, ශබ්ද සහාය, චිත්රපට වාදනය යනාදිය සපයයි.
එයට හේතුව ලිනක්ස් සහ මැක් වලට වඩා වින්ඩෝස් භාවිතා කරන්නන් පෘථිවියේ සිටින බැවිනි. සත්යය නම් මිනිසුන් විශාලතම වෙළඳපොල ඇති ඕනෑම දෙයක් සඳහා දේවල් සාදයි.
ජංගම දුරකථන සම්බන්ධයෙන්ද එය එසේම වේ: ඇන්ඩ්රොයිඩ් සහ අයිෆෝන් සතුව නියම ක්රීඩා ඇති නමුත් වින්ඩෝස් මොබයිල් සහ සිම්බියන් ...
වින්ඩෝස් සතුව 90% කට වඩා වෙළඳපල කොටසක් ඇති අතර, ලිනක්ස් (ඔබ විශේෂයෙන් ලිනක්ස් ගැන විමසූ බැවින්) මෘදුකාංග සඳහා ගෙවීමට අකමැති බොහෝ පරිශීලකයින් සිටීම සඳහා කීර්තියක් ඇත. එය සත්යද නැද්ද යන්න කොතරම් සත්යයක්ද යන්න අදාළ නොවේ. සංජානනය පවතින අතර එය මිනිසුන්ගේ තීරණ වලට බලපෑම් කරයි.
වින්ඩෝස් විශාල සංවිධානයක පිටුබලය ඇති නිසා, දශකයකට වැඩි කාලයකට පෙර තීරණය කළේ ඔවුන්ගේ වේදිකාවේ ක්රීඩා සංවර්ධනය සිදුවීමට අවශ්ය බවය .
මෙය මැක් සඳහා සත්ය නොවන අතර එය දැන් සත්ය නොවේ. IOS සඳහා පවා නොවේ. ඇපල් iOS ක්රීඩා සංවර්ධනය සඳහා මෙවලම් සපයන්නේ නැත. නමුත් එය විශාල වෙළඳපලක් (1995 දී පළාත් සභා තිබුනාට වඩා වැඩි අයිෆෝන් තිබේ) සාපේක්ෂව සුළු තරඟකාරිත්වයක් ඇති බැවින් මිනිසුන් එය කෙසේ හෝ කරයි.
ලිනක්ස් සම්බන්ධයෙන් ගත් කල, කිසියම් ආකාරයක ප්රමුඛතාවයක් සැකසිය හැකි යම් ආකාරයක මධ්යම ආයතනයක් පවා නොමැත. ලිනක්ස් යන දිශාව වඩා හොඳ, නමුත් තරමක් අනාරක්ෂිත ක්රමලේඛකයින් සමූහයක් විසින් තීරණය කරනු ලැබේ.
අද PC ක්රීඩාවක් නිර්මාණය කිරීම සඳහා, ඔබට 2d / 3d කලාකරුවන්, ක්රීඩා නිර්මාණකරුවන්, පිටපත් රචකයින්, නළුවන්, පරීක්ෂකයින් සහ නොකළ යුතු දේ අවශ්ය වේ. සත්ය ක්රමලේඛනය සම්බන්ධයෙන් ගත් කල, ඔබට සරල ක්රීඩා එන්ජිමක් භාවිතා කළ හැකිය (CryEngine, Unreal Engine, Quake Engine, Source Engine). එබැවින් ඔබට සැබෑ ක්රමලේඛකයන් නොමැතිව සම්පූර්ණ දේම කළ හැකිය.
එම හේතුව නිසා සහ ව්යාපාරවල ස්වභාවය නිසා, කුමන වේදිකාව තෝරා ගන්නේද යන්න ක්රමලේඛකයන්ට එතරම් අවබෝධයක් නැත. සාමාන්යයෙන්, කළමනාකරුවන් සහයෝගය සොයන අතර එය මයික්රොසොෆ්ට් විසින් පිරිනමනු ලබන දෙයක් වන අතර විවෘත මූලාශ්රයක් නොවන ඔවුන්ගේ සිතුවිලි වලට කෙසේ හෝ අල්ලා ගත හැකි දේවල් සමඟ කටයුතු කරයි.
එම හේතුව නිසා බොහෝ වාණිජ අවසන් පරිශීලක මෘදුකාංග සංවර්ධනය කවුළු මත සිදු කෙරේ.
මම ෆ්ලෑෂ් ක්රීඩා නිර්මාණය කරන සමාගමක් සඳහා වැඩ කරන අතර එමඟින් විශේෂිත වේදිකාවක් සමඟ බැඳී නොමැත. කෙසේ වෙතත්, අප සියල්ලන්ම ජනේල මත වර්ධනය වේ, මන්ද අප භාවිතා කරන බොහෝ මෙවලම් ලිනක්ස් සඳහා ලබා ගත නොහැක.
සමහරු දැනටමත් පවසා ඇති පරිදි, වඩාත්ම වැදගත් කොටස වන්නේ පරිශීලක පදනමයි. පළාත් සභා භාවිතා කරන්නන්ගෙන් 95% ක් වින්ඩෝස් භාවිතා කරයි. පළාත් සභා ක්රීඩකයින් වින්ඩෝස් භාවිතා කරයි. මැක් හෝ ලිනක්ස් භාවිතා කරන අය පවා බොහෝ විට වින්ඩෝස් ක්රීඩා සමහර අථත්යකරණය හෝ අනුකරණයන් හරහා ධාවනය කරයි (ඉතා සුළු ව්යතිරේකයන් සහිතව).
නමුත් ජන විකාශනය යනු සියල්ලම නොවේ. ක්රීඩා සංවර්ධකයින් සඳහා වේදිකාව වඩාත් ආකර්ශනීය කිරීමට මයික්රොසොෆ්ට් කරන කොටස මම අවතක්සේරු නොකරමි. මූලික වශයෙන් ඔබට අංග සම්පූර්ණ මෙවලම් කට්ටලයක් නොමිලේ ලැබෙනු ඇත , වඩාත්ම වැදගත් වන්නේ XNA ගේම් ස්ටුඩියෝ ය . මෙය වින්ඩෝස් සඳහා පමණක් නොව එක්ස්බොක්ස් 360 සඳහාද සංවර්ධනය කිරීමට ඉඩ සලසයි . WP7 දුරකථන සඳහා පවා නවතම සංස්කරණය සමඟ. නිසැකවම එය මයික්රොසොෆ්ට් මෙවලම බැවින් එය භාවිතා කරන්නේ ඩිරෙක්ට්එක්ස් මිස ඕපන් ජීඑල් නොවේ.
එව්ව්, මම නැහැ. මම ලිනක්ස් භාවිතා කරන්නේ සම්පූර්ණයෙන්ම පාහේ ය. වින්ඩෝස් සෑදීම සඳහා මම වින්ඩෝස් වෙත ද්වි-ඇරඹීමි, සහ මැක් බිල්ඩ් සඳහා මැක් භාවිතා කරමි, නමුත් එය එයයි.
උපක්රමය යනු වසර ගණනාවක් තිස්සේ අප විසින් වර්ධනය කරන ලද හරස් වේදිකා රාමුවකි. අපගේ ක්රීඩා ගොඩනඟා ඇත්තේ ඊට ඉහළින් වන අතර ලිනක්ස් / ඕපන් ජීඑල්, මැක් / ඕපන් ජීඑල් සහ වින්ඩෝස් / ඩිරෙක්ට් 3 ඩී (හා ඉක්මනින් iOS / OpenGL හි) සමාන ලෙස හැසිරේ.
මගේ සමාගම AAA මාතෘකා නොකරන බව පිළිගත යුතුය, එබැවින් එය මේවාට අදාළ නොවනු ඇත, නමුත් අපි ඉහළම අනියම් ක්රීඩා කරන්නෙමු ( වෙබ් අඩවිය බලන්න - CSI: NY, Murder She Wrote සහ එළඹෙන 2011s දෙක වැදගත් බලපත්ර භාවිතා කරන මාතෘකා සඳහා උදාහරණ වේ, The ෂර්ලොක් හෝම්ස් 1 සහ 2 නැතිවූ අවස්ථා ද සාර්ථක විය)
මම වෙන කිසිම දෙයකට gedit + gcc + gdb + valgrind අත්හරින්නේ නැහැ.
මේ දිනවල ලිනක්ස් ක්රීඩා සංවර්ධනය සම්බන්ධයෙන් කුතුහලය දනවන කරුණක් වන අතර බොහෝ සංවර්ධකයින් ලිනක්ස් අනුවාදයකට පෙර OS X පෝට් අනුවාදයක් මූල්යමය වශයෙන් කිරීම වඩා හොඳ වනු ඇත (වාෂ්ප වැනි දේ බලන්න). එසේ වුවද, ක්රීඩා සඳහා ඒකාබද්ධ වූ මෙම වේදිකා දෙකට වඩා කොන්සෝල වෙළඳපොළ වටී ...
ඔබට මොනෝ වේදිකාවක් කිරීමට අවශ්ය නම් ඩිරෙක්ට්එක්ස් හොඳයි. ඔබට හරස් වේදිකාවක් වීමට අවශ්ය නම් ඔබට අවම වශයෙන් වෙනත් වේදිකා කිහිපයකම OpenGL සමඟ යාමට සිදුවනු ඇත.
පිළිතුර පැහැදිලිය. ක්රීඩාවක් ලිවීමේ පරමාර්ථය මුදල් ඉපයීමයි. වැඩි පරිශීලකයින් වින්ඩෝස් ධාවනය කරයි, එබැවින් විශාල වෙළඳපලක් ඇති අතර ඔබ ලිනක්ස් ක්රීඩාවකට වඩා වින්ඩෝස් ක්රීඩාවෙන් වැඩි මුදලක් උපයා ගැනීමට අපේක්ෂා කරයි. එය එතරම් සරල ය.
'යමෙකු එසේ කරන්නේ ඇයි ...' යන ප්රශ්නය ඔබ ඔබෙන්ම ඇසුවොත්, මුදල් ලෝකය වටා ගමන් කරන බව මතක තබා ගන්න.
මෙවලම්, මෙවලම්, මෙවලම්.
එය පහළට පැමිණෙන්නේ එයයි. වින්ඩෝස් මත සංවර්ධනය කරන්න, ඔබට පෘථිවියේ ඇති හොඳම සංවර්ධන මෙවලම් කිහිපයකට ප්රවේශය ලැබේ. විෂුවල් ස්ටුඩියෝ හි නිදොස්කරණයට ආසන්නව කිසිවක් නැත, ඩිරෙක්ට්එක්ස් නිදොස් කිරීමේ ධාවන වේලාවන් නියමයි, පික්ස් නියමයි, සහ සැසඳිය හැකි සමානකම් වෙනත් වේදිකා / ඒපීඅයි වල නොපවතී. ෂුවර්, එහි හොඳ දේවල් තිබේ; වෙනත් වේදිකාවල ඇති මෙවලම් නරක යැයි මම නොකියමි, නමුත් එම්එස් සපයන ඒවා ඇසුරුමට වඩා බොහෝ ඉදිරියෙන් සිටී (ගෞරවනීය ව්යතිරේකය: වැල්ග්රින්ඩ්) එය විහිලුවක්වත් නොවේ.
බොටම් ලයින් යනු මෙම මෙවලම් ඔබට උපකාර කිරීමයි. ඒවා ඔබට දේවල් කිරීමට උදව් කරයි, ඒවා ඔබට tive ලදායී වීමට උදව් කරයි, ලේඛනගත කර ඇති ආකාරයට කිසි විටෙකත් හැසිරෙන්නේ නැති API සමඟ පොරබැදීමට වඩා ඔබේ කේතයේ දෝෂ කෙරෙහි අවධානය යොමු කිරීමට ඒවා ඔබට උදව් කරයි.
ඒ නිසා මම මේ සියලු පිළිතුරු ඉක්මවා ගොස් ඇති අතර, වෝල්මාර්ට් රාක්කවල ඇති කොන්සෝල ක්රීඩා පිළිබඳ කේත ඇති ක්රීඩා සංවර්ධකයෙකු ලෙස මට වඩා වෙනස් පිළිතුරක් ඇත.
බෙදා හැරීම.
බලන්න, ඔබට නින්ටෙන්ඩෝ කොන්සෝලයක සිටීමට අවශ්ය නම්, ඔබට නින්ටෙන්ඩෝගේ අවසරය ලබා ගත යුතුය, නින්ටෙන්ඩෝගේ කර්මාන්තශාලා වලින් මිලදී ගත යුතුය, නින්ටෙන්ඩෝගේ පොදු මුදල් ගෙවිය යුතුය, වෝල්මාර්ට් සමඟ සාකච්ඡා කරන්න, ගබඩාව සමඟ ගනුදෙනු කරන්න, නිෂ්පාදනය කිරීමට, පෙට්ටි මුද්රණය කිරීමට, නැව්ගත කිරීමට ඔබට ඉදිරියෙන් මුදල් අවශ්ය වේ. , සියලු රක්ෂණයක් කිරීමට, සහ.
ඔබට එක්ස්බොක්ස් වෙත අවශ්ය නම්, එක්ස්බීඑල්ඒ ඇති බව සහතිකයි, නමුත් ඔබට තවමත් මයික්රොසොෆ්ට් හි ආශිර්වාදය අවශ්යයි, ඔබේ වාරය එනතුරු බලා සිටිය යුතුය, පැච් එකක් නිකුත් කිරීමට ඩොලර් දස දහස් ගණනක් ය.
IOS හි, ඔබට තවමත් ඇපල් අවශ්යය, ඔවුන්ට ඔබට (හා කළ හැකිය) චපල ලෙස ඔබව ඇද ගත හැකිය.
වාෂ්ප මත, ඔබට තවමත් කපාටයේ අවසරය හෝ හරිත එළිය සහ බොහෝ මුදල් අවශ්ය වේ.
.
වින්ඩෝස් වලද? ඔබ වෙබ් අඩවියක් සහ බාගැනීම් බොත්තමක් සකසා ඇත.
.
මම කියන්නේ නැහැ අනෙක් වේදිකා වටිනා නැහැ කියලා. නමුත් එසේ තිබේ මට, කිරීමට හැකි වීම පොරොන්දුව පමණක් වැඩ කටයුතු මත වෙබ් අඩවිය හා අවධානය යොමු මත ද්විමය කම්මුලට ගහනවා බව ඔබ ක්රීඩාවක් වර්ධනය කර ගැනීමට උත්සාහ කරන විට සිදු වෙමින් * බොහෝ * අප්රසන්න දේවල්, - අවම වශයෙන් ආරම්භ කිරීම - සැබවින්ම අසාර්ථක බාධක ගොඩක් අඩු කරයි.
"දේවල් ස්ථාවර වූ විට අපට පසුව XBLA වරාය කළ හැකිය" මානසිකත්වය.
යම් තරමකට මෙය ලිනක්ස් සඳහාද හොඳ බව විශ්වාසයි. ගනුදෙනුකරුවන් හත් දෙනෙක් හොඳ නම් ඔබට එහි ආරම්භ කළ හැකිය.
නමුත් වින්ඩෝස් සතුව දැවැන්ත වාසි තුනක් ඇත: අව්යාජ විවෘත සංවර්ධනය, අව්යාජව විවෘත යෙදවීම සහ විචක්ෂණශීලී දේවල් කෙරෙහි උනන්දුවක් දක්වන ඉතා විශාල, ඉතා ක්රියාකාරී පාරිභෝගික පදනමක්.
මම ආරම්භ කරන්නේ වෙන කොතැනින්දැයි සිතීම දුෂ්කර ය.
ඩිරෙක්ට්එක්ස් හි ඉතිහාසය සහ මෙම ලිපිය ගැන ඔබ වැඩිදුර කියවිය යුතු යැයි මම සිතමි .
මම හිතන්නේ එම්එස් ඕපන් ජීඑල් වලට වඩා ඩීඑක්ස් තෝරා ගත්තේ ඔවුන් තමන්ගේ මෙහෙයුම් පද්ධතිය භාවිතා කිරීමට මිනිසුන්ව අගුළු දැමීමට කැමති නිසාය.
දේශපාලනය හා පාලනය සමඟ බොහෝ දේ කළ යුතුය. 90 දශකයේ අගභාගයේදී, SGI සහ MS සැබවින්ම උත්සාහයන් ඒකාබද්ධ කිරීමට එකඟ විය:
http://en.wikipedia.org/wiki/Fahrenheit_graphics_API
SGI මෙම ව්යාපෘතිය සඳහා විශාල වශයෙන් ආයෝජනය කළ නමුත් එම්.එස්. SGI ට MS ට වඩා MS අවශ්ය විය. ඉතිරිය ඉතිහාසයයි.
D3D සහ OpenGL යනු එකිනෙකට වෙනස් API දෙකකි, ඔබේ අවශ්යතාවන්ට ගැලපෙන දේ තෝරා ගැනීම සංවර්ධකයා සතුය.
ඩෙස්ක්ටොප් පද්ධතියක් ලෙස ලිනක්ස් දරුණු ලෙස අසමත් වූ නිසා. කවුරුහරි කලින් පෙන්වා දුන් පරිදි ලිනක්ස් යනු සංවර්ධකයින් සඳහා අවුල් ජාලයකි (විවිධ පුස්තකාල, යූ මෙවලම් කට්ටල ආදිය)
තවත් ගැටළුවක් වන්නේ ෆ්රීටාර්ඩිස්වාදය සහ හිමිකාර මෘදුකාංග සඳහා සහය නොලැබීමයි. එන්වීඩියා සෑම විටම ලිනක්ස් සඳහා හොඳ (හිමිකාර) ධාවක සපයයි, කෙසේ වෙතත් උබුන්ටු සහ අනෙකුත් ඩිස්ට්රෝස් එය නැව්ගත නොකරයි. වින්ඩෝස් සඳහා ලිනක්ස් සඳහා ද්විමය ධාවක අතුරු මුහුණතක් ද නොමැත. (BinaryApiNonsense.txt නමින් පෙළ ගොනුවක් හෝ කර්නල් ප්රභවයන්හි යමක් තිබේ) ලිනක්ස් යටතේ නිසි ලෙස සහාය දක්වන්නේ එන්වීඩියා දෘඩාංග පමණක් බව පැවසීමෙන් පසු. ලිනක්ස් යටතේ එන්වීඩියා දෘඩාංග භාවිතයෙන් ඔබට බොහෝ හැඳුනුම් මෘදුකාංග ක්රීඩා කළ හැකිය.
ඊළඟට සංවර්ධන මෙවලම්. MSFT විශිෂ්ට C ++ සහය ලබා දෙන අතර දෘශ්ය ස්ටුඩියෝ නිදොස්කරණය C ++ සම්බන්ධයෙන් gdb වඩා හොඳය. ෆොටෝෂොප් වැනි තවත් මෙවලම් අස්ථානගත වී ඇත. එසේම .net ඔබට ඉක්මනින් ගු මෙවලම් නිර්මාණය කිරීමට ඉඩ දෙයි. බොහෝ ක්රීඩා චිත්රාගාර .net රාමුව භාවිතයෙන් අභ්යන්තර භාවිතය සඳහා ඔවුන්ගේ මෙවලම් කේත කරයි.
මට බොහෝ දුරට අමතක වී ඇත: ග්රැෆික් ක්රමය බිහිසුණු ය, ඔවුන් දැන් X11 වරාය කළ දිනවල එය ක්රියාත්මක වූ පහසුම දේ නිසා ය. OSx සහ Win සතුව ඇති නවීන ග්රැෆික් පද්ධතියක් නිසි ලෙස සැලසුම් කිරීමට සහ ක්රියාත්මක කිරීමට ඔවුන් අසමත් විය.