ഗെയിമിലെ ഷേഡറുകൾ എന്തൊക്കെയാണ്? ലളിതമായ വാക്കുകളിൽ ഷേഡറുകൾ എന്തൊക്കെയാണ്? ഷേഡറുകൾ എങ്ങനെ ഉപയോഗിക്കാം

ആമുഖം

ഗെയിമിംഗ് ഉൾപ്പെടെയുള്ള 3D ഗ്രാഫിക്‌സിന്റെ ലോകം നിബന്ധനകളാൽ നിറഞ്ഞിരിക്കുന്നു. എല്ലായ്പ്പോഴും ശരിയായ നിർവചനം ഇല്ലാത്ത നിബന്ധനകൾ. ചിലപ്പോൾ ഒരേ കാര്യങ്ങൾ വ്യത്യസ്തമായി വിളിക്കപ്പെടുന്നു, തിരിച്ചും, ഗെയിം ക്രമീകരണങ്ങളിൽ ഒരേ ഇഫക്റ്റ് "HDR", തുടർന്ന് "ബ്ലൂം", തുടർന്ന് "ഗ്ലോ", അല്ലെങ്കിൽ "പോസ്റ്റ്പ്രൊസസ്സിംഗ്" എന്നിവയിൽ വിളിക്കാം. ഭൂരിഭാഗം ആളുകളും, അവരുടെ ഗ്രാഫിക്‌സ് എഞ്ചിനിൽ എന്താണ് നിർമ്മിച്ചതെന്ന് ഡവലപ്പർമാരുടെ വീമ്പിളക്കൽ മുതൽ, അവർ യഥാർത്ഥത്തിൽ എന്താണ് ഉദ്ദേശിച്ചതെന്ന് മനസ്സിലാകുന്നില്ല.

ഈ പദങ്ങളിൽ ചിലത് എന്താണ് അർത്ഥമാക്കുന്നത് എന്ന് മനസിലാക്കാൻ നിങ്ങളെ സഹായിക്കുന്നതാണ് ലേഖനം, മിക്കപ്പോഴും ഇത്തരം സന്ദർഭങ്ങളിൽ ഉപയോഗിക്കുന്നു. ഈ ലേഖനത്തിന്റെ ചട്ടക്കൂടിനുള്ളിൽ, ഞങ്ങൾ 3D ഗ്രാഫിക്‌സിന്റെ എല്ലാ നിബന്ധനകളെക്കുറിച്ചും സംസാരിക്കില്ല, എന്നാൽ ഗെയിം ഗ്രാഫിക്‌സ് എഞ്ചിനുകളിലും ആധുനിക ഗെയിമുകളുടെ ഗ്രാഫിക് ക്രമീകരണങ്ങളുടെ പേരുകളിലും ഉപയോഗിക്കുന്ന വ്യതിരിക്തമായ സവിശേഷതകളും സാങ്കേതികവിദ്യകളും എന്ന നിലയിൽ അടുത്തിടെ കൂടുതൽ വ്യാപകമായവയെക്കുറിച്ചാണ്. ആരംഭിക്കുന്നതിന്, നിങ്ങൾ സ്വയം പരിചയപ്പെടാൻ ഞാൻ ശക്തമായി ശുപാർശ ചെയ്യുന്നു.

ഈ ലേഖനത്തിലും അലക്സാണ്ടറുടെ ലേഖനങ്ങളിലും എന്തെങ്കിലും നിങ്ങൾക്ക് വ്യക്തമല്ലെങ്കിൽ, ആദ്യം മുതൽ ആരംഭിക്കുന്നത് അർത്ഥമാക്കുന്നു. ഈ ലേഖനങ്ങൾ ഇതിനകം തന്നെ കാലഹരണപ്പെട്ടതാണ്, പക്ഷേ അടിസ്ഥാനപരവും അടിസ്ഥാനപരവും പ്രധാനപ്പെട്ടതുമായ ഡാറ്റ അവിടെയുണ്ട്. ഞങ്ങൾ കൂടുതൽ "ഉയർന്ന തലത്തിലുള്ള" നിബന്ധനകളെക്കുറിച്ച് സംസാരിക്കും. തത്സമയ 3D ഗ്രാഫിക്‌സിനെ കുറിച്ചും ഗ്രാഫിക്‌സ് പൈപ്പ്‌ലൈനിനെ കുറിച്ചും നിങ്ങൾക്ക് അടിസ്ഥാന ധാരണ ഉണ്ടായിരിക്കണം. മറുവശത്ത്, ഗണിത സൂത്രവാക്യങ്ങളും അക്കാദമിക് കൃത്യതയും കോഡ് ഉദാഹരണങ്ങളും പ്രതീക്ഷിക്കരുത് - ഈ ലേഖനം ഉദ്ദേശിച്ചത് അതല്ല. നിബന്ധനകൾ

ലേഖനത്തിൽ വിവരിച്ചിരിക്കുന്ന നിബന്ധനകളുടെ പട്ടിക:

ഷേഡർ

വിശാലമായ അർത്ഥത്തിൽ, ഒരു വസ്തുവിന്റെ ഉപരിതലം ദൃശ്യപരമായി നിർണ്ണയിക്കുന്നതിനുള്ള ഒരു പ്രോഗ്രാമാണ് ഷേഡർ. ഇത് ലൈറ്റിംഗ്, ടെക്സ്ചറിംഗ്, പോസ്റ്റ്-പ്രോസസ്സിംഗ് മുതലായവയുടെ വിവരണമായിരിക്കാം. കുക്ക് (കുക്കിന്റെ തണൽ മരങ്ങൾ), പെർലിൻ (പെർലിന്റെ പിക്സൽ സ്ട്രീം ഭാഷ) എന്നിവയിൽ നിന്നാണ് ഷേഡറുകൾ വളർന്നത്. ഇക്കാലത്ത് ഏറ്റവും പ്രശസ്തമായ ഷേഡറുകൾ റെൻഡർമാൻ ഷേഡിംഗ് ലാംഗ്വേജ് ആണ്. പ്രോഗ്രാമബിൾ ഷേഡറുകൾ ആദ്യമായി അവതരിപ്പിച്ചത് പിക്സറിന്റെ റെൻഡർമാനിലാണ്, നിരവധി തരം ഷേഡറുകൾ അവിടെ നിർവചിക്കപ്പെട്ടിട്ടുണ്ട്: വെളിച്ചം സോഴ്‌സ് ഷേഡറുകൾ, ഉപരിതല ഷേഡറുകൾ, ഡിസ്‌പ്ലേസ്‌മെന്റ് ഷേഡറുകൾ, വോളിയം ഷേഡറുകൾ, ഇമേജർ ഷേഡറുകൾ. ഈ ഷേഡറുകൾ മിക്കപ്പോഴും സോഫ്‌റ്റ്‌വെയറിൽ പൊതു-ഉദ്ദേശ്യ പ്രോസസറുകളാൽ നിർവ്വഹിക്കപ്പെടുന്നു, കൂടാതെ പൂർണ്ണ ഹാർഡ്‌വെയർ നിർവ്വഹണമില്ല. തുടർന്ന്, നിരവധി ഗവേഷകർ RenderMan-ന് സമാനമായ ഭാഷകൾ വിവരിച്ചു, പക്ഷേ അവ ഹാർഡ്‌വെയർ ത്വരിതപ്പെടുത്തലിനായി ഇതിനകം രൂപകൽപ്പന ചെയ്‌തിട്ടുണ്ട്: പിക്‌സൽഫ്ലോ സിസ്റ്റം (ഒലാനോ, ലാസ്‌ട്ര), ക്വാക്ക് ഷേഡർ ലാംഗ്വേജ് (മൾട്ടി-പാസ് റെൻഡറിംഗിനെ വിവരിച്ച ക്വാക്ക് III ഗെയിമിന്റെ ഗ്രാഫിക്‌സ് എഞ്ചിനിലെ ഐഡി സോഫ്റ്റ്‌വെയർ ഉപയോഗിക്കുന്നു), മുതലായവ. ഒന്നിലധികം റെൻഡറിംഗ് പാസുകൾ ഉപയോഗിച്ച് പരമ്പരാഗത ഹാർഡ്‌വെയർ ആർക്കിടെക്ചറുകളിൽ പ്രവർത്തിക്കാൻ ലൂപ്പുകളും വ്യവസ്ഥകളുമുള്ള പ്രോഗ്രാമുകളെ അനുവദിക്കുക RenderMan ഷേഡറുകൾ ഒരു ഫ്രെയിംബഫറിൽ സംയോജിപ്പിച്ച് നിരവധി പാസുകളായി തിരിച്ചിരിക്കുന്നു. പിന്നീട്, DirectX, OpenGL എന്നിവയിൽ ഹാർഡ്‌വെയർ ത്വരിതപ്പെടുത്തിയതായി ഭാഷകൾ പ്രത്യക്ഷപ്പെട്ടു. തത്സമയ ഗ്രാഫിക്സ് ആപ്ലിക്കേഷനുകൾക്കായി ഷേഡറുകൾ രൂപപ്പെടുത്തിയത് ഇങ്ങനെയാണ്.

ആദ്യകാല വീഡിയോ ചിപ്പുകൾ പ്രോഗ്രാമബിൾ ആയിരുന്നില്ല, കൂടാതെ പ്രീ-പ്രോഗ്രാം ചെയ്ത പ്രവർത്തനങ്ങൾ (ഫിക്സഡ് ഫംഗ്ഷൻ) മാത്രം നിർവഹിച്ചു, ഉദാഹരണത്തിന്, ലൈറ്റിംഗ് അൽഗോരിതം ഹാർഡ്‌വെയറിൽ കർശനമായി ഉറപ്പിച്ചു, ഒന്നും മാറ്റാൻ കഴിഞ്ഞില്ല. തുടർന്ന്, വീഡിയോ ചിപ്പ് നിർമ്മാതാക്കൾ ക്രമേണ അവരുടെ ചിപ്പുകളിലേക്ക് പ്രോഗ്രാമബിലിറ്റി ഘടകങ്ങൾ അവതരിപ്പിച്ചു, ആദ്യം ഇവ വളരെ ദുർബലമായ കഴിവുകളായിരുന്നു (NVIDIA GeForce 256 എന്നറിയപ്പെടുന്ന NV10, ഇതിനകം തന്നെ ചില പ്രാകൃത പ്രോഗ്രാമുകൾക്ക് പ്രാപ്തമായിരുന്നു), മൈക്രോസോഫ്റ്റ് DirectX API-യിൽ സോഫ്റ്റ്വെയർ പിന്തുണ ലഭിച്ചില്ല. , എന്നാൽ കാലക്രമേണ, സാധ്യതകൾ നിരന്തരം വികസിച്ചു. അടുത്ത ഘട്ടം NV20 (GeForce 3), NV2A (Microsoft Xbox ഗെയിം കൺസോളിൽ ഉപയോഗിക്കുന്ന വീഡിയോ ചിപ്പ്) എന്നിവയ്ക്കായിരുന്നു, ഇത് DirectX API ഷേഡറുകൾക്കുള്ള ഹാർഡ്‌വെയർ പിന്തുണയുള്ള ആദ്യ ചിപ്പുകളായി മാറി. DirectX 8-ൽ പ്രത്യക്ഷപ്പെട്ട ഷേഡർ മോഡൽ 1.0/1.1, വളരെ പരിമിതമായിരുന്നു; ഓരോ ഷേഡറിനും (പ്രത്യേകിച്ച് പിക്സൽ ഷേഡറുകൾ) ദൈർഘ്യം താരതമ്യേന ചെറുതും വളരെ പരിമിതമായ ഒരു കൂട്ടം കമാൻഡുകൾ സംയോജിപ്പിക്കാനും കഴിയും. തുടർന്ന്, ഷേഡർ മോഡൽ 1 (ചുരുക്കത്തിൽ SM1) Pixel Shaders പതിപ്പ് 1.4 (ATI R200) ​​ഉപയോഗിച്ച് മെച്ചപ്പെടുത്തി, ഇത് കൂടുതൽ വഴക്കം വാഗ്ദാനം ചെയ്തു, എന്നാൽ കഴിവുകളിൽ വളരെ പരിമിതമായിരുന്നു. സാർവത്രിക പ്രോസസ്സറുകൾക്ക് അസംബ്ലി ഭാഷയോട് അടുത്ത് നിൽക്കുന്ന അസംബ്ലി ഷേഡർ ഭാഷയിൽ അക്കാലത്തെ ഷേഡറുകൾ എഴുതിയിട്ടുണ്ട്. അതിന്റെ താഴ്ന്ന നില കോഡും പ്രോഗ്രാമിംഗും മനസ്സിലാക്കുന്നതിന് ചില ബുദ്ധിമുട്ടുകൾ ഉണ്ടാക്കുന്നു, പ്രത്യേകിച്ചും പ്രോഗ്രാം കോഡ് വലുതായിരിക്കുമ്പോൾ, കാരണം ഇത് ആധുനിക പ്രോഗ്രാമിംഗ് ഭാഷകളുടെ ചാരുതയിൽ നിന്നും ഘടനയിൽ നിന്നും വളരെ അകലെയാണ്.

DirectX 9-ൽ പ്രത്യക്ഷപ്പെട്ട ഷേഡർ മോഡൽ 2.0 (SM2), (ATI R300 വീഡിയോ ചിപ്പ് പിന്തുണച്ചിരുന്നു, ഇത് ഷേഡർ മോഡൽ പതിപ്പ് 2.0-നെ പിന്തുണയ്ക്കുന്ന ആദ്യത്തെ GPU ആയിത്തീർന്നു), ദൈർഘ്യമേറിയതും അതിലേറെയും വാഗ്ദാനം ചെയ്യുന്ന തത്സമയ ഷേഡറുകളുടെ കഴിവുകൾ ഗൗരവമായി വിപുലീകരിച്ചു. സങ്കീർണ്ണമായ ഷേഡറുകളും ശ്രദ്ധേയമായി വിപുലീകരിച്ച ഒരു കൂട്ടം കമാൻഡുകളും. പിക്സൽ ഷേഡറുകളിൽ ഫ്ലോട്ടിംഗ് പോയിന്റ് കണക്കാക്കാനുള്ള കഴിവ് ചേർത്തു, ഇത് ഒരു പ്രധാന മെച്ചപ്പെടുത്തൽ കൂടിയാണ്. SM2 ന്റെ കഴിവുകൾ പ്രതിനിധീകരിക്കുന്ന DirectX 9, C ഭാഷയ്ക്ക് സമാനമായ ഉയർന്ന തലത്തിലുള്ള ഷേഡർ ഭാഷയും (HLSL) അവതരിപ്പിച്ചു. ഹാർഡ്‌വെയറിന് "മനസിലാക്കാവുന്ന" ലോ-ലെവൽ കോഡിലേക്ക് HLSL പ്രോഗ്രാമുകളെ വിവർത്തനം ചെയ്യുന്ന ഒരു കാര്യക്ഷമമായ കംപൈലറും. മാത്രമല്ല, വ്യത്യസ്ത ഹാർഡ്‌വെയർ ആർക്കിടെക്ചറുകൾക്കായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന നിരവധി പ്രൊഫൈലുകൾ ലഭ്യമാണ്. ഇപ്പോൾ, ഒരു ഡവലപ്പർക്ക് ഒരു HLSL ഷേഡർ കോഡ് എഴുതാനും ഉപയോക്താവിന്റെ ഇൻസ്റ്റാൾ ചെയ്ത വീഡിയോ ചിപ്പിനുള്ള ഒപ്റ്റിമൽ പ്രോഗ്രാമിലേക്ക് DirectX ഉപയോഗിച്ച് കംപൈൽ ചെയ്യാനും കഴിയും. അതിനുശേഷം, NVIDIA, NV30, NV40 എന്നിവയിൽ നിന്നുള്ള ചിപ്പുകൾ പുറത്തുവന്നു, ഇത് ഹാർഡ്‌വെയർ ഷേഡറുകളുടെ കഴിവുകൾ ഒരു പടി കൂടി മെച്ചപ്പെടുത്തി, അതിലും ദൈർഘ്യമേറിയ ഷേഡറുകൾ ചേർത്തു, വെർട്ടെക്സിലും പിക്സൽ ഷേഡറുകളിലും ഡൈനാമിക് ട്രാൻസിഷനുകളുടെ സാധ്യത, വെർട്ടെക്സ് ഷേഡറുകളിൽ നിന്ന് ടെക്സ്ചറുകൾ സാമ്പിൾ ചെയ്യാനുള്ള കഴിവ് തുടങ്ങിയവ. അതിനുശേഷം, ഗുണപരമായ മാറ്റങ്ങളൊന്നും ഉണ്ടായിട്ടില്ല, അവ 2006 അവസാനത്തോടെ DirectX 10-ൽ പ്രതീക്ഷിക്കുന്നു...

മൊത്തത്തിൽ, ഷേഡറുകൾ ഗ്രാഫിക്സ് പൈപ്പ്ലൈനിൽ വെർട്ടിസുകൾ രൂപാന്തരപ്പെടുത്തുന്നതിനും പ്രകാശിപ്പിക്കുന്നതിനും ഓരോ ആപ്ലിക്കേഷൻ ഡെവലപ്പർ ആഗ്രഹിക്കുന്ന രീതിയിൽ പിക്സൽ പ്രോസസ്സിംഗ് ഇഷ്ടാനുസൃതമാക്കുന്നതിനും നിരവധി പുതിയ കഴിവുകൾ ചേർത്തിട്ടുണ്ട്. എന്നിട്ടും, ഹാർഡ്‌വെയർ ഷേഡറുകളുടെ കഴിവുകൾ ഇപ്പോഴും ആപ്ലിക്കേഷനുകളിൽ പൂർണ്ണമായി വെളിപ്പെടുത്തിയിട്ടില്ല, കൂടാതെ ഓരോ പുതിയ തലമുറ ഹാർഡ്‌വെയറിലും അവയുടെ കഴിവുകൾ വർദ്ധിക്കുന്നതിനനുസരിച്ച്, ഗെയിമിംഗ് വീഡിയോ ആക്സിലറേറ്ററുകൾക്ക് ഒരു കാലത്ത് അപ്രാപ്യമെന്ന് തോന്നിയ അതേ റെൻഡർമാൻ ഷേഡറുകളുടെ നിലവാരം ഞങ്ങൾ ഉടൻ കാണും. ഇതുവരെ, ഹാർഡ്‌വെയർ വീഡിയോ ആക്സിലറേറ്ററുകൾ പിന്തുണയ്ക്കുന്ന തത്സമയ ഷേഡർ മോഡലുകളിൽ, രണ്ട് തരം ഷേഡറുകൾ മാത്രമേ നിർവചിച്ചിട്ടുള്ളൂ: കൂടാതെ (DirectX 9 API നിർവചനത്തിൽ). ഭാവിയിൽ, DirectX 10 ചേർക്കുമെന്ന് വാഗ്ദാനം ചെയ്യുന്നു.

വെർട്ടക്സ് ഷേഡർ

വെർട്ടെക്സ് ഷേഡറുകൾ വീഡിയോ ചിപ്പുകൾ ഉപയോഗിച്ച് നിർവ്വഹിക്കുന്ന പ്രോഗ്രാമുകളാണ് വെർട്ടീസുകൾ (ഗെയിമുകളിൽ 3D ഒബ്‌ജക്റ്റുകൾ നിർമ്മിക്കുന്ന വെർട്ടെക്സ്), മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, വെർട്ടിസുകളുടെയും അവയുടെ ലൈറ്റിംഗിന്റെയും പാരാമീറ്ററുകൾ മാറ്റുന്നതിന് പ്രോഗ്രാം ചെയ്യാവുന്ന അൽഗോരിതങ്ങൾ നിർവഹിക്കാനുള്ള കഴിവ് അവ നൽകുന്നു (T&L - രൂപാന്തരവും ലൈറ്റിംഗും) . ഓരോ ശീർഷവും നിരവധി വേരിയബിളുകളാൽ നിർണ്ണയിക്കപ്പെടുന്നു, ഉദാഹരണത്തിന്, 3D സ്‌പെയ്‌സിലെ ഒരു ശീർഷത്തിന്റെ സ്ഥാനം നിർണ്ണയിക്കുന്നത് കോർഡിനേറ്റുകളാണ്: x, y, z. വർണ്ണ സ്വഭാവസവിശേഷതകൾ, ടെക്സ്ചർ കോർഡിനേറ്റുകൾ മുതലായവ ഉപയോഗിച്ച് ലംബങ്ങളെ വിവരിക്കാം. വെർട്ടെക്സ് ഷേഡറുകൾ, അൽഗോരിതങ്ങളെ ആശ്രയിച്ച്, അവരുടെ ജോലി സമയത്ത് ഈ ഡാറ്റ മാറ്റുന്നു, ഉദാഹരണത്തിന്, പുതിയ കോർഡിനേറ്റുകൾ കൂടാതെ/അല്ലെങ്കിൽ നിറം കണക്കാക്കുകയും എഴുതുകയും ചെയ്യുന്നു. അതായത്, നിലവിൽ പ്രോസസ്സ് ചെയ്യുന്ന ജ്യാമിതീയ മോഡലിന്റെ ഒരു ശീർഷത്തെക്കുറിച്ചുള്ള ഡാറ്റയാണ് വെർട്ടെക്സ് ഷേഡറിന്റെ ഇൻപുട്ട് ഡാറ്റ. സാധാരണയായി ഇവ സ്പേഷ്യൽ കോർഡിനേറ്റുകൾ, സാധാരണ, വർണ്ണ ഘടകങ്ങൾ, ടെക്സ്ചർ കോർഡിനേറ്റുകൾ എന്നിവയാണ്. എക്സിക്യൂട്ട് ചെയ്ത പ്രോഗ്രാമിന്റെ ഫലമായുണ്ടാകുന്ന ഡാറ്റ പൈപ്പ്ലൈനിന്റെ കൂടുതൽ ഭാഗത്തിനുള്ള ഇൻപുട്ടായി വർത്തിക്കുന്നു; റാസ്റ്ററൈസർ ത്രികോണത്തിന്റെ ഉപരിതലത്തിനായുള്ള ഇൻപുട്ട് ഡാറ്റയുടെ ഒരു ലീനിയർ ഇന്റർപോളേഷൻ ഉണ്ടാക്കുകയും ഓരോ പിക്സലിനും അനുബന്ധ പിക്സൽ ഷേഡർ നിർവ്വഹിക്കുകയും ചെയ്യുന്നു. വളരെ ലളിതവും അസംസ്കൃതവുമായ (എന്നാൽ വ്യക്തമാണ്, ഞാൻ പ്രതീക്ഷിക്കുന്നു) ഉദാഹരണം: വെർട്ടെക്സ് ഷേഡർ നിങ്ങളെ ഒരു 3D സ്ഫിയർ ഒബ്ജക്റ്റ് എടുക്കാനും വെർട്ടെക്സ് ഷേഡർ ഉപയോഗിച്ച് അതിൽ നിന്ന് ഒരു പച്ച ക്യൂബ് ഉണ്ടാക്കാനും അനുവദിക്കുന്നു :).

NV20 വീഡിയോ ചിപ്പിന്റെ ആവിർഭാവത്തിന് മുമ്പ്, ഡവലപ്പർമാർക്ക് രണ്ട് ഓപ്ഷനുകൾ ഉണ്ടായിരുന്നു: ഒന്നുകിൽ അവരുടെ സ്വന്തം പ്രോഗ്രാമുകളും വെർട്ടിസുകളുടെ പാരാമീറ്ററുകൾ മാറ്റുന്ന അൽഗരിതങ്ങളും ഉപയോഗിക്കുക, എന്നാൽ എല്ലാ കണക്കുകൂട്ടലുകളും CPU (സോഫ്റ്റ്‌വെയർ T&L) അല്ലെങ്കിൽ വീഡിയോയിലെ നിശ്ചിത അൽഗോരിതങ്ങളെ ആശ്രയിക്കുക. ചിപ്‌സ്, ഹാർഡ്‌വെയർ രൂപാന്തരത്തിനും ലൈറ്റിംഗിനുമുള്ള പിന്തുണയോടെ (ഹാർഡ്‌വെയർ ടി&എൽ). ആദ്യ ഡയറക്‌ട്‌എക്‌സ് ഷേഡർ മോഡൽ അർത്ഥമാക്കുന്നത് പരിവർത്തനത്തിനായുള്ള ഫിക്‌സഡ് ഫംഗ്‌ഷനുകളിൽ നിന്നും വെർട്ടെക്‌സ് ലൈറ്റിംഗിൽ നിന്നും പൂർണ്ണമായി പ്രോഗ്രാം ചെയ്യാവുന്ന അൽഗോരിതങ്ങളിലേക്കുള്ള ഒരു വലിയ ചുവടുവെപ്പാണ്. ഉദാഹരണത്തിന്, സ്കിന്നിംഗ് അൽഗോരിതം പൂർണ്ണമായും വീഡിയോ ചിപ്പുകളിൽ എക്സിക്യൂട്ട് ചെയ്യുന്നത് സാധ്യമായി, അതിന് മുമ്പ് സാർവത്രിക സെൻട്രൽ പ്രോസസ്സറുകളിൽ അവ എക്സിക്യൂട്ട് ചെയ്യുക എന്നതായിരുന്നു ഏക സാധ്യത. ഇപ്പോൾ, സൂചിപ്പിച്ച NVIDIA ചിപ്പിന്റെ കാലം മുതൽ വളരെയധികം മെച്ചപ്പെടുത്തിയ കഴിവുകൾക്കൊപ്പം, വെർട്ടെക്സ് ഷേഡറുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് വെർട്ടിസുകൾ ഉപയോഗിച്ച് ധാരാളം ചെയ്യാൻ കഴിയും (അവ സൃഷ്ടിക്കുന്നത് ഒഴികെ, ഒരുപക്ഷേ)...

വെർട്ടെക്സ് ഷേഡറുകൾ എങ്ങനെ, എവിടെയാണ് ഉപയോഗിക്കുന്നത് എന്നതിന്റെ ഉദാഹരണങ്ങൾ:

പിക്സൽ ഷേഡർ

ചിത്രത്തിന്റെ ഓരോ പിക്സലിനും റാസ്റ്ററൈസേഷൻ സമയത്ത് വീഡിയോ ചിപ്പ് നടപ്പിലാക്കുന്ന പ്രോഗ്രാമുകളാണ് പിക്സൽ ഷേഡറുകൾ; അവ പിക്സലുകളുടെ വർണ്ണത്തിലും ഡെപ്ത് മൂല്യത്തിലും (Z-ബഫർ) ടെക്സ്ചർ സാംപ്ലിംഗ് കൂടാതെ/അല്ലെങ്കിൽ ഗണിത പ്രവർത്തനങ്ങൾ നടത്തുന്നു. എല്ലാ പിക്സൽ ഷേഡർ നിർദ്ദേശങ്ങളും ജ്യാമിതിയുടെ പരിവർത്തനവും ലൈറ്റിംഗ് പ്രവർത്തനങ്ങളും പൂർത്തിയാക്കിയ ശേഷം പിക്സൽ-ബൈ-പിക്സൽ അടിസ്ഥാനത്തിൽ നടപ്പിലാക്കുന്നു. അതിന്റെ പ്രവർത്തനത്തിന്റെ ഫലമായി, പിക്സൽ ഷേഡർ അവസാന പിക്സൽ വർണ്ണ മൂല്യവും ഗ്രാഫിക്സ് പൈപ്പ്ലൈനിന്റെ തുടർന്നുള്ള ഘട്ടത്തിൽ Z- മൂല്യവും ഉണ്ടാക്കുന്നു. നൽകാവുന്ന ഒരു പിക്സൽ ഷേഡറിന്റെ ഏറ്റവും ലളിതമായ ഉദാഹരണം ഇതാണ്: ബാനൽ മൾട്ടിടെക്ചറിംഗ്, രണ്ട് ടെക്സ്ചറുകൾ (ഉദാഹരണത്തിന്, ഡിഫ്യൂസും ലൈറ്റ്മാപ്പും) കലർത്തി കണക്കുകൂട്ടൽ ഫലം പിക്സലിൽ പ്രയോഗിക്കുക.

പിക്സൽ ഷേഡറുകൾക്കുള്ള ഹാർഡ്‌വെയർ പിന്തുണയുള്ള വീഡിയോ ചിപ്പുകളുടെ ആവിർഭാവത്തിന് മുമ്പ്, ഡവലപ്പർമാർക്ക് പരമ്പരാഗത മൾട്ടിടെക്‌സ്ചറിംഗിന്റെയും ആൽഫ ബ്ലെൻഡിംഗിന്റെയും കഴിവുകൾ മാത്രമേ ഉണ്ടായിരുന്നുള്ളൂ, ഇത് പല വിഷ്വൽ ഇഫക്റ്റുകളുടെയും കഴിവുകളെ ഗണ്യമായി പരിമിതപ്പെടുത്തി, ഇപ്പോൾ ലഭ്യമായവയിൽ പലതും ചെയ്യാൻ അവരെ അനുവദിച്ചില്ല. പ്രോഗ്രമാറ്റിക്കായി ജ്യാമിതിയിൽ എന്തെങ്കിലും ചെയ്യാൻ കഴിയുമെങ്കിലും, പിക്സലുകളിൽ അത് സാധ്യമല്ല. ഡയറക്‌ട്‌എക്‌സിന്റെ ആദ്യ പതിപ്പുകൾ (7.0 വരെ ഉൾപ്പെടെ) എല്ലായ്‌പ്പോഴും ഓരോ വെർട്ടെക്‌സിനും എല്ലാ കണക്കുകൂട്ടലുകളും നടത്തുകയും ഏറ്റവും പുതിയ പതിപ്പുകളിൽ ഓരോ പിക്‌സൽ ലൈറ്റിംഗിനും (EMBM - എൻവയോൺമെന്റ് ബമ്പ് മാപ്പിംഗും DOT3-ഉം ഓർക്കുക) വളരെ പരിമിതമായ പ്രവർത്തനക്ഷമത വാഗ്ദാനം ചെയ്യുന്നു. ഡെവലപ്പർമാർ പ്രോഗ്രാം ചെയ്‌ത മെറ്റീരിയലുകൾ ഉപയോഗിച്ച് പിക്‌സൽ ഷേഡറുകൾ ഏതെങ്കിലും ഉപരിതല പിക്‌സലിനെ പിക്‌സൽ ഉപയോഗിച്ച് പ്രകാശിപ്പിക്കുന്നത് സാധ്യമാക്കി. NV20-ൽ പ്രത്യക്ഷപ്പെട്ട പിക്സൽ ഷേഡറുകൾ പതിപ്പ് 1.1 (ഡയറക്ട് എക്സ് അർത്ഥത്തിൽ) ഇതിനകം തന്നെ മൾട്ടിടെക്‌സ്ചറിംഗ് മാത്രമല്ല, അതിലേറെയും ചെയ്യാൻ കഴിയും, എന്നിരുന്നാലും SM1 ഉപയോഗിക്കുന്ന മിക്ക ഗെയിമുകളും പരമ്പരാഗത മൾട്ടിടെക്‌സ്ചറിംഗ് ഉപയോഗിച്ചിരുന്നുവെങ്കിലും ഉപരിതലത്തിന്റെ ഭാഗങ്ങളിൽ മാത്രം കൂടുതൽ സങ്കീർണ്ണമായ പിക്സൽ ഷേഡറുകൾ പ്രവർത്തിക്കുന്നു. , വൈവിധ്യമാർന്ന പ്രത്യേക ഇഫക്റ്റുകൾ സൃഷ്ടിക്കുന്നതിന് (ഗെയിമുകളിൽ പിക്സൽ ഷേഡറുകൾ ഉപയോഗിക്കുന്നതിന്റെ ഏറ്റവും സാധാരണമായ ഉദാഹരണം ഇപ്പോഴും വെള്ളമാണെന്ന് എല്ലാവർക്കും അറിയാം). ഇപ്പോൾ, SM3 യുടെയും അവയെ പിന്തുണയ്ക്കുന്ന വീഡിയോ ചിപ്പുകളുടെയും ആവിർഭാവത്തിന് ശേഷം, പിക്സൽ ഷേഡറുകളുടെ കഴിവുകൾ ചില പരിമിതികളോടെയാണെങ്കിലും, റേ ട്രെയ്‌സിംഗ് ചെയ്യാൻ പോലും ഉപയോഗിക്കാവുന്ന നിലയിലേക്ക് വളർന്നു.

