சுருக்கம்
இந்தக் கட்டுரை, ரெண்டரர் செருகுநிரலில் நேரடி ரெண்டரிங்கை எவ்வாறு செயல்படுத்தலாம் என்பதை விளக்குகிறது மற்றும் பின்வரும் தலைப்புகளை உள்ளடக்கியது:
- பண்புக்கூறு மாநாடு
- ரெண்டரர்இன்ஃபோ செருகுநிரல் செயல்பாடுகள்
- செருகுநிரல் செயல்பாடுகளை ரெண்டர் செய்
- பைதான் பயன்பாடுகள்
- லைவ்ரெண்டர்ஏபிஐ
- லைவ்ரெண்டர் செயல்கள்
- கால்பேக்குகள் - கோட்சாஸ்
- ஒற்றை மாதிரி புதுப்பிப்புகள்
- தொடர்ந்து இல்லாத புதுப்பிப்புகள்
லைவ்ரெண்டரிங் பற்றிய பொதுவான விளக்கத்திற்கு , ரெண்டர் வகைகள் குறித்த Katana பயனர் வழிகாட்டி பிரிவில் அதன் விளக்கத்தைக் காண்க, அதே போல் ரெண்டரைச் செயல்படுத்துதல் என்பதன் தொடக்கம் மற்றும் நிறுத்துதல் நேரடி ரெண்டரிங் துணைப் பிரிவையும் , நேரடி ரெண்டரிங்கைக் கட்டுப்படுத்துதல் என்ற பகுதியையும் பார்க்கவும்.
ரெண்டரர் செருகுநிரல்களின் பிற பகுதிகளின் விரிவான விளக்கத்தையும், லைவ்ரெண்டரிங்குடன் நேரடியாக தொடர்பில்லாத ரெண்டரர் ஏபிஐயின் பிற செயல்பாடுகளின் ஆவணங்களையும் Katana டெவலப்பர் வழிகாட்டியின் ரெண்டரர் செருகுநிரல்கள் பிரிவில் காணலாம்.
மேலும் தகவல்
பண்புக்கூறு மாநாடு
Katana நேரடி ரெண்டரிங் அமைப்பு காட்சி வரைபடத்தில் உள்ள பண்புக்கூறுகளால் இயக்கப்படுகிறது. செயல்திறன் என்ற பெயரில், ரெண்டரரைப் புதுப்பிக்கத் தேவையான பண்புக்கூறுகள் மட்டுமே ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும். இவை எந்த பண்புக்கூறுகள் என்பதைத் தீர்மானிக்க ஒரு பண்புக்கூறு மரபு உள்ளது, அது பின்வருமாறு:
liveRender.<updateGroup>.<attributeName>
<updateGroup> - இது ஒரு GroupAttribute ஆகும், இது பண்புக்கூறுகளை ஒன்றாக இணைத்து ஒரே புதுப்பிப்பாக மாற்ற பயன்படுகிறது.
<attributeName> - இது கண்காணிக்க வேண்டிய உயர்-நிலை பண்புக்கூறின் பெயர். மேலே உள்ள படத்தில் liveRender.geoXform.xform பண்புக்கூறானது, உயர்-நிலை xform பண்புக்கூறுக்கு ஏதேனும் மாற்றங்களை அனுப்ப நேரடி ரெண்டர் அமைப்பை அறிவுறுத்துகிறது. இது ஒரு StringAttribute ஆகும், இதன் மதிப்பு பொதுவாக <updateGroup> உடன் பொருந்துகிறது, இது மரபு காரணங்களுக்காக, ஆனால் பொதுவாக உள்நாட்டில் பயன்படுத்தப்படுவதில்லை. ஒரே புதுப்பிப்பு குழுவில் பல பண்புக்கூறுகள் குறிப்பிடப்பட்டிருந்தால், அவற்றில் ஏதேனும் ஒன்று மாறும்போது அவை அனைத்தும் ரெண்டரருக்கு அனுப்பப்படும்.
ரெண்டரர்இன்ஃபோ செருகுநிரல் செயல்பாடுகள்
void fillLiveRenderTerminalOps( OpDefinitionQueue & terminalOps ,
const FnAttribute::GroupAttribute& stateArgs )
மேலே உள்ள பண்புக்கூறு மாநாட்டை நோட் கிராஃபில் அமைக்க முடியும் என்றாலும், லைவ் ரெண்டர் தொடங்கும் போது தானாகவே பண்புக்கூறுகளை அமைக்க, RendererInfo செருகுநிரலில் fillLiveRenderTerminalOps() செயல்பாட்டைப் பயன்படுத்துவது பொதுவாக மிகவும் பயனுள்ளதாக இருக்கும். இந்த செயல்பாடு terminalOps எனப்படும் ஒரு வாதத்தை அனுப்புகிறது, இது op வகை ( std::string ஆக) மற்றும் op வாதங்கள் (ஒரு GroupAttribute ஆக) கொண்ட எந்த அல்லது அதற்கு மேற்பட்ட std::pair பொருள்களையும் கொண்ட std std::deque ஆகும்.
எ.கா. கீழே உள்ள குறியீடு /root/world/lgt கீழே உள்ள ஒளி இடங்களின் xform பண்புக்கூறில் ஏற்படும் மாற்றங்களைக் கண்காணிக்கிறது .
FnAttribute::GroupBuilder opArgs;
opArgs. set ( "type" , FnAttribute::StringAttribute( "light" ));
opArgs. set ( "location" , FnAttribute::StringAttribute( "/root/world/lgt" ));
opArgs. set ( "attributeNames" , FnAttribute::StringAttribute( "xform" ));
terminalOps.push_back( std ::make_pair( "LiveRenderFilter" , opArgs.build()));
Katana அனுப்பப்படும் பல ஜியோலிப்3 ஆப்கள் இங்கே பயனுள்ளதாக இருக்கும்:
|
லைவ்ரெண்டர் வடிகட்டி நேரடி ரெண்டரிங்கிற்கு எந்த பண்புக்கூறுகள் கண்காணிக்கப்பட வேண்டும் என்பதைக் குறிக்கப் பயன்படுகிறது. பல பண்புக்கூறுகளை ஒரு LiveRenderFilter மூலம் கண்காணிக்க முடியும், மேலும் அவற்றில் ஏதேனும் மாறினால் அனைத்தும் ஒரே GroupAttribute ஆக அனுப்பப்படும். மேலே விவரிக்கப்பட்ட liveRender பண்புக்கூறு மாநாட்டை அமைப்பதற்கான நிலையான வழி இதுவாகும். |
|
ஓப்ஆர்க்ஸ் - பண்புக்கூறு பெயர்கள் (StringAttribute) - பண்புக்கூறுகளின் பெயர்கள் மாற்றங்களுக்காகக் கண்காணிக்கப்பட வேண்டும், மேலும் ஒன்று மாறும்போதெல்லாம் ரெண்டர் செருகுநிரலுக்கு ஒரே புதுப்பிப்பாக அனுப்பப்பட வேண்டும். - இடம் (StringAttribute) - இந்த ஆப் பொருந்தும் முதல் இடத்தை வரையறுக்கும் ஒரு CEL வெளிப்பாடு. பின்னர் அது அனைத்து சைல்டு இருப்பிடங்களிலும் பயன்படுத்தப்படும். - விலக்குகள் (StringAttribute) - (விரும்பினால்) இந்த ஆப் இயங்கக்கூடாத விலக்கப்பட்ட இருப்பிட வகைகளின் பட்டியல். - typeAlias (StringAttribute) - (விரும்பினால்) ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும் 'வகை' பண்புக்கூறுக்கான பெயர். அமைக்கப்படவில்லை என்றால், அதற்கு பதிலாக இருப்பிட வகை பயன்படுத்தப்படும். - வகை (StringAttribute) - (விருப்பத்தேர்வு) அமைக்கப்பட்டால், op இந்த வகை இடங்களில் மட்டுமே இயங்கும். - collectUpstream (IntAttribute) - (விரும்பினால்) பூஜ்ஜியமற்றதாக இருந்தால், ஒவ்வொரு பெற்றோர் இடத்திலும் உள்ள ஒவ்வொரு கண்காணிக்கப்பட்ட பண்புக்கூறின் மதிப்புகளும் நேரடி ரெண்டர் புதுப்பிப்பில் சேர்க்கப்படும். |
|
நேரடி பண்புக்கூறு இந்த ஆப், பார்வையாளர் கையாளுபவர்களால் கையாளுதலின் போது உருவாக்கப்படும் மதிப்புகளைச் சேமிக்கிறது (கையாளுதல் முடிந்து அளவுரு இறுதி செய்யப்படும் வரை காத்திருப்பதற்கு மாறாக). இந்த ஆப், லைவ் ரெண்டரிங் தொகுதியால் குறிப்பாகத் தேடப்படும் ஒரு சிறப்பு நிகழ்வாகும். |
|
ஓப்ஆர்க்ஸ் இந்த op-க்கான arg-கள் Live Render அமைப்பால் தானாகவே அமைக்கப்படுகின்றன, மேலும் அவற்றை கைமுறையாக அமைக்கக்கூடாது. |
|
உள்ளூர்மயமாக்குஎக்ஸ்ஃபார்ம் ஒரு இடத்தின் xforms ஐ அதன் அனைத்து மூதாதையர்களிடமிருந்தும் xform.matrix எனப்படும் ஒற்றை உலக-வெளி அணியாகத் தட்டையாக்குகிறது. |
|
ஓப்ஆர்க்ஸ் - excludeCel (StringAttribute) - op பயன்படுத்தக்கூடாத காட்சி வரைபட இடங்களை விவரிக்கும் CEL வெளிப்பாடு. - addMaterialHash (IntAttribute) - (விரும்பினால்) நேரடி ரெண்டரிங்கின் பழைய பதிப்பிற்கான மரபு நடத்தை. பூஜ்ஜியமாக இல்லாவிட்டால், 'material' பண்புக்கூறின் ஹாஷ் மதிப்பு 'materialHash' ஆக சேமிக்கப்படும். - outputAttrName (StringAttribute) - (விரும்பினால்) புதிய உள்ளூர் xform பண்புக்கூறுகளைச் சேமிக்கப் பயன்படுத்த வேண்டிய பெயர். 'xform' க்கு இயல்புநிலையாகி, ஏற்கனவே உள்ள பண்புக்கூறை மேலெழுதும். |
|
உள்ளூர்மயமாக்குநேரப் பண்புக்கூறுஎக்ஸ்ஃபார்ம் பார்வையாளரில் கையாளும் போது, இருப்பிடத்தின் உண்மையான xform பண்புக்கூறு மாறாது (எழுதப்படும் வரை). அதற்கு பதிலாக LiveAttribute op, liveAttributes.xform இன் கீழ் தற்காலிக xform ஐ சேமிக்கப் பயன்படுகிறது. இந்த op, localizeXform போலவே செயல்படுகிறது, ஆனால் இந்த liveAttribute மாநாட்டை அறிந்திருக்கிறது, எனவே liveAttributes.xform இருந்தால் xform க்குப் பதிலாகப் பயன்படுத்தப்படும். இது கையாளும் போது xform இருப்பிடங்களைப் புதுப்பிக்க அனுமதிக்கிறது. இயற்கையாகவே இந்த op, LiveAttribute op க்குப் பிறகு பயன்படுத்தப்பட வேண்டும். |
|
ஓப்ஆர்க்ஸ் - addMaterialHash (IntAttribute) - (விரும்பினால்) நேரடி ரெண்டரிங்கின் பழைய பதிப்பிற்கான மரபு நடத்தை. பூஜ்ஜியமாக இல்லாவிட்டால், 'material' பண்புக்கூறின் ஹாஷ் மதிப்பு 'materialHash' ஆக சேமிக்கப்படும். |
|
லோக்கலைஸ்லைட்லிஸ்ட்லைவ்ரெண்டர்ஃபில்டர் இந்த ஆப், லைட் பட்டியல்களுடன் பயன்படுத்துவதற்காகவே வடிவமைக்கப்பட்ட நிலையான LiveRenderFilter ஆப்-இன் சிறப்பு அம்சமாகும். இது LiveRenderFilter ஆப்-இன் அதே செயல்பாட்டைக் கொண்டுள்ளது, ஆனால் ஒவ்வொரு இடத்திலும் lightList பண்புக்கூறு பற்றிய கூடுதல் தகவலை உருவாக்கும். இந்தத் தகவலில் ஒளிக்கான பாதை, தற்போதைய இருப்பிடத்திற்கு ஒளி இணைப்பு இயக்கப்பட்டுள்ளதா, மற்றும் அது பெற்றோர் இடத்தில் இயக்கப்பட்டுள்ளதா ஆகியவை அடங்கும். இந்தத் தகவல் "lightLink" புதுப்பிப்பாக ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும். |
|
ஓப்ஆர்க்ஸ் - பண்புக்கூறு பெயர்கள் (StringAttribute) - பண்புக்கூறுகளின் பெயர்கள் மாற்றங்களுக்காகக் கண்காணிக்கப்பட வேண்டும், மேலும் ஒன்று மாறும்போதெல்லாம் ரெண்டர் செருகுநிரலுக்கு ஒரே புதுப்பிப்பாக அனுப்பப்பட வேண்டும். - இடம் (StringAttribute) - இந்த ஆப் பொருந்தும் முதல் இடத்தை வரையறுக்கும் ஒரு CEL வெளிப்பாடு. பின்னர் அது அனைத்து சைல்டு இருப்பிடங்களிலும் பயன்படுத்தப்படும். - விலக்குகள் (StringAttribute) - (விரும்பினால்) இந்த ஆப் இயங்கக்கூடாத விலக்கப்பட்ட இருப்பிட வகைகளின் பட்டியல். - typeAlias (StringAttribute) - (விரும்பினால்) ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும் 'வகை' பண்புக்கூறுக்கான பெயர். அமைக்கப்படவில்லை என்றால், அதற்கு பதிலாக இருப்பிட வகை பயன்படுத்தப்படும். - வகை (StringAttribute) - (விருப்பத்தேர்வு) அமைக்கப்பட்டால், op இந்த வகை இடங்களில் மட்டுமே இயங்கும். - collectUpstream (IntAttribute) - (விரும்பினால்) பூஜ்ஜியமற்றதாக இருந்தால், ஒவ்வொரு பெற்றோர் இடத்திலும் உள்ள ஒவ்வொரு கண்காணிக்கப்பட்ட பண்புக்கூறின் மதிப்புகளும் நேரடி ரெண்டர் புதுப்பிப்பில் சேர்க்கப்படும். |
|
CoordinateSystemLiveRenderFilter இது நிலையான LiveRenderFilter op இன் மற்றொரு சிறப்பு அம்சமாகும். இது ஆயத்தொலைவு அமைப்புகளுடன் பயன்படுத்துவதற்கானது. இது LiveRenderFilter op ஐப் போலவே செயல்படுகிறது, ஆனால் தற்போதைய இருப்பிடம் |
|
ஓப்ஆர்க்ஸ் - பண்புக்கூறு பெயர்கள் (StringAttribute) - பண்புக்கூறுகளின் பெயர்கள் மாற்றங்களுக்காகக் கண்காணிக்கப்பட வேண்டும், மேலும் ஒன்று மாறும்போதெல்லாம் ரெண்டர் செருகுநிரலுக்கு ஒரே புதுப்பிப்பாக அனுப்பப்பட வேண்டும். - இடம் (StringAttribute) - இந்த ஆப் பொருந்தும் முதல் இடத்தை வரையறுக்கும் ஒரு CEL வெளிப்பாடு. பின்னர் அது அனைத்து சைல்டு இருப்பிடங்களிலும் பயன்படுத்தப்படும். - விலக்குகள் (StringAttribute) - (விரும்பினால்) இந்த ஆப் இயங்கக்கூடாத விலக்கப்பட்ட இருப்பிட வகைகளின் பட்டியல். - typeAlias (StringAttribute) - (விரும்பினால்) ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும் 'வகை' பண்புக்கூறுக்கான பெயர். அமைக்கப்படவில்லை என்றால், அதற்கு பதிலாக இருப்பிட வகை பயன்படுத்தப்படும். - வகை (StringAttribute) - (விருப்பத்தேர்வு) அமைக்கப்பட்டால், op இந்த வகை இடங்களில் மட்டுமே இயங்கும். - collectUpstream (IntAttribute) - (விரும்பினால்) பூஜ்ஜியமற்றதாக இருந்தால், ஒவ்வொரு பெற்றோர் இடத்திலும் உள்ள ஒவ்வொரு கண்காணிக்கப்பட்ட பண்புக்கூறின் மதிப்புகளும் நேரடி ரெண்டர் புதுப்பிப்பில் சேர்க்கப்படும். |
ரெண்டரர் செருகுநிரல் செயல்பாடுகள்
int startLiveEditing()
int stopLiveEditing()
நேரடி ரெண்டரிங் எப்போது செயலில் உள்ளது என்பதையும், இருப்பிடங்களுக்கான புதுப்பிப்புகள் எதிர்பார்க்கப்பட வேண்டும் என்பதையும் உங்களுக்குத் தெரிவிக்க இந்த இரண்டு செயல்பாடுகளும் Katana அழைக்கப்படுகின்றன.
int processControlCommand( const std::string & command )
இந்த செயல்பாடு Katana UI இலிருந்து ரெண்டர் செருகுநிரலுக்கு தொடர்பு கொள்ளும் ஒரு முறையாகும். UI பைதான் LiveRenderAPI.SendCommand() செயல்பாடு வழியாக ஒரு கட்டளையை ஒரு சரமாக அனுப்ப முடியும், இதை நீங்கள் விரும்பும் எந்த நோக்கத்திற்காகவும் ரெண்டர் செருகுநிரலில் கையாளலாம்.
int queueDataUpdates(FnAttribute::GroupAttribute updateAttribute)
கண்காணிக்கப்படும் பண்புக்கூறு மாறும்போது, அதன் புதிய மதிப்பு இந்தச் செயல்பாட்டின் மூலம் ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும். அனுப்பப்பட்ட பண்புக்கூறு மூன்று குழந்தை பண்புக்கூறுகளைக் கொண்டிருக்கும்:
- வகை - புதுப்பிப்பு வகை (இது பண்புக்கூறு மரபுப் பிரிவில் மேலே பட்டியலிடப்பட்டுள்ள
<updateGroup>ஆகும்) - இடம் - இந்தப் புதுப்பிப்புக்கான காட்சி வரைபட இடம்.
- பண்புக்கூறுகள் - மாற்றப்பட்ட பண்புக்கூறுகளின் மதிப்பு. இடம் நீக்கப்பட்டிருந்தால், அதில் நீக்கப்பட்டது என்ற பெயருடைய பண்புக்கூறு இருக்கும் என்பதை நினைவில் கொள்ளவும்.
இந்த செயல்பாடு நேரடி ரெண்டர் புதுப்பிப்புகளைப் பெறுவதற்காக மட்டுமே பிரத்யேகமாக ஒரு பிரத்யேக த்ரெட்டில் அழைக்கப்படுகிறது என்பதை நினைவில் கொள்க.
bool hasPendingDataUpdates()
இந்த செயல்பாடு renderboot செயல்முறைக்கு queueDataUpdates() இல் வரிசைப்படுத்தப்பட்ட நேரடி ரெண்டர் புதுப்பிப்புகள் பயன்படுத்தப்பட வேண்டுமா என்று கூறுகிறது.
int applyPendingDataUpdates()
இந்த செயல்பாடு பிரதான ரெண்டர் த்ரெட்டில் அழைக்கப்படுகிறது, மேலும் வரிசைப்படுத்தப்பட்ட எந்த நேரடி புதுப்பிப்புகளையும் எடுத்து உண்மையில் பயன்படுத்த வேண்டும். hasPendingDataUpdates() உண்மை என்று திரும்பினால் மட்டுமே இது அழைக்கப்படுகிறது.
பைதான் பயன்பாடுகள்
Katana UI, நேரடி ரெண்டரிங் அனுபவத்தை மேம்படுத்த உதவும் பல பயன்பாடுகளைக் கொண்டுள்ளது, அவை கீழே கொடுக்கப்பட்டுள்ளன:
இந்த API LiveRenderAPI.SendCommand() மற்றும் LiveRenderAPI.SendData() செயல்பாடுகளுடன் இயங்கும் நேரடி ரெண்டருக்கு தனிப்பயன் கட்டளை (சரம்) அல்லது நேரடி புதுப்பிப்பை அனுப்ப உங்களை அனுமதிக்கிறது. நேரடி ரெண்டர் துணை அமைப்பால் பயன்படுத்தப்படும் முனைய செயல்பாடுகளின் பட்டியலை வினவவும் மாற்றவும் இது பல்வேறு செயல்பாடுகளைக் கொண்டுள்ளது. தற்போதைய காட்சி வரைபடத்தில் (உங்கள் முனைகளால் உருவாக்கப்பட்டபடி) மாற்றங்களை ஏற்படுத்துவதற்குப் பதிலாக, ஒரு இடம் எப்போது மாற்றப்படுகிறது என்பதைத் தீர்மானிக்க இந்த முனைய செயல்பாடுகள் பயன்படுத்தப்படுகின்றன. RendererInfo::fillLiveRenderTerminalOps() க்கு அழைப்பின் போது அனுப்பப்பட்ட செயல்பாடுகளை மாற்றுவதற்கான ஒரு வழியாகும்.
நேரடி ரெண்டர் செயல்கள்
plugin_apis/python/BaseLiveRenderAction.py இல் உள்ள வகுப்பைப் பயன்படுத்துவதன் மூலம் உங்கள் சொந்த தனிப்பயன் மெனு உருப்படிகளுடன் Render > Live Rendering மெனுவை நீட்டிக்க முடியும். BaseLiverRenderAction வகுப்பிலிருந்து (இது QtGui.QAction இலிருந்து பெறப்பட்டது) பெறப்பட்டு உறுப்பினர் செயல்பாடுகளை மேலெழுதவும். பின்னர் உங்கள் வகுப்பு LiveRenderAPI உட்பட Katana எந்த பைதான் APIகளையும் பயன்படுத்தலாம், இது ரெண்டர் செருகுநிரலுக்கு தனிப்பயன் கட்டளைகள் அல்லது புதுப்பிப்புகளை அனுப்ப அனுமதிக்கிறது. UI அமர்வுகளின் போது மட்டுமே ஏற்ற முயற்சிப்பதை உறுதிசெய்ய LiveRenderActions இன் நிகழ்வுகள் $KATANA_RESOURCES/UIPlugins கோப்பகத்தில் வைக்கப்பட வேண்டும்.
திரும்ப அழைத்தல்
ரெண்டர் செருகுநிரலுக்கு நேரடி புதுப்பிப்பு அல்லது நேரடி ரெண்டர் கட்டளையை அனுப்புவதற்கு முன், Katana முறையே onLiveRenderUpdate அல்லது onLiveRenderCommand என்ற பெயரில் ஒரு கால்பேக்கைத் தூண்டும். இந்த கால்பேக்குகள் ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படவிருக்கும் கட்டளை அல்லது புதுப்பிப்பு பண்புக்கூறை அனுப்பும். இது முதன்மையாக கண்காணிப்பு நோக்கங்களுக்காக, ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும் தரவை ஆய்வு செய்ய உங்களை அனுமதிக்கிறது, ஆனால் விதிவிலக்கை எழுப்புவதன் மூலம் செய்தி அனுப்பப்படுவதைத் தடுக்கவும் முடியும். இருப்பினும், இது Katana செய்தி பதிவில் ஒரு பிழை செய்தியைத் தூண்டும்.
கோட்சாக்கள்
ஒற்றை மாதிரி புதுப்பிப்புகள்
ஒரு ரெண்டர் தொடங்கும் போது, ஜியோலிப் இயக்க மங்கலை அனுமதிக்க பல மாதிரி பண்புக்கூறுகளை உருவாக்குகிறது. இருப்பினும், Katana UI இல், பண்புக்கூறுகள் பொதுவாக ஒரு மாதிரியைப் பயன்படுத்தி மட்டுமே மீட்டெடுக்கப்படுகின்றன, மேலும் லைவ் ரெண்டர் புதுப்பிப்புகள் Katana UI இலிருந்து வருகின்றன. இதன் பொருள் நேரடி புதுப்பிப்பின் போது அனுப்பப்படும் பண்புக்கூறுகள் பொதுவாக ஒரு நேர மாதிரியை மட்டுமே கொண்டிருக்கும்.
தொடர்ந்து வராத புதுப்பிப்புகள்
ஒரு ரெண்டர் தொடங்கும் போது, காட்சியை உருவாக்குவதற்கான ஆப் ட்ரீ Katana வட்டில் எழுதப்பட்டு, அதன் சொந்த ஜியோலிப்3 இயக்க நேரத்தைப் பயன்படுத்தும் ரெண்டர் செயல்முறையால் படிக்கப்படுகிறது. காட்சி வரைபடம் மற்றும் அதன் பண்புகளை வினவ ரெண்டர் செருகுநிரலுக்கு SceneGraphIterator அணுகல் வழங்கப்படுகிறது. இருப்பினும், இந்த காட்சி மாறாதது. Katana நேரடி ரெண்டர் புதுப்பிப்பு அனுப்பப்படும்போது, அது Geolib3 இயக்க நேரத்தைப் புதுப்பிக்க முடியாது. இதன் பொருள், ரெண்டர் செருகுநிரலால் நேரடி புதுப்பிப்புகள் பெறப்பட்டிருந்தாலும், SceneGraphIterators எப்போதும் அசல் காட்சியைத் திருப்பித் தரும். எனவே, நேரடி புதுப்பிப்பு பண்புக்கூறுகளில் ரெண்டர் செருகுநிரலுக்குத் தேவையான அனைத்து தகவல்களும் இருக்க வேண்டும், ஏனெனில் கூடுதல் தகவல்களைப் பெற நீங்கள் பாதுகாப்பாக SceneGraphIterator ஐப் பயன்படுத்த முடியாது.
We're sorry to hear that
Please tell us why