Shading language
நிழல் மொழி என்பது நிரலாக்க நிழல் விளைவுகளுக்கு ஏற்ற கிராபிக்ஸ் நிரலாக்க மொழியாகும். நிழல் மொழிகள் பொதுவாக "திசையன்", "அணி", "நிறம்" மற்றும் "இயல்பான" போன்ற சிறப்பு தரவு வகைகளைக் கொண்டுள்ளன. ஆஃப்லைன் ரெண்டரிங்கில் பயன்படுத்தப்படும் ஆஃப்லைன் ரெண்டரிங் ஷேடிங் மொழிகள் இயற்கையான மொழிக்கு நெருக்கமாக இருக்கும், இதனால் நிரலாக்கத்தைப் பற்றிய சிறப்பு அறிவு தேவையில்லை. ஆஃப்லைன் ரெண்டரிங் என்பது நிகழ்நேர ரெண்டரிங்கை விட அதிக நேரம் மற்றும் கணக்கீடு செலவில் அதிகபட்ச தரமான படங்களை தயாரிப்பதை நோக்கமாகக் கொண்டுள்ளது. ரெண்டர்மேன் ஷேடிங் மொழி ரெண்டர்மேன் இன்டர்பேஸ் ஸ்பெசிஃபிகேஷனில் வரையறுக்கப்பட்ட ரெண்டர்மேன் ஷேடிங் மொழி (ஆர். எஸ். எல் அல்லது எஸ். எல், சுருக்கமாக), உற்பத்தி-தரமான ரெண்டரிங்கிற்கான பொதுவான ஷேடிங் மொழியாகும். இதுவரை செயல்படுத்தப்பட்ட முதல் நிழல் மொழிகளில் இதுவும் ஒன்றாகும். இது ஆறு முக்கிய நிழல் வகைகளை வரையறுக்கிறதுஃ ஒளி மூல நிழல்கள் ஒரு ஒளி மூலத்தின் ஒரு புள்ளியில் இருந்து ஒரு இலக்கு மேற்பரப்பில் ஒரு புள்ளிக்கு வெளிப்படும் ஒளியின் நிறத்தை கணக்கிடுகின்றன. மேற்பரப்பு நிழல்கள் உள்வரும் ஒளி மற்றும் பொருளின் இயற்பியல் பண்புகளின் அடிப்படையில் ஒரு பொருளின் மேற்பரப்பில் புள்ளிகளின் நிறம் மற்றும் நிலையை மாதிரியாகக் கொண்டுள்ளன. இடப்பெயர்ச்சி நிழல்கள் நிறத்திலிருந்து சுயாதீனமாக மேற்பரப்பு வடிவவியலைக் கையாளுகின்றன. சிதைவு நிழல்கள் முழு இடத்தையும் மாற்றுகின்றன. ஒரே ஒரு ரெண்டர்மேன் செயல்படுத்தல், சிடெக்ஸ் கிராபிக்ஸ் மூலம் AIR ரெண்டெரர், இந்த ஷேடர் வகையை செயல்படுத்தியது, இது இடத்திற்கு பயன்படுத்தப்படும் ஒற்றை நேரியல் மாற்றத்தை மட்டுமே ஆதரிக்கிறது. வால்யூம் ஷேடர்கள் ஒரு வால்யூம் வழியாக செல்லும்போது ஒளியின் நிறத்தை கையாளுகின்றன. அவை மூடுபனி போன்ற விளைவுகளை உருவாக்குகின்றன. இமேஜர் ஷேடர்கள் இறுதி பிக்சல் மதிப்புகளுக்கு ஒரு வண்ண மாற்றத்தை விவரிக்கின்றன. இது ஒரு பட வடிகட்டி போன்றது, இமேஜர் ஷேடர் அளவீட்டுக்கு முன் தரவுகளில் இயங்குகிறது. இத்தகைய தரவு ஒரு வழக்கமான வெளியீட்டு சாதனத்தில் காட்டப்படுவதை விட அதிக மாறும் வரம்பு மற்றும் வண்ணத் தெளிவுத்திறனைக் கொண்டுள்ளது. ஹவுடினி வெக்ஸ் நிழல் மொழி ஹவுடினி வெக்ஸ் (திசையன் வெளிப்பாடுகள்) நிழல் மொழி (பெரும்பாலும் சுருக்கமாக "வெக்ஸ்" என்று அழைக்கப்படுகிறது) ரெண்டர்மேனுக்குப் பிறகு நெருக்கமாக வடிவமைக்கப்பட்டுள்ளது. இருப்பினும், ஒரு முழுமையான 3D தொகுப்பில் அதன் ஒருங்கிணைப்பு என்பது ஷேடர் எழுத்தாளர் ஷேடருக்குள் உள்ள தகவல்களை அணுக முடியும் என்பதாகும், இது பொதுவாக ரெண்டரிங் சூழலில் கிடைக்காத ஒரு அம்சமாகும். ஆர். எஸ். எல் மற்றும் வி. இ. எக்ஸ் இடையேயான மொழி வேறுபாடுகள் முக்கியமாக சொற்றொடர்களாகும், மேலும் பல நிழல் பெயர்களின் பெயர்கள் தொடர்பான வேறுபாடுகளும் உள்ளன. ஜெலாட்டோ நிழல் மொழி ஜெலாட்டோவின் நிழல் மொழி, ஹூடினியின் VEX ஐப் போலவே, ரெண்டர்மேனுக்குப் பிறகு நெருக்கமாக வடிவமைக்கப்பட்டுள்ளது. ஜெலடோ ஷேடிங் மொழிக்கும் ஆர். எஸ். எல்-க்கும் இடையிலான வேறுபாடுகள் முக்கியமாக சொல்லியல் ரீதியானவை-ஜெலடோ செயல்பாட்டு வரையறைகளில் வாதங்களைப் பிரிக்க காற்புள்ளிகளுக்கு பதிலாக செமிகோலன்களைப் பயன்படுத்துகிறது மற்றும் ஒரு சில ஷேடோப்கள் வெவ்வேறு பெயர்கள் மற்றும் அளவுருக்களைக் கொண்டுள்ளன. திறந்த நிழல் மொழி திறந்த நிழல் மொழி (ஓ. எஸ். எல்) சோனி பிக்சர்ஸ் இமேஜ்வொர்க்ஸ் அதன் அர்னால்ட் ரெண்டரரில் பயன்படுத்த உருவாக்கப்பட்டது. இது பிளெண்டரின் சைக்கிள்ஸ் ரெண்டர் இயந்திரத்திலும் பயன்படுத்தப்படுகிறது. ஓ. எஸ். எல் இன் மேற்பரப்பு மற்றும் தொகுதி நிழல்கள் மேற்பரப்புகள் அல்லது தொகுதிகள் எவ்வாறு ஒளியை சிதறடிக்கின்றன என்பதை வரையறுக்கின்றன, இது முக்கியத்துவம் வாய்ந்த மாதிரியை அனுமதிக்கிறது; எனவே, கதிர் தடமறிதல் மற்றும் உலகளாவிய வெளிச்சத்தை ஆதரிக்கும் உடல் அடிப்படையிலான ரெண்டர்களுக்கு இது மிகவும் பொருத்தமானது. நிகழ்நேர ரெண்டரிங்கிற்கான நிகழ்நேர ரெண்டரிங் ஷேடிங் மொழிகள் இப்போது பரவலாக உள்ளன. அவை முந்தைய முன்னுதாரணங்களை விட அதிக வன்பொருள் சுருக்கம் மற்றும் மிகவும் நெகிழ்வான நிரலாக்க மாதிரி ஆகிய இரண்டையும் வழங்குகின்றன, அவை கடினமான குறியீட்டு மாற்றம் மற்றும் நிழல் சமன்பாடுகளை வழங்குகின்றன. அவை குறைந்த மேல்நிலையுடன் அதிக கட்டுப்பாடு மற்றும் பணக்கார உள்ளடக்கத்தை வழங்குகின்றன. ஜி. பி. யுவில் நேரடியாக செயல்படுத்த வடிவமைக்கப்பட்ட ஷேடர்கள் அவற்றின் ஸ்ட்ரீம் நிரலாக்க மாதிரியின் காரணமாக உயர்-செயல்திறன் பொது செயலாக்கத்திற்கு பயனுள்ளதாக மாறியது; இது ஒத்த வன்பொருளில் இயங்கும் கம்ப்யூட் ஷேடர்களின் வளர்ச்சிக்கு வழிவகுத்தது (மேலும் காண்கஃ ஜிபிஜிபியு). வரலாற்று ரீதியாக, அத்தகைய சில மொழிகள் சந்தையில் ஆதிக்கம் செலுத்தின; அவை கீழே விவரிக்கப்பட்டுள்ளன. ஏஆர்பி அசெம்பிளி மொழி ஓபன்ஜிஎல் கட்டிடக்கலை மறுஆய்வு வாரியம் 2002 ஆம் ஆண்டில் ஏஆர்பி அசெம்பிளி மொழியை நிரல்படுத்தக்கூடிய கிராபிக்ஸ் செயலிகளுக்கான நிலையான குறைந்த அளவிலான அறிவுறுத்தல் தொகுப்பாக நிறுவியது. உயர் மட்ட ஓபன்ஜிஎல் நிழல் மொழிகள் பெரும்பாலும் ஏற்றுதல் மற்றும் செயல்படுத்தலுக்காக ஏஆர்பி அசெம்பிளிக்கு தொகுக்கப்படுகின்றன. உயர் மட்ட நிழல் மொழிகளைப் போலல்லாமல், ஏ. ஆர். பி அசெம்பிளி கட்டுப்பாட்டு ஓட்டம் அல்லது கிளைகளை ஆதரிக்காது. இருப்பினும், குறுக்கு-ஜிபியு பெயர்வுத்திறன் தேவைப்படும்போது இது தொடர்ந்து பயன்படுத்தப்படுகிறது. ஓபன்ஜிஎல் நிழல் மொழி ஜிஎல்எஸ்எல் அல்லது ஜிஎல்எஸ்எல் என்றும் அழைக்கப்படுகிறது, இந்த தரப்படுத்தப்பட்ட நிழல் மொழி ஓபன்ஜிஎல்லுடன் பயன்படுத்தப்பட வேண்டும். நிபந்தனை சுழல்கள் மற்றும் கிளைகளை அனுமதிக்கும் ஒரே அறிவுறுத்தல் தொகுப்பில் உச்சி மற்றும் துண்டு செயலாக்கத்தை மொழி ஒருங்கிணைக்கிறது. ஜிஎல்எஸ்எல்-க்கு முன்பு ஏஆர்பி அசெம்பிளி மொழி இருந்தது. சிஜி நிரலாக்க மொழி என்விடியா உருவாக்கிய சிஜி மொழி, எளிதான மற்றும் திறமையான உற்பத்தி குழாய் ஒருங்கிணைப்புக்காக வடிவமைக்கப்பட்டுள்ளது. இது ஏபிஐ சுதந்திரத்தைக் கொண்டுள்ளது மற்றும் சொத்து நிர்வாகத்தை மேம்படுத்த பல இலவச கருவிகளுடன் வருகிறது. சி. ஜி. யின் வளர்ச்சி 2012 இல் நிறுத்தப்பட்டது, மேலும் மொழி இப்போது மதிப்பிழந்தது. டைரக்ட்எக்ஸ் ஷேடர் அசெம்பிளி மொழி டைரக்ட்3டி 8 மற்றும் 9 இல் உள்ள ஷேடர் அசெம்பிளி மொழி ஷேடர் மாடல் 1.0/1.1,2 மற்றும் 3 இல் உள்ள வெர்டெக்ஸ் மற்றும் பிக்சல் ஷேடர்களுக்கான முக்கிய நிரலாக்க மொழியாகும். இது இடைநிலை ஷேடர் பைட் குறியீட்டின் நேரடி பிரதிநிதித்துவமாகும், இது கிராபிக்ஸ் இயக்கிக்கு அனுப்பப்படுகிறது. ஷேடர் அசெம்பிளி மொழியை ஒருங்கிணைந்த ஷேடர் மாடல் 4.0,4.1,5 மற்றும் 5.1 ஐ நிரல் செய்ய நேரடியாகப் பயன்படுத்த முடியாது, இருப்பினும் இது பிழைத்திருத்த நோக்கங்களுக்காக இடைநிலை பைட்ட்கோடின் பிரதிநிதித்துவமாக அதன் செயல்பாட்டைத் தக்க வைத்துக் கொள்கிறது. டைரக்ட்எக்ஸ் ஹை-லெவல் ஷேடர் லாங்குவேஜ் ஹை-லெவல் ஷேடர் லாங்குவேஜ் (எச்எல்எஸ்எல்) என்பது டைரக்ட்எக்ஸ் 9 மற்றும் அதற்கு மேற்பட்ட மற்றும் எக்ஸ்பாக்ஸ் கேம் கன்சோல்களுக்கான சி-ஸ்டைல் ஷேடர் மொழியாகும். இது என்விடியாவின் சிஜியுடன் தொடர்புடையது, ஆனால் டைரக்ட்எக்ஸ் மற்றும் எக்ஸ்பாக்ஸ் மட்டுமே ஆதரிக்கிறது. எச்எல்எஸ்எல் நிரல்கள் டைரக்ட்எக்ஸ் ஷேடர் அசெம்பிளி மொழிக்கு சமமான பைட் குறியீடாக தொகுக்கப்படுகின்றன. டைரக்ட் 3டி 9 இல் ஷேடர் அசெம்பிளி மொழிக்கு ஒரு விருப்ப மாற்றாக எச்எல்எஸ்எல் அறிமுகப்படுத்தப்பட்டது, ஆனால் டைரக்ட் 3டி 10 மற்றும் அதற்கு மேற்பட்டவற்றில் தேவையாக மாறியது, அங்கு ஷேடர் அசெம்பிளி மொழி குறைக்கப்பட்டது. அடோப் பிக்சல் பெண்டர் மற்றும் அடோப் கிராபிக்ஸ் அசெம்பிளி லாங்குவேஜ் அடோப் சிஸ்டம்ஸ் ஆகியவை அடோப் ஃப்ளாஷ் 10 ஏபிஐயின் ஒரு பகுதியாக பிக்சல் பெண்டரைச் சேர்த்தன. பிக்சல் பெண்டர் பிக்சலை மட்டுமே செயலாக்க முடியும், ஆனால் 3D-வெர்டெக்ஸ் தரவு அல்ல. ஃப்ளாஷ் 11 ஸ்டேஜ் 3டி எனப்படும் முற்றிலும் புதிய 3டி ஏபிஐயை அறிமுகப்படுத்தியது, இது அடோப் கிராபிக்ஸ் அசெம்பிளி லாங்குவேஜ் (ஏஜிஏஎல்) எனப்படும் அதன் சொந்த நிழல் மொழியைப் பயன்படுத்துகிறது, இது முழு 3டி முடுக்கம் ஆதரவை வழங்குகிறது. பிக்சல் பெண்டருக்கான ஜி. பி. யூ முடுக்கம் ஃப்ளாஷ் 11.8 இல் அகற்றப்பட்டது. ஏஜிஏஎல் என்பது ஒரு குறைந்த அளவிலான ஆனால் தள-சுயாதீன நிழல் மொழியாகும், இது தொகுக்கப்படலாம், எடுத்துக்காட்டாக, அல்லது ஜிஎல்எஸ்எல். பிளேஸ்டேஷன் ஷேடர் மொழி சோனி பிளேஸ்டேஷன் ஷேடர் மொழியை (பிஎஸ்எஸ்எல்) சிஜி/எச்எல்எஸ்எல் போன்ற நிழல் மொழியாக அறிவித்தது, ஆனால் பிளேஸ்டேஷன் 4 க்கு குறிப்பிட்டது. பிஎஸ்எஸ்எல் பெரும்பாலும் கணினியில் எச்எல்எஸ்எல் ஷேடர்களுடன் இணக்கமாக இருப்பதாகக் கூறப்படுகிறது, ஆனால் பிஎஸ் 4 இயங்குதளத்திற்கான கூடுதல் அம்சங்களுடன். மெட்டல் ஷேடிங் லாங்குவேஜ் ஆப்பிள் மெட்டல் என்று அழைக்கப்படும் குறைந்த அளவிலான கிராபிக்ஸ் ஏபிஐயை உருவாக்கியுள்ளது, இது 2012 முதல் தயாரிக்கப்பட்ட பெரும்பாலான மேக்குகள், 5 எஸ் முதல் ஐபோன்கள் மற்றும் ஐபாட் ஏர் முதல் ஐபாட்கள் ஆகியவற்றில் இயங்குகிறது. உலோகம் உலோக நிழல் மொழி (எம். எஸ். எல்) என்று அழைக்கப்படும் அதன் சொந்த நிழல் மொழியைக் கொண்டுள்ளது, இது சி + + 14 ஐ அடிப்படையாகக் கொண்டது மற்றும் கிளாங் மற்றும் எல். எல். வி. எம் ஐப் பயன்படுத்தி செயல்படுத்தப்படுகிறது. எம். எஸ். எல் உச்சி, துண்டு மற்றும் கணக்கீட்டு செயலாக்கத்தை ஒருங்கிணைக்கிறது. வெப்ஜிபியு ஷேடிங் லாங்குவேஜ் வெப்ஜிபியு ஷேடிங் லாங்குவேஜ் (டபிள்யூஜிஎஸ்எல்) என்பது வெப்ஜிபியுவின் ஷேடர் மொழியாகும். அதாவது, வெப்ஜிபியு ஏபிஐயைப் பயன்படுத்தும் ஒரு பயன்பாடு ஜிபியுவில் இயங்கும் ஷேடர்கள் எனப்படும் நிரல்களை வெளிப்படுத்த டபிள்யூஜிஎஸ்எல்-ஐப் பயன்படுத்துகிறது. மொழிபெயர்ப்பு ஷேடர்களை ஒரு நிழல் மொழியிலிருந்து இன்னொரு மொழிக்கு போர்ட் செய்ய, ஒரு சில அணுகுமுறைகள் பயன்படுத்தப்படுகின்றனஃ ஒரு பொதுவான இடைமுகத்தை வரையறுக்கவும். எடுத்துக்காட்டாக, சிஜி/எச்எல்எஸ்எல், ஜிஎல்எஸ்எல் மற்றும் எம்எஸ்எல் அனைத்தும் சி ப்ரீப்ராசசர் மேக்ரோக்களை செயல்படுத்துகின்றன, எனவே அனைத்து வெவ்வேறு செயல்பாடுகளையும் ஒரு பொதுவான இடைமுகத்தில் மூட முடியும். வால்வு சோர்ஸ் 2 மற்றும் என்விடியாவின் எஃப்எக்ஸ்ஏஏ 3.1 இதைச் செய்கின்றன. ஒரு மொழியை இன்னொரு மொழிக்கு மொழிபெயர்க்கவும். எடுத்துக்காட்டாக, டைரக்ட்எக்ஸ் பைட் குறியீட்டை எச்எல்எஸ்எல்சிசி வழியாக ஜிஎல்எஸ்எல் ஆக ஓரளவு மாற்றலாம், மேலும் ஜிஎல்எஸ்எல்-ஐ எச்எல்எஸ்எல் ஆக மாற்றுவதற்கான ஏஎன்ஜிஎல்இ மற்றும் எச்எல்எஸ்எல்2ஜிஎல்எஸ்எல் போன்ற பல கருவிகள் உள்ளன. ஒரு இடைநிலை மொழியை வரையறுக்கவும். எஸ். பி. ஐ. ஆர்-வி இந்த நோக்கத்திற்காக ஓரளவு வடிவமைக்கப்பட்டுள்ளது. இது எச். எல். எஸ். எல் அல்லது ஜி. எல். எஸ். எல். இலிருந்து உருவாக்கப்படலாம், மேலும் எச். எல். எஸ். எல், ஜி. எல். எஸ். எல் அல்லது எம். எஸ். எல் ஆக சிதைக்கப்படலாம். குறிப்புகள் குறிப்புகள் ஓபன்ஜிஎல்-க்கான முந்தைய வெர்டெக்ஸ் ஷேடிங் மொழிகளில் (குறிப்பிட்ட வரிசையில் இல்லை) ஈஎக்ஸ்டி _ வெர்டெக்ஸ் _ ஷேடர், என்வி _ வெர்டெக்ஸ் _ புரோகிராம், மேற்கூறிய ஏஆர்பி _ வெர்டெக்ஸ் _ புரோகிராம், என்வி _ வெர்டெக்ஸ் _ புரோகிராம் 2 மற்றும் என்வி _ வெர்டெக்ஸ் _ புரோகிராம் 3 ஆகியவை அடங்கும். துண்டு ஷேடிங்கிற்கு என்விபார்ஸ் என்பது என்வி _ ரெஜிஸ்டர் _ காம்பினர்கள், பிக்சல் கணிதத்திற்கு என்வி _ ரெஜிஸ்டர் _ காம்பினர்கள் 2 மற்றும் என்வி _ டெக்ஸ்ட்சர் _ ஷேடர், என்வி _ டெக்ஸ்ட்சர் _ ஷேடர் 2 மற்றும் என்வி _ டெக்ஸ்ட்சர் _ ஷேடர் 3 ஆகியவற்றின் அடிப்படையில் உயர் மட்ட சுருக்கத்தைக் கொண்ட முதல் ஷேடிங் மொழியாகும். ஏ. டி. ஐ. _ ஃப்ராக்மென்ட் _ ஷேடர் ஒரு "சரம் சார்ந்த" பாகுபடுத்தும் வசதியைக் கூட வழங்கவில்லை (இருப்பினும் இது பின்னர் ஏ. டி. ஐ. _ டெக்ஸ்ட் _ ஃப்ராக்மென்ட் _ ஷேடர் மூலம் சேர்க்கப்பட்டுள்ளது). ஏஆர்பி _ ஃப்ராக்மென்ட் _ புரோகிராம், மிகவும் வெற்றிகரமாக உள்ளது. NV _ fragment _ நிரல் மற்றும் NV _ fragment _ நிரல் 2 ஆகியவை உண்மையில் ஒத்தவை, இருப்பினும் பிந்தையது மற்றவர்களைப் பொறுத்தவரை மிகவும் மேம்பட்ட செயல்பாட்டை வழங்குகிறது. என்விடியா முகப்புப் பக்கத்திலிருந்து எஃப்எக்ஸ் இசையமைப்பாளர், ரூடி கோர்டெஸ் மற்றும் சத்ய ராகவாச்சாரிஃ தி ரெண்டர்மேன் ஷேடிங் லாங்குவேஜ் கையேடு, பாடநெறி தொழில்நுட்ப பிடிஆர், 1 பதிப்பு (டிசம்பர் 27,2007), நிரலாக்க மொழி வகைப்பாடு