പിക്സൽ ഷേഡറുകൾ ഉപയോഗിക്കുന്നതിനുള്ള ഉദാഹരണങ്ങൾ:

നടപടിക്രമ ടെക്സ്ചറുകൾ

ഗണിത സൂത്രവാക്യങ്ങളാൽ വിവരിക്കുന്ന ടെക്സ്ചറുകളാണ് പ്രൊസീജറൽ ടെക്സ്ചറുകൾ. അത്തരം ടെക്സ്ചറുകൾ വീഡിയോ മെമ്മറിയിൽ ഇടം എടുക്കുന്നില്ല; അവ ഈച്ചയിൽ ഒരു പിക്സൽ ഷേഡറാണ് സൃഷ്ടിക്കുന്നത്; അനുബന്ധ ഷേഡർ കമാൻഡുകൾ നടപ്പിലാക്കുന്നതിന്റെ ഫലമായി ഓരോ ഘടകവും (ടെക്സൽ) ലഭിക്കും. ഏറ്റവും സാധാരണമായ നടപടിക്രമ ടെക്സ്ചറുകൾ ഇവയാണ്: വ്യത്യസ്ത തരം ശബ്ദം (ഉദാഹരണത്തിന്, ഫ്രാക്റ്റൽ നോയ്സ്), മരം, വെള്ളം, ലാവ, പുക, മാർബിൾ, തീ മുതലായവ, അതായത്, താരതമ്യേന എളുപ്പത്തിൽ ഗണിതശാസ്ത്രപരമായി വിവരിക്കാൻ കഴിയുന്നവ. ഗണിത സൂത്രവാക്യങ്ങളുടെ ഒരു ചെറിയ പരിഷ്‌ക്കരണത്തോടെ ആനിമേറ്റഡ് ടെക്‌സ്‌ചറുകൾ ഉപയോഗിക്കാനും പ്രൊസീജറൽ ടെക്‌സ്‌ചറുകൾ നിങ്ങളെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ഈ രീതിയിൽ നിർമ്മിച്ച മേഘങ്ങൾ ചലനാത്മകമായും സ്ഥിരമായും തികച്ചും മാന്യമായി കാണപ്പെടുന്നു.

പ്രൊസീജറൽ ടെക്സ്ചറുകളുടെ ഗുണങ്ങളിൽ ഓരോ ടെക്സ്ചറിനും പരിധിയില്ലാത്ത വിശദാംശങ്ങളും ഉൾപ്പെടുന്നു; കേവലം പിക്സലേഷൻ ഉണ്ടാകില്ല; ടെക്സ്ചർ എല്ലായ്പ്പോഴും അതിന്റെ ഡിസ്പ്ലേയ്ക്ക് ആവശ്യമായ വലുപ്പത്തിലേക്ക് സൃഷ്ടിക്കപ്പെടുന്നു. ആനിമേറ്റുചെയ്‌തതും വലിയ താൽപ്പര്യമുള്ളതാണ്; അതിന്റെ സഹായത്തോടെ നിങ്ങൾക്ക് മുൻകൂട്ടി കണക്കാക്കിയ ആനിമേറ്റഡ് ടെക്സ്ചറുകൾ ഉപയോഗിക്കാതെ വെള്ളത്തിൽ തിരമാലകൾ ഉണ്ടാക്കാം. അത്തരം ടെക്സ്ചറുകളുടെ മറ്റൊരു നേട്ടം, ഒരു ഉൽപ്പന്നത്തിൽ അവയിൽ കൂടുതൽ ഉപയോഗിക്കുമ്പോൾ, സാധാരണ ടെക്സ്ചറുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ആർട്ടിസ്റ്റുകൾക്ക് (പ്രോഗ്രാമർമാർക്ക് കൂടുതലാണെങ്കിലും) ജോലി കുറവാണ്.

നിർഭാഗ്യവശാൽ, പ്രൊസീജറൽ ടെക്‌സ്‌ചറുകൾക്ക് ഗെയിമുകളിൽ ഇതുവരെ ശരിയായ ഉപയോഗം ലഭിച്ചിട്ടില്ല; യഥാർത്ഥ ആപ്ലിക്കേഷനുകളിൽ, ഒരു സാധാരണ ടെക്‌സ്‌ചർ ലോഡുചെയ്യുന്നത് ഇപ്പോഴും എളുപ്പമാണ്; വീഡിയോ മെമ്മറി വോള്യങ്ങൾ കുതിച്ചുയരുന്നു; ഏറ്റവും ആധുനിക ആക്‌സിലറേറ്ററുകൾക്ക് ഇതിനകം 512 മെഗാബൈറ്റ് സമർപ്പിത വീഡിയോ മെമ്മറി ഉണ്ട്. , അത് ആവശ്യത്തിലധികം. കടം വാങ്ങാൻ എന്തെങ്കിലും. മാത്രമല്ല, അവർ ഇപ്പോഴും പലപ്പോഴും വിപരീതമാണ് ചെയ്യുന്നത് - പിക്സൽ ഷേഡറുകളിൽ ഗണിതശാസ്ത്രം വേഗത്തിലാക്കാൻ, അവർ ലുക്ക്അപ്പ് ടേബിളുകൾ (LUTs) ഉപയോഗിക്കുന്നു - കണക്കുകൂട്ടലുകളുടെ ഫലമായി ലഭിച്ച മുൻകൂട്ടി കണക്കാക്കിയ മൂല്യങ്ങൾ അടങ്ങിയ പ്രത്യേക ടെക്സ്ചറുകൾ. ഓരോ പിക്സലിനും നിരവധി ഗണിതശാസ്ത്ര കമാൻഡുകൾ കണക്കാക്കേണ്ടതില്ല, അവർ ടെക്സ്ചറിൽ നിന്ന് മുൻകൂട്ടി കണക്കാക്കിയ മൂല്യങ്ങൾ വായിക്കുന്നു. എന്നാൽ കൂടുതൽ, ഗണിതശാസ്ത്ര കണക്കുകൂട്ടലുകളിലേക്ക് കൂടുതൽ ഊന്നൽ നൽകണം, അതേ പുതിയ തലമുറ ATI വീഡിയോ ചിപ്പുകൾ എടുക്കുക: RV530, R580, ഓരോ 4, 16 ടെക്സ്ചർ യൂണിറ്റുകൾക്കും യഥാക്രമം 12, 48 പിക്സൽ പ്രോസസറുകൾ ഉണ്ട്. മാത്രമല്ല, നമ്മൾ 3D ടെക്സ്ചറുകളെക്കുറിച്ചാണ് സംസാരിക്കുന്നതെങ്കിൽ, 2D ടെക്സ്ചറുകൾ പ്രശ്നങ്ങളില്ലാതെ ലോക്കൽ ആക്സിലറേറ്റർ മെമ്മറിയിൽ സ്ഥാപിക്കാൻ കഴിയുമെങ്കിലും, 3D ടെക്സ്ചറുകൾക്ക് അതിൽ കൂടുതൽ ആവശ്യമാണ്.

നടപടിക്രമ ടെക്സ്ചറുകളുടെ ഉദാഹരണങ്ങൾ:

ബമ്പ് മാപ്പിംഗ്/സ്പെക്യുലർ ബമ്പ് മാപ്പിംഗ്

ഉയർന്ന കമ്പ്യൂട്ടേഷണൽ ചെലവുകളില്ലാതെയും ജ്യാമിതിയിൽ മാറ്റം വരുത്താതെയും ഒരു പരന്ന പ്രതലത്തിൽ ക്രമക്കേടുകൾ (അല്ലെങ്കിൽ നിങ്ങൾ ഇഷ്ടപ്പെടുന്നതുപോലെ മോഡലിംഗ് മൈക്രോ റിലീഫ്) അനുകരിക്കുന്നതിനുള്ള ഒരു സാങ്കേതികതയാണ് ബമ്പ് മാപ്പിംഗ്. ഓരോ ഉപരിതല പിക്സലിനും, ബമ്പ്മാപ്പ് എന്ന് വിളിക്കുന്ന ഒരു പ്രത്യേക ഉയരം മാപ്പിലെ മൂല്യങ്ങളെ അടിസ്ഥാനമാക്കി ഒരു ലൈറ്റിംഗ് കണക്കുകൂട്ടൽ നടത്തുന്നു. ഇത് സാധാരണയായി ഒരു 8-ബിറ്റ് ബ്ലാക്ക് ആൻഡ് വൈറ്റ് ടെക്സ്ചർ ആണ്, ടെക്സ്ചർ വർണ്ണ മൂല്യങ്ങൾ സാധാരണ ടെക്സ്ചറുകൾ പോലെ മാപ്പ് ചെയ്തിട്ടില്ല, മറിച്ച് ഉപരിതലത്തിന്റെ പരുക്കൻതയെ വിവരിക്കാൻ ഉപയോഗിക്കുന്നു. ഓരോ ടെക്സലിന്റെയും നിറം ബന്ധപ്പെട്ട റിലീഫ് പോയിന്റിന്റെ ഉയരം നിർണ്ണയിക്കുന്നു; വലിയ മൂല്യങ്ങൾ യഥാർത്ഥ ഉപരിതലത്തിന് മുകളിലുള്ള വലിയ ഉയരവും ചെറിയ മൂല്യങ്ങൾ ചെറിയ ഉയരവും അർത്ഥമാക്കുന്നു. അല്ലെങ്കിൽ തിരിച്ചും.

ഒരു ബിന്ദുവിന്റെ പ്രകാശത്തിന്റെ അളവ് പ്രകാശകിരണങ്ങളുടെ കോണിനെ ആശ്രയിച്ചിരിക്കുന്നു. സാധാരണയും പ്രകാശകിരണവും തമ്മിലുള്ള ആംഗിൾ ചെറുതാണെങ്കിൽ, ഉപരിതല പോയിന്റിന്റെ പ്രകാശം വർദ്ധിക്കും. അതായത്, നിങ്ങൾ ഒരു പരന്ന പ്രതലമെടുക്കുകയാണെങ്കിൽ, ഓരോ പോയിന്റിലെയും നോർമലുകൾ ഒന്നുതന്നെയായിരിക്കും, കൂടാതെ പ്രകാശവും സമാനമായിരിക്കും. ഉപരിതലം അസമമാണെങ്കിൽ (വാസ്തവത്തിൽ, മിക്കവാറും എല്ലാ ഉപരിതലങ്ങളും യാഥാർത്ഥ്യത്തിൽ), ഓരോ പോയിന്റിലെയും നോർമലുകൾ വ്യത്യസ്തമായിരിക്കും. പ്രകാശം വ്യത്യസ്തമാണ്, ഒരു ഘട്ടത്തിൽ അത് കൂടുതലായിരിക്കും, മറ്റൊന്നിൽ - കുറവ്. അതിനാൽ ബമ്പ്മാപ്പിംഗിന്റെ തത്വം - ക്രമക്കേടുകളെ മാതൃകയാക്കാൻ, പോളിഗോണിന്റെ വ്യത്യസ്ത പോയിന്റുകൾക്കായി ഉപരിതല നോർമലുകൾ സജ്ജീകരിച്ചിരിക്കുന്നു, പിക്സൽ-ബൈ-പിക്സൽ ലൈറ്റിംഗ് കണക്കാക്കുമ്പോൾ അവ കണക്കിലെടുക്കുന്നു. ഫലം ഉപരിതലത്തിന്റെ കൂടുതൽ സ്വാഭാവിക ചിത്രമാണ്; ബമ്പ് മാപ്പിംഗ്, മോഡലിന്റെ ജ്യാമിതീയ സങ്കീർണ്ണത വർദ്ധിപ്പിക്കാതെ, ഒരു ഇഷ്ടികയിലെ ക്രമക്കേടുകൾ, ചർമ്മത്തിലെ സുഷിരങ്ങൾ മുതലായവ പോലുള്ള ഉപരിതലത്തിന് കൂടുതൽ വിശദാംശങ്ങൾ നൽകുന്നു, കാരണം കണക്കുകൂട്ടലുകൾ നടക്കുന്നത് പിക്സൽ ലെവൽ. മാത്രമല്ല, പ്രകാശ സ്രോതസ്സിന്റെ സ്ഥാനം മാറുമ്പോൾ, ഈ ക്രമക്കേടുകളുടെ പ്രകാശം ശരിയായി മാറുന്നു.

തീർച്ചയായും, വെർട്ടെക്സ് ലൈറ്റിംഗ് വളരെ ലളിതമാണ്, പക്ഷേ ഇത് വളരെ യാഥാർത്ഥ്യബോധമില്ലാത്തതായി തോന്നുന്നു, പ്രത്യേകിച്ച് താരതമ്യേന കുറഞ്ഞ പോളിഗോൺ ജ്യാമിതി; ഓരോ പിക്സലിനും വർണ്ണ ഇന്റർപോളേഷന് ലംബങ്ങൾക്കായി കണക്കാക്കിയ മൂല്യങ്ങളേക്കാൾ വലിയ മൂല്യങ്ങൾ പുനർനിർമ്മിക്കാൻ കഴിയില്ല. അതായത്, ത്രികോണത്തിന്റെ മധ്യത്തിലുള്ള പിക്സലുകൾ ശീർഷത്തിന് സമീപമുള്ള ശകലങ്ങളേക്കാൾ തിളക്കമുള്ളതായിരിക്കില്ല. തൽഫലമായി, ഹൈലൈറ്റുകളും ഉപരിതലത്തോട് വളരെ അടുത്തുള്ള പ്രകാശ സ്രോതസ്സുകളും പോലുള്ള ലൈറ്റിംഗിൽ പെട്ടെന്നുള്ള മാറ്റങ്ങളുള്ള പ്രദേശങ്ങൾ ശാരീരികമായി തെറ്റായി പ്രദർശിപ്പിക്കും, ഇത് ചലനാത്മകതയിൽ പ്രത്യേകിച്ചും ശ്രദ്ധേയമാകും. തീർച്ചയായും, മോഡലിന്റെ ജ്യാമിതീയ സങ്കീർണ്ണത വർദ്ധിപ്പിച്ചുകൊണ്ട് പ്രശ്നം ഭാഗികമായി പരിഹരിക്കാൻ കഴിയും, അതിനെ വലിയ സംഖ്യകളിലേക്കും ത്രികോണങ്ങളിലേക്കും വിഭജിക്കാം, എന്നാൽ മികച്ച ഓപ്ഷൻ പിക്സൽ-ബൈ-പിക്സൽ ലൈറ്റിംഗ് ആയിരിക്കും.

തുടരുന്നതിന്, ലൈറ്റിംഗിന്റെ ഘടകങ്ങൾ ഓർമ്മിക്കേണ്ടത് ആവശ്യമാണ്. സീനിലെ എല്ലാ പ്രകാശ സ്രോതസ്സുകളിൽ നിന്നുമുള്ള ആംബിയന്റ്, ഡിഫ്യൂസ്, സ്‌പെക്യുലർ ഘടകങ്ങളുടെ ആകെത്തുകയാണ് ഉപരിതല പോയിന്റിന്റെ നിറം കണക്കാക്കുന്നത് (എല്ലാവരിൽ നിന്നും, പലതും പലപ്പോഴും അവഗണിക്കപ്പെടുന്നു). ഓരോ പ്രകാശ സ്രോതസ്സിൽ നിന്നുമുള്ള ഈ മൂല്യത്തിലേക്കുള്ള സംഭാവന പ്രകാശ സ്രോതസ്സും ഉപരിതലത്തിലെ ഒരു പോയിന്റും തമ്മിലുള്ള ദൂരത്തെ ആശ്രയിച്ചിരിക്കുന്നു.

ലൈറ്റിംഗ് ഘടകങ്ങൾ:

ഇനി ഇതിലേക്ക് ബമ്പ്മാപ്പിംഗ് ചേർക്കാം:

ലൈറ്റിംഗിന്റെ ഏകീകൃത (ആംബിയന്റ്) ഘടകം ഏകദേശമാണ്, സീനിലെ ഓരോ പോയിന്റിനും "പ്രാരംഭ" ലൈറ്റിംഗ്, അതിൽ എല്ലാ പോയിന്റുകളും തുല്യമായി പ്രകാശിപ്പിക്കുകയും പ്രകാശം മറ്റ് ഘടകങ്ങളെ ആശ്രയിക്കാതിരിക്കുകയും ചെയ്യുന്നു.
പ്രകാശത്തിന്റെ വ്യാപന ഘടകം പ്രകാശ സ്രോതസ്സിന്റെ സ്ഥാനത്തെയും ഉപരിതലത്തിന്റെ സാധാരണ നിലയെയും ആശ്രയിച്ചിരിക്കുന്നു. വസ്തുവിന്റെ ഓരോ ശീർഷകത്തിനും ഈ ലൈറ്റിംഗ് ഘടകം വ്യത്യസ്തമാണ്, അത് അവർക്ക് വോളിയം നൽകുന്നു. പ്രകാശം മേലിൽ അതേ നിഴലിൽ നിറയുന്നില്ല.
ലൈറ്റിംഗിന്റെ പ്രത്യേക ഘടകം ഒരു പ്രതലത്തിൽ നിന്നുള്ള പ്രകാശകിരണങ്ങളുടെ പ്രതിഫലനത്തിന്റെ തിളക്കത്തിൽ പ്രകടമാകുന്നു. ഇത് കണക്കാക്കാൻ, പ്രകാശ സ്രോതസ്സിന്റെയും സാധാരണയുടെയും സ്ഥാന വെക്റ്ററിന് പുറമേ, രണ്ട് വെക്റ്ററുകൾ കൂടി ഉപയോഗിക്കുന്നു: കാഴ്ച ദിശ വെക്റ്ററും പ്രതിഫലന വെക്റ്ററും. സ്പെക്യുലർ ലൈറ്റിംഗ് മോഡൽ ആദ്യമായി നിർദ്ദേശിച്ചത് ഫോങ് ബുയി-ടോംഗ് ആണ്. ഈ തിളക്കങ്ങൾ ചിത്രത്തിന്റെ യാഥാർത്ഥ്യത്തെ ഗണ്യമായി വർദ്ധിപ്പിക്കുന്നു, കാരണം അപൂർവ യഥാർത്ഥ ഉപരിതലങ്ങൾ പ്രകാശത്തെ പ്രതിഫലിപ്പിക്കുന്നില്ല, അതിനാൽ സ്പെക്യുലർ ഘടകം വളരെ പ്രധാനമാണ്. പ്രത്യേകിച്ചും ചലനത്തിൽ, കാരണം ഗ്ലെയർ ഉടൻ തന്നെ ക്യാമറയുടെ അല്ലെങ്കിൽ വസ്തുവിന്റെ സ്ഥാനത്ത് ഒരു മാറ്റം കാണിക്കുന്നു. തുടർന്ന്, ഗവേഷകർ ഈ ഘടകം കണക്കാക്കുന്നതിനുള്ള മറ്റ് വഴികൾ കണ്ടെത്തി, കൂടുതൽ സങ്കീർണ്ണമായവ (ബ്ലിൻ, കുക്ക്-ടോറൻസ്, വാർഡ്), പ്രകാശോർജ്ജത്തിന്റെ വിതരണം, പദാർത്ഥങ്ങളാൽ ആഗിരണം ചെയ്യൽ, വ്യാപിക്കുന്ന ഘടകത്തിന്റെ രൂപത്തിൽ ചിതറിക്കൽ എന്നിവ കണക്കിലെടുക്കുന്നു.

അതിനാൽ, സ്പെക്യുലർ ബമ്പ് മാപ്പിംഗ് ഈ രീതിയിൽ ലഭിക്കും:

കോൾ ഓഫ് ഡ്യൂട്ടി 2 എന്ന ഗെയിമിന്റെ ഉദാഹരണം ഉപയോഗിച്ച് നമുക്ക് ഇതേ കാര്യം നോക്കാം:


ചിത്രത്തിന്റെ ആദ്യ ഭാഗം ബമ്പ്‌മാപ്പിംഗ് ഇല്ലാതെ റെൻഡറിംഗ് ചെയ്യുന്നു (), രണ്ടാമത്തേത് (മുകളിൽ വലത്) ഒരു സ്പെക്യുലർ ഘടകമില്ലാതെ ബംപ്മാപ്പിംഗ് ചെയ്യുന്നു, മൂന്നാമത്തേത് - ഗെയിമിൽ ഉപയോഗിക്കുന്ന സാധാരണ മൂല്യമുള്ള ഒരു പ്രത്യേക ഘടകം, അവസാനത്തേത് , വലത്-താഴെ ഭാഗത്ത് - സ്പെക്യുലർ ഘടകത്തിന്റെ പരമാവധി സാധ്യമായ മൂല്യം.

ആദ്യത്തെ ഹാർഡ്‌വെയർ ആപ്ലിക്കേഷനെ സംബന്ധിച്ചിടത്തോളം, NVIDIA Riva TNT ചിപ്പുകളെ അടിസ്ഥാനമാക്കിയുള്ള വീഡിയോ കാർഡുകളുടെ കാലത്ത് ചില തരം ബമ്പ് മാപ്പിംഗ് (എംബോസ് ബമ്പ് മാപ്പിംഗ്) ഉപയോഗിക്കാൻ തുടങ്ങി, എന്നാൽ അക്കാലത്തെ സാങ്കേതിക വിദ്യകൾ വളരെ പ്രാകൃതവും വ്യാപകമായി ഉപയോഗിക്കപ്പെട്ടിരുന്നില്ല. അടുത്ത അറിയപ്പെടുന്ന തരം എൻവയോൺമെന്റ് മാപ്പ്ഡ് ബമ്പ് മാപ്പിംഗ് (EMBM) ആയിരുന്നു, എന്നാൽ അക്കാലത്ത് Matrox വീഡിയോ കാർഡുകൾക്ക് മാത്രമേ DirectX-ൽ ഹാർഡ്‌വെയർ പിന്തുണ ഉണ്ടായിരുന്നുള്ളൂ, വീണ്ടും അതിന്റെ ഉപയോഗം വളരെ പരിമിതമായിരുന്നു. തുടർന്ന് Dot3 ബമ്പ് മാപ്പിംഗ് പ്രത്യക്ഷപ്പെട്ടു, അക്കാലത്തെ വീഡിയോ ചിപ്പുകൾ (ജിഫോഴ്‌സ് 256, ജിഫോഴ്‌സ് 2) അത്തരം ഒരു ഗണിത അൽഗോരിതം പൂർണ്ണമായി നടപ്പിലാക്കുന്നതിന് മൂന്ന് പാസുകൾ ആവശ്യമാണ്, കാരണം അവ ഒരേസമയം ഉപയോഗിക്കുന്ന രണ്ട് ടെക്‌സ്ചറുകളിലേക്ക് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. NV20 (GeForce3) മുതൽ, പിക്സൽ ഷേഡറുകൾ ഉപയോഗിച്ച് ഒരു പാസിൽ ഒരേ കാര്യം ചെയ്യാൻ സാധിച്ചു. കൂടുതൽ കൂടുതൽ. പോലുള്ള കൂടുതൽ ഫലപ്രദമായ സാങ്കേതിക വിദ്യകൾ ഉപയോഗിക്കാൻ തുടങ്ങി.

ഗെയിമുകളിൽ ബമ്പ്മാപ്പിംഗ് ഉപയോഗിക്കുന്നതിനുള്ള ഉദാഹരണങ്ങൾ:


3D ഒബ്‌ജക്‌റ്റുകളിലേക്ക് വിശദാംശങ്ങൾ ചേർക്കുന്നതിനുള്ള ഒരു സാങ്കേതികതയാണ് ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പിംഗ്. ബമ്പ് മാപ്പിംഗിൽ നിന്നും മറ്റ് പിക്സൽ-ബൈ-പിക്സൽ രീതികളിൽ നിന്നും വ്യത്യസ്തമായി, ഉയരം മാപ്പുകൾ ഒരു പോയിന്റിന്റെ പ്രകാശത്തെ മാത്രം ശരിയായി മാതൃകയാക്കുമ്പോൾ, ബഹിരാകാശത്ത് അതിന്റെ സ്ഥാനം മാറ്റാതിരിക്കുമ്പോൾ, ഇത് ഉപരിതലത്തിന്റെ സങ്കീർണ്ണത വർദ്ധിപ്പിക്കുന്ന മിഥ്യ മാത്രം നൽകുന്നു, സ്ഥാനചലന മാപ്പുകൾ നിങ്ങളെ അനുവദിക്കുന്നു. പിക്സൽ-ബൈ-പിക്സൽ രീതികളിൽ അന്തർലീനമായ, നിയന്ത്രണങ്ങളില്ലാതെ, ലംബങ്ങളിൽ നിന്നും ബഹുഭുജങ്ങളിൽ നിന്നും യഥാർത്ഥ സങ്കീർണ്ണമായ 3D ഒബ്ജക്റ്റുകൾ നേടുന്നതിന്. ഈ രീതി ത്രികോണങ്ങളുടെ ശീർഷകങ്ങളുടെ സ്ഥാനം മാറ്റുന്നു, സ്ഥാനചലന മാപ്പുകളിലെ മൂല്യങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു തുക ഉപയോഗിച്ച് അവയെ സാധാരണ സഹിതം മാറ്റുന്നു. ഒരു ഡിസ്പ്ലേസ്മെന്റ് മാപ്പ് സാധാരണയായി കറുപ്പും വെളുപ്പും ടെക്സ്ചറാണ്, കൂടാതെ വസ്തുവിന്റെ ഉപരിതലത്തിലെ ഓരോ പോയിന്റിന്റെയും ഉയരം നിർണ്ണയിക്കാൻ അതിന്റെ മൂല്യങ്ങൾ ഉപയോഗിക്കുന്നു (മൂല്യങ്ങൾ 8-ബിറ്റ് അല്ലെങ്കിൽ 16-ബിറ്റ് നമ്പറുകളായി സൂക്ഷിക്കാം), ഒരു ബമ്പ്മാപ്പ്. മിക്കപ്പോഴും, കുന്നുകളും താഴ്ച്ചകളും ഉള്ള ഭൂമിയുടെ ഉപരിതലം സൃഷ്ടിക്കാൻ ഡിസ്പ്ലേസ്മെന്റ് മാപ്പുകൾ ഉപയോഗിക്കുന്നു (അങ്ങനെയെങ്കിൽ അവയെ ഉയരം മാപ്പുകൾ എന്നും വിളിക്കുന്നു). ഭൂപ്രദേശത്തെ ഒരു 2D ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പ് വിവരിച്ചിരിക്കുന്നതിനാൽ, ആവശ്യമെങ്കിൽ അതിനെ രൂപഭേദം വരുത്തുന്നത് താരതമ്യേന എളുപ്പമാണ്, കാരണം ഇതിന് ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പ് പരിഷ്‌ക്കരിച്ച് അടുത്ത ഫ്രെയിമിൽ അതിനെ അടിസ്ഥാനമാക്കിയുള്ള ഒരു ഉപരിതലം റെൻഡർ ചെയ്യേണ്ടത് ആവശ്യമാണ്.

ഡിസ്പ്ലേസ്മെന്റ് മാപ്പുകളുടെ ഓവർലേ ഉപയോഗിച്ച് ഒരു ലാൻഡ്സ്കേപ്പ് സൃഷ്ടിക്കുന്നത് ചിത്രത്തിൽ വ്യക്തമായി കാണിച്ചിരിക്കുന്നു. ആരംഭ പോയിന്റുകൾ 4 ലംബങ്ങളും 2 ബഹുഭുജങ്ങളുമായിരുന്നു, ഫലം ഒരു പൂർണ്ണമായ ഭൂപ്രകൃതിയായിരുന്നു.

ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പുകൾ ഓവർലേ ചെയ്യുന്നതിന്റെ വലിയ നേട്ടം ഒരു ഉപരിതലത്തിലേക്ക് വിശദാംശങ്ങൾ ചേർക്കാനുള്ള കഴിവ് മാത്രമല്ല, ഒരു വസ്തുവിന്റെ ഏതാണ്ട് പൂർണ്ണമായ സൃഷ്ടിയാണ്. ഒരു താഴ്ന്ന-ബഹുഭുജമായ ഒബ്‌ജക്‌റ്റ് എടുത്ത് അതിനെ വിഭജിച്ച് (ടെസ്സലേറ്റ് ചെയ്‌തത്) വലിയ സംഖ്യകളായും ബഹുഭുജങ്ങളായും വിഭജിക്കുന്നു. ടെസ്സലേഷൻ ഫലമായുണ്ടാകുന്ന ശീർഷങ്ങൾ പിന്നീട് ഡിസ്പ്ലേസ്മെന്റ് മാപ്പിൽ വായിച്ച മൂല്യത്തെ അടിസ്ഥാനമാക്കി സാധാരണഗതിയിൽ മാറ്റുന്നു. തൽഫലമായി, ഉചിതമായ സ്ഥാനചലന മാപ്പ് ഉപയോഗിച്ച് ലളിതമായ ഒന്നിൽ നിന്ന് ഞങ്ങൾക്ക് സങ്കീർണ്ണമായ ഒരു 3D ഒബ്‌ജക്റ്റ് ലഭിക്കും:


ടെസ്സലേഷൻ വഴി സൃഷ്ടിക്കുന്ന ത്രികോണങ്ങളുടെ എണ്ണം ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പ് വ്യക്തമാക്കിയ എല്ലാ വിശദാംശങ്ങളും പിടിച്ചെടുക്കാൻ പര്യാപ്തമായിരിക്കണം. ചിലപ്പോൾ എൻ-പാച്ചുകളോ മറ്റ് രീതികളോ ഉപയോഗിച്ച് അധിക ത്രികോണങ്ങൾ സ്വയമേവ സൃഷ്ടിക്കപ്പെടുന്നു. ശരിയായ പിക്സൽ-ബൈ-പിക്സൽ ലൈറ്റിംഗ് മതിയാകുമ്പോൾ ചെറിയ വിശദാംശങ്ങൾ സൃഷ്ടിക്കുന്നതിന് ബമ്പ് മാപ്പിംഗിനൊപ്പം ഡിസ്പ്ലേസ്മെന്റ് മാപ്പുകൾ ഉപയോഗിക്കുന്നതാണ് നല്ലത്.

ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പ് ഓവർലേ ആദ്യം പിന്തുണച്ചത് DirectX 9.0-ലാണ്. ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പിംഗ് സാങ്കേതികതയെ പിന്തുണയ്‌ക്കുന്ന ഈ API-യുടെ ആദ്യ പതിപ്പായിരുന്നു ഇത്. ഫിൽട്ടർ ചെയ്തതും മുൻകൂട്ടി തയ്യാറാക്കിയതുമായ രണ്ട് തരം ഡിസ്പ്ലേസ്മെന്റ് മാപ്പ് ഓവർലേകളെ DX9 പിന്തുണയ്ക്കുന്നു. ആദ്യ രീതി ഇപ്പോൾ മറന്നുപോയ MATROX Parhelia വീഡിയോ ചിപ്പ് പിന്തുണച്ചു, രണ്ടാമത്തേത് - ATI RADEON 9700. ഫിൽട്ടർ ചെയ്ത രീതി വ്യത്യസ്തമാണ്, അത് സ്ഥാനചലന മാപ്പുകൾക്കായി mip ലെവലുകൾ ഉപയോഗിക്കാനും അവയിൽ ട്രൈലീനിയർ ഫിൽട്ടറിംഗ് പ്രയോഗിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു. ഈ രീതിയിൽ, ശീർഷത്തിൽ നിന്ന് ക്യാമറയിലേക്കുള്ള ദൂരത്തെ അടിസ്ഥാനമാക്കി ഓരോ ശീർഷത്തിനും സ്ഥാനചലന ഭൂപടത്തിന്റെ മിപ്പ് ലെവൽ തിരഞ്ഞെടുക്കുന്നു, അതായത്, വിശദാംശങ്ങളുടെ നില സ്വയമേവ തിരഞ്ഞെടുക്കപ്പെടുന്നു. ഈ രീതിയിൽ, ത്രികോണങ്ങൾ ഏകദേശം ഒരേ വലിപ്പമുള്ളപ്പോൾ, ദൃശ്യത്തിന്റെ ഏതാണ്ട് ഏകീകൃത വിഭജനം കൈവരിക്കുന്നു.

ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പ് ഓവർലേ അടിസ്ഥാനപരമായി ഒരു ജ്യാമിതി കംപ്രഷൻ സാങ്കേതികതയായി കണക്കാക്കാം; ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പുകളുടെ ഉപയോഗം ഒരു 3D മോഡലിന്റെ ഒരു പ്രത്യേക വിശദാംശത്തിന് ആവശ്യമായ മെമ്മറിയുടെ അളവ് കുറയ്ക്കുന്നു. ബുദ്ധിമുട്ടുള്ള ജ്യാമിതി ഡാറ്റയെ ലളിതമായ 2D ഡിസ്പ്ലേസ്മെന്റ് ടെക്സ്ചറുകൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു, സാധാരണയായി 8-ബിറ്റ് അല്ലെങ്കിൽ 16-ബിറ്റ്. ഇത് വീഡിയോ ചിപ്പിലേക്ക് ജ്യാമിതി ഡാറ്റ എത്തിക്കുന്നതിന് ആവശ്യമായ മെമ്മറിയും ബാൻഡ്‌വിഡ്ത്തും കുറയ്ക്കുന്നു, ഇത് ഇന്നത്തെ സിസ്റ്റങ്ങളിലെ ഏറ്റവും വലിയ നിയന്ത്രണങ്ങളിൽ ചിലതാണ്. അല്ലെങ്കിൽ, തുല്യ ബാൻഡ്‌വിഡ്ത്തും മെമ്മറി ആവശ്യകതകളുമായും, ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പ് ഓവർലേ കൂടുതൽ ജ്യാമിതീയമായി സങ്കീർണ്ണമായ 3D മോഡലുകൾ ഉപയോഗിക്കാൻ അനുവദിക്കുന്നു. പതിനായിരക്കണക്കിന് അല്ലെങ്കിൽ ലക്ഷക്കണക്കിന് ത്രികോണങ്ങൾക്ക് പകരം ആയിരക്കണക്കിന് യൂണിറ്റുകൾ ഉപയോഗിക്കുമ്പോൾ, സങ്കീർണ്ണത കുറഞ്ഞ മോഡലുകളുടെ ഉപയോഗം, അവയുടെ ആനിമേഷൻ വേഗത്തിലാക്കുന്നത് സാധ്യമാക്കുന്നു. അല്ലെങ്കിൽ ക്ലോത്ത് സിമുലേഷൻ പോലുള്ള സങ്കീർണ്ണമായ സങ്കീർണ്ണമായ അൽഗോരിതങ്ങളും ടെക്നിക്കുകളും ഉപയോഗിച്ച് ഇത് മെച്ചപ്പെടുത്തുക.

ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പുകൾ ഉപയോഗിക്കുന്നത് സങ്കീർണ്ണമായ 3D പോളിഗോണൽ മെഷുകളെ ഒന്നിലധികം 2D ടെക്‌സ്‌ചറുകളായി മാറ്റുന്നു എന്നതാണ് മറ്റൊരു നേട്ടം. ഉദാഹരണത്തിന്, ഓർഗനൈസേഷനായി, ഡിസ്പ്ലേസ്മെന്റ് മാപ്പുകൾ ഓവർലേ ചെയ്യാൻ നിങ്ങൾക്ക് സാധാരണ മിപ്പ് മാപ്പിംഗ് ഉപയോഗിക്കാം. കൂടാതെ, താരതമ്യേന സങ്കീർണ്ണമായ 3D മെഷ് കംപ്രഷൻ അൽഗോരിതങ്ങൾക്ക് പകരം, നിങ്ങൾക്ക് പരമ്പരാഗത ടെക്സ്ചർ കംപ്രഷൻ രീതികൾ, JPEG പോലെയുള്ളവ പോലും ഉപയോഗിക്കാം. കൂടാതെ 3D ഒബ്‌ജക്‌റ്റുകൾ പ്രൊസീജറലായി സൃഷ്‌ടിക്കാൻ, നിങ്ങൾക്ക് 2D ടെക്‌സ്‌ചറുകൾക്കായി പരമ്പരാഗത അൽഗോരിതം ഉപയോഗിക്കാം.

എന്നാൽ സ്ഥാനചലന മാപ്പുകൾക്കും ചില പരിമിതികളുണ്ട്; എല്ലാ സാഹചര്യങ്ങളിലും അവ പ്രയോഗിക്കാൻ കഴിയില്ല. ഉദാഹരണത്തിന്, ധാരാളം സൂക്ഷ്മമായ വിശദാംശങ്ങൾ അടങ്ങിയിട്ടില്ലാത്ത മിനുസമാർന്ന വസ്തുക്കളെ സാധാരണ പോളിഗോൺ മെഷുകളോ അല്ലെങ്കിൽ ബെസിയർ കർവുകൾ പോലെയുള്ള മറ്റ് ഉയർന്ന തലത്തിലുള്ള പ്രതലങ്ങളോ മികച്ച രീതിയിൽ പ്രതിനിധീകരിക്കും. മറുവശത്ത്, മരങ്ങൾ അല്ലെങ്കിൽ ചെടികൾ പോലെയുള്ള വളരെ സങ്കീർണ്ണമായ മാതൃകകളും സ്ഥാനചലന ഭൂപടങ്ങളാൽ എളുപ്പത്തിൽ പ്രതിനിധീകരിക്കപ്പെടുന്നില്ല. എളുപ്പത്തിൽ ഉപയോഗിക്കാനുള്ള പ്രശ്നങ്ങളും ഉണ്ട്; ഇതിന് എല്ലായ്പ്പോഴും പ്രത്യേക യൂട്ടിലിറ്റികൾ ആവശ്യമാണ്, കാരണം ഡിസ്പ്ലേസ്മെന്റ് മാപ്പുകൾ നേരിട്ട് സൃഷ്ടിക്കുന്നത് വളരെ ബുദ്ധിമുട്ടാണ് (ഞങ്ങൾ ലാൻഡ്സ്കേപ്പ് പോലെയുള്ള ലളിതമായ വസ്തുക്കളെക്കുറിച്ചാണ് സംസാരിക്കുന്നില്ലെങ്കിൽ). ഡിസ്പ്ലേസ്മെന്റ് മാപ്പുകളുടെ പല പ്രശ്നങ്ങളും പരിമിതികളും സമാനമാണ്, കാരണം രണ്ട് രീതികളും അടിസ്ഥാനപരമായി സമാനമായ ആശയത്തിന്റെ രണ്ട് വ്യത്യസ്ത പ്രതിനിധാനങ്ങളാണ്.

യഥാർത്ഥ ഗെയിമുകളിൽ നിന്നുള്ള ഉദാഹരണമായി, എൻവിഡിയ എൻവി 40 വീഡിയോ ചിപ്പുകളിലും ഷേഡർ മോഡൽ 3.0-ലും പ്രത്യക്ഷപ്പെട്ട സവിശേഷതയായ വെർട്ടെക്സ് ഷേഡറിൽ നിന്നുള്ള ടെക്‌സ്‌ചർ സാമ്പിൾ ഉപയോഗിക്കുന്ന ഒരു ഗെയിം ഞാൻ നൽകും. ടെസ്സലേഷൻ കൂടാതെ (കൂടുതൽ ത്രികോണങ്ങളായി വിഭജിക്കുന്നത്) വീഡിയോ ചിപ്പ് ഉപയോഗിച്ച് പൂർണ്ണമായും നിർവ്വഹിക്കുന്ന ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പുകൾ ഓവർലേ ചെയ്യുന്നതിനുള്ള ഒരു ലളിതമായ രീതിക്ക് വെർട്ടെക്‌സ് ടെക്‌സ്‌ചറിംഗ് ഉപയോഗിക്കാം. അത്തരമൊരു അൽഗോരിതം പ്രയോഗിക്കുന്നത് പരിമിതമാണ്; മാപ്പുകൾ ചലനാത്മകമാണെങ്കിൽ മാത്രമേ അവ അർത്ഥമാക്കൂ, അതായത്, അവ പ്രക്രിയയിൽ മാറുന്നു. ഉദാഹരണത്തിന്, പസഫിക് ഫൈറ്റേഴ്‌സ് എന്ന ഗെയിമിൽ ചെയ്‌തിരിക്കുന്നതുപോലെ ഇത് വലിയ ജലപ്രതലങ്ങളുടെ റെൻഡറിംഗാണ്:


നേരത്തെ വിവരിച്ച ബമ്പ് മാപ്പിംഗ് ടെക്നിക്കിന്റെ മെച്ചപ്പെട്ട പതിപ്പാണ് സാധാരണ മാപ്പിംഗ്, അതിന്റെ വിപുലീകരിച്ച പതിപ്പ്. ബമ്പ് മാപ്പിംഗ് 1978-ൽ ബ്ലിൻ വികസിപ്പിച്ചെടുത്തു; ബമ്പ് മാപ്പിൽ നിന്നുള്ള വിവരങ്ങളുടെ അടിസ്ഥാനത്തിൽ റിലീഫ് ഓവർലേ ചെയ്യുന്ന ഈ രീതിയിലുള്ള ഉപരിതല നോർമലുകൾ മാറ്റുന്നു. ബമ്പ്‌മാപ്പിംഗ് ഉപരിതല പോയിന്റുകൾക്കായി നിലവിലുള്ള സാധാരണ നിലയെ മാറ്റുമ്പോൾ, പ്രത്യേകം തയ്യാറാക്കിയ സാധാരണ മാപ്പിൽ നിന്ന് അവയുടെ മൂല്യങ്ങൾ സാമ്പിൾ ചെയ്തുകൊണ്ട് സാധാരണ മാപ്പിംഗ് നോർമലുകളെ പൂർണ്ണമായും മാറ്റിസ്ഥാപിക്കുന്നു. ഈ മാപ്പുകൾ സാധാരണയായി മുൻകൂട്ടി കണക്കാക്കിയ സാധാരണ മൂല്യങ്ങളുള്ള ടെക്സ്ചറുകളാണ്, അവ RGB വർണ്ണ ഘടകങ്ങളായി അവതരിപ്പിക്കുന്നു (എന്നിരുന്നാലും, കംപ്രഷൻ ഉൾപ്പെടെയുള്ള സാധാരണ മാപ്പുകൾക്കായി പ്രത്യേക ഫോർമാറ്റുകൾ ഉണ്ട്), ബമ്പ്മാപ്പിംഗിലെ 8-ബിറ്റ് കറുപ്പും വെളുപ്പും ഉയരമുള്ള മാപ്പുകളിൽ നിന്ന് വ്യത്യസ്തമായി. .

പൊതുവേ, ബംപ്‌മാപ്പിംഗ് പോലെ, താരതമ്യേന കുറഞ്ഞ ജ്യാമിതീയ സങ്കീർണ്ണതയുള്ള മോഡലുകളിലേക്ക് കൂടുതൽ യഥാർത്ഥ ജ്യാമിതി ഉപയോഗിക്കാതെ, കൂടുതൽ വികസിതമായി വിശദാംശങ്ങൾ ചേർക്കുന്നതിനുള്ള ഒരു "വിലകുറഞ്ഞ" രീതി കൂടിയാണിത്. ഉയർന്ന ജ്യാമിതീയ സങ്കീർണ്ണതയുടെ അതേ മോഡൽ പ്രോസസ്സ് ചെയ്യുന്നതിലൂടെ ലഭിച്ച സാധാരണ മാപ്പുകൾ ഉപയോഗിച്ച് കുറഞ്ഞ പോളിഗോൺ മോഡലുകളുടെ വിശദാംശങ്ങളിൽ ഗണ്യമായ വർദ്ധനവാണ് സാങ്കേതികതയുടെ ഏറ്റവും രസകരമായ പ്രയോഗങ്ങളിലൊന്ന്. സാധാരണ മാപ്പുകളിൽ ബമ്പ് മാപ്പിംഗുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഉപരിതലത്തിന്റെ കൂടുതൽ വിശദമായ വിവരണം അടങ്ങിയിരിക്കുന്നു, കൂടുതൽ സങ്കീർണ്ണമായ രൂപങ്ങൾ പ്രതിനിധീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. വളരെ വിശദമായ വസ്തുക്കളിൽ നിന്ന് വിവരങ്ങൾ നേടുന്നതിനുള്ള ആശയങ്ങൾ കഴിഞ്ഞ നൂറ്റാണ്ടിന്റെ 90-കളുടെ മധ്യത്തിൽ ശബ്ദമുയർത്തിയിരുന്നു, എന്നാൽ പിന്നീട് അവർ അത് ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് സംസാരിക്കുകയായിരുന്നു. പിന്നീട്, 1998-ൽ, ഉയർന്ന ബഹുഭുജ മാതൃകകളിൽ നിന്ന് താഴ്ന്ന ബഹുഭുജങ്ങളുള്ളവയിലേക്ക് സാധാരണ മാപ്പുകളുടെ രൂപത്തിൽ വിശദാംശങ്ങൾ കൈമാറുന്നതിനെക്കുറിച്ചുള്ള ആശയങ്ങൾ അവതരിപ്പിച്ചു.

സാധാരണ ഭൂപടങ്ങൾ ഒരു വലിയ ബഹുഭുജങ്ങൾ ഉപയോഗിക്കുന്നതിനേക്കാൾ വിശദമായ ഉപരിതല ഡാറ്റ സംഭരിക്കുന്നതിന് കൂടുതൽ കാര്യക്ഷമമായ മാർഗം നൽകുന്നു. അവരുടെ ഒരേയൊരു ഗുരുതരമായ പരിമിതി, വലിയ വിശദാംശങ്ങൾക്ക് അവ വളരെ അനുയോജ്യമല്ല എന്നതാണ്, കാരണം സാധാരണ മാപ്പിംഗ് യഥാർത്ഥത്തിൽ ബഹുഭുജങ്ങൾ ചേർക്കുകയോ വസ്തുവിന്റെ ആകൃതി മാറ്റുകയോ ചെയ്യുന്നില്ല, ഇത് അതിന്റെ രൂപം മാത്രമേ സൃഷ്ടിക്കൂ. ഇത് പിക്സൽ ലെവലിലെ ലൈറ്റിംഗ് കണക്കുകൂട്ടലുകളെ അടിസ്ഥാനമാക്കിയുള്ള വിശദാംശങ്ങളുടെ ഒരു അനുകരണം മാത്രമാണ്. വസ്തുവിന്റെ അങ്ങേയറ്റത്തെ ബഹുഭുജങ്ങളിലും ഉപരിതലത്തിന്റെ ചെരിവിന്റെ വലിയ കോണുകളിലും ഇത് വളരെ ശ്രദ്ധേയമാണ്. അതിനാൽ, സാധാരണ മാപ്പിംഗ് ഉപയോഗിക്കുന്നതിനുള്ള ഏറ്റവും യുക്തിസഹമായ മാർഗ്ഗം, ഒബ്‌ജക്റ്റിന്റെ അടിസ്ഥാന രൂപം നിലനിർത്താൻ ആവശ്യമായ ലോ-പോളി മോഡൽ വിശദമായി നിർമ്മിക്കുകയും മികച്ച വിശദാംശങ്ങൾ ചേർക്കുന്നതിന് സാധാരണ മാപ്പുകൾ ഉപയോഗിക്കുകയുമാണ്.

സാധാരണ മാപ്പുകൾ സാധാരണയായി മോഡലിന്റെ രണ്ട് പതിപ്പുകളിൽ നിന്നാണ് സൃഷ്ടിക്കുന്നത്, ലോ-പോളി, ഹൈ-പോളി. ഒരു ലോ-പോളി മോഡലിൽ കുറഞ്ഞത് ജ്യാമിതി, വസ്തുവിന്റെ അടിസ്ഥാന രൂപങ്ങൾ എന്നിവ അടങ്ങിയിരിക്കുന്നു, അതേസമയം ഉയർന്ന പോളി മോഡലിൽ പരമാവധി വിശദാംശങ്ങൾക്ക് ആവശ്യമായ എല്ലാം അടങ്ങിയിരിക്കുന്നു. തുടർന്ന്, പ്രത്യേക യൂട്ടിലിറ്റികൾ ഉപയോഗിച്ച്, അവ പരസ്പരം താരതമ്യം ചെയ്യുന്നു, വ്യത്യാസം കണക്കാക്കുകയും ഒരു സാധാരണ മാപ്പ് എന്ന ടെക്സ്ചറിൽ സൂക്ഷിക്കുകയും ചെയ്യുന്നു. ഇത് സൃഷ്ടിക്കുമ്പോൾ, ഉയർന്ന പോളി മോഡലിൽ പോലും മാതൃകയാക്കാൻ കഴിയാത്ത വളരെ ചെറിയ വിശദാംശങ്ങൾക്കായി നിങ്ങൾക്ക് ഒരു ബമ്പ് മാപ്പ് ഉപയോഗിക്കാം (ചർമ്മ സുഷിരങ്ങൾ, മറ്റ് ചെറിയ ഡിപ്രഷനുകൾ).

സാധാരണ മാപ്പുകളെ യഥാർത്ഥത്തിൽ സാധാരണ RGB ടെക്സ്ചറുകളായി പ്രതിനിധീകരിക്കുന്നു, ഇവിടെ R, G, B വർണ്ണ ഘടകങ്ങൾ (0 മുതൽ 1 വരെ) X, Y, Z കോർഡിനേറ്റുകളായി വ്യാഖ്യാനിക്കപ്പെടുന്നു, ഒരു സാധാരണ മാപ്പിലെ ഓരോ ടെക്സലും ഒരു പോയിന്റിന്റെ നോർമൽ ആയി പ്രതിനിധീകരിക്കുന്നു ഉപരിതലത്തിൽ. സാധാരണ ഭൂപടങ്ങൾ രണ്ട് തരത്തിലാകാം: മോഡൽ സ്‌പേസ് (ജനറൽ കോർഡിനേറ്റ് സിസ്റ്റം) അല്ലെങ്കിൽ ടാൻജെന്റ് സ്‌പേസിലെ കോർഡിനേറ്റുകൾ (റഷ്യൻ ഭാഷയിൽ "ടാൻജെന്റ് സ്പേസ്", ഒരു ത്രികോണത്തിന്റെ പ്രാദേശിക കോർഡിനേറ്റ് സിസ്റ്റം). രണ്ടാമത്തെ ഓപ്ഷൻ പലപ്പോഴും ഉപയോഗിക്കുന്നു. മാതൃകാ സ്ഥലത്ത് സാധാരണ മാപ്പുകൾ അവതരിപ്പിക്കുമ്പോൾ, അവയ്ക്ക് മൂന്ന് ഘടകങ്ങൾ ഉണ്ടായിരിക്കണം, കാരണം എല്ലാ ദിശകളും പ്രതിനിധീകരിക്കാൻ കഴിയും, കൂടാതെ ലോക്കൽ കോർഡിനേറ്റ് സിസ്റ്റം ടാൻജെന്റ് സ്പേസിൽ നിങ്ങൾക്ക് രണ്ട് ഘടകങ്ങൾ ഉപയോഗിച്ച് നേടാം, മൂന്നാമത്തേത് പിക്സലിൽ ലഭിക്കും. ഷേഡർ.

ആധുനിക തത്സമയ ആപ്ലിക്കേഷനുകൾ, ഇമേജ് നിലവാരത്തിന്റെ കാര്യത്തിൽ, പ്രീ-റെൻഡർ ചെയ്ത ആനിമേഷനേക്കാൾ വളരെ താഴ്ന്നതാണ്, ഒന്നാമതായി, ലൈറ്റിംഗിന്റെ ഗുണനിലവാരവും സീനുകളുടെ ജ്യാമിതീയ സങ്കീർണ്ണതയും ഇത് ആശങ്കപ്പെടുത്തുന്നു. തത്സമയം കണക്കാക്കിയ ലംബങ്ങളുടെയും ത്രികോണങ്ങളുടെയും എണ്ണം പരിമിതമാണ്. അതിനാൽ, ജ്യാമിതിയുടെ അളവ് കുറയ്ക്കുന്ന രീതികൾ വളരെ പ്രധാനമാണ്. സാധാരണ മാപ്പിംഗിന് മുമ്പ് അത്തരം നിരവധി രീതികൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്, എന്നാൽ ബമ്പ് മാപ്പിംഗ് ഉപയോഗിച്ച് പോലും ലോ-പോളി മോഡലുകൾ കൂടുതൽ സങ്കീർണ്ണമായ മോഡലുകളേക്കാൾ മോശമായി മാറുന്നു. സാധാരണ മാപ്പിംഗ്, ഇതിന് നിരവധി പോരായ്മകൾ ഉണ്ടെങ്കിലും (ഏറ്റവും വ്യക്തമായ ഒന്ന്, മോഡൽ ലോ-പോളിയായി തുടരുന്നതിനാൽ, അതിന്റെ കോണീയ അതിരുകളാൽ ഇത് എളുപ്പത്തിൽ ദൃശ്യമാകും), എന്നാൽ അന്തിമ റെൻഡറിംഗ് ഗുണനിലവാരം ശ്രദ്ധേയമായി മെച്ചപ്പെട്ടു, ഇത് മോഡലുകളുടെ ജ്യാമിതീയ സങ്കീർണ്ണത കുറയ്ക്കുന്നു. . അടുത്തിടെ, ഈ സാങ്കേതികവിദ്യയുടെ ജനപ്രീതി വർദ്ധിക്കുന്നതും എല്ലാ ജനപ്രിയ ഗെയിം എഞ്ചിനുകളിലും അതിന്റെ ഉപയോഗവും വ്യക്തമായി കാണാം. ഇതിനായുള്ള "കുറ്റം" മികച്ച ഫലമായ ഗുണനിലവാരവും മോഡലുകളുടെ ജ്യാമിതീയ സങ്കീർണ്ണതയ്ക്കുള്ള ആവശ്യകതകളിൽ ഒരേസമയം കുറവുമാണ്. സാധാരണ മാപ്പിംഗ് ടെക്നിക് ഇപ്പോൾ മിക്കവാറും എല്ലായിടത്തും ഉപയോഗിക്കുന്നു, എല്ലാ പുതിയ ഗെയിമുകളും കഴിയുന്നത്ര വ്യാപകമായി ഉപയോഗിക്കുന്നു. സാധാരണ മാപ്പിംഗ് ഉപയോഗിക്കുന്ന അറിയപ്പെടുന്ന PC ഗെയിമുകളുടെ ഒരു ചെറിയ ലിസ്റ്റ് ഇതാ: ഫാർ ക്രൈ, ഡൂം 3, ഹാഫ്-ലൈഫ് 2, കോൾ ഓഫ് ഡ്യൂട്ടി 2, F.E.A.R., ക്വേക്ക് 4. അവയെല്ലാം മുൻകാല ഗെയിമുകളേക്കാൾ മികച്ചതായി കാണപ്പെടുന്നു. മാപ്പ് നോർമൽ ഉപയോഗം കാരണം.

ഈ സാങ്കേതികവിദ്യ ഉപയോഗിക്കുന്നതിന് ഒരു നെഗറ്റീവ് പരിണതഫലം മാത്രമേയുള്ളൂ - ടെക്സ്ചറുകളുടെ അളവിൽ വർദ്ധനവ്. എല്ലാത്തിനുമുപരി, ഒബ്‌ജക്റ്റ് എങ്ങനെ കാണപ്പെടും എന്നതിനെ സാധാരണ മാപ്പ് വളരെയധികം സ്വാധീനിക്കുന്നു, അത് വളരെ വലിയ റെസല്യൂഷനുള്ളതായിരിക്കണം, അതിനാൽ വീഡിയോ മെമ്മറിയുടെയും അതിന്റെ ബാൻഡ്‌വിഡ്ത്തിന്റെയും ആവശ്യകതകൾ ഇരട്ടിയാണ് (കംപ്രസ് ചെയ്യാത്ത സാധാരണ മാപ്പുകളുടെ കാര്യത്തിൽ). എന്നാൽ ഇപ്പോൾ 512 മെഗാബൈറ്റ് ലോക്കൽ മെമ്മറിയുള്ള വീഡിയോ കാർഡുകൾ ഇതിനകം നിർമ്മിക്കപ്പെടുന്നു, അതിന്റെ ബാൻഡ്‌വിഡ്ത്ത് നിരന്തരം വളരുകയാണ്, സാധാരണ മാപ്പുകൾക്കായി പ്രത്യേകമായി കംപ്രഷൻ രീതികൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്, അതിനാൽ ഈ ചെറിയ നിയന്ത്രണങ്ങൾ വളരെ പ്രധാനമല്ല, വാസ്തവത്തിൽ. സാധാരണ മാപ്പിംഗ് നൽകുന്ന പ്രഭാവം വളരെ വലുതാണ്, താരതമ്യേന കുറഞ്ഞ പോളി മോഡലുകളുടെ ഉപയോഗം അനുവദിക്കുന്നു, ജ്യാമിതീയ ഡാറ്റ സംഭരിക്കുന്നതിനുള്ള മെമ്മറി ആവശ്യകതകൾ കുറയ്ക്കുകയും പ്രകടനം മെച്ചപ്പെടുത്തുകയും വളരെ മാന്യമായ ദൃശ്യ ഫലം നൽകുകയും ചെയ്യുന്നു.

പാരലാക്സ് മാപ്പിംഗ്/ഓഫ്സെറ്റ് മാപ്പിംഗ്

1984-ൽ വികസിപ്പിച്ച സാധാരണ മാപ്പിംഗ്, 1999-ൽ ഒലിവേരയും ബിഷപ്പും ചേർന്ന് റിലീഫ് ടെക്സ്ചർ മാപ്പിംഗ് അവതരിപ്പിച്ചു. ഡെപ്ത് വിവരങ്ങളെ അടിസ്ഥാനമാക്കി ടെക്സ്ചർ മാപ്പിംഗിനുള്ള ഒരു രീതിയാണിത്. ഈ രീതി ഗെയിമുകളിൽ ഉപയോഗിച്ചിട്ടില്ല, പക്ഷേ അതിന്റെ ആശയം പാരലാക്സ് മാപ്പിംഗിലെ ജോലിയുടെ തുടർച്ചയ്ക്കും അതിന്റെ മെച്ചപ്പെടുത്തലിനും കാരണമായി. കനേക്കോ 2001-ൽ പാരലാക്സ് മാപ്പിംഗ് അവതരിപ്പിച്ചു, ഇത് ഒരു പിക്സൽ-ബൈ-പിക്സൽ അടിസ്ഥാനത്തിൽ പാരലാക്സ് ഇഫക്റ്റ് പ്രദർശിപ്പിക്കുന്നതിനുള്ള ആദ്യത്തെ ഫലപ്രദമായ രീതിയായിരുന്നു. 2004-ൽ, പ്രോഗ്രാമബിൾ വീഡിയോ ചിപ്പുകളിൽ പാരലാക്സ് മാപ്പിംഗ് ഉപയോഗിക്കുന്നത് വെൽഷ് തെളിയിച്ചു.

ഈ രീതിക്ക് മിക്കവാറും വ്യത്യസ്ത പേരുകളുണ്ട്. ഞാൻ കണ്ടുമുട്ടിയവ ഞാൻ ലിസ്റ്റ് ചെയ്യും: പാരലാക്സ് മാപ്പിംഗ്, ഓഫ്സെറ്റ് മാപ്പിംഗ്, വെർച്വൽ ഡിസ്പ്ലേസ്മെന്റ് മാപ്പിംഗ്, പെർ-പിക്സൽ ഡിസ്പ്ലേസ്മെന്റ് മാപ്പിംഗ്. സംക്ഷിപ്തതയ്ക്കായി, ലേഖനം ആദ്യ തലക്കെട്ട് ഉപയോഗിക്കുന്നു.
ബംപ്മാപ്പിംഗിനും നോർമൽമാപ്പിംഗ് ടെക്നിക്കുകൾക്കുമുള്ള മറ്റൊരു ബദലാണ് പാരലാക്സ്മാപ്പിംഗ്, ഇത് ഉപരിതല വിശദാംശങ്ങളിലേക്ക് കൂടുതൽ ഉൾക്കാഴ്ച നൽകുന്നു, 3D പ്രതലങ്ങളുടെ കൂടുതൽ സ്വാഭാവികമായ റെൻഡറിംഗും പ്രകടനത്തിൽ വളരെയധികം നഷ്ടം കൂടാതെ. ഈ സാങ്കേതികവിദ്യ ഒരേ സമയം ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പിംഗിനും സാധാരണ മാപ്പിംഗിനും സമാനമാണ്, ഇത് അതിനിടയിലുള്ള ഒന്നാണ്. യഥാർത്ഥ ജ്യാമിതീയ മാതൃകയിൽ ഉള്ളതിനേക്കാൾ കൂടുതൽ ഉപരിതല വിശദാംശങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിനാണ് ഈ രീതി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. ഇത് സാധാരണ മാപ്പിംഗിന് സമാനമാണ്, എന്നാൽ വ്യത്യാസം, ടെക്സ്ചർ കോർഡിനേറ്റുകൾ മാറ്റുന്നതിലൂടെ ടെക്സ്ചർ മാപ്പിംഗിനെ ഈ രീതി വികലമാക്കുന്നു, അതിനാൽ നിങ്ങൾ ഉപരിതലത്തെ വ്യത്യസ്ത കോണുകളിൽ നിന്ന് നോക്കുമ്പോൾ, അത് കുത്തനെയുള്ളതായി കാണപ്പെടുന്നു, വാസ്തവത്തിൽ ഉപരിതലം പരന്നതും മാറില്ല. . മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, കാഴ്ചപ്പാടിലെ മാറ്റങ്ങളെ ആശ്രയിച്ച് ഉപരിതല പോയിന്റുകളുടെ സ്ഥാനചലനത്തിന്റെ പ്രഭാവം ഏകദേശമാക്കുന്നതിനുള്ള ഒരു സാങ്കേതികതയാണ് പാരലാക്സ് മാപ്പിംഗ്.

ടെക്‌നിക് ടെക്‌സ്‌ചർ കോർഡിനേറ്റുകളെ മാറ്റുന്നു (അതുകൊണ്ടാണ് സാങ്കേതികതയെ ചിലപ്പോൾ ഓഫ്‌സെറ്റ് മാപ്പിംഗ് എന്ന് വിളിക്കുന്നത്) അങ്ങനെ ഉപരിതലം കൂടുതൽ വലുതായി കാണപ്പെടുന്നു. വ്യൂ വെക്റ്റർ ഉപരിതലത്തെ വിഭജിക്കുന്ന പോയിന്റിന്റെ ടെക്സ്ചർ കോർഡിനേറ്റുകൾ തിരികെ നൽകുക എന്നതാണ് രീതിയുടെ ആശയം. ഇതിന് ഉയരം മാപ്പിനായി റേ ട്രെയ്‌സിംഗ് (റേ ട്രെയ്‌സിംഗ്) ആവശ്യമാണ്, എന്നാൽ ഇതിന് വളരെയധികം മാറുന്ന മൂല്യങ്ങൾ ("മിനുസമാർന്ന" അല്ലെങ്കിൽ "മിനുസമാർന്ന") ഇല്ലെങ്കിൽ, ഒരു ഏകദേശ കണക്ക് നടത്താം. കവലകളും വലിയ സ്ഥാനചലന മൂല്യങ്ങളും കണക്കാക്കാതെ, സുഗമമായി മാറുന്ന ഉയരങ്ങളുള്ള ഉപരിതലങ്ങൾക്ക് ഈ രീതി നല്ലതാണ്. ഈ ലളിതമായ അൽഗോരിതം സാധാരണ മാപ്പിംഗിൽ നിന്ന് മൂന്ന് പിക്സൽ ഷേഡർ നിർദ്ദേശങ്ങളിൽ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു: രണ്ട് ഗണിത നിർദ്ദേശങ്ങളും ഒരു അധിക ടെക്സ്ചർ നേടലും. പുതിയ ടെക്സ്ചർ കോർഡിനേറ്റ് കണക്കാക്കിയ ശേഷം, മറ്റ് ടെക്സ്ചർ ലെയറുകൾ വായിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു: അടിസ്ഥാന ടെക്സ്ചർ, സാധാരണ മാപ്പ് മുതലായവ. ആധുനിക വീഡിയോ ചിപ്പുകളിലെ ഈ പാരലാക്സ് മാപ്പിംഗ് രീതി സാധാരണ ടെക്സ്ചർ മാപ്പിംഗ് പോലെ തന്നെ ഫലപ്രദമാണ്, കൂടാതെ ലളിതമായ സാധാരണ മാപ്പിംഗുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ അതിന്റെ ഫലം കൂടുതൽ റിയലിസ്റ്റിക് ഉപരിതല ഡിസ്പ്ലേയാണ്.

എന്നാൽ പരമ്പരാഗത പാരലാക്സ് മാപ്പിംഗിന്റെ ഉപയോഗം മൂല്യങ്ങളിൽ ചെറിയ വ്യത്യാസമുള്ള ഉയരം മാപ്പുകളിലേക്ക് പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. "കുത്തനെയുള്ള" ക്രമക്കേടുകൾ അൽഗോരിതം വഴി തെറ്റായി പ്രോസസ്സ് ചെയ്യുന്നു, വിവിധ ആർട്ടിഫാക്റ്റുകൾ പ്രത്യക്ഷപ്പെടുന്നു, ടെക്സ്ചറുകൾ "ഫ്ലോട്ട്" മുതലായവ. പാരലാക്സ് മാപ്പിംഗ് ടെക്നിക് മെച്ചപ്പെടുത്തുന്നതിന് നിരവധി പരിഷ്കരിച്ച രീതികൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. പ്രാരംഭ അൽഗോരിതം മെച്ചപ്പെടുത്തുന്ന പുതിയ രീതികൾ നിരവധി ഗവേഷകർ (യെറെക്സ്, ഡോണലി, ടാറ്റർചുക്ക്, പോളികാർപോ) വിവരിച്ചിട്ടുണ്ട്. ഉപരിതല സവിശേഷതകൾ എങ്ങനെ പരസ്പരം വിഭജിക്കുന്നുവെന്ന് നിർണ്ണയിക്കാൻ മിക്കവാറും എല്ലാ ആശയങ്ങളും ഒരു പിക്സൽ ഷേഡറിലെ റേ ട്രെയ്‌സിംഗിനെ ആശ്രയിക്കുന്നു. പരിഷ്‌ക്കരിച്ച ടെക്‌നിക്കുകൾക്ക് നിരവധി വ്യത്യസ്ത പേരുകൾ ലഭിച്ചു: പാരലാക്സ് മാപ്പിംഗ് വിത്ത് ഒക്‌ലൂഷൻ, പാരലാക്സ് മാപ്പിംഗ് വിത്ത് ഡിസ്റ്റൻസ് ഫങ്ഷൻസ്, പാരലാക്സ് ഒക്ലൂഷൻ മാപ്പിംഗ്. സംക്ഷിപ്തതയ്ക്കായി, ഞങ്ങൾ അവയെ എല്ലാം പാരലാക്സ് ഒക്ലൂഷൻ മാപ്പിംഗ് എന്ന് വിളിക്കും.

പാരലാക്സ് ഒക്ലൂഷൻ മാപ്പിംഗ് രീതികളിൽ ഉയരങ്ങൾ നിർണ്ണയിക്കുന്നതിനും ടെക്സലുകളുടെ ദൃശ്യപരത കണക്കിലെടുക്കുന്നതിനുമുള്ള റേ ട്രെയ്‌സിംഗ് ഉൾപ്പെടുന്നു. എല്ലാത്തിനുമുപരി, ഉപരിതലത്തിലേക്ക് ഒരു കോണിൽ കാണുമ്പോൾ, ടെക്സലുകൾ പരസ്പരം മറയ്ക്കുന്നു, ഇത് കണക്കിലെടുക്കുമ്പോൾ, നിങ്ങൾക്ക് പാരലാക്സ് ഇഫക്റ്റിലേക്ക് കൂടുതൽ ആഴം ചേർക്കാൻ കഴിയും. തത്ഫലമായുണ്ടാകുന്ന ചിത്രം കൂടുതൽ യാഥാർത്ഥ്യമാകുകയും ആഴത്തിലുള്ള ആശ്വാസത്തിനായി അത്തരം മെച്ചപ്പെട്ട രീതികൾ ഉപയോഗിക്കുകയും ചെയ്യാം; ഇഷ്ടികയും കല്ലും മതിലുകൾ, നടപ്പാതകൾ മുതലായവ ചിത്രീകരിക്കുന്നതിന് ഇത് മികച്ചതാണ്. പാരലാക്സ് മാപ്പിംഗും ഡിസ്പ്ലേസ്മെന്റ് മാപ്പിംഗും തമ്മിലുള്ള പ്രധാന വ്യത്യാസം കണക്കുകൂട്ടലുകളാണ് എന്നത് പ്രത്യേകം ശ്രദ്ധിക്കേണ്ടതാണ്. എല്ലാം ഓരോ പിക്സലും, പൂർത്തിയായിട്ടില്ല. അതുകൊണ്ടാണ് ഈ രീതിക്ക് വെർച്വൽ ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പിംഗ്, പെർ-പിക്‌സൽ ഡിസ്‌പ്ലേസ്‌മെന്റ് മാപ്പിംഗ് എന്നിങ്ങനെ പേരുകൾ ഉള്ളത്. ചിത്രം നോക്കൂ, വിശ്വസിക്കാൻ പ്രയാസമാണ്, പക്ഷേ ഇവിടെയുള്ള നടപ്പാത കല്ലുകൾ ഒരു പിക്സൽ-ബൈ-പിക്സൽ ഇഫക്റ്റ് മാത്രമാണ്:

ദശലക്ഷക്കണക്കിന് ലംബങ്ങളും ത്രികോണങ്ങളും ഇല്ലാതെ വിശദമായ ഉപരിതലങ്ങൾ കാര്യക്ഷമമായി പ്രദർശിപ്പിക്കാൻ ഈ രീതി നിങ്ങളെ അനുവദിക്കുന്നു, അത് ജ്യാമിതി നടപ്പിലാക്കുകയാണെങ്കിൽ അത് ആവശ്യമാണ്. അതേ സമയം, ഉയർന്ന വിശദാംശങ്ങൾ പരിപാലിക്കപ്പെടുന്നു (സിലൗട്ടുകൾ/അരികുകൾ ഒഴികെ) കൂടാതെ ആനിമേഷൻ കണക്കുകൂട്ടലുകൾ ഗണ്യമായി ലളിതമാക്കുന്നു. ഈ സാങ്കേതികത യഥാർത്ഥ ജ്യാമിതി ഉപയോഗിക്കുന്നതിനേക്കാൾ വിലകുറഞ്ഞതാണ് കൂടാതെ വളരെ കുറച്ച് ബഹുഭുജങ്ങൾ ഉപയോഗിക്കുന്നു, പ്രത്യേകിച്ചും വളരെ ചെറിയ വിശദാംശങ്ങളുള്ള സന്ദർഭങ്ങളിൽ. അൽഗോരിതത്തിനായി നിരവധി ആപ്ലിക്കേഷനുകൾ ഉണ്ട്, എന്നാൽ ഇത് കല്ലുകൾ, ഇഷ്ടികകൾ തുടങ്ങിയവയ്ക്ക് ഏറ്റവും അനുയോജ്യമാണ്.

കൂടാതെ, ഉയരം മാപ്പുകൾ ചലനാത്മകമായി മാറാൻ കഴിയും എന്നതാണ് ഒരു അധിക നേട്ടം (തരംഗങ്ങളുള്ള ജല ഉപരിതലം, ചുവരുകളിലെ ബുള്ളറ്റ് ദ്വാരങ്ങൾ എന്നിവയും അതിലേറെയും). ഈ രീതിയുടെ പോരായ്മകൾ ജ്യാമിതീയമായി ശരിയായ സിലൗട്ടുകളുടെ (ഒബ്ജക്റ്റിന്റെ അരികുകൾ) അഭാവമാണ്, കാരണം അൽഗോരിതം പിക്സൽ-ബൈ-പിക്സൽ ആയതിനാൽ യഥാർത്ഥ സ്ഥാനചലന മാപ്പിംഗ് അല്ല. എന്നാൽ ഇത് പരിവർത്തനം, ലൈറ്റിംഗ്, ജ്യാമിതി ആനിമേഷൻ എന്നിവയിൽ കുറഞ്ഞ ലോഡ് രൂപത്തിൽ പ്രകടനം ലാഭിക്കുന്നു. വലിയ അളവിലുള്ള ജ്യാമിതി ഡാറ്റ സംഭരിക്കുന്നതിന് ആവശ്യമായ വീഡിയോ മെമ്മറി സംരക്ഷിക്കുന്നു. നിലവിലുള്ള ആപ്ലിക്കേഷനുകളിലേക്ക് താരതമ്യേന ലളിതമായ സംയോജനവും ഓപ്പറേഷൻ സമയത്ത് സാധാരണ മാപ്പിംഗിനായി ഉപയോഗിക്കുന്ന പരിചിതമായ യൂട്ടിലിറ്റികളുടെ ഉപയോഗവും ഈ സാങ്കേതികവിദ്യയ്ക്കുണ്ട്.

അടുത്തിടെ യഥാർത്ഥ ഗെയിമുകളിൽ ഈ സാങ്കേതികവിദ്യ ഉപയോഗിച്ചു. ഇതുവരെ, റേ ട്രെയ്‌സിംഗോ ഇന്റർസെക്ഷൻ കണക്കുകൂട്ടലുകളോ ഇല്ലാതെ, സ്റ്റാറ്റിക് ഹൈറ്റ് മാപ്പുകളെ അടിസ്ഥാനമാക്കിയുള്ള ലളിതമായ പാരലാക്സ് മാപ്പിംഗ് ഉപയോഗിച്ചാണ് അവ നേടുന്നത്. ഗെയിമുകളിൽ പാരലാക്സ് മാപ്പിംഗ് ഉപയോഗിക്കുന്നതിന്റെ ഉദാഹരണങ്ങൾ ഇതാ:

നടപടിക്കു ശേഷം

വിശാലമായ അർത്ഥത്തിൽ, ഒരു ഇമേജ് നിർമ്മിക്കുന്നതിന്റെ പ്രധാന ഘട്ടങ്ങൾക്ക് ശേഷം സംഭവിക്കുന്നതെല്ലാം പോസ്റ്റ്-പ്രോസസ്സിംഗ് ആണ്. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ചിത്രം റെൻഡർ ചെയ്‌തതിനുശേഷം അതിൽ വരുത്തുന്ന മാറ്റങ്ങളാണ് പോസ്റ്റ്-പ്രോസസ്സിംഗ്. പ്രത്യേക വിഷ്വൽ ഇഫക്‌റ്റുകൾ സൃഷ്‌ടിക്കുന്നതിനുള്ള ഒരു കൂട്ടം ടൂളുകളാണ് പോസ്റ്റ്-പ്രോസസിംഗ്, കൂടാതെ രംഗം ദൃശ്യവൽക്കരിക്കുന്നതിനുള്ള പ്രധാന ജോലി പൂർത്തിയായതിന് ശേഷമാണ് അവ സൃഷ്ടിക്കുന്നത്, അതായത്, പോസ്റ്റ്-പ്രോസസിംഗ് ഇഫക്റ്റുകൾ സൃഷ്ടിക്കാൻ ഒരു റെഡിമെയ്ഡ് റാസ്റ്റർ ഇമേജ് ഉപയോഗിക്കുന്നു.

ഫോട്ടോഗ്രാഫിയിൽ നിന്നുള്ള ഒരു ലളിതമായ ഉദാഹരണം: തെളിഞ്ഞ കാലാവസ്ഥയിൽ പച്ചപ്പുള്ള മനോഹരമായ തടാകം നിങ്ങൾ ചിത്രീകരിച്ചു. ആകാശം വളരെ തെളിച്ചമുള്ളതായി മാറുന്നു, മരങ്ങൾ വളരെ ഇരുണ്ടതാണ്. നിങ്ങൾ ഒരു ഗ്രാഫിക്സ് എഡിറ്ററിലേക്ക് ഒരു ഫോട്ടോ ലോഡ് ചെയ്യുകയും ചിത്രത്തിന്റെ ഭാഗങ്ങൾക്കോ ​​​​മുഴുവൻ ചിത്രത്തിനോ വേണ്ടിയുള്ള തെളിച്ചം, ദൃശ്യതീവ്രത, മറ്റ് പാരാമീറ്ററുകൾ എന്നിവ മാറ്റാൻ തുടങ്ങും. എന്നാൽ ക്യാമറ ക്രമീകരണങ്ങൾ മാറ്റാൻ നിങ്ങൾക്ക് ഇനി അവസരമില്ല; പൂർത്തിയായ ചിത്രം നിങ്ങൾ പ്രോസസ്സ് ചെയ്യുന്നു. ഇത് പോസ്റ്റ് പ്രോസസ്സിംഗ് ആണ്. അല്ലെങ്കിൽ മറ്റൊരു ഉദാഹരണം: ഒരു പോർട്രെയ്‌റ്റ് ഫോട്ടോയിലെ പശ്ചാത്തലം ഹൈലൈറ്റ് ചെയ്യുകയും കൂടുതൽ ആഴത്തിലുള്ള ഫീൽഡ് ഇഫക്‌റ്റിന്റെ ആഴത്തിനായി ഈ ഏരിയയിൽ ഒരു ബ്ലർ ഫിൽട്ടർ പ്രയോഗിക്കുകയും ചെയ്യുക. അതായത്, നിങ്ങൾ ഒരു ഗ്രാഫിക്സ് എഡിറ്ററിൽ ഒരു ഫ്രെയിം മാറ്റുകയോ ശരിയാക്കുകയോ ചെയ്യുമ്പോൾ, നിങ്ങൾ പോസ്റ്റ്-പ്രോസസ്സിംഗ് നടത്തുന്നു. അതേ കാര്യം ഗെയിമിൽ, തത്സമയം ചെയ്യാൻ കഴിയും.

ഒരു ഇമേജ് റെൻഡർ ചെയ്‌തതിന് ശേഷം പ്രോസസ്സ് ചെയ്യുന്നതിന് നിരവധി വ്യത്യസ്ത ഓപ്ഷനുകൾ ഉണ്ട്. ഗ്രാഫിക് എഡിറ്റർമാരിൽ ഗ്രാഫിക് ഫിൽട്ടറുകൾ എന്ന് വിളിക്കപ്പെടുന്ന ധാരാളം കാര്യങ്ങൾ എല്ലാവരും കണ്ടിട്ടുണ്ടാകും. ഇതിനെയാണ് പോസ്റ്റ്-ഫിൽട്ടറുകൾ എന്ന് വിളിക്കുന്നത്: മങ്ങൽ, എഡ്ജ് ഡിറ്റക്ഷൻ, ഷാർപ്പൻ, നോയ്സ്, സ്മൂത്ത്, എംബോസ് മുതലായവ. തത്സമയ 3D റെൻഡറിംഗിൽ പ്രയോഗിക്കുമ്പോൾ, ഇത് ഇതുപോലെയാണ് ചെയ്യുന്നത് - മുഴുവൻ സീനും ഒരു പ്രത്യേക ഏരിയയിലേക്ക് റെൻഡർ ചെയ്യുന്നു, ടാർഗെറ്റ് റെൻഡർ ചെയ്യുക, പ്രധാന റെൻഡറിംഗിന് ശേഷം ഈ ചിത്രം പിക്സൽ ഷേഡറുകൾ ഉപയോഗിച്ച് കൂടുതൽ പ്രോസസ്സ് ചെയ്യുകയും തുടർന്ന് സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു. ഗെയിമുകളിൽ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന പോസ്റ്റ്-പ്രോസസ്സിംഗ് ഇഫക്റ്റുകൾ, , . മറ്റ് നിരവധി പോസ്റ്റ്-ഇഫക്റ്റുകൾ ഉണ്ട്: ശബ്ദം, ജ്വാല, വികലമാക്കൽ, സെപിയ മുതലായവ.

ഗെയിമിംഗ് ആപ്ലിക്കേഷനുകളിലെ പോസ്റ്റ്-പ്രോസസിംഗിന്റെ ശ്രദ്ധേയമായ രണ്ട് ഉദാഹരണങ്ങൾ ഇതാ:

ഹൈ ഡൈനാമിക് റേഞ്ച് (HDR)

ഹൈ ഡൈനാമിക് റേഞ്ച് (HDR), 3D ഗ്രാഫിക്സിൽ പ്രയോഗിക്കുമ്പോൾ, വിശാലമായ ഡൈനാമിക് ശ്രേണിയിൽ റെൻഡർ ചെയ്യുന്നു. യഥാർത്ഥ ഭൗതിക അളവുകൾ ഉപയോഗിച്ച് തീവ്രതയും നിറവും വിവരിക്കുക എന്നതാണ് എച്ച്ഡിആറിന്റെ സാരം. ഒരു ഇമേജ് വിവരിക്കുന്നതിനുള്ള ഒരു പൊതു മാതൃക RGB ആണ്, അവിടെ എല്ലാ നിറങ്ങളും പ്രാഥമിക നിറങ്ങളായ ചുവപ്പ്, പച്ച, നീല എന്നിവയുടെ ആകെത്തുകയായി പ്രതിനിധീകരിക്കുന്നു, ഓരോന്നിനും 0 മുതൽ 255 വരെ സാധ്യമായ പൂർണ്ണസംഖ്യ മൂല്യങ്ങൾ, ഓരോ വർണ്ണത്തിനും എട്ട് ബിറ്റുകളിൽ എൻകോഡ് ചെയ്‌തിരിക്കുന്നു. . ഒരു പ്രത്യേക മോഡലിന്റെയോ ഉപകരണത്തിന്റെയോ ഡിസ്‌പ്ലേയ്‌ക്കായി ലഭ്യമായ പരമാവധി മുതൽ കുറഞ്ഞ തീവ്രത വരെയുള്ള അനുപാതത്തെ ഡൈനാമിക് ശ്രേണി എന്ന് വിളിക്കുന്നു. അങ്ങനെ, RGB മോഡലിന്റെ ചലനാത്മക ശ്രേണി 256:1 അല്ലെങ്കിൽ 100:1 cd/m 2 (മാഗ്നിറ്റ്യൂഡിന്റെ രണ്ട് ഓർഡറുകൾ) ആണ്. നിറവും തീവ്രതയും വിവരിക്കുന്നതിനുള്ള ഈ മോഡലിനെ ലോ ഡൈനാമിക് റേഞ്ച് (LDR) എന്ന് വിളിക്കുന്നു.

എല്ലാ കേസുകൾക്കും സാധ്യമായ എൽ‌ഡി‌ആർ മൂല്യങ്ങൾ വ്യക്തമല്ല, ഒരു വ്യക്തിക്ക് വളരെ വലിയ ശ്രേണി കാണാൻ കഴിയും, പ്രത്യേകിച്ച് കുറഞ്ഞ പ്രകാശ തീവ്രതയിൽ, കൂടാതെ അത്തരം സന്ദർഭങ്ങളിൽ (ഉയർന്ന തീവ്രതയിലും) RGB മോഡൽ വളരെ പരിമിതമാണ്. മനുഷ്യന്റെ കാഴ്ചയുടെ ചലനാത്മക ശ്രേണി 10 -6 മുതൽ 10 8 cd/m 2 വരെയാണ്, അതായത് 100000000000000: 1 (14 ഓർഡറുകൾ ഓഫ് മാഗ്നിറ്റ്യൂഡ്). നമുക്ക് മുഴുവൻ ശ്രേണിയും ഒരേ സമയം കാണാൻ കഴിയില്ല, എന്നാൽ ഏത് സമയത്തും കണ്ണിന് ദൃശ്യമാകുന്ന ശ്രേണി ഏകദേശം 10,000:1 (കാന്തിമാനത്തിന്റെ നാല് ഓർഡറുകൾ) ന് തുല്യമാണ്. രാത്രിയിൽ ഒരു മുറിയിലെ ലൈറ്റുകൾ ഓഫ് ചെയ്യുന്ന സാഹചര്യം കൊണ്ട് എളുപ്പത്തിൽ വിവരിക്കാൻ കഴിയുന്ന അഡാപ്റ്റേഷൻ എന്ന് വിളിക്കപ്പെടുന്ന, പ്രകാശ ശ്രേണിയുടെ മറ്റൊരു ഭാഗത്ത് നിന്നുള്ള മൂല്യങ്ങളുമായി കാഴ്ച ക്രമേണ പൊരുത്തപ്പെടുന്നു - ആദ്യം കണ്ണുകൾ വളരെ കുറച്ച് മാത്രമേ കാണുന്നുള്ളൂ, പക്ഷേ കാലക്രമേണ അവ മാറിയ ലൈറ്റിംഗ് സാഹചര്യങ്ങളുമായി പൊരുത്തപ്പെടുകയും കൂടുതൽ കാണുകയും ചെയ്യുന്നു. നിങ്ങൾ ഇരുണ്ട അന്തരീക്ഷത്തിൽ നിന്ന് വെളിച്ചത്തിലേക്ക് മടങ്ങുമ്പോൾ സമാനമായ കാര്യം സംഭവിക്കുന്നു.

അതിനാൽ, ഒരു വ്യക്തിക്ക് യഥാർത്ഥത്തിൽ കാണാൻ കഴിയുന്ന ചിത്രങ്ങളെ പ്രതിനിധീകരിക്കുന്നതിന് RGB വിവരണ മോഡലിന്റെ ചലനാത്മക ശ്രേണി പര്യാപ്തമല്ല, ഈ മോഡൽ ശ്രേണിയുടെ മുകളിലും താഴെയുമുള്ള ഭാഗങ്ങളിൽ പ്രകാശ തീവ്രതയുടെ സാധ്യമായ മൂല്യങ്ങളെ ഗണ്യമായി കുറയ്ക്കുന്നു. HDR സാമഗ്രികളിൽ ഉദ്ധരിച്ച ഏറ്റവും സാധാരണമായ ഉദാഹരണം, സൂര്യപ്രകാശമുള്ള ഒരു ദിവസത്തിൽ ഒരു തെളിച്ചമുള്ള തെരുവിലേക്ക് ഒരു ജാലകമുള്ള ഇരുണ്ട മുറിയുടെ ചിത്രമാണ്. RGB മോഡൽ ഉപയോഗിച്ച്, ഒന്നുകിൽ വിൻഡോയ്ക്ക് പുറത്തുള്ളതിന്റെ സാധാരണ ഡിസ്പ്ലേ നിങ്ങൾക്ക് ലഭിക്കും, അല്ലെങ്കിൽ മുറിക്കുള്ളിൽ ഉള്ളത് മാത്രം. 100 cd/m2-ൽ കൂടുതലുള്ള മൂല്യങ്ങൾ സാധാരണയായി LDR-ൽ വെട്ടിക്കുറച്ചിരിക്കുന്നു, അതുകൊണ്ടാണ് ക്യാമറയിലേക്ക് നേരിട്ട് ചൂണ്ടുന്ന പ്രകാശ സ്രോതസ്സുകൾ ശരിയായി റെൻഡർ ചെയ്യാൻ 3D റെൻഡറിംഗിന് ബുദ്ധിമുട്ടുള്ളത്.

ഡാറ്റാ ഡിസ്പ്ലേ ഉപകരണങ്ങൾ തന്നെ ഇതുവരെ ഗൗരവമായി മെച്ചപ്പെടുത്താൻ കഴിയില്ല, പക്ഷേ കണക്കുകൂട്ടലുകളിൽ എൽഡിആർ ഉപേക്ഷിക്കുന്നത് അർത്ഥമാക്കുന്നു; നിങ്ങൾക്ക് യഥാർത്ഥ ഭൌതിക അളവുകൾ തീവ്രതയുടെയും നിറത്തിന്റെയും (അല്ലെങ്കിൽ രേഖീയ ആനുപാതികമായവ) ഉപയോഗിക്കാം, കൂടാതെ മോണിറ്ററിൽ പരമാവധി പ്രദർശിപ്പിക്കുക. HDR പ്രാതിനിധ്യത്തിന്റെ സാരാംശം യഥാർത്ഥ ഭൗതിക അളവുകളിലോ രേഖീയ അനുപാതത്തിലോ തീവ്രതയും വർണ്ണ മൂല്യങ്ങളും ഉപയോഗിക്കുകയും പൂർണ്ണസംഖ്യകളേക്കാൾ ഉയർന്ന കൃത്യതയോടെ (ഉദാഹരണത്തിന്, 16 അല്ലെങ്കിൽ 32 ബിറ്റുകൾ) ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകൾ ഉപയോഗിക്കുക എന്നതാണ്. ഇത് RGB മോഡലിന്റെ പരിമിതികൾ നീക്കം ചെയ്യും, കൂടാതെ ചിത്രത്തിന്റെ ചലനാത്മക ശ്രേണി ഗണ്യമായി വർദ്ധിക്കും. എന്നാൽ പിന്നീട് ഏത് എച്ച്ഡിആർ ഇമേജും ഏത് ഡിസ്പ്ലേ മീഡിയത്തിലും (അതേ RGB മോണിറ്റർ) പ്രദർശിപ്പിക്കാൻ കഴിയും, പ്രത്യേക അൽഗോരിതം ഉപയോഗിച്ച് അതിന് സാധ്യമായ ഏറ്റവും ഉയർന്ന നിലവാരം.

എച്ച്ഡിആർ റെൻഡറിംഗ് ഇമേജ് റെൻഡർ ചെയ്തതിന് ശേഷം എക്സ്പോഷർ മാറ്റാൻ ഞങ്ങളെ അനുവദിക്കുന്നു. മനുഷ്യ ദർശനത്തിന്റെ അഡാപ്റ്റേഷൻ പ്രഭാവം അനുകരിക്കാൻ ഇത് സാധ്യമാക്കുന്നു (തെളിച്ചമുള്ള തുറസ്സായ സ്ഥലങ്ങളിൽ നിന്ന് ഇരുണ്ട മുറികളിലേക്കും തിരിച്ചും), ശാരീരികമായി ശരിയായ ലൈറ്റിംഗ് അനുവദിക്കുന്നു, കൂടാതെ പോസ്റ്റ്-പ്രോസസ്സിംഗ് ഇഫക്റ്റുകൾ പ്രയോഗിക്കുന്നതിനുള്ള ഏകീകൃത പരിഹാരവുമാണ് (ഗ്ലെയർ, ഫ്ലേർസ്, ബ്ലൂം). , ചലന മങ്ങൽ). ഇമേജ് പ്രോസസ്സിംഗ് അൽഗോരിതങ്ങൾ, കളർ കറക്ഷൻ, ഗാമ തിരുത്തൽ, മോഷൻ ബ്ലർ, ബ്ലൂം, മറ്റ് പോസ്റ്റ്-പ്രോസസ്സിംഗ് രീതികൾ എന്നിവ എച്ച്ഡിആർ പ്രാതിനിധ്യത്തിൽ മികച്ച പ്രകടനം കാഴ്ചവയ്ക്കുന്നു.

തത്സമയ 3D റെൻഡറിംഗ് ആപ്ലിക്കേഷനുകളിൽ (ഗെയിമുകൾ, പ്രധാനമായും), HDR റെൻഡറിംഗ് വളരെക്കാലം മുമ്പല്ല ഉപയോഗിക്കാൻ തുടങ്ങിയത്, കാരണം ഇതിന് കണക്കുകൂട്ടലുകളും റെൻഡർ ടാർഗെറ്റ് പിന്തുണയും ഫ്ലോട്ടിംഗ് പോയിന്റ് ഫോർമാറ്റുകളിൽ ആവശ്യമാണ്, ഇത് ആദ്യമായി പിന്തുണയ്ക്കുന്ന വീഡിയോ ചിപ്പുകളിൽ മാത്രം ലഭ്യമായി. DirectX 9. ഗെയിമുകളിലെ HDR റെൻഡറിംഗിന്റെ സാധാരണ പാത ഇപ്രകാരമാണ്: രംഗം ഒരു ഫ്ലോട്ടിംഗ്-പോയിന്റ് ഫോർമാറ്റ് ബഫറിലേക്ക് റെൻഡർ ചെയ്യുക, വിപുലീകൃത വർണ്ണ ശ്രേണിയിൽ ചിത്രം പോസ്റ്റ്-പ്രോസസ്സ് ചെയ്യുക (തീവ്രതയും തെളിച്ചവും മാറ്റുന്നു, വർണ്ണ ബാലൻസ്, ഗ്ലെയർ, മോഷൻ ബ്ലർ ഇഫക്റ്റുകൾ എന്നിവ മാറുന്നു. , ലെൻസ് ഫ്ലെയറും മറ്റും), അവസാന HDR ഇമേജ് LDR ഡിസ്പ്ലേ ഉപകരണത്തിലേക്ക് ഔട്ട്പുട്ട് ചെയ്യുന്നതിന് ടോൺ മാപ്പിംഗ് ഉപയോഗിക്കുന്നു. ഒബ്‌ജക്റ്റുകളിൽ സ്ഥിരമായ പ്രതിഫലനങ്ങൾക്കായി ചിലപ്പോൾ പരിസ്ഥിതി മാപ്പുകൾ HDR ഫോർമാറ്റുകളിൽ ഉപയോഗിക്കുന്നു; ഡൈനാമിക് റിഫ്രാക്ഷനുകളും പ്രതിഫലനങ്ങളും അനുകരിക്കുന്നതിൽ HDR ഉപയോഗം വളരെ രസകരമാണ്; ഫ്ലോട്ടിംഗ് പോയിന്റ് ഫോർമാറ്റുകളിലെ ഡൈനാമിക് മാപ്പുകളും ഇതിനായി ഉപയോഗിക്കാം. ഇതിലേക്ക് നിങ്ങൾക്ക് എച്ച്ഡിആർ ഫോർമാറ്റിൽ മുൻകൂട്ടി കണക്കാക്കിയതും സംരക്ഷിച്ചതുമായ ലൈറ്റ് മാപ്പുകൾ ചേർക്കാൻ കഴിയും. മുകളിൽ പറഞ്ഞവയിൽ ഭൂരിഭാഗവും ചെയ്തു, ഉദാഹരണത്തിന്, ഹാഫ്-ലൈഫ് 2: ലോസ്റ്റ് കോസ്റ്റ്.

പരമ്പരാഗത രീതികളുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഉയർന്ന നിലവാരമുള്ള സങ്കീർണ്ണമായ പോസ്റ്റ് പ്രോസസ്സിംഗിന് HDR റെൻഡറിംഗ് വളരെ ഉപയോഗപ്രദമാണ്. എച്ച്ഡിആർ വ്യൂ മോഡലിൽ കണക്കാക്കുമ്പോൾ അതേ പൂവ് കൂടുതൽ യാഥാർത്ഥ്യമായി കാണപ്പെടും. ഉദാഹരണത്തിന്, Far Cry from Crytek എന്ന ഗെയിമിൽ ചെയ്യുന്നത് പോലെ, ഇത് സാധാരണ HDR റെൻഡറിംഗ് രീതികൾ ഉപയോഗിക്കുന്നു: Kawase ഉം ടോൺ മാപ്പിംഗ് ഓപ്പറേറ്റർ Reinhard ഉം അവതരിപ്പിച്ച ബ്ലൂം ഫിൽട്ടറുകളുടെ ഉപയോഗം.

നിർഭാഗ്യവശാൽ, ചില സാഹചര്യങ്ങളിൽ, സാധാരണ എൽഡിആർ ശ്രേണിയിൽ കണക്കാക്കിയ ബ്ലൂം ഫിൽട്ടർ എച്ച്ഡിആർ എന്ന പേരിൽ ഗെയിം ഡെവലപ്പർമാർ മറച്ചേക്കാം. ഇക്കാലത്ത് എച്ച്ഡിആർ റെൻഡറിംഗിൽ ചെയ്യുന്ന മിക്ക ഗെയിമുകളും മികച്ച നിലവാരമുള്ള പൂക്കളാണെങ്കിലും, എച്ച്ഡിആർ റെൻഡറിംഗിന്റെ പ്രയോജനങ്ങൾ ഈ ഒരു പോസ്റ്റ്-ഇഫക്റ്റിൽ മാത്രമായി പരിമിതപ്പെടുന്നില്ല, ഇത് നിർമ്മിക്കാൻ ഏറ്റവും എളുപ്പമുള്ള ഒന്നാണ്.

തത്സമയ ആപ്ലിക്കേഷനുകളിൽ HDR റെൻഡറിംഗ് ഉപയോഗിക്കുന്നതിന്റെ മറ്റ് ഉദാഹരണങ്ങൾ:


ഒരു മോണിറ്റർ അല്ലെങ്കിൽ പ്രിന്റർ പോലെയുള്ള ഔട്ട്‌പുട്ട് ഉപകരണം പ്രദർശിപ്പിക്കുന്ന എച്ച്ഡിആർ ലുമിനൻസ് ശ്രേണിയെ എൽഡിആർ ശ്രേണിയിലേക്ക് പരിവർത്തനം ചെയ്യുന്ന പ്രക്രിയയാണ് ടോൺ മാപ്പിംഗ്. LDR-ന്റെ ചലനാത്മക ശ്രേണി, മിക്കപ്പോഴും RGB മോഡൽ. എല്ലാത്തിനുമുപരി, HDR-ൽ അവതരിപ്പിച്ചിരിക്കുന്ന തെളിച്ചത്തിന്റെ ശ്രേണി വളരെ വിശാലമാണ്, ഇത് ഒരു സമയത്ത്, ഒരു സീനിൽ, സമ്പൂർണ്ണ ചലനാത്മക ശ്രേണിയുടെ നിരവധി ഓർഡറുകളാണ്. പരമ്പരാഗത ഔട്ട്‌പുട്ട് ഉപകരണങ്ങളിൽ (മോണിറ്ററുകൾ, ടിവികൾ) പുനർനിർമ്മിക്കാൻ കഴിയുന്ന ശ്രേണി ഡൈനാമിക് ശ്രേണിയുടെ രണ്ട് ഓർഡറുകൾ മാത്രമാണ്.

എച്ച്ഡിആറിൽ നിന്ന് എൽഡിആറിലേക്കുള്ള പരിവർത്തനത്തെ ടോൺ മാപ്പിംഗ് എന്ന് വിളിക്കുന്നു; ഇത് നഷ്‌ടമുള്ളതും മനുഷ്യന്റെ കാഴ്ചയുടെ ഗുണങ്ങളെ അനുകരിക്കുന്നതുമാണ്. അത്തരം അൽഗോരിതങ്ങളെ സാധാരണയായി ടോൺ മാപ്പിംഗ് ഓപ്പറേറ്റർമാർ എന്ന് വിളിക്കുന്നു. ഓപ്പറേറ്റർമാർ എല്ലാ ഇമേജ് തെളിച്ച മൂല്യങ്ങളെയും മൂന്ന് വ്യത്യസ്ത തരങ്ങളായി വിഭജിക്കുന്നു: ഇരുണ്ട, ഇടത്തരം, തെളിച്ചമുള്ളത്. മിഡ്‌ടോൺ ബ്രൈറ്റ്‌നെസ് എസ്റ്റിമേറ്റ് അടിസ്ഥാനമാക്കി, മൊത്തത്തിലുള്ള പ്രകാശം ക്രമീകരിച്ചിരിക്കുന്നു, ഔട്ട്‌പുട്ട് ശ്രേണിയിലേക്ക് പ്രവേശിക്കുന്നതിന് സീൻ പിക്‌സലുകളുടെ തെളിച്ച മൂല്യങ്ങൾ പുനർവിതരണം ചെയ്യുന്നു, ഇരുണ്ട പിക്‌സലുകൾ തെളിച്ചമുള്ളതാക്കുന്നു, ലൈറ്റ് പിക്‌സലുകൾ ഇരുണ്ടതാക്കുന്നു. തുടർന്ന്, ചിത്രത്തിലെ ഏറ്റവും തിളക്കമുള്ള പിക്സലുകൾ ഔട്ട്പുട്ട് ഉപകരണത്തിന്റെ അല്ലെങ്കിൽ ഔട്ട്പുട്ട് കാഴ്ച മോഡലിന്റെ പരിധിയിലേക്ക് ചുരുക്കിയിരിക്കുന്നു. ഒരു HDR ഇമേജ് LDR ശ്രേണിയിലേക്കുള്ള ഏറ്റവും ലളിതമായ പരിവർത്തനം, ഒരു ലീനിയർ പരിവർത്തനം, മുകളിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ പ്രവർത്തിക്കുന്ന മധ്യഭാഗത്തെ ശകലത്തിൽ കൂടുതൽ സങ്കീർണ്ണമായ ടോൺ മാപ്പിംഗ് ഓപ്പറേറ്റർ പ്രയോഗിക്കുന്നത് ഇനിപ്പറയുന്ന ചിത്രം കാണിക്കുന്നു:

നോൺ-ലീനിയർ ടോൺ മാപ്പിംഗ് ഉപയോഗിച്ചാൽ മാത്രമേ നിങ്ങൾക്ക് ചിത്രത്തിൽ പരമാവധി വിശദാംശങ്ങൾ ലഭിക്കുകയുള്ളൂവെന്നും, HDR-നെ LDR-ലേക്ക് രേഖീയമായി പരിവർത്തനം ചെയ്യുകയാണെങ്കിൽ, ചെറിയ വിശദാംശങ്ങൾ നഷ്ടപ്പെടും. ഒരൊറ്റ ശരിയായ ടോൺ മാപ്പിംഗ് അൽഗോരിതം ഇല്ല; വ്യത്യസ്ത സാഹചര്യങ്ങളിൽ നല്ല ഫലങ്ങൾ നൽകുന്ന നിരവധി ഓപ്പറേറ്റർമാർ ഉണ്ട്. രണ്ട് വ്യത്യസ്ത ടോൺ മാപ്പിംഗ് ഓപ്പറേറ്റർമാരുടെ വ്യക്തമായ ഉദാഹരണം ഇതാ:

HDR റെൻഡറിംഗിനൊപ്പം, ടോൺ മാപ്പിംഗ് അടുത്തിടെ ഗെയിമുകളിൽ ഉപയോഗിക്കാൻ തുടങ്ങി. മനുഷ്യന്റെ കാഴ്ചയുടെ സവിശേഷതകൾ ഓപ്ഷണലായി അനുകരിക്കുന്നത് സാധ്യമായിരിക്കുന്നു: ഇരുണ്ട ദൃശ്യങ്ങളിലെ അക്വിറ്റി നഷ്ടം, വളരെ തെളിച്ചമുള്ള സ്ഥലങ്ങളിൽ നിന്ന് ഇരുണ്ടതിലേക്ക് മാറുമ്പോൾ പുതിയ ലൈറ്റിംഗ് അവസ്ഥകളോട് പൊരുത്തപ്പെടൽ, തിരിച്ചും, കോൺട്രാസ്റ്റിലെ മാറ്റങ്ങളോടുള്ള സംവേദനക്ഷമത, നിറം ... ഇതാണ് ഫാർ ക്രൈ ഗെയിമിൽ പൊരുത്തപ്പെടാനുള്ള കാഴ്ചയുടെ കഴിവിനെ അനുകരിക്കുന്നത് എങ്ങനെയിരിക്കും. ആദ്യ സ്ക്രീൻഷോട്ട്, ഇരുണ്ട മുറിയിൽ നിന്ന് തെളിച്ചമുള്ള തുറന്ന സ്ഥലത്തേക്ക് തിരിഞ്ഞതിന് ശേഷം കളിക്കാരൻ കാണുന്ന ചിത്രം കാണിക്കുന്നു, രണ്ടാമത്തേത് അഡാപ്റ്റേഷനുശേഷം കുറച്ച് നിമിഷങ്ങൾക്ക് ശേഷം അതേ ചിത്രം കാണിക്കുന്നു.

ബ്ലൂം

ചിത്രത്തിന്റെ ഏറ്റവും തിളക്കമുള്ള ഭാഗങ്ങൾ കൂടുതൽ തെളിച്ചമുള്ളതാക്കുന്ന സിനിമാറ്റിക് പോസ്റ്റ്-പ്രോസസിംഗ് ഇഫക്റ്റുകളിൽ ഒന്നാണ് ബ്ലൂം. ഇത് വളരെ തെളിച്ചമുള്ള പ്രകാശത്തിന്റെ ഫലമാണ്, ഇത് ശോഭയുള്ള പ്രതലങ്ങളിൽ ഒരു തിളക്കത്തിന്റെ രൂപത്തിൽ സ്വയം പ്രത്യക്ഷപ്പെടുന്നു. ബ്ലൂം ഫിൽട്ടർ പ്രയോഗിച്ചതിന് ശേഷം, അത്തരം പ്രതലങ്ങൾക്ക് അധിക തെളിച്ചം ലഭിക്കുക മാത്രമല്ല, അവയിൽ നിന്നുള്ള പ്രകാശം (ഹാലോ) തൊട്ടടുത്തുള്ള ഇരുണ്ട പ്രദേശങ്ങളെ ഭാഗികമായി ബാധിക്കുന്നു. ഫ്രെയിമിലെ തിളക്കമുള്ള പ്രതലങ്ങൾ. ഇത് കാണിക്കാനുള്ള ഏറ്റവും എളുപ്പ മാർഗം ഒരു ഉദാഹരണമാണ്:

ബ്ലൂം 3D ഗ്രാഫിക്സിൽ, അധിക പോസ്റ്റ്-പ്രോസസ്സിംഗ് ഉപയോഗിച്ചാണ് ഒരു ഫിൽട്ടർ നിർമ്മിച്ചിരിക്കുന്നത് - മങ്ങിയ ഒരു ഫ്രെയിമിനെ ബ്ലർ ഫിൽട്ടറുമായി (മുഴുവൻ ഫ്രെയിമും അല്ലെങ്കിൽ അതിന്റെ വ്യക്തിഗത തെളിച്ചമുള്ള പ്രദേശങ്ങളും, ഫിൽട്ടർ സാധാരണയായി നിരവധി തവണ പ്രയോഗിക്കുന്നു) യഥാർത്ഥ ഫ്രെയിമും. ഗെയിമുകളിലും മറ്റ് തത്സമയ ആപ്ലിക്കേഷനുകളിലും ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന ബ്ലൂം പോസ്റ്റ്-ഫിൽട്ടർ അൽഗോരിതങ്ങളിൽ ഒന്ന്:

  • രംഗം ഒരു ഫ്രെയിംബഫറിലേക്ക് റെൻഡർ ചെയ്‌തിരിക്കുന്നു, വസ്തുക്കളുടെ ഗ്ലോ തീവ്രത ബഫറിന്റെ ആൽഫ ചാനലിൽ രേഖപ്പെടുത്തുന്നു.
  • ഫ്രെയിംബഫർ പ്രോസസ്സിംഗിനായി ഒരു പ്രത്യേക ടെക്സ്ചറിലേക്ക് പകർത്തിയിരിക്കുന്നു.
  • ടെക്സ്ചർ റെസല്യൂഷൻ കുറയുന്നു, ഉദാഹരണത്തിന്, 4 മടങ്ങ്.
  • ആൽഫ ചാനലിൽ രേഖപ്പെടുത്തിയിരിക്കുന്ന തീവ്രത ഡാറ്റയെ അടിസ്ഥാനമാക്കി നിരവധി തവണ ചിത്രത്തിൽ ബ്ലർ ഫിൽട്ടറുകൾ പ്രയോഗിക്കുന്നു.
  • തത്ഫലമായുണ്ടാകുന്ന ചിത്രം ഫ്രെയിംബഫറിലെ യഥാർത്ഥ ഫ്രെയിമുമായി കലർത്തി, ഫലം സ്ക്രീനിൽ പ്രദർശിപ്പിക്കും.

മറ്റ് തരത്തിലുള്ള പോസ്റ്റ്-പ്രോസസ്സിംഗ് പോലെ, ഉയർന്ന ഡൈനാമിക് റേഞ്ച് (HDR) റെൻഡറിങ്ങിന് ബ്ലൂം ഏറ്റവും നന്നായി ഉപയോഗിക്കുന്നു. തത്സമയ 3D ആപ്ലിക്കേഷനുകളിൽ നിന്നുള്ള ഫിൽട്ടർ ഉപയോഗിച്ച് അന്തിമ ബ്ലൂം ഇമേജ് പ്രോസസ്സ് ചെയ്യുന്നതിനുള്ള അധിക ഉദാഹരണങ്ങൾ:

ചലന മങ്ങൽ

ലെൻസ് ഷട്ടർ തുറന്നിരിക്കുമ്പോൾ ഫ്രെയിമിന്റെ എക്സ്പോഷർ സമയത്ത് ഫ്രെയിമിലെ വസ്തുക്കളുടെ ചലനം കാരണം ഫോട്ടോഗ്രാഫിയിലും ഫിലിമിലും മോഷൻ ബ്ലർ സംഭവിക്കുന്നു. ക്യാമറ എടുത്ത ഫ്രെയിം (ഫോട്ടോ, ഫിലിം) പൂജ്യം ദൈർഘ്യത്തോടെ തൽക്ഷണം എടുത്ത ചിത്രം കാണിക്കുന്നില്ല. സാങ്കേതിക പരിമിതികൾ കാരണം, ഫ്രെയിം ഒരു നിശ്ചിത കാലയളവ് കാണിക്കുന്നു, ഈ സമയത്ത് ഫ്രെയിമിലെ വസ്തുക്കൾക്ക് ഒരു നിശ്ചിത ദൂരം നീങ്ങാൻ കഴിയും, ഇത് സംഭവിക്കുകയാണെങ്കിൽ, ലെൻസിന്റെ തുറന്ന ഷട്ടർ സമയത്ത് ചലിക്കുന്ന വസ്തുവിന്റെ എല്ലാ സ്ഥാനങ്ങളും അവതരിപ്പിക്കും. ചലന വെക്‌ടറിനൊപ്പം ഒരു മങ്ങിയ ചിത്രമായി ഫ്രെയിം. ഒബ്‌ജക്‌റ്റ് ക്യാമറയുമായോ ക്യാമറയോ ആപേക്ഷികമായി ചലിക്കുകയാണെങ്കിൽ ഇത് സംഭവിക്കുന്നു, കൂടാതെ മങ്ങലിന്റെ അളവ് ഒബ്‌ജക്റ്റ് ചലിക്കുന്ന വേഗതയെക്കുറിച്ചുള്ള ഒരു ആശയം നൽകുന്നു.

ത്രിമാന ആനിമേഷനിൽ, ഓരോ നിർദ്ദിഷ്ട സമയത്തും (ഫ്രെയിം), ഒബ്ജക്റ്റുകൾ ത്രിമാന സ്ഥലത്ത് ചില കോർഡിനേറ്റുകളിൽ സ്ഥിതിചെയ്യുന്നു, അനന്തമായ വേഗതയുള്ള ഷട്ടർ സ്പീഡുള്ള ഒരു വെർച്വൽ ക്യാമറയ്ക്ക് സമാനമാണ്. തൽഫലമായി, വേഗത്തിൽ ചലിക്കുന്ന വസ്തുക്കളിലേക്ക് നോക്കുമ്പോൾ ക്യാമറയ്ക്കും മനുഷ്യന്റെ കണ്ണിനും അനുഭവപ്പെടുന്നതുപോലെയുള്ള മങ്ങൽ ഇല്ലാതാകുന്നു. ഇത് പ്രകൃതിവിരുദ്ധവും യാഥാർത്ഥ്യബോധമില്ലാത്തതുമായി തോന്നുന്നു. നമുക്ക് ഒരു ലളിതമായ ഉദാഹരണം പരിഗണിക്കാം: ഒരു നിശ്ചിത അക്ഷത്തിന് ചുറ്റും നിരവധി ഗോളങ്ങൾ കറങ്ങുന്നു. മങ്ങലോടെയും അല്ലാതെയും ഈ ചലനം എങ്ങനെയായിരിക്കുമെന്നതിന്റെ ഒരു ചിത്രം ഇതാ:

മങ്ങലില്ലാത്ത ഒരു ചിത്രത്തിൽ നിന്ന്, ഗോളങ്ങൾ ചലിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പോലും നിങ്ങൾക്ക് പറയാൻ കഴിയില്ല, അതേസമയം ചലന മങ്ങൽ വസ്തുക്കളുടെ ചലനത്തിന്റെ വേഗതയെയും ദിശയെയും കുറിച്ച് വ്യക്തമായ ആശയം നൽകുന്നു. അതേസമയം, ഒരേ ഫ്രെയിം റേറ്റ് പാരാമീറ്ററുകളിൽ സിനിമകളും വീഡിയോകളും മികച്ചതായി കാണപ്പെടുമെങ്കിലും, സെക്കൻഡിൽ 25-30 ഫ്രെയിമുകളിൽ ഗെയിമുകളിലെ ചലനം ഞെട്ടലായി തോന്നുന്നതിന്റെ കാരണവും ചലന മങ്ങലിന്റെ അഭാവമാണ്. ചലന മങ്ങലിന്റെ അഭാവം നികത്താൻ, ഒന്നുകിൽ ഉയർന്ന ഫ്രെയിം റേറ്റ് (സെക്കൻഡിൽ 60 ഫ്രെയിമുകൾ അല്ലെങ്കിൽ ഉയർന്നത്) അല്ലെങ്കിൽ മോഷൻ ബ്ലർ ഇഫക്റ്റ് അനുകരിക്കാൻ അധിക ഇമേജ് പ്രോസസ്സിംഗ് രീതികൾ ഉപയോഗിക്കുന്നത് അഭികാമ്യമാണ്. ആനിമേഷന്റെ സുഗമത മെച്ചപ്പെടുത്തുന്നതിനും ഒരേ സമയം ഫോട്ടോയുടെയും ഫിലിം റിയലിസത്തിന്റെയും ഇഫക്റ്റിനായി ഇത് ഉപയോഗിക്കുന്നു.

തത്സമയ ആപ്ലിക്കേഷനുകൾക്കുള്ള ഏറ്റവും ലളിതമായ മോഷൻ ബ്ലർ അൽഗോരിതം നിലവിലെ ഫ്രെയിം റെൻഡർ ചെയ്യുന്നതിന് മുൻ ആനിമേഷൻ ഫ്രെയിമുകളിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിക്കുക എന്നതാണ്. എന്നാൽ മുമ്പത്തെ ഫ്രെയിമുകൾ ഉപയോഗിക്കാത്ത, എന്നാൽ ഫ്രെയിമിലെ ഒബ്‌ജക്റ്റുകളുടെ ചലന വെക്‌റ്ററുകളെ അടിസ്ഥാനമാക്കിയുള്ള കൂടുതൽ ഫലപ്രദവും ആധുനികവുമായ മോഷൻ ബ്ലർ രീതികളും ഉണ്ട്, കൂടാതെ റെൻഡറിംഗ് പ്രക്രിയയിലേക്ക് മറ്റൊരു പോസ്റ്റ്-പ്രോസസ്സിംഗ് ഘട്ടം കൂടി ചേർക്കുന്നു. ബ്ലർ ഇഫക്റ്റ് ഒന്നുകിൽ ഫുൾ സ്‌ക്രീൻ ആകാം (സാധാരണയായി പോസ്റ്റ്-പ്രോസസ്സിങ്ങിലാണ് ചെയ്യുന്നത്) അല്ലെങ്കിൽ വ്യക്തിഗതവും വേഗത്തിൽ ചലിക്കുന്നതുമായ ഒബ്‌ജക്റ്റുകൾക്ക്.

ഗെയിമുകളിലെ മോഷൻ ബ്ലർ ഇഫക്റ്റിന്റെ സാധ്യമായ ആപ്ലിക്കേഷനുകൾ: എല്ലാ റേസിംഗ് ഗെയിമുകളും (വളരെ ഉയർന്ന വേഗതയുള്ള ചലനത്തിന്റെ പ്രഭാവം സൃഷ്ടിക്കുന്നതിനും ടിവി റീപ്ലേകൾ കാണുമ്പോൾ ഉപയോഗിക്കുന്നതിനും), സ്‌പോർട്‌സ് ഗെയിമുകൾ (അതേ റീപ്ലേകൾ, ഗെയിമിൽ തന്നെ മങ്ങിക്കൽ എന്നിവ വളരെ ഉപയോഗിക്കാം. ഒരു പന്ത് അല്ലെങ്കിൽ പക്ക് പോലെയുള്ള വേഗത്തിൽ ചലിക്കുന്ന വസ്തുക്കൾ), പോരാട്ട ഗെയിമുകൾ (ബ്ലേഡ് ആയുധങ്ങൾ, ആയുധങ്ങൾ, കാലുകൾ എന്നിവയുടെ വേഗത്തിലുള്ള ചലനങ്ങൾ), മറ്റ് നിരവധി ഗെയിമുകൾ (എഞ്ചിനിലെ ഇൻ-ഗെയിം 3D കട്ട്‌സ്‌സീനുകളിൽ). ഗെയിമുകളിൽ നിന്നുള്ള മോഷൻ ബ്ലർ പോസ്റ്റ്-ഇഫക്റ്റ് ഉപയോഗിക്കുന്നതിന്റെ ഉദാഹരണങ്ങൾ ഇതാ:

ഫീൽഡിന്റെ ആഴം (DOF)

ഡെപ്ത് ഓഫ് ഫീൽഡ്, ചുരുക്കത്തിൽ, ക്യാമറയുടെ ഫോക്കസുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ വസ്തുക്കളുടെ സ്ഥാനം അനുസരിച്ച് അവയുടെ മങ്ങലാണ്. യഥാർത്ഥ ജീവിതത്തിൽ, ഫോട്ടോഗ്രാഫുകളിലും സിനിമകളിലും, നമ്മൾ എല്ലാ വസ്തുക്കളെയും ഒരുപോലെ വ്യക്തമായി കാണുന്നില്ല; ഇത് കണ്ണിന്റെ ഘടനയും ഫോട്ടോയുടെയും മൂവി ക്യാമറകളുടെയും ഒപ്റ്റിക്സിന്റെ രൂപകൽപ്പനയുമാണ്. ഫോട്ടോയ്ക്കും ഫിലിം ഒപ്റ്റിക്‌സിനും ഒരു നിശ്ചിത ദൂരമുണ്ട്, ക്യാമറയിൽ നിന്ന് ഈ അകലത്തിൽ സ്ഥിതിചെയ്യുന്ന വസ്തുക്കൾ ഫോക്കസിലാണ്, ചിത്രത്തിൽ മൂർച്ചയുള്ളതായി കാണപ്പെടുന്നു, കൂടാതെ ക്യാമറയിൽ നിന്ന് കൂടുതൽ ദൂരെയോ അതിനടുത്തോ ഉള്ള വസ്തുക്കൾ കാണപ്പെടുന്നു, നേരെമറിച്ച്, മങ്ങിയതും മൂർച്ചയുള്ളതും ക്രമേണ കുറയുന്നു. ദൂരം കൂടുകയോ കുറയുകയോ ചെയ്യുന്നു.

നിങ്ങൾ ഊഹിച്ചതുപോലെ, ഇതൊരു ഫോട്ടോഗ്രാഫാണ്, ചിത്രീകരണമല്ല. കമ്പ്യൂട്ടർ ഗ്രാഫിക്സിൽ, റെൻഡർ ചെയ്ത ചിത്രത്തിലെ എല്ലാ ഒബ്ജക്റ്റും തികച്ചും വ്യക്തമാണ്, കാരണം കണക്കുകൂട്ടൽ സമയത്ത് ലെൻസുകളും ഒപ്റ്റിക്സും അനുകരിക്കുന്നില്ല. അതിനാൽ, ഫോട്ടോയും ഫിലിം റിയലിസവും നേടുന്നതിന്, കമ്പ്യൂട്ടർ ഗ്രാഫിക്സിനായി സമാനമായ എന്തെങ്കിലും ചെയ്യാൻ നിങ്ങൾ പ്രത്യേക അൽഗോരിതങ്ങൾ ഉപയോഗിക്കേണ്ടതുണ്ട്. ഈ സാങ്കേതിക വിദ്യകൾ വ്യത്യസ്ത അകലത്തിലുള്ള വസ്തുക്കൾക്ക് വ്യത്യസ്ത ഫോക്കസിന്റെ ഫലത്തെ അനുകരിക്കുന്നു.

ഇമേജ് പിക്സലുകളുടെ ഡെപ്ത് ഡാറ്റയെ അടിസ്ഥാനമാക്കി യഥാർത്ഥ ഫ്രെയിമും അതിന്റെ മങ്ങിയ പതിപ്പും (ഒരു ബ്ലർ ഫിൽട്ടറിന്റെ ഒന്നിലധികം പാസുകൾ) മിശ്രണം ചെയ്യുക എന്നതാണ് തത്സമയ റെൻഡറിംഗിനുള്ള ഒരു പൊതു സാങ്കേതികത. ഗെയിമുകളിൽ, DOF ഇഫക്റ്റിന് നിരവധി ഉപയോഗങ്ങളുണ്ട്, ഉദാഹരണത്തിന്, ഗെയിം എഞ്ചിനിലെ ഇൻ-ഗെയിം കട്ട്‌സ്‌സീനുകൾ, സ്‌പോർട്‌സ്, റേസിംഗ് ഗെയിമുകളിലെ റീപ്ലേകൾ. തത്സമയം ഫീൽഡിന്റെ ആഴത്തിന്റെ ഉദാഹരണങ്ങൾ:

വിശദമായ ലെവൽ (LOD)

3D ആപ്ലിക്കേഷനുകളിലെ വിശദാംശങ്ങളുടെ ലെവൽ ഒരു ഫ്രെയിം റെൻഡർ ചെയ്യുന്നതിന്റെ സങ്കീർണ്ണത കുറയ്ക്കുന്നതിനും ദൃശ്യത്തിലെ മൊത്തം പോളിഗോണുകളുടെയും ടെക്സ്ചറുകളുടെയും മറ്റ് ഉറവിടങ്ങളുടെയും എണ്ണം കുറയ്ക്കുന്നതിനും പൊതുവെ അതിന്റെ സങ്കീർണ്ണത കുറയ്ക്കുന്നതിനുമുള്ള ഒരു രീതിയാണ്. ഒരു ലളിതമായ ഉദാഹരണം: പ്രധാന പ്രതീക മാതൃകയിൽ 10,000 ബഹുഭുജങ്ങൾ അടങ്ങിയിരിക്കുന്നു. പ്രോസസ്സ് ചെയ്ത സീനിൽ ക്യാമറയ്ക്ക് സമീപം സ്ഥിതി ചെയ്യുന്ന സന്ദർഭങ്ങളിൽ, എല്ലാ ബഹുഭുജങ്ങളും ഉപയോഗിക്കുന്നത് പ്രധാനമാണ്, എന്നാൽ അവസാന ചിത്രത്തിലെ ക്യാമറയിൽ നിന്ന് വളരെ വലിയ അകലത്തിൽ അത് കുറച്ച് പിക്സലുകൾ മാത്രമേ ഉൾക്കൊള്ളൂ, ഒരു കാര്യവുമില്ല. എല്ലാ 10,000 ബഹുഭുജങ്ങളും പ്രോസസ്സ് ചെയ്യുന്നതിൽ. ഒരുപക്ഷേ ഈ സാഹചര്യത്തിൽ, മോഡൽ ഏകദേശം അതേ രീതിയിൽ പ്രദർശിപ്പിക്കാൻ നൂറ് ബഹുഭുജങ്ങൾ, അല്ലെങ്കിൽ രണ്ട് കഷണങ്ങൾ, പ്രത്യേകം തയ്യാറാക്കിയ ടെക്സ്ചർ എന്നിവ മതിയാകും. അതനുസരിച്ച്, ഇടത്തരം ദൂരങ്ങളിൽ, ഏറ്റവും ലളിതമായ മോഡലിനേക്കാൾ കൂടുതൽ ത്രികോണങ്ങൾ അടങ്ങുന്ന ഒരു മോഡൽ ഉപയോഗിക്കുന്നത് യുക്തിസഹമാണ്.

ക്യാമറയിൽ നിന്നുള്ള ദൂരത്തിന് ആനുപാതികമായി ഒബ്‌ജക്റ്റുകൾക്കായി ഒന്നിലധികം സങ്കീർണ്ണത (ജ്യാമിതീയമോ മറ്റോ) ഉപയോഗിച്ച്, 3D സീനുകൾ മോഡലിംഗ് ചെയ്യുമ്പോഴും റെൻഡർ ചെയ്യുമ്പോഴും LOD രീതി സാധാരണയായി ഉപയോഗിക്കുന്നു. ഒരു സീനിലെ ബഹുഭുജങ്ങളുടെ എണ്ണം കുറയ്ക്കുന്നതിനും പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനും ഗെയിം ഡെവലപ്പർമാർ പലപ്പോഴും ഈ രീതി ഉപയോഗിക്കുന്നു. ക്യാമറയ്ക്ക് സമീപം സ്ഥിതിചെയ്യുമ്പോൾ, പരമാവധി വിശദാംശങ്ങളുള്ള മോഡലുകൾ ഉപയോഗിക്കുന്നു (ത്രികോണങ്ങളുടെ എണ്ണം, ടെക്സ്ചർ വലുപ്പം, ടെക്സ്ചറിംഗ് സങ്കീർണ്ണത), സാധ്യമായ ഏറ്റവും ഉയർന്ന ചിത്ര ഗുണമേന്മയ്ക്കായി, തിരിച്ചും, ക്യാമറയിൽ നിന്ന് മോഡലുകൾ നീക്കംചെയ്യുമ്പോൾ, കുറച്ച് ത്രികോണങ്ങളുള്ള മോഡലുകൾ. റെൻഡറിംഗ് വേഗത വർദ്ധിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു. സങ്കീർണ്ണത മാറ്റുന്നത്, പ്രത്യേകിച്ച്, മോഡലിലെ ത്രികോണങ്ങളുടെ എണ്ണം, പരമാവധി സങ്കീർണ്ണതയുടെ ഒരു 3D മോഡലിനെ അടിസ്ഥാനമാക്കി അല്ലെങ്കിൽ വ്യത്യസ്ത തലത്തിലുള്ള വിശദാംശങ്ങളുള്ള മുൻകൂട്ടി തയ്യാറാക്കിയ നിരവധി മോഡലുകളെ അടിസ്ഥാനമാക്കി യാന്ത്രികമായി സംഭവിക്കാം. വ്യത്യസ്ത ദൂരങ്ങളിൽ സൂക്ഷ്മമായ വിശദാംശങ്ങളുള്ള മോഡലുകൾ ഉപയോഗിക്കുന്നതിലൂടെ, ചിത്രത്തിന്റെ മൊത്തത്തിലുള്ള വിശദാംശങ്ങളെ തരംതാഴ്ത്താതെ തന്നെ കണക്കാക്കിയ റെൻഡറിംഗ് സങ്കീർണ്ണത കുറയ്ക്കുന്നു.

ദൃശ്യത്തിലെ ഒബ്‌ജക്‌റ്റുകളുടെ എണ്ണം വലുതാണെങ്കിൽ അവ ക്യാമറയിൽ നിന്ന് വ്യത്യസ്ത അകലങ്ങളിൽ സ്ഥിതിചെയ്യുന്നുണ്ടെങ്കിൽ ഈ രീതി പ്രത്യേകിച്ചും ഫലപ്രദമാണ്. ഉദാഹരണത്തിന്, നമുക്ക് ഒരു ഹോക്കി അല്ലെങ്കിൽ ഫുട്ബോൾ സിമുലേറ്റർ പോലുള്ള ഒരു സ്പോർട്സ് ഗെയിം എടുക്കാം. ക്യാമറയിൽ നിന്ന് വളരെ അകലെയായിരിക്കുമ്പോൾ ലോ-പോളി ക്യാരക്ടർ മോഡലുകൾ ഉപയോഗിക്കുന്നു, അവ അടുത്തെത്തുമ്പോൾ, ഉയർന്ന എണ്ണം പോളിഗോണുകൾ ഉപയോഗിച്ച് മോഡലുകൾ മാറ്റിസ്ഥാപിക്കുന്നു. ഈ ഉദാഹരണം വളരെ ലളിതമാണ്, ഇത് മോഡലിന്റെ രണ്ട് തലത്തിലുള്ള വിശദാംശങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള രീതിയുടെ സത്ത കാണിക്കുന്നു, എന്നാൽ LOD ലെവൽ മാറ്റുന്നതിന്റെ ഫലം വളരെ ശ്രദ്ധേയമാകാതിരിക്കാൻ നിരവധി തലത്തിലുള്ള വിശദാംശങ്ങൾ സൃഷ്ടിക്കാൻ ആരും മെനക്കെടുന്നില്ല, അതിനാൽ ഒബ്ജക്റ്റ് അടുക്കുമ്പോൾ വിശദാംശങ്ങൾ ക്രമേണ "വളരുന്നു".

ക്യാമറയിൽ നിന്നുള്ള ദൂരത്തിന് പുറമേ, മറ്റ് ഘടകങ്ങളും LOD-ന് പ്രധാനമായേക്കാം - സ്ക്രീനിലെ മൊത്തം ഒബ്ജക്റ്റുകളുടെ എണ്ണം (ഫ്രെയിമിൽ ഒന്നോ രണ്ടോ പ്രതീകങ്ങൾ ഉള്ളപ്പോൾ, സങ്കീർണ്ണമായ മോഡലുകൾ ഉപയോഗിക്കുന്നു, കൂടാതെ 10-20 ഉള്ളപ്പോൾ , അവ ലളിതമായവയിലേക്ക് മാറുന്നു) അല്ലെങ്കിൽ സെക്കൻഡിലെ ഫ്രെയിമുകളുടെ എണ്ണം (എഫ്പിഎസ് മൂല്യങ്ങളുടെ പരിധി സജ്ജീകരിച്ചിരിക്കുന്നു, അതിൽ വിശദാംശങ്ങളുടെ അളവ് മാറുന്നു, ഉദാഹരണത്തിന്, 30-ന് താഴെയുള്ള FPS ഉപയോഗിച്ച് ഞങ്ങൾ സ്ക്രീനിലെ മോഡലുകളുടെ സങ്കീർണ്ണത കുറയ്ക്കുന്നു, 60-ൽ, നേരെമറിച്ച്, ഞങ്ങൾ അത് വർദ്ധിപ്പിക്കുന്നു). വിശദാംശങ്ങളുടെ തലത്തെ സ്വാധീനിക്കുന്ന മറ്റ് സാധ്യമായ ഘടകങ്ങൾ ഒരു വസ്തുവിന്റെ ചലനത്തിന്റെ വേഗതയാണ് (നിങ്ങൾക്ക് ഒരു റോക്കറ്റ് ചലനത്തിൽ കാണാൻ സമയമില്ല, പക്ഷേ നിങ്ങൾക്ക് ഒരു ഒച്ചിനെ എളുപ്പത്തിൽ കാണാൻ കഴിയും), ഗെയിമിംഗ് വീക്ഷണകോണിൽ നിന്ന് കഥാപാത്രത്തിന്റെ പ്രാധാന്യം (ഒരേ ഫുട്ബോൾ എടുക്കുക - നിങ്ങൾ നിയന്ത്രിക്കുന്ന കളിക്കാരന്റെ മോഡലിന്, നിങ്ങൾക്ക് കൂടുതൽ സങ്കീർണ്ണമായ ജ്യാമിതിയും ടെക്സ്ചറുകളും ഉപയോഗിക്കാം, നിങ്ങൾ അത് ഏറ്റവും അടുത്തും മിക്കപ്പോഴും കാണും). ഇതെല്ലാം ഒരു പ്രത്യേക ഡവലപ്പറുടെ ആഗ്രഹങ്ങളെയും കഴിവുകളെയും ആശ്രയിച്ചിരിക്കുന്നു. പ്രധാന കാര്യം അത് അമിതമാക്കരുത്; വിശദാംശങ്ങളുടെ തലത്തിൽ പതിവുള്ളതും ശ്രദ്ധേയവുമായ മാറ്റങ്ങൾ ശല്യപ്പെടുത്തുന്നതാണ്.

വിശദാംശങ്ങളുടെ നില ജ്യാമിതിയുമായി മാത്രം ബന്ധപ്പെട്ടിരിക്കണമെന്നില്ല എന്ന് ഞാൻ നിങ്ങളെ ഓർമ്മിപ്പിക്കട്ടെ; മറ്റ് ഉറവിടങ്ങൾ സംരക്ഷിക്കുന്നതിനും ഈ രീതി ഉപയോഗിക്കാം: ടെക്സ്ചറിംഗ് ചെയ്യുമ്പോൾ (വീഡിയോ ചിപ്പുകൾ ഇതിനകം തന്നെ മിപ്പ്മാപ്പിംഗ് ഉപയോഗിക്കുന്നുണ്ടെങ്കിലും, ചിലപ്പോൾ അത് മറ്റുള്ളവരിലേക്ക് പറക്കുമ്പോൾ ടെക്സ്ചറുകൾ മാറ്റുന്നത് അർത്ഥമാക്കുന്നു. വ്യത്യസ്ത വിശദാംശങ്ങളോടെ), ലൈറ്റിംഗ് ടെക്നിക്കുകൾ (സങ്കീർണ്ണമായ അൽഗോരിതം ഉപയോഗിച്ച് അടുത്ത വസ്തുക്കൾ പ്രകാശിപ്പിക്കുന്നു, കൂടാതെ വിദൂരമായവ - ലളിതമായ ഒന്ന് ഉപയോഗിച്ച്), ടെക്സ്ചറിംഗ് ടെക്നിക്കുകൾ (സമീപ പ്രതലങ്ങളിൽ സങ്കീർണ്ണമായ പാരലാക്സ് മാപ്പിംഗ് ഉപയോഗിക്കുന്നു, വിദൂര പ്രതലങ്ങളിൽ സാധാരണ മാപ്പിംഗ് ഉപയോഗിക്കുന്നു) തുടങ്ങിയവ. .

ഒരു ഗെയിമിൽ നിന്ന് ഒരു ഉദാഹരണം കാണിക്കുന്നത് അത്ര എളുപ്പമല്ല; ഒരു വശത്ത്, മിക്കവാറും എല്ലാ ഗെയിമുകളിലും LOD ഒരു ഡിഗ്രിയോ മറ്റോ ഉപയോഗിക്കുന്നു, മറുവശത്ത്, ഇത് വ്യക്തമായി കാണിക്കാൻ എല്ലായ്പ്പോഴും സാധ്യമല്ല, അല്ലാത്തപക്ഷം ചെറിയ കാര്യമുണ്ടാകും LOD ൽ തന്നെ.

എന്നാൽ ഈ ഉദാഹരണത്തിൽ, ഏറ്റവും അടുത്തുള്ള കാർ മോഡലിന് പരമാവധി വിശദാംശങ്ങളുണ്ടെന്ന് ഇപ്പോഴും വ്യക്തമാണ്, അടുത്ത രണ്ടോ മൂന്നോ കാറുകളും ഈ ലെവലിനോട് വളരെ അടുത്താണ്, കൂടാതെ എല്ലാ വിദൂര കാറുകൾക്കും ദൃശ്യമായ ലളിതവൽക്കരണങ്ങളുണ്ട്, ഇവിടെ ഏറ്റവും പ്രധാനപ്പെട്ടത്: ഒന്നുമില്ല റിയർ വ്യൂ മിററുകൾ, ലൈസൻസ് പ്ലേറ്റുകൾ, വിൻഡ്ഷീൽഡ് വൈപ്പറുകൾ, അധിക ലൈറ്റിംഗ് ഉപകരണങ്ങൾ. ഏറ്റവും ദൂരെയുള്ള മോഡലിന് റോഡിൽ ഒരു നിഴൽ പോലും ഇല്ല. പ്രവർത്തനത്തിലുള്ള വിശദാംശ അൽഗോരിതം ഇതാണ്.

ആഗോള പ്രകാശം

റിയലിസ്റ്റിക് സീൻ ലൈറ്റിംഗ് അനുകരിക്കാൻ പ്രയാസമാണ്; യഥാർത്ഥത്തിൽ ഓരോ പ്രകാശകിരണവും പലതവണ പ്രതിഫലിക്കുകയും പ്രതിഫലിപ്പിക്കുകയും ചെയ്യുന്നു, ഈ പ്രതിഫലനങ്ങളുടെ എണ്ണം പരിമിതമല്ല. 3D റെൻഡറിംഗിൽ, പ്രതിഫലനങ്ങളുടെ എണ്ണം കണക്കുകൂട്ടൽ കഴിവുകളെ ശക്തമായി ആശ്രയിച്ചിരിക്കുന്നു; ഏത് സീൻ കണക്കുകൂട്ടലും ഒരു ലളിതമായ ഫിസിക്കൽ മോഡലാണ്, തത്ഫലമായുണ്ടാകുന്ന ചിത്രം റിയലിസത്തോട് അടുത്താണ്.

ലൈറ്റിംഗ് അൽഗോരിതങ്ങളെ രണ്ട് മോഡലുകളായി തിരിക്കാം: നേരിട്ടുള്ള അല്ലെങ്കിൽ പ്രാദേശിക പ്രകാശം, ആഗോള പ്രകാശം (നേരിട്ട് അല്ലെങ്കിൽ പ്രാദേശിക പ്രകാശം, ആഗോള പ്രകാശം). പ്രാദേശിക ലൈറ്റിംഗ് മോഡൽ നേരിട്ടുള്ള പ്രകാശത്തിന്റെ കണക്കുകൂട്ടൽ ഉപയോഗിക്കുന്നു, അതാര്യമായ ഉപരിതലമുള്ള പ്രകാശത്തിന്റെ ആദ്യ വിഭജനത്തിന് മുമ്പ് പ്രകാശ സ്രോതസ്സുകളിൽ നിന്നുള്ള പ്രകാശം, വസ്തുക്കളുടെ പരസ്പരം ഇടപെടൽ കണക്കിലെടുക്കുന്നില്ല. അത്തരമൊരു മാതൃക പശ്ചാത്തലമോ ആംബിയന്റ് ലൈറ്റിംഗോ ചേർത്ത് ഇതിന് നഷ്ടപരിഹാരം നൽകാൻ ശ്രമിക്കുന്നുണ്ടെങ്കിലും, ഇത് ഏറ്റവും ലളിതമായ ഏകദേശമാണ്, എല്ലാ പരോക്ഷ പ്രകാശ സ്രോതസ്സുകളിൽ നിന്നും വളരെ ലളിതമാക്കിയ ഒരു പ്രകാശം, ഇത് നേരിട്ടുള്ള പ്രകാശത്തിന്റെ അഭാവത്തിൽ വസ്തുക്കളുടെ പ്രകാശത്തിന്റെ നിറവും തീവ്രതയും സജ്ജമാക്കുന്നു. ഉറവിടങ്ങൾ.

അതേ റേ ട്രെയ്‌സിംഗ് പ്രകാശ സ്രോതസ്സുകളിൽ നിന്നുള്ള നേരിട്ടുള്ള കിരണങ്ങളാൽ മാത്രമേ ഉപരിതലത്തിന്റെ പ്രകാശം കണക്കാക്കൂ, കൂടാതെ ഏത് ഉപരിതലവും ദൃശ്യമാകുന്നതിന്, ഒരു പ്രകാശ സ്രോതസ്സ് നേരിട്ട് പ്രകാശിപ്പിക്കണം. ഫോട്ടോറിയലിസ്റ്റിക് ഫലങ്ങൾ നേടുന്നതിന് ഇത് പര്യാപ്തമല്ല; നേരിട്ടുള്ള ലൈറ്റിംഗിന് പുറമേ, മറ്റ് ഉപരിതലങ്ങളിൽ നിന്ന് പ്രതിഫലിക്കുന്ന കിരണങ്ങളാൽ ദ്വിതീയ ലൈറ്റിംഗും കണക്കിലെടുക്കണം. യഥാർത്ഥ ലോകത്ത്, പ്രകാശകിരണങ്ങൾ പൂർണ്ണമായും മങ്ങുന്നത് വരെ ഉപരിതലത്തിൽ നിന്ന് നിരവധി തവണ കുതിക്കുന്നു. ഒരു ജാലകത്തിലൂടെ കടന്നുപോകുന്ന സൂര്യപ്രകാശം മുറിയെ മുഴുവൻ പ്രകാശിപ്പിക്കുന്നു, എന്നിരുന്നാലും കിരണങ്ങൾക്ക് എല്ലാ ഉപരിതലങ്ങളിലും നേരിട്ട് എത്താൻ കഴിയില്ല. പ്രകാശ സ്രോതസ്സ് കൂടുതൽ തെളിച്ചമുള്ളതാണെങ്കിൽ, അത് കൂടുതൽ തവണ പ്രതിഫലിക്കും. പ്രതിഫലിക്കുന്ന പ്രതലത്തിന്റെ നിറം പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ നിറത്തെയും ബാധിക്കുന്നു, ഉദാഹരണത്തിന്, ചുവന്ന മതിൽ അടുത്തുള്ള വെളുത്ത വസ്തുവിൽ ചുവന്ന പൊട്ടുണ്ടാക്കും. ഇവിടെ വ്യക്തമായ വ്യത്യാസമുണ്ട്, സെക്കൻഡറി ലൈറ്റിംഗ് കണക്കിലെടുക്കാതെയും അത് കണക്കിലെടുക്കാതെയും കണക്കുകൂട്ടൽ:

ആഗോള ലൈറ്റിംഗ് മോഡലിൽ, ഗ്ലോബൽ ലൈറ്റിംഗ് മോഡലിൽ, വസ്തുക്കളുടെ പരസ്പരം സ്വാധീനം കണക്കിലെടുത്ത് ലൈറ്റിംഗ് കണക്കാക്കുന്നു, വസ്തുക്കളുടെ ഉപരിതലത്തിൽ നിന്നുള്ള പ്രകാശകിരണങ്ങളുടെ ഒന്നിലധികം പ്രതിഫലനങ്ങളും അപവർത്തനങ്ങളും, കാസ്റ്റിക്സ്, ഭൂഗർഭ വിസരണം എന്നിവ കണക്കിലെടുക്കുന്നു. ഈ മോഡൽ നിങ്ങളെ കൂടുതൽ റിയലിസ്റ്റിക് ചിത്രം ലഭിക്കാൻ അനുവദിക്കുന്നു, പക്ഷേ പ്രക്രിയയെ സങ്കീർണ്ണമാക്കുന്നു, കൂടുതൽ വിഭവങ്ങൾ ആവശ്യമാണ്. നിരവധി ആഗോള പ്രകാശ അൽഗോരിതങ്ങൾ ഉണ്ട്, ഞങ്ങൾ റേഡിയോസിറ്റി (പരോക്ഷ പ്രകാശത്തിന്റെ കണക്കുകൂട്ടൽ), ഫോട്ടോൺ മാപ്പിംഗ് (ട്രേസിംഗ് ഉപയോഗിച്ച് മുൻകൂട്ടി കണക്കാക്കിയ ഫോട്ടോൺ മാപ്പുകളെ അടിസ്ഥാനമാക്കിയുള്ള ആഗോള പ്രകാശത്തിന്റെ കണക്കുകൂട്ടൽ) എന്നിവയെക്കുറിച്ച് ചുരുക്കമായി നോക്കാം. പരോക്ഷ ലൈറ്റിംഗിനെ അനുകരിക്കുന്നതിനുള്ള ലളിതമായ രീതികളും ഉണ്ട്, ഉദാഹരണത്തിന്, ദൃശ്യത്തിന്റെ മൊത്തത്തിലുള്ള തെളിച്ചം മാറ്റുന്നത്, അതിലെ പ്രകാശ സ്രോതസ്സുകളുടെ എണ്ണവും തെളിച്ചവും അനുസരിച്ച് അല്ലെങ്കിൽ പ്രതിഫലിക്കുന്ന പ്രകാശത്തെ അനുകരിക്കാൻ ദൃശ്യത്തിന് ചുറ്റും സ്ഥാപിച്ചിരിക്കുന്ന ധാരാളം പോയിന്റ് ലൈറ്റ് സ്രോതസ്സുകൾ ഉപയോഗിക്കുന്നു, പക്ഷേ ഇത് ഒരു യഥാർത്ഥ അൽഗോരിതം G.I-ൽ നിന്ന് ഇപ്പോഴും വളരെ അകലെയാണ്.

റേഡിയോസിറ്റി അൽഗോരിതം എന്നത് ഒരു പ്രതലത്തിൽ നിന്ന് മറ്റൊന്നിലേക്കും പരിസ്ഥിതിയിൽ നിന്ന് വസ്തുക്കളിലേക്കും പ്രകാശകിരണങ്ങളുടെ ദ്വിതീയ പ്രതിഫലനങ്ങൾ കണക്കാക്കുന്ന പ്രക്രിയയാണ്. പ്രകാശ സ്രോതസ്സുകളിൽ നിന്നുള്ള കിരണങ്ങൾ അവയുടെ ശക്തി ഒരു നിശ്ചിത തലത്തിൽ താഴെയാകുന്നതുവരെ അല്ലെങ്കിൽ കിരണങ്ങൾ ഒരു നിശ്ചിത എണ്ണം പ്രതിഫലനങ്ങളിൽ എത്തുന്നതുവരെ കണ്ടെത്തുന്നു. ഇതൊരു സാധാരണ ജിഐ സാങ്കേതികതയാണ്, റെൻഡർ ചെയ്യുന്നതിന് മുമ്പ് കണക്കുകൂട്ടലുകൾ സാധാരണയായി നടത്താറുണ്ട്, കൂടാതെ കണക്കുകൂട്ടലിന്റെ ഫലങ്ങൾ തത്സമയ റെൻഡറിങ്ങിന് ഉപയോഗിക്കാം. റേഡിയോസിറ്റിയുടെ അടിസ്ഥാന ആശയങ്ങൾ താപ കൈമാറ്റത്തിന്റെ ഭൗതികശാസ്ത്രത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. വസ്തുക്കളുടെ ഉപരിതലത്തെ പാച്ചുകൾ എന്ന് വിളിക്കുന്ന ചെറിയ പ്രദേശങ്ങളായി തിരിച്ചിരിക്കുന്നു, പ്രതിഫലിക്കുന്ന പ്രകാശം എല്ലാ ദിശകളിലും തുല്യമായി ചിതറിക്കിടക്കുന്നതായി കണക്കാക്കുന്നു. വിളക്കുകൾക്കായി ഓരോ കിരണവും കണക്കാക്കുന്നതിനുപകരം, അവ ഉൽപ്പാദിപ്പിക്കുന്ന ഊർജ്ജ നിലയെ അടിസ്ഥാനമാക്കി ലൈറ്റുകൾ പാച്ചുകളായി വിഭജിക്കുന്ന ഒരു ശരാശരി സാങ്കേതികത ഉപയോഗിക്കുന്നു. ഈ ഊർജ്ജം ഉപരിതല പാച്ചുകൾക്കിടയിൽ ആനുപാതികമായി വിതരണം ചെയ്യപ്പെടുന്നു.

ആഗോള പ്രകാശം കണക്കാക്കുന്നതിനുള്ള മറ്റൊരു രീതി ഹെൻറിക് വാൻ ജെൻസൻ നിർദ്ദേശിച്ചു, ഇതാണ് ഫോട്ടോൺ മാപ്പിംഗ് രീതി. ഫോട്ടോൺ മാപ്പുകൾ ഉപയോഗിക്കുന്നത് റേ ട്രെയ്‌സിംഗിനെ അടിസ്ഥാനമാക്കിയുള്ള മറ്റൊരു ആഗോള ലൈറ്റിംഗ് അൽഗോരിതം ആണ്, ഇത് ദൃശ്യത്തിലെ വസ്തുക്കളുമായി പ്രകാശകിരണങ്ങളുടെ പ്രതിപ്രവർത്തനം അനുകരിക്കാൻ ഉപയോഗിക്കുന്നു. കിരണങ്ങളുടെ ദ്വിതീയ പ്രതിഫലനങ്ങൾ, സുതാര്യമായ പ്രതലങ്ങളിലൂടെയുള്ള പ്രകാശത്തിന്റെ അപവർത്തനം, ചിതറിയ പ്രതിഫലനങ്ങൾ എന്നിവ അൽഗോരിതം കണക്കാക്കുന്നു. രണ്ട് പാസുകളിൽ ഉപരിതല പോയിന്റുകളുടെ പ്രകാശം കണക്കാക്കുന്നത് ഈ രീതി ഉൾക്കൊള്ളുന്നു. ആദ്യത്തേത്, ദ്വിതീയ പ്രതിഫലനങ്ങളുള്ള നേരിട്ടുള്ള പ്രകാശകിരണ ട്രെയ്‌സിംഗ് ഉൾക്കൊള്ളുന്നു, പ്രധാന റെൻഡറിംഗിന് മുമ്പ് നടത്തിയ ഒരു പ്രാഥമിക പ്രക്രിയ. ഈ രീതി ഒരു പ്രകാശ സ്രോതസ്സിൽ നിന്ന് ദൃശ്യത്തിലെ വസ്തുക്കളിലേക്ക് സഞ്ചരിക്കുന്ന ഫോട്ടോണുകളുടെ ഊർജ്ജം കണക്കാക്കുന്നു. ഫോട്ടോണുകൾ ഒരു ഉപരിതലത്തിൽ എത്തുമ്പോൾ, ഫോട്ടോണിന്റെ ഇന്റർസെക്ഷൻ പോയിന്റ്, ദിശ, ഊർജ്ജം എന്നിവ ഫോട്ടോൺ മാപ്പ് എന്നറിയപ്പെടുന്ന ഒരു കാഷെയിൽ സംഭരിക്കപ്പെടുന്നു. ഫോട്ടോൺ മാപ്പുകൾ ഓരോ ഫ്രെയിമിലും കണക്കാക്കാതെ തന്നെ പിന്നീടുള്ള ഉപയോഗത്തിനായി ഡിസ്കിലേക്ക് സംരക്ഷിക്കാൻ കഴിയും. ഒരു നിശ്ചിത എണ്ണം പ്രതിഫലനങ്ങൾക്ക് ശേഷമോ അല്ലെങ്കിൽ ഒരു നിശ്ചിത ഊർജ്ജം എത്തുമ്പോഴോ പ്രവർത്തനം നിർത്തുന്നത് വരെ ഫോട്ടോൺ പ്രതിഫലനങ്ങൾ കണക്കാക്കുന്നു. രണ്ടാമത്തെ റെൻഡറിംഗ് പാസ്, ഫോട്ടോൺ മാപ്പുകളിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ കണക്കിലെടുത്ത് നേരിട്ടുള്ള കിരണങ്ങളാൽ സീൻ പിക്സലുകളുടെ പ്രകാശം കണക്കാക്കുന്നു, ഫോട്ടോണുകളുടെ ഊർജ്ജം നേരിട്ടുള്ള പ്രകാശത്തിന്റെ ഊർജ്ജത്തിലേക്ക് ചേർക്കുന്നു.

ദ്വിതീയ പ്രതിഫലനങ്ങളുടെ ഒരു വലിയ സംഖ്യ ഉപയോഗിക്കുന്ന ഗ്ലോബൽ ഇൽയുമിനേഷൻ കണക്കുകൂട്ടലുകൾ, നേരിട്ടുള്ള പ്രകാശം കണക്കുകൂട്ടുന്നതിനേക്കാൾ കൂടുതൽ സമയമെടുക്കും. പ്രോഗ്രാമബിൾ വീഡിയോ ചിപ്പുകളുടെ ഏറ്റവും പുതിയ തലമുറയുടെ കഴിവുകൾ ഉപയോഗിക്കുന്ന ഹാർഡ്‌വെയറിൽ തത്സമയം റേഡിയോ സിറ്റി കണക്കാക്കുന്നതിനുള്ള സാങ്കേതിക വിദ്യകളുണ്ട്, എന്നാൽ ഇപ്പോൾ ആഗോള പ്രകാശം തത്സമയം കണക്കാക്കുന്ന രംഗങ്ങൾ വളരെ ലളിതവും നിരവധി ലളിതവൽക്കരണങ്ങളും ഉണ്ടായിരിക്കണം. അൽഗോരിതങ്ങൾ.

എന്നാൽ വളരെക്കാലമായി ഉപയോഗിക്കുന്നത് സ്റ്റാറ്റിക് പ്രീ-കാൽക്കുലേറ്റഡ് ഗ്ലോബൽ ലൈറ്റാണ്, ഇത് പ്രകാശ സ്രോതസ്സുകളുടെയും ലൈറ്റിംഗിനെ വളരെയധികം ബാധിക്കുന്ന വലിയ വസ്തുക്കളുടെയും സ്ഥാനം മാറ്റാതെ ദൃശ്യങ്ങൾക്ക് സ്വീകാര്യമാണ്. എല്ലാത്തിനുമുപരി, ആഗോള പ്രകാശത്തിന്റെ കണക്കുകൂട്ടൽ നിരീക്ഷകന്റെ സ്ഥാനത്തെ ആശ്രയിക്കുന്നില്ല, അത്തരം ദൃശ്യ വസ്തുക്കളുടെ സ്ഥാനവും ലൈറ്റിംഗ് സ്രോതസ്സുകളുടെ പാരാമീറ്ററുകളും സീനിൽ മാറുന്നില്ലെങ്കിൽ, മുൻകൂട്ടി കണക്കാക്കിയ പ്രകാശ മൂല്യങ്ങൾ ആകാം ഉപയോഗിച്ചു. GI കണക്കുകൂട്ടൽ ഡാറ്റ ലൈറ്റ്മാപ്പുകളായി സംഭരിച്ചുകൊണ്ട് പല ഗെയിമുകളും ഇത് ഉപയോഗിക്കുന്നു.

ഡൈനാമിക്സിൽ ആഗോള പ്രകാശം അനുകരിക്കുന്നതിന് സ്വീകാര്യമായ അൽഗോരിതങ്ങളും ഉണ്ട്. ഉദാഹരണത്തിന്, ഒരു സീനിലെ ഒബ്‌ജക്റ്റിന്റെ പരോക്ഷ പ്രകാശം കണക്കാക്കാൻ തത്സമയ ആപ്ലിക്കേഷനുകളിൽ ഉപയോഗിക്കുന്നതിന് ലളിതമായ ഒരു രീതിയുണ്ട്: എല്ലാ കുറച്ചു-വിശദാംശങ്ങളുടേയും (പ്രകാശം കണക്കാക്കിയവ ഒഴികെ) ഒരു ലളിതമായ റെൻഡറിംഗ്. കുറഞ്ഞ റെസല്യൂഷൻ ക്യൂബ്മാപ്പ് (ഒരു വസ്തുവിന്റെ ഉപരിതലത്തിൽ ചലനാത്മക പ്രതിഫലനങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിനും ഇത് ഉപയോഗിക്കാം), തുടർന്ന് ഈ ടെക്സ്ചർ ഫിൽട്ടർ ചെയ്യുക (ബ്ലർ ഫിൽട്ടറിന്റെ നിരവധി പാസുകൾ), കൂടാതെ ഈ ഒബ്ജക്റ്റിന് പൂരകമായി പ്രകാശിപ്പിക്കുന്നതിന് കണക്കുകൂട്ടിയ ടെക്സ്ചറിൽ നിന്നുള്ള ഡാറ്റ പ്രയോഗിക്കുക നേരിട്ടുള്ള ലൈറ്റിംഗ്. ഡൈനാമിക് കണക്കുകൂട്ടൽ വളരെ ബുദ്ധിമുട്ടുള്ള സന്ദർഭങ്ങളിൽ, സ്റ്റാറ്റിക് റേഡിയോസിറ്റി മാപ്പുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് നേടാനാകും. മോട്ടോജിപി 2 ഗെയിമിൽ നിന്നുള്ള ഒരു ഉദാഹരണം, അത്തരമൊരു ലളിതമായ ജിഐ സിമുലേഷന്റെ ഗുണഫലം വ്യക്തമായി കാണിക്കുന്നു:



Minecraft-ൽ ഷേഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യാനും അതുവഴി ഡൈനാമിക് ഷാഡോകൾ, കാറ്റ്, പുല്ല് ശബ്ദം, റിയലിസ്റ്റിക് വെള്ളം എന്നിവയും അതിലേറെയും ചേർത്ത് ഗെയിം ലോകത്തെ മെച്ചപ്പെടുത്താനും ഈ നിർദ്ദേശം നിങ്ങളെ സഹായിക്കും.

ഷേഡറുകൾ സിസ്റ്റത്തെ വളരെയധികം ലോഡ് ചെയ്യുന്നുവെന്നത് ഉടനടി ശ്രദ്ധിക്കേണ്ടതാണ്, കൂടാതെ നിങ്ങൾക്ക് ഒരു ദുർബലമായ വീഡിയോ കാർഡോ സംയോജിതമോ ആണെങ്കിൽ, ഈ മോഡ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിൽ നിന്ന് വിട്ടുനിൽക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

ഇൻസ്റ്റാളേഷനിൽ രണ്ട് ഘട്ടങ്ങളുണ്ട്, ആദ്യം നിങ്ങൾ ഷേഡർ മോഡ് ഇൻസ്റ്റാൾ ചെയ്യണം, തുടർന്ന് അതിനായി അധിക ഷേഡർ പാക്കുകൾ

ഘട്ടം #1 - ഷേഡർ മോഡ് ഇൻസ്റ്റാൾ ചെയ്യുന്നു

  1. ജാവ ഡൗൺലോഡ് ചെയ്ത് ഇൻസ്റ്റാൾ ചെയ്യുക
  2. ഇൻസ്റ്റാൾ ചെയ്യുക OptiFine HD
    അഥവാ ഷേഡേഴ്സ് മോഡ്;
  3. തത്ഫലമായുണ്ടാകുന്ന ആർക്കൈവ് ഏതെങ്കിലും സ്ഥലത്തേക്ക് അൺപാക്ക് ചെയ്യുക;
  4. ഞങ്ങൾ ജാർ ഫയൽ സമാരംഭിക്കുന്നു, കാരണം അവൻ ഒരു ഇൻസ്റ്റാളറാണ്;
  5. പ്രോഗ്രാം നിങ്ങളെ ഗെയിമിലേക്കുള്ള പാത കാണിക്കും, എല്ലാം ശരിയാണെങ്കിൽ, അതെ, ശരി, ശരി ക്ലിക്കുചെയ്യുക;
  6. നമുക്ക് പോകാം .മിൻക്രാഫ്റ്റ്അവിടെ ഒരു ഫോൾഡർ ഉണ്ടാക്കുക ഷേഡർപാക്കുകൾ;
  7. ഞങ്ങൾ ലോഞ്ചറിലേക്ക് പോയി "ShadersMod" എന്ന പേരിൽ ഒരു പുതിയ പ്രൊഫൈൽ ലൈനിൽ കാണുന്നു, ഇല്ലെങ്കിൽ, അത് സ്വമേധയാ തിരഞ്ഞെടുക്കുക.
  8. അടുത്തതായി നിങ്ങൾ ഷേഡർ പായ്ക്കുകൾ ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്

ഘട്ടം #2 - ഷേഡർ പായ്ക്ക് ഇൻസ്റ്റാൾ ചെയ്യുന്നു

  1. നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള ഷേഡർ പായ്ക്ക് ഡൗൺലോഡ് ചെയ്യുക (ലേഖനത്തിന്റെ അവസാനം ലിസ്റ്റ്)
  2. കീകൾ അമർത്തുക WIN+R
  3. പോകുക .minecraft/shaderpacks. അത്തരമൊരു ഫോൾഡർ ഇല്ലെങ്കിൽ, അത് സൃഷ്ടിക്കുക.
  4. ഷേഡർ ആർക്കൈവ് ഇതിലേക്ക് നീക്കുക അല്ലെങ്കിൽ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുക .minecraft/shaderpacks. പാത ഇതുപോലെ ആയിരിക്കണം: .minecraft/shaderpacks/SHADER_FOLDER_NAME/shaders/[.fsh, .vsh ഫയലുകൾ ഉള്ളിൽ]
  5. Minecraft സമാരംഭിച്ച് പോകുക ക്രമീകരണങ്ങൾ > ഷേഡറുകൾ. ലഭ്യമായ ഷേഡറുകളുടെ ഒരു ലിസ്റ്റ് ഇവിടെ നിങ്ങൾ കാണും. നിങ്ങൾക്ക് ആവശ്യമുള്ളത് തിരഞ്ഞെടുക്കുക
  6. ഷേഡർ ക്രമീകരണങ്ങളിൽ, "tweakBlockDamage" പ്രവർത്തനക്ഷമമാക്കുക, "CloudShadow", "OldLighting" എന്നിവ പ്രവർത്തനരഹിതമാക്കുക

Sonic Ether's Unbelievable Shaders
സിൽഡറിന്റെ ഷേഡറുകൾ
Chocapic13's Shaders
sensi277-ന്റെ yShaders
MrMeep_x3"s Shaders
നെലെഗോയുടെ സെൽ ഷേഡേഴ്സ്
RRe36-ന്റെ ഷേഡറുകൾ
DeDelner's CUDA ഷേഡേഴ്സ്
bruceatsr44-ന്റെ ആസിഡ് ഷേഡറുകൾ
ബീഡ്28 ന്റെ ഷേഡറുകൾ
Ziipzaap-ന്റെ ഷേഡർ പായ്ക്ക്
robobo1221's Shaders
dvv16's Shaders
Stazza85 സൂപ്പർ ഷേഡറുകൾ
hoo00's Shaders pack B
Regi24's Waving Plants
MrButternuss ShaderPack
നൈട്രോ ഷേഡറുകളിൽ DethRaid-ന്റെ ആകർഷണീയമായ ഗ്രാഫിക്സ്
Edi's Shader ForALLPc's
CrankerMan's TME ഷേഡറുകൾ
കാദിർ എൻകെ ഷേഡർ (സ്കേറ്റ്702-ന്)
വെറസിന്റെ ഷേഡേഴ്സ്
ന്യൂട്ടൺവാക്കോയുടെ ലൈഫ് നെക്സസ് ഷേഡേഴ്സ്
CYBOX ഷേഡർപാക്ക്
CrapDeShoes CloudShade ആൽഫ
AirLocke42 Shader
ക്യാപ്റ്ററ്റ്സുവിന്റെ BSL ഷേഡേഴ്സ്
ട്രൈലിറ്റന്റെ ഷേഡറുകൾ
ShadersMcOfficial's Bloominx Shaders (Chocapic13" Shaders)
dotModded's Continuum Shaders
Qwqx71's Lunar Shaders (chocapic13's shader)

അന്വേഷണാത്മക ഗെയിമർമാരിൽ നിന്നും പുതിയ ഗെയിം സ്രഷ്‌ടാക്കളിൽ നിന്നും വളരെ സാധാരണമായ ഒരു ചോദ്യം.

ഒരു വീഡിയോ കാർഡിനുള്ള ഒരു പ്രോഗ്രാമാണ് ഷേഡർ (ഇംഗ്ലീഷ് ഷേഡർ - ഷേഡിംഗ് പ്രോഗ്രാം), ഒരു വസ്തുവിന്റെയോ ചിത്രത്തിന്റെയോ അന്തിമ സവിശേഷതകൾ മനസിലാക്കാൻ 3D ഗ്രാഫിക്സിൽ ഇത് ഉപയോഗിക്കുന്നു, അതിൽ പ്രകാശം ആഗിരണം ചെയ്യൽ, ചിതറിക്കൽ എന്നിവയുടെ അവതരണം, ടെക്സ്ചർ മാപ്പിംഗ്, ഡിസ്പ്ലേ എന്നിവ ഉൾപ്പെടാം. അപവർത്തനം, ഷേഡിംഗ്, ഉപരിതല സ്ഥാനചലനം, മറ്റ് നിരവധി സവിശേഷതകൾ.

ഷേഡറുകൾ ചെറുതാണ്, സംസാരിക്കാൻ, "ഒരു വീഡിയോ കാർഡിനുള്ള സ്ക്രിപ്റ്റുകൾ." അത്തരം വിവിധ പ്രത്യേക ഇഫക്റ്റുകളും ഇഫക്റ്റുകളും വളരെ ലളിതമായി നടപ്പിലാക്കാൻ അവ നിങ്ങളെ അനുവദിക്കുന്നു.

പിക്സൽ (ചിത്രങ്ങൾക്കൊപ്പം പ്രവർത്തിക്കുക - അതായത്, മുഴുവൻ സ്ക്രീനും അല്ലെങ്കിൽ ടെക്സ്ചറുകളും) വെർട്ടെക്സും (3D ഒബ്ജക്റ്റുകൾക്കൊപ്പം പ്രവർത്തിക്കുക) ഉണ്ട്. ഉദാഹരണത്തിന്, പിക്സൽ ഷേഡറുകൾ ഉപയോഗിക്കുന്നത്, 3D ടെക്സ്ചറുകൾ (ബമ്പ്), പാരലാക്സ് ടെക്സ്ചറുകൾ, സൂര്യരശ്മികൾ (സൺഷാഫ്റ്റുകൾ) ഒരു ലാ ക്രൈസിസ്, ഡിസ്റ്റൻസ് ബ്ലർ, സിമ്പിൾ മോഷൻ ബ്ലർ, ആനിമേറ്റഡ് ടെക്സ്ചറുകൾ (വാട്ടർ, ലാവ,... ), എച്ച്ഡിആർ, ആന്റി -അപരനാമം, ഷാഡോകൾ (ഷാഡോമാപ്‌സ് സാങ്കേതിക പ്രക്രിയകൾ ഉപയോഗിച്ച്) കൂടാതെ മറ്റ് നിരവധി കാര്യങ്ങളും. വെർട്ടെക്‌സ് ഷേഡറുകൾ പുല്ല്, ഹീറോകൾ, മരങ്ങൾ എന്നിവ ആനിമേറ്റ് ചെയ്യാൻ ഉപയോഗിക്കുന്നു, വെള്ളത്തിൽ തരംഗങ്ങൾ ഉണ്ടാക്കുന്നു (വലിയവയെപ്പോലെ) മുതലായവ. കൂടുതൽ സങ്കീർണ്ണമായ (ഉയർന്ന ഗുണനിലവാരം, കൂടുതൽ ആധുനികം) പ്രഭാവം, ഷേഡർ കോഡിൽ കൂടുതൽ കമാൻഡുകൾ ആവശ്യമാണ്. എന്നാൽ വ്യത്യസ്ത പതിപ്പുകളുടെ ഷേഡറുകൾ (1.1 - 5.0) വ്യത്യസ്ത എണ്ണം കമാൻഡുകൾ പിന്തുണയ്ക്കുന്നു: ഉയർന്ന പതിപ്പ്, നിങ്ങൾക്ക് കൂടുതൽ കമാൻഡുകൾ ഉപയോഗിക്കാൻ കഴിയും. ഇക്കാരണത്താൽ, ഏറ്റവും താഴ്ന്ന ഷേഡറുകളിൽ ചില സാങ്കേതിക പ്രക്രിയകൾ നടപ്പിലാക്കുന്നത് അസാധ്യമാണ്. ഉദാഹരണത്തിന്, ഈ കാരണത്താലാണ് ഏറ്റവും പുതിയ ഡെഡ് സ്പേസ് 2-ന് ഷേഡറുകളുടെ (പിക്സലും വെർട്ടെക്സും) പതിപ്പ് 3 ആവശ്യമായി വരുന്നത് - അതിന് 3 പതിപ്പിലും ഉയർന്ന ഷേഡറുകളിലും മാത്രം നടപ്പിലാക്കാൻ കഴിയുന്ന ഒരു ലൈറ്റിംഗ് മോഡൽ ഉള്ളതിനാൽ.

ഷേഡർ ഓപ്ഷനുകൾ

പൈപ്പ്ലൈനിന്റെ ഘട്ടത്തെ ആശ്രയിച്ച്, ഷേഡറുകൾ ഒരു നിശ്ചിത എണ്ണം തരങ്ങളായി തിരിച്ചിരിക്കുന്നു: വെർട്ടെക്സ്, ഫ്രാഗ്മെന്റ് (പിക്സൽ), ജ്യാമിതി. ശരി, പുതിയ തരം പൈപ്പ് ലൈനുകൾക്ക് ടെസ്സലേഷൻ ഷേഡറുകളും ഉണ്ട്. ഗ്രാഫിക്സ് പൈപ്പ്ലൈനിനെക്കുറിച്ച് ഞങ്ങൾ വിശദമായി ചർച്ച ചെയ്യില്ല; ഷേഡറുകളും ഗ്രാഫിക്സ് പ്രോഗ്രാമിംഗും പഠിക്കാൻ തീരുമാനിക്കുന്നവർക്കായി ഇതിനെക്കുറിച്ച് ഒരു പ്രത്യേക ലേഖനം എഴുതുന്നതിനെക്കുറിച്ച് ഞാൻ ഇപ്പോഴും ചിന്തിക്കുകയാണ്. നിങ്ങൾക്ക് ജിജ്ഞാസയുണ്ടെങ്കിൽ അഭിപ്രായങ്ങളിൽ എഴുതുക, എനിക്ക് വിവരങ്ങൾ ലഭിക്കും, ഇത് നിങ്ങളുടെ സമയം പാഴാക്കുന്നതാണ്.

വെർട്ടക്സ് ഷേഡർ:
കഥാപാത്രങ്ങൾ, പുല്ല്, മരങ്ങൾ, വെള്ളത്തിലെ തിരമാലകൾ തുടങ്ങി മിക്കവാറും എല്ലാ വസ്തുക്കളുടെയും ആനിമേഷനുകൾ നിർമ്മിക്കാൻ വെർട്ടെക്സ് ഷേഡറുകൾ ഉപയോഗിക്കുന്നു. വെർട്ടെക്സ് ഷേഡറിൽ, പ്രോഗ്രാമർ വെർട്ടിസുകളുമായി ബന്ധപ്പെട്ട ഡാറ്റയുമായി സമ്പർക്കം പുലർത്തുന്നു, ഉദാഹരണത്തിന്: ബഹിരാകാശത്തെ ശീർഷത്തിന്റെ കോർഡിനേറ്റുകൾ, അതിന്റെ ടെക്സ്ചർ കോർഡിനേറ്റുകൾ, അതിന്റെ നിറവും സാധാരണ വെക്റ്ററും.

ജ്യാമിതി ഷേഡർ:
ജ്യാമിതി ഷേഡറുകൾ പുതിയ ജ്യാമിതി നിർമ്മിക്കാൻ തയ്യാറാണ്, കണികകൾ സൃഷ്ടിക്കാനും ഈച്ചയിൽ മോഡൽ വിശദാംശങ്ങൾ ക്രമീകരിക്കാനും സിലൗട്ടുകൾ സൃഷ്ടിക്കാനും ഇത് ഉപയോഗിക്കാം. മുമ്പത്തെ ശീർഷത്തിൽ നിന്ന് വ്യത്യസ്തമായി, ഒരു ശീർഷകം മാത്രമല്ല, ഒരു മുഴുവൻ പ്രാകൃതവും പ്രോസസ്സ് ചെയ്യാൻ ഞങ്ങൾ തയ്യാറാണ്. ഒരു പ്രാകൃതം ഒരു സെഗ്മെന്റും (2 ലംബങ്ങൾ) ഒരു ത്രികോണവും (3 ലംബങ്ങൾ) ആകാം, കൂടാതെ ഒരു ത്രികോണാകൃതിയിലുള്ള ആദിമത്തിനായുള്ള അടുത്തുള്ള ശീർഷകങ്ങളെ (അടുത്തുള്ള) സംബന്ധിച്ച വിവരങ്ങളുടെ സാന്നിധ്യത്തിൽ, 6 ലംബങ്ങൾ വരെ പ്രോസസ്സ് ചെയ്യാൻ കഴിയും.

പിക്സൽ ഷേഡർ:
പിക്സൽ ഷേഡറുകൾ ടെക്സ്ചർ മാപ്പിംഗ്, ലൈറ്റ്, റിഫ്ലക്ഷൻ, റിഫ്രാക്ഷൻ, ഫോഗ്, ബമ്പ് മാപ്പിംഗ് തുടങ്ങിയ വിവിധ ടെക്സ്ചർ ഇഫക്റ്റുകൾ നിർവഹിക്കുന്നു. പിക്സൽ ഷേഡറുകൾ പോസ്റ്റ് ഇഫക്റ്റുകൾക്ക് സമാനമായി ഉപയോഗിക്കുന്നു. ഒരു പിക്സൽ ഷേഡർ ബിറ്റ്മാപ്പ് ഇമേജ് ഘടകങ്ങളും ടെക്സ്ചറുകളും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു - പിക്സലുകളുമായി ബന്ധപ്പെട്ട ഡാറ്റ പ്രോസസ്സ് ചെയ്യുന്നു (ഉദാഹരണത്തിന്, നിറം, ഡെപ്ത്, ടെക്സ്ചർ കോർഡിനേറ്റുകൾ). ചിത്രത്തിന്റെ ഒരു ഭാഗം രൂപപ്പെടുത്തുന്നതിന് ഗ്രാഫിക്സ് പൈപ്പ്ലൈനിന്റെ അവസാന ഘട്ടത്തിൽ പിക്സൽ ഷേഡർ ഉപയോഗിക്കുന്നു.

ചുവടെയുള്ള വരി: നിങ്ങളുടെ ഫോണിൽ നിങ്ങളുടെ ഫോട്ടോ വ്യത്യസ്ത ടോണുകളിലോ പാറ്റേണുകളിലോ പ്രോസസ്സ് ചെയ്യുന്നതുപോലെ, ഒരു ചിത്രത്തിലെ വൈവിധ്യമാർന്ന ഇഫക്റ്റുകളാണ് ഷേഡർ.

" itemprop="image">

"എന്താണ് ഷേഡറുകൾ?" - ജിജ്ഞാസയുള്ള കളിക്കാരിൽ നിന്നും പുതിയ ഗെയിം ഡെവലപ്പർമാരിൽ നിന്നും വളരെ സാധാരണമായ ഒരു ചോദ്യം. ഈ ലേഖനത്തിൽ ഞാൻ ഈ ഭയങ്കരമായ ഷേഡറുകളെക്കുറിച്ച് വ്യക്തമായും വ്യക്തമായും നിങ്ങളോട് പറയും.

കമ്പ്യൂട്ടർ ഗ്രാഫിക്സിലെ ഫോട്ടോറിയലിസ്റ്റിക് ചിത്രങ്ങളിലേക്കുള്ള പുരോഗതിയുടെ എഞ്ചിൻ കമ്പ്യൂട്ടർ ഗെയിമുകളായി ഞാൻ കരുതുന്നു, അതിനാൽ വീഡിയോ ഗെയിമുകളുടെ പശ്ചാത്തലത്തിൽ "ഷേഡറുകൾ" എന്താണെന്ന് നമുക്ക് സംസാരിക്കാം.

ആദ്യത്തെ ഗ്രാഫിക്സ് ആക്സിലറേറ്ററുകൾ വരുന്നതിന് മുമ്പ്, വീഡിയോ ഗെയിം ഫ്രെയിമുകൾ റെൻഡർ ചെയ്യുന്ന എല്ലാ ജോലികളും പാവപ്പെട്ട സിപിയു ആയിരുന്നു.

ഒരു ഫ്രെയിം വരയ്ക്കുന്നത് യഥാർത്ഥത്തിൽ ഒരു പതിവ് ജോലിയാണ്: നിങ്ങൾ "ജ്യാമിതി" - ബഹുഭുജ മോഡലുകൾ (ലോകം, സ്വഭാവം, ആയുധം മുതലായവ) എടുത്ത് അതിനെ റാസ്റ്ററൈസ് ചെയ്യേണ്ടതുണ്ട്. എന്താണ് റാസ്റ്ററൈസ്? മുഴുവൻ 3D മോഡലിലും ചെറിയ ത്രികോണങ്ങൾ അടങ്ങിയിരിക്കുന്നു, അവ റാസ്റ്ററൈസർ പിക്സലുകളായി മാറുന്നു (അതായത്, "റാസ്റ്ററൈസ്" എന്നാൽ പിക്സലുകളാക്കി മാറ്റുക). റാസ്റ്ററൈസേഷന് ശേഷം, ടെക്സ്ചർ ഡാറ്റ, ലൈറ്റിംഗ് പാരാമീറ്ററുകൾ, മൂടൽമഞ്ഞ് മുതലായവ എടുത്ത് ഗെയിം ഫ്രെയിമിന്റെ ഫലമായുണ്ടാകുന്ന ഓരോ പിക്സലും കണക്കാക്കുക, അത് കളിക്കാരന്റെ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കും.

അതിനാൽ, സെൻട്രൽ പ്രോസസ്സിംഗ് യൂണിറ്റ് (സിപിയു - സെൻട്രൽ പ്രോസസ്സിംഗ് യൂണിറ്റ്) അത്തരമൊരു ദിനചര്യ ചെയ്യാൻ അവനെ നിർബന്ധിക്കാൻ വളരെ മിടുക്കനാണ്. പകരം, സിപിയുവിന് ആശ്വാസം നൽകുന്ന ഏതെങ്കിലും തരത്തിലുള്ള ഹാർഡ്‌വെയർ മൊഡ്യൂൾ അനുവദിക്കുന്നത് യുക്തിസഹമാണ്, അതുവഴി കൂടുതൽ പ്രധാനപ്പെട്ട ബൗദ്ധിക പ്രവർത്തനങ്ങൾ ചെയ്യാൻ കഴിയും.

ഈ ഹാർഡ്‌വെയർ മൊഡ്യൂൾ ഒരു ഗ്രാഫിക്സ് ആക്സിലറേറ്റർ അല്ലെങ്കിൽ വീഡിയോ കാർഡ് (GPU - ഗ്രാഫിക്സ് പ്രോസസ്സിംഗ് യൂണിറ്റ്) ആയിരുന്നു. ഇപ്പോൾ CPU ഡാറ്റ തയ്യാറാക്കുകയും പതിവ് ജോലിയിൽ സഹപ്രവർത്തകനെ ലോഡ് ചെയ്യുകയും ചെയ്യുന്നു. ജിപിയു ഇപ്പോൾ ഒരു സഹപ്രവർത്തകൻ മാത്രമല്ല, മിനിയൻ കോറുകളുടെ ഒരു കൂട്ടം കൂടിയാണെന്ന് കണക്കിലെടുക്കുമ്പോൾ, ഇത്തരത്തിലുള്ള ജോലിയെ ഒറ്റയടിക്ക് നേരിടാൻ ഇതിന് കഴിയും.

എന്നാൽ പ്രധാന ചോദ്യത്തിന് ഞങ്ങൾക്ക് ഇതുവരെ ഉത്തരം ലഭിച്ചിട്ടില്ല: എന്താണ് ഷേഡറുകൾ? കാത്തിരിക്കൂ, ഞാൻ ഇതിലേക്ക് വരുന്നു.

നല്ലതും രസകരവും ഫോട്ടോ-റിയലിസ്റ്റിക് ഗ്രാഫിക്‌സിനോട് അടുത്തും ഹാർഡ്‌വെയർ തലത്തിൽ നിരവധി അൽഗോരിതങ്ങൾ നടപ്പിലാക്കാൻ വീഡിയോ കാർഡ് ഡെവലപ്പർമാർക്ക് ആവശ്യമാണ്. നിഴലുകൾ, വെളിച്ചം, ഹൈലൈറ്റുകൾ തുടങ്ങിയവ. ഹാർഡ്‌വെയറിൽ അൽഗോരിതങ്ങൾ നടപ്പിലാക്കുന്ന ഈ സമീപനത്തെ "ഫിക്‌സഡ് പൈപ്പ്‌ലൈൻ അല്ലെങ്കിൽ കൺവെയർ" എന്ന് വിളിക്കുന്നു, ഉയർന്ന നിലവാരമുള്ള ഗ്രാഫിക്സ് ആവശ്യമുള്ളിടത്ത് അത് ഇനി കണ്ടെത്താനാകില്ല. അതിന്റെ സ്ഥാനം "പ്രോഗ്രാം ചെയ്യാവുന്ന പൈപ്പ്ലൈൻ" ഏറ്റെടുത്തു.

കളിക്കാരിൽ നിന്നുള്ള അഭ്യർത്ഥനകൾ: “വരൂ, കുറച്ച് നല്ല ഗ്രാഫോണിയ കൊണ്ടുവരിക! ആശ്ചര്യം!”, ഗെയിം ഡെവലപ്പർമാരെ (യഥാക്രമം വീഡിയോ കാർഡ് നിർമ്മാതാക്കളെയും) കൂടുതൽ സങ്കീർണ്ണമായ അൽഗോരിതങ്ങളിലേക്ക് തള്ളിവിട്ടു. ഒരു ഘട്ടം വരെ, ഹാർഡ്‌വയർഡ് ഹാർഡ്‌വെയർ അൽഗോരിതങ്ങൾ അവർക്ക് വളരെ കുറവായിരുന്നു.

വീഡിയോ കാർഡുകൾ കൂടുതൽ ബുദ്ധിപരമാകേണ്ട സമയം അതിക്രമിച്ചിരിക്കുന്നു. വ്യത്യസ്ത അൽഗോരിതങ്ങൾ നടപ്പിലാക്കുന്ന അനിയന്ത്രിതമായ പൈപ്പ് ലൈനുകളിലേക്ക് ജിപിയു ബ്ലോക്കുകൾ പ്രോഗ്രാം ചെയ്യാൻ ഡവലപ്പർമാരെ അനുവദിക്കാനാണ് തീരുമാനം. അതായത്, ഗെയിം ഡെവലപ്പർമാർക്കും ഗ്രാഫിക്സ് പ്രോഗ്രാമർമാർക്കും ഇപ്പോൾ വീഡിയോ കാർഡുകൾക്കായി പ്രോഗ്രാമുകൾ എഴുതാൻ കഴിഞ്ഞു.

ഇപ്പോൾ, ഒടുവിൽ, ഞങ്ങളുടെ പ്രധാന ചോദ്യത്തിനുള്ള ഉത്തരത്തിലേക്ക് ഞങ്ങൾ എത്തി.

"എന്താണ് ഷേഡറുകൾ?"

ഒരു വസ്തുവിന്റെയോ ചിത്രത്തിന്റെയോ അന്തിമ പാരാമീറ്ററുകൾ നിർണ്ണയിക്കാൻ ത്രിമാന ഗ്രാഫിക്സിൽ ഉപയോഗിക്കുന്ന വീഡിയോ കാർഡിനായുള്ള ഒരു പ്രോഗ്രാമാണ് ഷേഡർ, അതിൽ പ്രകാശം ആഗിരണം ചെയ്യൽ, ചിതറിക്കൽ, ടെക്സ്ചർ മാപ്പിംഗ്, പ്രതിഫലനം, റിഫ്രാക്ഷൻ, ഷേഡിംഗ്, ഉപരിതല സ്ഥാനചലനം എന്നിവ ഉൾപ്പെടാം. കൂടാതെ മറ്റു പല പരാമീറ്ററുകളും.

ഷേഡറുകൾ എന്തൊക്കെയാണ്? ഉദാഹരണത്തിന്, ഈ പ്രഭാവം ലഭിക്കും, ഇത് ഒരു ഗോളത്തിൽ പ്രയോഗിക്കുന്ന ഒരു വാട്ടർ ഷേഡറാണ്.

ഗ്രാഫിക് പൈപ്പ്ലൈൻ

ഹാർഡ്‌വെയറിലേക്ക് ഹാർഡ്‌വയർ ചെയ്‌ത ഒരു കൂട്ടം ഓപ്ഷനുകൾ ഉപയോഗിക്കുന്നതിനുപകരം, പ്രോഗ്രാമർമാർക്ക് അവരുടെ സ്വന്തം അൽഗോരിതം സൃഷ്ടിക്കാൻ കഴിയും എന്നതാണ് അതിന്റെ മുൻഗാമിയെ അപേക്ഷിച്ച് ഒരു പ്രോഗ്രാമബിൾ പൈപ്പ്ലൈനിന്റെ പ്രയോജനം.

ആദ്യം, വീഡിയോ കാർഡുകളിൽ വിവിധ നിർദ്ദേശങ്ങൾ പിന്തുണയ്ക്കുന്ന നിരവധി പ്രത്യേക പ്രോസസ്സറുകൾ സജ്ജീകരിച്ചിരുന്നു. ഏത് പ്രോസസ്സർ എക്സിക്യൂട്ട് ചെയ്യും എന്നതിനെ ആശ്രയിച്ച് ഷേഡറുകൾ മൂന്ന് തരങ്ങളായി തിരിച്ചിരിക്കുന്നു. എന്നാൽ മൂന്ന് തരം ഷേഡറുകളുടെയും നിർദ്ദേശ സെറ്റുകളെ പിന്തുണയ്ക്കുന്ന സാർവത്രിക പ്രോസസ്സറുകൾ ഉപയോഗിച്ച് വീഡിയോ കാർഡുകൾ സജ്ജീകരിക്കാൻ തുടങ്ങി. ഷേഡറിന്റെ ഉദ്ദേശ്യം വിവരിക്കുന്നതിനായി ഷേഡറുകളെ തരങ്ങളായി വിഭജിക്കുന്നത് സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്നു.

അത്തരം സ്മാർട്ട് വീഡിയോ കാർഡുകൾ ഉപയോഗിച്ച് ഗ്രാഫിക്കൽ ടാസ്ക്കുകൾക്ക് പുറമേ, GPU- ൽ പൊതു-ഉദ്ദേശ്യ കണക്കുകൂട്ടലുകൾ (കമ്പ്യൂട്ടർ ഗ്രാഫിക്സുമായി ബന്ധമില്ലാത്തത്) നടത്താൻ ഇപ്പോൾ സാധ്യമാണ്.

ജിഫോഴ്‌സ് 3 സീരീസിന്റെ വീഡിയോ കാർഡുകളിൽ ആദ്യമായി ഷേഡറുകൾക്കുള്ള പൂർണ്ണ പിന്തുണ പ്രത്യക്ഷപ്പെട്ടു, പക്ഷേ അടിസ്ഥാനങ്ങൾ ജിഫോഴ്‌സ് 256 ൽ (രജിസ്റ്റർ കോമ്പിനറുകളുടെ രൂപത്തിൽ) നടപ്പിലാക്കി.

ഷേഡറുകളുടെ തരങ്ങൾ

പൈപ്പ്ലൈനിന്റെ ഘട്ടത്തെ ആശ്രയിച്ച്, ഷേഡറുകൾ പല തരങ്ങളായി തിരിച്ചിരിക്കുന്നു: വെർട്ടെക്സ്, ഫ്രാഗ്മെന്റ് (പിക്സൽ), ജ്യാമിതി. ഏറ്റവും പുതിയ തരം പൈപ്പ്ലൈനുകൾക്ക് ടെസ്സലേഷൻ ഷേഡറുകളും ഉണ്ട്. ഗ്രാഫിക്സ് പൈപ്പ്ലൈനിനെക്കുറിച്ച് ഞങ്ങൾ വിശദമായി ചർച്ച ചെയ്യില്ല; ഷേഡറുകളും ഗ്രാഫിക്സ് പ്രോഗ്രാമിംഗും പഠിക്കാൻ തീരുമാനിക്കുന്നവർക്കായി ഇതിനെക്കുറിച്ച് ഒരു പ്രത്യേക ലേഖനം എഴുതുന്നതിനെക്കുറിച്ച് ഞാൻ ഇപ്പോഴും ചിന്തിക്കുകയാണ്. നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ അഭിപ്രായങ്ങളിൽ എഴുതുക, നിങ്ങളുടെ സമയം വിലമതിക്കുന്നുണ്ടോ എന്ന് ഞാൻ അറിയും.

വെർട്ടക്സ് ഷേഡർ

വെർട്ടെക്സ് ഷേഡറുകൾ കഥാപാത്രങ്ങൾ, പുല്ല്, മരങ്ങൾ എന്നിവയുടെ ആനിമേഷനുകൾ നിർമ്മിക്കുന്നു, വെള്ളത്തിൽ തരംഗങ്ങൾ സൃഷ്ടിക്കുന്നു, കൂടാതെ മറ്റു പലതും. ഒരു വെർട്ടെക്സ് ഷേഡറിൽ, പ്രോഗ്രാമർക്ക് വെർട്ടിസുകളുമായി ബന്ധപ്പെട്ട ഡാറ്റയിലേക്ക് ആക്സസ് ഉണ്ട്, ഉദാഹരണത്തിന്: ബഹിരാകാശത്തെ ഒരു ശീർഷത്തിന്റെ കോർഡിനേറ്റുകൾ, അതിന്റെ ടെക്സ്ചർ കോർഡിനേറ്റുകൾ, അതിന്റെ നിറം, സാധാരണ വെക്റ്റർ.

ജ്യാമിതി ഷേഡർ

ജ്യാമിതി ഷേഡറുകൾക്ക് പുതിയ ജ്യാമിതി സൃഷ്ടിക്കാൻ കഴിയും, കണികകൾ സൃഷ്ടിക്കാനും ഈച്ചയിൽ മോഡൽ വിശദാംശങ്ങൾ മാറ്റാനും സിലൗട്ടുകൾ സൃഷ്ടിക്കാനും ഇത് ഉപയോഗിക്കാം. മുമ്പത്തെ ശീർഷത്തിൽ നിന്ന് വ്യത്യസ്തമായി, അവ ഒരു ശീർഷകം മാത്രമല്ല, ഒരു മുഴുവൻ പ്രാകൃതവും പ്രോസസ്സ് ചെയ്യാൻ പ്രാപ്തമാണ്. ഒരു പ്രാകൃതം ഒരു സെഗ്‌മെന്റും (രണ്ട് ലംബങ്ങളും) ഒരു ത്രികോണവും (മൂന്ന് ലംബങ്ങൾ) ആകാം, കൂടാതെ തൊട്ടടുത്തുള്ള ശീർഷകങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ (ഇംഗ്ലീഷ് അഡ്‌ജസെൻസി) ലഭ്യമാണെങ്കിൽ, ഒരു ത്രികോണാകൃതിയിലുള്ള പ്രാകൃതത്തിനായി ആറ് ലംബങ്ങൾ വരെ പ്രോസസ്സ് ചെയ്യാൻ കഴിയും.

പിക്സൽ ഷേഡർ

പിക്സൽ ഷേഡറുകൾ ടെക്സ്ചർ മാപ്പിംഗ്, ലൈറ്റിംഗ്, പ്രതിഫലനം, റിഫ്രാക്ഷൻ, ഫോഗ്, ബമ്പ് മാപ്പിംഗ് തുടങ്ങിയ വിവിധ ടെക്സ്ചർ ഇഫക്റ്റുകൾ നിർവഹിക്കുന്നു. പോസ്റ്റ്-ഇഫക്റ്റുകൾക്ക് പിക്സൽ ഷേഡറുകളും ഉപയോഗിക്കുന്നു.

ഒരു പിക്സൽ ഷേഡർ ബിറ്റ്മാപ്പ് ഇമേജ് ശകലങ്ങളും ടെക്സ്ചറുകളും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു - പിക്സലുകളുമായി ബന്ധപ്പെട്ട ഡാറ്റ പ്രോസസ്സ് ചെയ്യുന്നു (ഉദാഹരണത്തിന്, നിറം, ഡെപ്ത്, ടെക്സ്ചർ കോർഡിനേറ്റുകൾ). ചിത്രത്തിന്റെ ഒരു ഭാഗം രൂപപ്പെടുത്തുന്നതിന് ഗ്രാഫിക്സ് പൈപ്പ്ലൈനിന്റെ അവസാന ഘട്ടത്തിൽ പിക്സൽ ഷേഡർ ഉപയോഗിക്കുന്നു.

ഷേഡറുകൾ എന്തിലാണ് എഴുതിയിരിക്കുന്നത്?

തുടക്കത്തിൽ, ഷേഡറുകൾ അസംബ്ലർ പോലെയുള്ള ഭാഷയിൽ എഴുതാമായിരുന്നു, എന്നാൽ പിന്നീട് C യ്ക്ക് സമാനമായ ഉയർന്ന തലത്തിലുള്ള ഷേഡർ ഭാഷകളായ Cg, GLSL, HLSL എന്നിവ പ്രത്യക്ഷപ്പെട്ടു.

അത്തരം ഭാഷകൾ സിയേക്കാൾ വളരെ ലളിതമാണ്, കാരണം അവരുടെ സഹായത്തോടെ പരിഹരിക്കുന്ന പ്രശ്നങ്ങൾ വളരെ ലളിതമാണ്. അത്തരം ഭാഷകളിലെ ടൈപ്പ് സിസ്റ്റം ഗ്രാഫിക്സ് പ്രോഗ്രാമർമാരുടെ ആവശ്യങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നു. അതിനാൽ, അവർ പ്രോഗ്രാമർക്ക് പ്രത്യേക ഡാറ്റ തരങ്ങൾ നൽകുന്നു: മെട്രിക്സ്, സാമ്പിളുകൾ, വെക്റ്ററുകൾ മുതലായവ.

റെൻഡർമാൻ

ഞങ്ങൾ മുകളിൽ ചർച്ച ചെയ്തതെല്ലാം തത്സമയ ഗ്രാഫിക്സിന് ബാധകമാണ്. എന്നാൽ തത്സമയമല്ലാത്ത ഗ്രാഫിക്സുകൾ ഉണ്ട്. എന്താണ് വ്യത്യാസം - തത്സമയം - തത്സമയം, അതായത്, ഇവിടെയും ഇപ്പോളും - ഗെയിമിൽ സെക്കൻഡിൽ 60 ഫ്രെയിമുകൾ നൽകാൻ, ഇതൊരു തത്സമയ പ്രക്രിയയാണ്. എന്നാൽ കുറച്ച് മിനിറ്റ് നേരത്തേക്ക് അത്യാധുനിക ആനിമേഷനായി ഒരു സങ്കീർണ്ണ ഫ്രെയിം റെൻഡർ ചെയ്യുന്നത് തത്സമയമല്ല. പ്രധാനം സമയമാണ്.

ഉദാഹരണത്തിന്, പിക്‌സർ സ്റ്റുഡിയോയിൽ നിന്ന് ഏറ്റവും പുതിയ ആനിമേറ്റഡ് ഫിലിമുകളിലെ അതേ നിലവാരത്തിലുള്ള ഗ്രാഫിക്‌സ് ഞങ്ങൾക്ക് നിലവിൽ ലഭിക്കില്ല. വളരെ വലിയ റെൻഡർ ഫാമുകൾ തികച്ചും വ്യത്യസ്തമായ അൽഗോരിതങ്ങൾ ഉപയോഗിച്ച് ലൈറ്റ് സിമുലേഷനുകൾ കണക്കാക്കുന്നു, അവ വളരെ ചെലവേറിയതാണ്, പക്ഷേ ഏതാണ്ട് ഫോട്ടോറിയലിസ്റ്റിക് ഇമേജുകൾ നിർമ്മിക്കുന്നു.

സാൻഡ് പൈപ്പറിൽ സൂപ്പർ-റിയലിസ്റ്റിക് ഗ്രാഫിക്സ്

ഉദാഹരണത്തിന്, ഈ മനോഹരമായ കാർട്ടൂൺ നോക്കൂ, മണൽ തരികൾ, പക്ഷി തൂവലുകൾ, തിരമാലകൾ, എല്ലാം അവിശ്വസനീയമാംവിധം യഥാർത്ഥമാണ്.

*വീഡിയോ യുട്യൂബിൽ നിരോധിച്ചേക്കാം, അത് തുറന്നില്ലെങ്കിൽ, ഗൂഗിൾ പിക്‌സർ സാൻഡ്‌പൈപ്പർ - ധീരനായ ഒരു സാൻഡ്‌പൈപ്പറിനെക്കുറിച്ചുള്ള ഒരു ഹ്രസ്വ കാർട്ടൂൺ വളരെ മനോഹരവും മൃദുലവുമാണ്. ഇത് നിങ്ങളെ സ്പർശിക്കുകയും കമ്പ്യൂട്ടർ ഗ്രാഫിക്സ് എത്ര രസകരമായിരിക്കുമെന്ന് കാണിക്കുകയും ചെയ്യും.

അതിനാൽ ഇത് പിക്സറിൽ നിന്നുള്ള റെൻഡർമാൻ ആണ്. ഇത് ആദ്യത്തെ ഷേഡർ പ്രോഗ്രാമിംഗ് ഭാഷയായി. റെൻഡർമാൻ API എന്നത് പ്രൊഫഷണൽ റെൻഡറിങ്ങിനുള്ള യഥാർത്ഥ സ്റ്റാൻഡേർഡാണ്, ഇത് പിക്‌സറിന്റെ ജോലിയിലും അതിനപ്പുറവും ഉപയോഗിക്കുന്നു.

സഹായകരമായ വിവരങ്ങൾ

ഷേഡറുകൾ എന്താണെന്ന് ഇപ്പോൾ നിങ്ങൾക്കറിയാം, എന്നാൽ ഷേഡറുകൾക്ക് പുറമേ, ഗെയിം വികസനത്തിലും കമ്പ്യൂട്ടർ ഗ്രാഫിക്സിലും നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള മറ്റ് രസകരമായ വിഷയങ്ങളുണ്ട്:

  • , - ആധുനിക വീഡിയോ ഗെയിമുകളിൽ അതിശയകരമായ ഇഫക്റ്റുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഒരു സാങ്കേതികത. Unity3d-യിൽ ഇഫക്‌റ്റുകൾ സൃഷ്‌ടിക്കുന്നതിനുള്ള പാഠങ്ങളുള്ള ലേഖനവും വീഡിയോയും അവലോകനം ചെയ്യുക
  • , - നിങ്ങൾ ഒരു പ്രൊഫഷണൽ കരിയർ അല്ലെങ്കിൽ ഹോബി എന്ന നിലയിൽ വീഡിയോ ഗെയിമുകൾ വികസിപ്പിക്കുന്നതിനെക്കുറിച്ച് ചിന്തിക്കുകയാണെങ്കിൽ, ഈ ലേഖനത്തിൽ “എവിടെ തുടങ്ങണം”, “ഏത് പുസ്തകങ്ങൾ വായിക്കണം” മുതലായവയെക്കുറിച്ചുള്ള മികച്ച ഒരു കൂട്ടം ശുപാർശകൾ അടങ്ങിയിരിക്കുന്നു.

നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങൾ ഉണ്ടെങ്കിൽ

പതിവുപോലെ, നിങ്ങൾക്ക് ഇപ്പോഴും എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ, അഭിപ്രായങ്ങളിൽ അവരോട് ചോദിക്കുക, ഞാൻ എപ്പോഴും ഉത്തരം നൽകും. ഏതെങ്കിലും തരത്തിലുള്ള വാക്കുകളോ തെറ്റ് തിരുത്തലുകളോ വളരെ വിലമതിക്കപ്പെടും.

ആഗോള കമ്പ്യൂട്ടർവൽക്കരണത്തോടെ, മനസ്സിലാക്കാൻ കഴിയാത്ത ധാരാളം പദങ്ങൾ നമ്മുടെ ലോകത്തേക്ക് വന്നു. അവയെല്ലാം കൈകാര്യം ചെയ്യുന്നത് ഒറ്റനോട്ടത്തിൽ തോന്നുന്നത്ര എളുപ്പമല്ല. അവയിൽ പലതിനും സമാനമായ പേരുകളുണ്ട്, പലതിനും വിശാലമായ പ്രവർത്തനക്ഷമതയുണ്ട്. ഒരു ഷേഡർ എന്താണെന്നും അത് എവിടെ നിന്ന് വന്നുവെന്നും അത് എന്തിനുവേണ്ടിയാണെന്നും അത് എങ്ങനെയാണെന്നും കണ്ടെത്താനുള്ള സമയമാണിത്.

ഒപ്റ്റിമൈസർ

മിക്കവാറും, നിങ്ങൾ ഒരു ഉത്സാഹിയായ Minecraft പ്ലെയറാണ്, അതുകൊണ്ടാണ് അത് എന്താണെന്ന് കണ്ടെത്താൻ നിങ്ങൾ വന്നത്. "ഷേഡർ" എന്ന ആശയം ഈ ഗെയിമിൽ നിന്ന് എളുപ്പത്തിൽ വേർതിരിക്കപ്പെടുന്നുവെന്നും അതിൽ നിന്ന് പ്രത്യേകം "ജീവിക്കാൻ" കഴിയുമെന്നും ഉടനടി ശ്രദ്ധിക്കേണ്ടതാണ്. ഫാഷൻ പോലെ തന്നെ. അതിനാൽ, ഈ രണ്ട് ആശയങ്ങളും കർശനമായി ബന്ധിപ്പിക്കേണ്ട ആവശ്യമില്ല.

പൊതുവേ, ഷേഡർ പ്രോഗ്രാമിംഗിൽ നിന്നാണ് വരുന്നത്, കൂടാതെ സ്പെഷ്യലിസ്റ്റുകളുടെ സഹായിയായി പ്രത്യക്ഷപ്പെട്ടു. ഈ ടൂളിനെ ഒപ്റ്റിമൈസർ എന്ന് വിളിക്കുന്നത് ഒരുപക്ഷേ ഉച്ചത്തിലായിരിക്കും, പക്ഷേ ഇത് ഗെയിമുകളിലെ ഇമേജ് ശരിക്കും മെച്ചപ്പെടുത്തുന്നു. അതിനാൽ, അത് എന്താണെന്ന് നിങ്ങൾ ഇതിനകം തന്നെ മനസ്സിലാക്കാൻ തുടങ്ങിയാൽ, നമുക്ക് കൃത്യമായ വ്യാഖ്യാനത്തിലേക്ക് പോകാം.

വ്യാഖ്യാനം

എന്താണ് ഷേഡർ? വീഡിയോ കാർഡ് പ്രോസസറുകളാൽ നിർവ്വഹിക്കുന്നത്. ഈ ഉപകരണങ്ങൾ ഒരു പ്രത്യേക ഭാഷയിലാണ് വികസിപ്പിച്ചിരിക്കുന്നത്. ഉദ്ദേശ്യത്തെ ആശ്രയിച്ച്, അത് വ്യത്യാസപ്പെടാം. അതിനുശേഷം ഷേഡറുകൾ ഗ്രാഫിക്സ് ആക്സിലറേറ്റർ പ്രോസസ്സറുകൾക്കുള്ള നിർദ്ദേശങ്ങളിലേക്ക് സോപാധികമായി വിവർത്തനം ചെയ്യപ്പെടുന്നു.

അപേക്ഷ

ആപ്ലിക്കേഷൻ മൊത്തത്തിൽ ഉദ്ദേശ്യത്താൽ മുൻകൂട്ടി നിശ്ചയിച്ചതാണെന്ന് ഉടനടി പറയണം. വീഡിയോ കാർഡ് പ്രോസസറുകളിൽ പ്രോഗ്രാമുകൾ നടപ്പിലാക്കുന്നു, അതായത് ത്രിമാന ഗ്രാഫിക്സിന്റെ ഒബ്ജക്റ്റുകളുടെയും ചിത്രങ്ങളുടെയും പാരാമീറ്ററുകളിൽ അവർ പ്രവർത്തിക്കുന്നു. പ്രതിഫലനം, അപവർത്തനം, ഇരുണ്ടതാക്കൽ, ഷിഫ്റ്റ് ഇഫക്റ്റുകൾ മുതലായവ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നത് ഉൾപ്പെടെ നിരവധി ജോലികൾ ചെയ്യാൻ അവർക്ക് കഴിയും.

പരിസരം

ഷേഡർ എന്താണെന്ന് കണ്ടെത്താൻ ആളുകൾ വളരെക്കാലമായി ശ്രമിക്കുന്നു. ഈ പ്രോഗ്രാമുകൾക്ക് മുമ്പുതന്നെ, ഡവലപ്പർമാർ എല്ലാം കൈകൊണ്ട് ചെയ്തു. ചില വസ്തുക്കളിൽ നിന്ന് ഒരു ഇമേജ് രൂപപ്പെടുത്തുന്ന പ്രക്രിയ യാന്ത്രികമായിരുന്നില്ല. ഗെയിം ജനിക്കുന്നതിന് മുമ്പ്, ഡെവലപ്പർമാർ അവരുടെ സ്വന്തം റെൻഡറിംഗ് നടത്തി. അവർ അൽഗോരിതം ഉപയോഗിച്ച് പ്രവർത്തിക്കുകയും വ്യത്യസ്ത ജോലികൾക്കായി രൂപകൽപ്പന ചെയ്യുകയും ചെയ്തു. ടെക്സ്ചറുകൾ, വീഡിയോ ഇഫക്റ്റുകൾ മുതലായവ പ്രയോഗിക്കുന്നതിനുള്ള നിർദ്ദേശങ്ങൾ ഇങ്ങനെയാണ് പ്രത്യക്ഷപ്പെട്ടത്.

തീർച്ചയായും, വീഡിയോ കാർഡുകളുടെ പ്രവർത്തനത്തിൽ ചില പ്രക്രിയകൾ ഇപ്പോഴും നിർമ്മിച്ചിട്ടുണ്ട്. അത്തരം അൽഗോരിതങ്ങൾ ഡവലപ്പർമാർക്ക് ഉപയോഗിക്കാം. എന്നാൽ വീഡിയോ കാർഡിൽ അവരുടെ അൽഗോരിതം അടിച്ചേൽപ്പിക്കാൻ അവർക്ക് കഴിഞ്ഞില്ല. ഗ്രാഫിക്‌സ് പ്രോസസറിനേക്കാൾ വേഗത കുറഞ്ഞ സെൻട്രൽ പ്രൊസസറിന് നിലവാരമില്ലാത്ത നിർദ്ദേശങ്ങൾ നടപ്പിലാക്കാൻ കഴിയും.

ഉദാഹരണം

വ്യത്യാസം മനസിലാക്കാൻ, രണ്ട് ഉദാഹരണങ്ങൾ നോക്കുന്നത് മൂല്യവത്താണ്. വ്യക്തമായും, ഒരു ഗെയിമിൽ, റെൻഡറിംഗ് ഹാർഡ്‌വെയറോ സോഫ്റ്റ്‌വെയറോ ആകാം. ഉദാഹരണത്തിന്, നാമെല്ലാവരും പ്രശസ്തമായ ക്വാക്ക് 2 ഓർക്കുന്നു. അതിനാൽ, ഹാർഡ്‌വെയർ റെൻഡറിംഗിന്റെ കാര്യത്തിൽ ഗെയിമിലെ വെള്ളം ഒരു നീല ഫിൽട്ടർ മാത്രമായിരിക്കും. എന്നാൽ സോഫ്‌റ്റ്‌വെയർ ഇടപെടലിൽ വെള്ളം തെറിച്ചു. CS 1.6 ലും ഇതേ കഥയാണ്. ഹാർഡ്‌വെയർ റെൻഡറിംഗ് ഒരു വൈറ്റ് ഫ്ലാഷ് മാത്രമേ നൽകിയിട്ടുള്ളൂ, അതേസമയം സോഫ്റ്റ്‌വെയർ റെൻഡറിംഗ് ഒരു പിക്സലേറ്റഡ് സ്‌ക്രീൻ ചേർത്തു.

പ്രവേശനം

അതിനാൽ ഇത്തരം പ്രശ്നങ്ങൾ പരിഹരിക്കേണ്ടത് അനിവാര്യമാണെന്ന് വ്യക്തമായി. ഗ്രാഫിക്സ് ആക്സിലറേറ്ററുകൾ ഡെവലപ്പർമാർക്കിടയിൽ ജനപ്രിയമായ അൽഗോരിതങ്ങളുടെ എണ്ണം വിപുലീകരിക്കാൻ തുടങ്ങി. എല്ലാത്തിലും "തള്ളുക" അസാധ്യമാണെന്ന് വ്യക്തമായി. സ്പെഷ്യലിസ്റ്റുകൾക്ക് വീഡിയോ കാർഡിലേക്കുള്ള ആക്സസ് തുറക്കേണ്ടത് ആവശ്യമാണ്.

Minecraft പോലുള്ള ഗെയിമുകൾ മോഡുകൾക്കും ഷേഡറുകൾക്കുമൊപ്പം വരുന്നതിനുമുമ്പ്, വ്യത്യസ്ത നിർദ്ദേശങ്ങൾക്ക് ഉത്തരവാദികളാകുന്ന പൈപ്പ്ലൈനുകളിലേക്ക് GPU ബ്ലോക്കുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ ഡവലപ്പർമാർക്ക് അവസരം നൽകിയിരുന്നു. അങ്ങനെയാണ് "ഷേഡർ" എന്ന പ്രോഗ്രാമുകൾ അറിയപ്പെട്ടത്. പ്രോഗ്രാമിംഗ് ഭാഷകൾ സൃഷ്ടിക്കുന്നതിനായി പ്രത്യേകം വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. അങ്ങനെ, വീഡിയോ കാർഡുകൾ സ്റ്റാൻഡേർഡ് "ജ്യാമിതി" ഉപയോഗിച്ച് മാത്രമല്ല, പ്രോസസറിനുള്ള നിർദ്ദേശങ്ങൾക്കൊപ്പം ലോഡ് ചെയ്യാൻ തുടങ്ങി.

അങ്ങനെയുള്ള പ്രവേശനം സാധ്യമായതോടെ പുതിയ പ്രോഗ്രാമിംഗ് സാധ്യതകൾ തുറക്കാൻ തുടങ്ങി. സ്പെഷ്യലിസ്റ്റുകൾക്ക് ജിപിയുവിലെ ഗണിതശാസ്ത്ര പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ കഴിയും. അത്തരം കണക്കുകൂട്ടലുകൾ ജിപിജിപിയു എന്നറിയപ്പെട്ടു. ഈ പ്രക്രിയയ്ക്ക് പ്രത്യേക ഉപകരണങ്ങൾ ആവശ്യമാണ്. എൻവിഡിയ സിയുഡിഎയിൽ നിന്നും, മൈക്രോസോഫ്റ്റ് ഡയറക്‌ട് കമ്പ്യൂട്ടിൽ നിന്നും, ഓപ്പൺസിഎൽ ചട്ടക്കൂടിൽ നിന്നും.

തരങ്ങൾ

ഷേഡറുകളെക്കുറിച്ച് കൂടുതൽ ആളുകൾ പഠിക്കുന്തോറും അവരെയും അവരുടെ കഴിവുകളെയും കുറിച്ച് കൂടുതൽ വിവരങ്ങൾ വെളിപ്പെടുത്തി. തുടക്കത്തിൽ, ആക്സിലറേറ്ററുകൾക്ക് മൂന്ന് പ്രോസസറുകൾ ഉണ്ടായിരുന്നു. ഓരോരുത്തരും അവരവരുടെ സ്വന്തം തരം ഷേഡറിന് ഉത്തരവാദികളായിരുന്നു. കാലക്രമേണ, അവ സാർവത്രികമായി മാറ്റിസ്ഥാപിച്ചു. ഓരോന്നിനും ഒരു പ്രത്യേക നിർദ്ദേശങ്ങൾ ഉണ്ടായിരുന്നു, അതിൽ ഉടനടി മൂന്ന് തരം ഷേഡറുകൾ ഉണ്ടായിരുന്നു. ജോലിയുടെ ഏകീകരണം ഉണ്ടായിരുന്നിട്ടും, ഓരോ തരത്തിലുമുള്ള വിവരണം ഇന്നും നിലനിൽക്കുന്നു.

അനേകം മുഖങ്ങളുള്ള ആകാരങ്ങളുടെ ലംബങ്ങൾ ഉപയോഗിച്ചാണ് വെർട്ടെക്സ് തരം പ്രവർത്തിക്കുന്നത്. ഇവിടെ നിരവധി ഉപകരണങ്ങൾ ഉൾപ്പെട്ടിരിക്കാം. ഉദാഹരണത്തിന്, നമ്മൾ സംസാരിക്കുന്നത് ടെക്സ്ചർ കോർഡിനേറ്റുകൾ, ടാൻജെന്റ് വെക്റ്ററുകൾ, ബൈനോർമലുകൾ അല്ലെങ്കിൽ നോർമലുകൾ എന്നിവയെക്കുറിച്ചാണ്.

ജ്യാമിതീയ തരം ഒരു ശീർഷത്തിൽ മാത്രമല്ല, ഒരു മുഴുവൻ പ്രാകൃതവുമായും പ്രവർത്തിച്ചു. റാസ്റ്റർ ചിത്രീകരണങ്ങളുടെയും ടെക്സ്ചറുകളുടെയും ശകലങ്ങൾ പൊതുവെ പ്രോസസ്സ് ചെയ്യുന്നതിനാണ് പിക്സൽ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.

ഗെയിമുകളിൽ

നിങ്ങൾ Minecraft 1.5.2-നായുള്ള ഷേഡറുകൾക്കായി തിരയുകയാണെങ്കിൽ, ഗെയിമിലെ ചിത്രം മെച്ചപ്പെടുത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നു. ഇത് സാധ്യമാക്കാൻ, പരിപാടികൾ "തീ, വെള്ളം, ചെമ്പ് പൈപ്പുകൾ" എന്നിവയിലൂടെ കടന്നുപോയി. ഷേഡറുകൾ പരീക്ഷിക്കുകയും ശുദ്ധീകരിക്കുകയും ചെയ്തു. തൽഫലമായി, ഈ ഉപകരണത്തിന് ഗുണങ്ങളും ദോഷങ്ങളുമുണ്ടെന്ന് വ്യക്തമായി.

തീർച്ചയായും, വിവിധ അൽഗോരിതങ്ങൾ കംപൈൽ ചെയ്യുന്നതിനുള്ള എളുപ്പം ഒരു വലിയ പ്ലസ് ആണ്. ഇത് ഗെയിം ഡെവലപ്‌മെന്റ് പ്രോസസിലെ ഫ്ലെക്സിബിലിറ്റിയും ശ്രദ്ധേയമായ ലളിതവൽക്കരണവുമാണ്, അതിനാൽ ചെലവ് കുറയുന്നു. തത്ഫലമായുണ്ടാകുന്ന വെർച്വൽ രംഗങ്ങൾ കൂടുതൽ സങ്കീർണ്ണവും യാഥാർത്ഥ്യവുമായി മാറുന്നു. കൂടാതെ, വികസന പ്രക്രിയ തന്നെ പല മടങ്ങ് വേഗത്തിലാകുന്നു.

ശ്രദ്ധിക്കേണ്ട ഒരേയൊരു പോരായ്മ നിങ്ങൾ പ്രോഗ്രാമിംഗ് ഭാഷകളിലൊന്ന് പഠിക്കേണ്ടതുണ്ട്, കൂടാതെ വീഡിയോ കാർഡുകളുടെ വ്യത്യസ്ത മോഡലുകൾക്ക് വ്യത്യസ്തമായ അൽഗോരിതം ഉണ്ടെന്നും കണക്കിലെടുക്കുക.

ഇൻസ്റ്റലേഷൻ

Minecraft-നായി നിങ്ങൾ ഒരു ഷേഡർ പായ്ക്ക് കണ്ടെത്തുകയാണെങ്കിൽ, അത് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിൽ നിരവധി പോരായ്മകളുണ്ടെന്ന് നിങ്ങൾ മനസ്സിലാക്കേണ്ടതുണ്ട്. ഈ ഗെയിമിന്റെ ജനപ്രീതി ഇതിനകം മങ്ങിക്കൊണ്ടിരിക്കുന്നുണ്ടെങ്കിലും, അതിന്റെ വിശ്വസ്തരായ ആരാധകർ ഇപ്പോഴും നിലനിൽക്കുന്നു. എല്ലാവരും ഗ്രാഫിക്സ് ഇഷ്ടപ്പെടുന്നില്ല, പ്രത്യേകിച്ച് 2017 ൽ. ഷേഡറുകൾക്ക് നന്ദി, അത് മെച്ചപ്പെടുത്താൻ കഴിയുമെന്ന് ചിലർ കരുതുന്നു. സൈദ്ധാന്തികമായി, ഈ പ്രസ്താവന ശരിയാണ്. എന്നാൽ പ്രായോഗികമായി നിങ്ങൾക്ക് വലിയ മാറ്റമുണ്ടാകില്ല.

എന്നാൽ നിങ്ങൾ ഇപ്പോഴും Minecraft 1.7 ഉപയോഗിക്കുന്നതിനുള്ള വഴികൾ തേടുകയാണെങ്കിൽ, ഒന്നാമതായി, ശ്രദ്ധിക്കുക. പ്രക്രിയ തന്നെ സങ്കീർണ്ണമല്ല. കൂടാതെ, ഡൌൺലോഡ് ചെയ്ത ഏതെങ്കിലും ഫയലിനൊപ്പം അത് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള നിർദ്ദേശങ്ങളും ഉണ്ട്. ഗെയിം, ഷേഡർ പതിപ്പുകൾ പരിശോധിക്കുക എന്നതാണ് പ്രധാന കാര്യം. അല്ലെങ്കിൽ, ഒപ്റ്റിമൈസർ പ്രവർത്തിക്കില്ല.

നിങ്ങൾക്ക് അത്തരമൊരു ഉപകരണം ഇൻസ്റ്റാൾ ചെയ്യാനും ഡൗൺലോഡ് ചെയ്യാനും കഴിയുന്ന നിരവധി സ്ഥലങ്ങൾ ഇന്റർനെറ്റിൽ ഉണ്ട്. അടുത്തതായി നിങ്ങൾ ആർക്കൈവ് ഏതെങ്കിലും ഫോൾഡറിലേക്ക് അൺപാക്ക് ചെയ്യേണ്ടതുണ്ട്. അവിടെ നിങ്ങൾക്ക് "GLSL-Shaders-Mod-1.7-Installer.jar" എന്ന ഫയൽ കാണാം. സമാരംഭിച്ചതിന് ശേഷം, ഗെയിമിലേക്കുള്ള പാത നിങ്ങളെ കാണിക്കും, അത് ശരിയാണെങ്കിൽ, തുടർന്നുള്ള എല്ലാ നിർദ്ദേശങ്ങളും അംഗീകരിക്കുക.

അപ്പോൾ നിങ്ങൾ "shaderpacks" ഫോൾഡർ ".minecraft" ലേക്ക് നീക്കേണ്ടതുണ്ട്. ഇപ്പോൾ നിങ്ങൾ ലോഞ്ചർ ആരംഭിക്കുമ്പോൾ നിങ്ങൾ ക്രമീകരണങ്ങളിലേക്ക് പോകേണ്ടതുണ്ട്. ഇവിടെ, ഇൻസ്റ്റാളേഷൻ ശരിയായി പൂർത്തിയാക്കിയിട്ടുണ്ടെങ്കിൽ, "ഷേഡറുകൾ" എന്ന വരി ദൃശ്യമാകും. മുഴുവൻ ലിസ്റ്റിൽ നിന്നും നിങ്ങൾക്ക് ആവശ്യമുള്ള പാക്കേജ് തിരഞ്ഞെടുക്കാം.

നിങ്ങൾക്ക് Minecraft 1.7.10-ന് ഷേഡറുകൾ ആവശ്യമുണ്ടെങ്കിൽ, ആവശ്യമുള്ള പതിപ്പിന്റെ ഷേഡർ പായ്ക്ക് കണ്ടെത്തി അത് ചെയ്യുക. ഇന്റർനെറ്റിൽ അസ്ഥിരമായ പതിപ്പുകൾ ഉണ്ടാകാം. ചിലപ്പോൾ നിങ്ങൾ അവ മാറ്റുകയും അവ വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യുകയും ശരിയായത് നോക്കുകയും വേണം. അവലോകനങ്ങൾ നോക്കി ഏറ്റവും ജനപ്രിയമായവ തിരഞ്ഞെടുക്കുന്നതാണ് നല്ലത്.