Create a ticket
Follow

Q100311: ரெண்டரெர் செருகுநிரலில் நேரடி ரெண்டரிங் நடைமுறைப்படுத்துதல்

பொழிப்பும்

ரெண்டரெர் செருகுநிரலில் லைவ் ரெண்டரிங் எவ்வாறு நடைமுறைப்படுத்தலாம் என்பதை பின்வரும் கட்டுரையில் விளக்குகிறது :

  • கற்பித்தல் மாநாடு
  • செருகுநிரல் செயல்பாடுகளை RendererInfo
  • செருகுநிரல் செயல்பாடுகளை வழங்கவும்
  • பைதான் பயன்பாடுகள்
    - LiveRenderAPI
    -
    LiveRenderActions
    - கால்பேக்குகள்
  • Gotchas
    - ஒற்றை மாதிரியான மேம்படுத்தல்கள்
    - தொடர்ந்து தொடர்ந்து மேம்படுத்தல்கள்

நேரடி ரெண்டரிங் ஒரு பொதுவான விளக்கம் , தயவு செய்து வகைகளை வழங்க மீது கட்டான ஆன்லைன் உதவி பிரிவில் அதை விவரிக்க, அத்துடன் ஒரு ரெண்டர் ஒரு தொடங்குதல் மற்றும் நிறுத்து லைவ் ரெண்டரிங் துணை பிரிவு பார்க்கவும், கட்டுப்பாட்டு லைவ் ரெண்டரிங் கட்டுப்பாட்டு பிரிவில்.

ரெண்டரர் செருகுநிரல்களின் பிற பகுதிகளின் விரிவான விளக்கங்கள் மற்றும் நேரடி ரெண்டரிங் உடன் நேரடியாக தொடர்பு இல்லாத RenderAPI இன் பிற செயல்பாடுகளை ஆவணமாக்குதல் கட்டான ஆன்லைன் உதவி இன் ரெண்டரர் செருகுநிரல் பிரிவில் காணலாம்.

மேலும் தகவல்

கற்பித்தல் மாநாடு

Katana லைவ் ரெண்டரிங் சிஸ்டம் காட்சி வரைபடத்தில் உள்ள பண்புகளால் இயக்கப்படுகிறது. செயல்திறன் என்ற பெயரில், ரெண்டரரை புதுப்பிப்பதற்கு தேவைப்படும் பண்புகளை மட்டுமே செருகு நிரல்படுத்தலுக்கு அனுப்புகிறது. இவை எந்த பண்புகளை தீர்மானிக்க ஒரு கற்பித்தல் மாநாடு உள்ளது, இது பின்வருமாறு:

liveRender. <updateGroup> . <attributeName>

<updateGroup> - இது GroupAttribute ஆகும், இது ஒரே ஒரு புதுப்பிப்புடன் ஒன்றாக குழு பண்புகளை பயன்படுத்தப்படுகிறது.

<attributeName> - இது மேற்பார்வைக்குரிய உயர்மட்ட கற்பிதத்தின் பெயராகும். LiveRender.geoXform.xform பண்புக்கூறுக்கு மேல் உள்ள படத்தில் மேல் நிலை xform பண்புக்கு மாற்றங்களை அனுப்ப நேரடி ரெண்டர் அமைப்புக்கு அறிவுறுத்துகிறது . இது ஒரு StringAttribute ஆகும், இதன் மதிப்பு வழக்கமாக UpdateGroup உடன் பொருந்துகிறது, இது மரபுக் காரணங்களுக்காக உள்ளது, ஆனால் பொதுவாக உள்நாட்டில் பயன்படுத்தப்படவில்லை. ஒரே மேம்படுத்தல் குழுவில் பல பண்புக்கூறுகள் குறிப்பிடப்பட்டிருந்தால், அவற்றில் ஏதேனும் ஒரு மாற்றீட்டை மாற்றும்போது, அவை அனைத்தும் ரெண்டரருக்கு அனுப்பப்படும்.

செருகுநிரல் செயல்பாடுகளை RendererInfo

 void  fillLiveRenderTerminalOps( OpDefinitionQueue &  terminalOps , 
                               const FnAttribute::GroupAttribute& stateArgs )

Node Graph இல் மேலே உள்ள பண்புக்கூறு மாநாட்டை அமைப்பது சாத்தியம் என்றாலும், இது RendererInfo செருகுநிரலில் உள்ள நிரப்பு LiveRenderTerminalOps () செயல்பாட்டைப் பயன்படுத்த மிகவும் பயனுள்ளதாக இருக்கும், லைவ் ரென்டர் தொடங்கும் போது தானாக பண்புகளை அமைக்கும். சார்பு :: deque என்று terminalOps என்று அழைக்கப்படும் ஒரு வாதம் கடக்கப்படுகிறது, இதில் op அல்லது type (pair of std :: string) மற்றும் op op arguments (GroupAttribute போன்றவை) கொண்டிருக்கும் STD :: ஜோடி பொருள்களைக் கொண்டிருக்கும்.

எ.கா. கீழே குறியீட்டு கண்காணிப்பாளர்கள் / ரூட் / உலக / 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()));

பல கியோலிபிக் ஓப்ஸ் இங்கே கற்றலுடன் பயணித்து வருகின்றன :

LiveRenderFilter

நேரடி விளக்கங்களுக்கான எந்த பண்புக்கூறுகள் கண்காணிக்கப்பட வேண்டும் என்பதைக் குறிக்க பயன்படுத்தப்படுகிறது. பல பண்புகளை ஒற்றை லைவ் ரெண்டர் ஃபய்ட்டர் மூலம் கண்காணிக்க முடியும், அவை ஒவ்வொன்றும் மாற்றப்பட வேண்டும் என ஒரே GroupAttribute ஆக அனுப்பப்படும். மேலே விவரிக்கப்பட்ட liveRender பண்புக்கூறு மாநாடு அமைப்பதற்கான நிலையான வழி இது .

OpArgs

- attributeNames (StringAttribute) - பண்புகளின் பெயர்கள் மாற்றங்களுக்கு கண்காணிக்கப்பட வேண்டும், ஒரு மாற்றீடாக ஒரு புதுப்பித்தலாக செருகியை வழங்கவும்.

- இடம் (StringAttribute) - இந்த திறனைப் பயன்படுத்தும் முதல் இடம் வரையறுக்கும் ஒரு CEL வெளிப்பாடு. அது எல்லா குழந்தை இடங்களிலும் பயன்படுத்தப்படும்.

- விலக்குகள் (StringAttribute) - (விருப்பமானது) விலக்கப்பட்ட இடம் வகைகளின் பட்டியலை, இந்த திறனை இயக்க வேண்டாம்.

- typeAlias (StringAttribute) - (விரும்பினால்) 'வகை' கற்பிதத்திற்கான ஒரு பெயர் ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும். அமைக்காவிட்டால் அதற்கு பதிலாக இருப்பிட வகையைப் பயன்படுத்த வேண்டும்.

- வகை (StringAttribute) - (விரும்பினால்) அமைக்கப்பட்டால், இந்த வகை இடங்களில் மட்டுமே திறக்கும் .

- சேகரிப்பு Upstream (IntAttribute) - (விருப்ப) பூஜ்யம் இல்லையென்றால், ஒவ்வொரு பெற்றோர் இருப்பிடத்திலும் ஒவ்வொரு கண்காணிக்கப்பட்ட பண்புகளின் மதிப்புகள் நேரடி வழங்கல் புதுப்பிப்பில் சேர்க்கப்படும்.

LiveAttribute

இது ஒரு கையாளுதலின் போது (பார்வையாளர்களை பூர்த்தி செய்வதற்கு காத்திருக்கும் மற்றும் அளவுருவை இறுதி செய்ய) எதிர்க்கும் பார்வையாளர்களால் உருவாக்கப்படும் மதிப்புகளை இது காட்டுகிறது. இந்த விருப்பமானது லைவ் ரெண்டரிங் தொகுதி மூலம் குறிப்பாக ஒரு குறிப்பிட்ட வழக்கு.

OpArgs

இந்த op க்கான args தானாக லைவ் ரெண்டர் கணினி மூலம் அமைக்கப்படுகிறது மற்றும் கைமுறையாக அமைக்க கூடாது.

LocalizeXform

அதன் முன்னோடிகளிலிருந்த எல்லா இடங்களிலிருந்தும் xform.matrix என்று அழைக்கப்படும் ஒரு ஒற்றை உலக-தள மேட்ரிக்ஸில் உள்ள xform வடிவங்களைப் flattens.

OpArgs

- விலக்குசெல் (StringAttribute) - ஒரு சி.எல்.எல் வெளிப்பாடு, காட்சி வரைபடம் இடங்களை விவரிக்கும் திறமைக்கு பொருந்தாது.

- addMaterialHash (IntAttribute) - (விருப்ப) நேரடி ஒழுங்கமைப்பின் பழைய பதிப்புக்கான மரபுரிமை நடத்தை. பூஜ்யம் இல்லையெனில், 'பொருள்' பண்புக்கூறின் ஹாஷட் மதிப்பு 'பொருள்மயமான' என சேமிக்கப்படும்.

- outputAttrName (StringAttribute) - (விரும்பினால்) புதிய உள்ளூர் xform பண்புகளை சேமிக்க பயன்படுத்த பெயர். 'Xform' க்கான இயல்புநிலை, ஏற்கனவே இருக்கும் பண்புகளை மேலெழுதும்.

LocalizeLiveAttributeXform

காட்சியில் கையாளுதலின் போது, இருப்பிடத்தின் உண்மையான xform பண்புக்கூறை மாற்ற முடியாது (பேனா வரை). அதற்கு பதிலாக LiveAttribute op நேரடி தற்காலிக x.Form கீழ் தற்காலிக xform சேமிக்க பயன்படுத்தப்படுகிறது. இந்த op localizeXform போன்ற வேலை செய்கிறது, ஆனால் இந்த liveAttribute மாநாட்டை அறிந்திருக்கிறது, எனவே liveAttributes.xform அதற்கு பதிலாக இருந்தால் xform பயன்படுத்தப்பட வேண்டும். இது கையாளுதலின் போது Xform ஆனது புதுப்பிக்கப்படும். இயற்கையாகவே இந்த விருப்பம் LiveAttribute ஒப் பின்னர் பயன்படுத்தப்படும்.

OpArgs

- addMaterialHash (IntAttribute) - (விருப்ப) நேரடி ஒழுங்கமைப்பின் பழைய பதிப்புக்கான மரபுரிமை நடத்தை. பூஜ்யம் இல்லையெனில், 'பொருள்' பண்புக்கூறின் ஹாஷட் மதிப்பு 'பொருள்மயமான' என சேமிக்கப்படும்.

LocalizeLightListLiveRenderFilter

இந்த ஒ Op என்பது லைட் ரெண்டர்ஃபில்ட்டரின் நிலையான சிறப்பு அம்சமாகும். ஒவ்வொரு இடத்திலும் லைட்லிஸ்ட் பண்புக்கூறு பற்றிய கூடுதல் தகவலை உருவாக்கும் வகையில் இது லைவ் ரெண்டர் ஃபிலெட்டர் ஒப் போலவே செயல்படும். இந்த தகவலில், ஒளி இருப்பிடம், தற்போதைய இருப்பிடத்திற்கான ஒளி இணைப்பு இயலுமைப்படுத்தப்பட்டுள்ளதா மற்றும் அது பெற்றோர் இருப்பிடத்தில் செயல்படுத்தப்பட்டதா என்பதையும் உள்ளடக்கியது. இந்த தகவல் ரெண்டரை சொருகிக்கு "lightLink" புதுப்பிப்பாக அனுப்பப்படும்.

OpArgs

- attributeNames (StringAttribute) - பண்புகளின் பெயர்கள் மாற்றங்களுக்கு கண்காணிக்கப்பட வேண்டும், ஒரு மாற்றீடாக ஒரு புதுப்பித்தலாக செருகியை வழங்கவும்.

- இடம் (StringAttribute) - இந்த திறனைப் பயன்படுத்தும் முதல் இடம் வரையறுக்கும் ஒரு CEL வெளிப்பாடு. அது எல்லா குழந்தை இடங்களிலும் பயன்படுத்தப்படும்.

- விலக்குகள் (StringAttribute) - (விருப்பமானது) விலக்கப்பட்ட இடம் வகைகளின் பட்டியலை, இந்த திறனை இயக்க வேண்டாம்.

- typeAlias (StringAttribute) - (விரும்பினால்) 'வகை' கற்பிதத்திற்கான ஒரு பெயர் ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும். அமைக்காவிட்டால் அதற்கு பதிலாக இருப்பிட வகையைப் பயன்படுத்த வேண்டும்.

- வகை (StringAttribute) - (விரும்பினால்) அமைக்கப்பட்டால், இந்த வகை இடங்களில் மட்டுமே திறக்கும் .

- சேகரிப்பு Upstream (IntAttribute) - (விருப்ப) பூஜ்யம் இல்லையென்றால், ஒவ்வொரு பெற்றோர் இருப்பிடத்திலும் ஒவ்வொரு கண்காணிக்கப்பட்ட பண்புகளின் மதிப்புகள் நேரடி வழங்கல் புதுப்பிப்பில் சேர்க்கப்படும்.

CoordinateSystemLiveRenderFilter

இது நிலையான LiveRenderFilter op இன் மற்றொரு நிபுணத்துவம் ஆகும். இது ஒருங்கிணைந்த அமைப்புகளுடன் பயன்படுத்தப்படுகிறது. இது லாரன் ரெண்டர்ஃபில்ட்டர் ஒப் ஒற்றுமையாக நடந்துகொள்கிறது. இது தவிர, தற்போதைய இடம் globals.coordinatesystems இல் / ரூட் / உலகில் உள்ள பண்புக்கூறு பட்டியலிடப்பட்டுள்ளதா என்பதைச் சரிபார்க்கிறது.

OpArgs

- attributeNames (StringAttribute) - பண்புகளின் பெயர்கள் மாற்றங்களுக்கு கண்காணிக்கப்பட வேண்டும், ஒரு மாற்றீடாக ஒரு புதுப்பித்தலாக செருகியை வழங்கவும்.

- இடம் (StringAttribute) - இந்த திறனைப் பயன்படுத்தும் முதல் இடம் வரையறுக்கும் ஒரு CEL வெளிப்பாடு. அது எல்லா குழந்தை இடங்களிலும் பயன்படுத்தப்படும்.

- விலக்குகள் (StringAttribute) - (விருப்பமானது) விலக்கப்பட்ட இடம் வகைகளின் பட்டியலை, இந்த திறனை இயக்க வேண்டாம்.

- typeAlias (StringAttribute) - (விரும்பினால்) 'வகை' கற்பிதத்திற்கான ஒரு பெயர் ரெண்டர் செருகுநிரலுக்கு அனுப்பப்படும். அமைக்காவிட்டால் அதற்கு பதிலாக இருப்பிட வகையைப் பயன்படுத்த வேண்டும்.

- வகை (StringAttribute) - (விரும்பினால்) அமைக்கப்பட்டால், இந்த வகை இடங்களில் மட்டுமே திறக்கும் .

- சேகரிப்பு Upstream (IntAttribute) - (விருப்ப) பூஜ்யம் இல்லையென்றால், ஒவ்வொரு பெற்றோர் இருப்பிடத்திலும் ஒவ்வொரு கண்காணிக்கப்பட்ட பண்புகளின் மதிப்புகள் நேரடி வழங்கல் புதுப்பிப்பில் சேர்க்கப்படும்.

ரெண்டரர் செருகுநிரல் செயல்பாடுகள்

 int  startLiveEditing() 
 int  stopLiveEditing() 

இந்த இரண்டு செயல்பாடுகள் நேரடி கட்டுப்பாட்டு செயலில் இருக்கும்போது அறிவிக்க, மற்றும் இடங்களுக்கு புதுப்பிப்புகள் எதிர்பார்க்கப்பட வேண்டும் என்று கட்டாவிலிருந்து அழைக்கப்படுகின்றன

 int  processControlCommand( const  std::string &  command ) 

இந்த செயல்பாடு கட்டான UI இலிருந்து தகவல்தொடர்பு செருகுவதற்கான ஒரு வழிமுறையாகும். UI ஐ நீங்கள் விரும்பும் நோக்கத்திற்காக வழங்கக்கூடிய செருகுநிரலில் கையாளக்கூடிய python LiveRenderAPI.SendCommand () சார்பு வழியாக ஒரு கட்டளை அனுப்ப முடியும்.

 int  queueDataUpdates(FnAttribute::GroupAttribute updateAttribute) 

ஒரு கண்காணிக்கப்பட்ட பண்புக்கூறு மாற்றப்பட்டால், இந்த செயல்பாடு மூலம் புதிய மதிப்பு செருகுநிரலுக்கு வழங்கப்படும். நிறைவேற்றப்பட்ட பண்பு மூன்று குழந்தை பண்புகளை கொண்டிருக்கும்:

  • வகை - புதுப்பித்தல் வகை (இது <updateGroup> பண்புக்கூறு மாநாட்டு பிரிவில் மேலே பட்டியலிடப்பட்டுள்ளது)
  • இருப்பிடம் - இந்த புதுப்பிப்புக்கான காட்சி வரைபட இருப்பிடம்.
  • பண்புக்கூறுகள் - மாற்றப்பட்ட பண்புகளின் மதிப்பு. இடம் நீக்கப்பட்டிருந்தால், நீக்கப்பட்ட பெயரிடப்பட்ட பண்புக்கூறு இதில் அடங்கும்

இந்த செயல்பாடு நேரடி வழங்கல் புதுப்பிப்புகளை பெறுவதற்கு பிரத்யேகமாக ஒரு பிரத்யேக நூலில் அழைக்கப்படுகிறது.

 bool  hasPendingDataUpdates() 

இந்த செயல்பாடு பயன்படுத்தப்பட வேண்டிய queueDataUpdates () வரிசையில் வந்திருக்கும் நேரடி வழங்கல் புதுப்பிப்புகள் உள்ளனவா என்பதை மறுபார்வைச் செயலாக்கத்திற்கு தெரிவிக்கிறது.

 int  applyPendingDataUpdates()  

இந்த செயல்பாடு பிரதான ரன்ட் ரிப்பேரில் அழைக்கப்படுகிறது, மேலும் எந்த வரிசை வரிசையில் நேரடி புதுப்பிப்புகளை எடுத்து உண்மையில் அவற்றைப் பயன்படுத்த வேண்டும். PendingDataUpdates () ஆனால் மட்டுமே அது அழைக்கப்படுகிறது.

பைதான் பயன்பாடுகள்

Katana இன் UI லைவ் ரெண்டரிங் அனுபவத்தை மேம்படுத்துவதற்கு பல பயன்பாடுகள் உள்ளன:

LiveRenderAPI

லைவ் ரெண்டர்ஏபிஏஎன்எஸ்ண்ட்ட்ரண்ட் () மற்றும் லைவ் ரெண்டர்ஏபிஐஎஸ்என்டிடதா () செயல்பாடுகளை கொண்டு இயங்கும் நேரடி கட்டளையை ஒரு தனிபயன் கட்டளை (சரம்) அல்லது நேரடி புதுப்பிப்பை அனுப்ப இந்த ஏபிஐ அனுமதிக்கிறது. லைவ் ரெண்டர் துணை அமைப்பு பயன்படுத்தப்பட்டு வரும் டெர்மினல் ஆப்ஸ் பட்டியலை வினவல் மற்றும் மாற்றுவதற்கு பல்வேறு செயல்பாடுகளை கொண்டுள்ளது. இந்த முனையம் OPS தற்போதைய நிலை வரைபடத்தில் (உங்கள் முனைகளால் உருவாக்கப்படும்) மாற்றங்களை ஏற்படுத்துவதற்கு பதிலாக, ஒரு இடம் மாறும் போது தீர்மானிக்க பயன்படுத்தப்படுகிறது. இது RendererInfo :: fillLiveRenderTerminalOps () என்ற அழைப்பின் போது அனுப்பப்பட்ட ops ஐ மாற்றுவதற்கான ஒரு வழியாகும்.

LiveRenderActions

இது plugin_apis / python / baseLiveRenderAction.py இல் வர்க்கத்தின் பயன்பாடு மூலம் உங்கள் தனிபயன் பட்டி உருப்படிகளை வழங்குவதன் மூலம் ரெண்டர்> லைவ் ரெண்டரிங் மெனுவை நீட்டிக்க முடியும். வெறுமனே BaseLiverRenderAction வர்க்கம் இருந்து பெறப்பட்ட (இது தன்னை QtGui.QAction இருந்து பெறப்பட்ட) மற்றும் உறுப்பினர் செயல்பாடுகளை புறக்கணிக்க. LiveRenderAPI உள்பட, கட்டாவின் பைதான் API களை உங்கள் வகுப்பு பயன்படுத்தலாம், இது தனிபயன் கட்டளைகள் அல்லது புதுப்பிப்பு செருகுநிரல்களுக்கு அனுப்ப அனுமதிக்கிறது. லைட் ரெண்டர் ஆணைகளின் நிகழ்வுகள் KATANA_RESOURCEs / UIPlugins கோப்பகத்தில் UI அமர்வுகளின் போது மட்டுமே ஏற்ற முயற்சிக்கின்றன என்பதை உறுதிப்படுத்த வேண்டும்.

கால்பேக்குகளாக

ஒரு நேரடி மேம்படுத்தல் அல்லது ஒரு நேரடி வழங்க கட்டளை ஒன்று அனுப்புவதற்கு முன் வழங்க செருகுநிரல் கட்டான ஒரு தூண்டும் கோரிக்கை முறையே onLiveRenderUpdate அல்லது onLiveRenderCommand பெயரிட்டார். இந்த callbacks கட்டளை அல்லது மேம்படுத்தல் பண்புக்கூறு வழங்கப்படும், இது செருகியை வழங்குவதற்கு அனுப்பப்படும். இது முதன்மையாக கண்காணிப்பு நோக்கங்களுக்கானது, நீங்கள் வழங்கிய செருகல்களுக்கு அனுப்பப்பட்ட தரவுகளைப் பரிசோதிக்க அனுமதிக்கிறது, ஆனால் ஒரு விதிவிலக்கை உயர்த்துவதன் மூலம் செய்தி அனுப்பப்படுவதை தடுக்கவும் முடியும். எனினும் இது கட்டாவின் செய்தி பதிவுகளில் ஒரு பிழை செய்தியைத் தூண்டும்.

Gotchas

ஒற்றை மாதிரியான மேம்படுத்தல்கள்

கியோட்டா UI இல், ஜியோலிபிக் பல மாதிரி மாதிரி பண்புகளை உருவாக்குகிறது. இருப்பினும் கட்டான UI இல் பண்புகளை பொதுவாக ஒரே மாதிரியைப் பயன்படுத்தி மட்டுமே பெறப்படுகிறது மற்றும் நேரடி ரெண்டர் புதுப்பிப்புகள் Katana UI இலிருந்து வரும். அதாவது, நேரடி பதிப்பின் போது அனுப்பி வைக்கப்படும் பண்புக்கூறுகள் பொதுவாக ஒரே நேரத்தில் மாதிரி இருக்கும்.

தொடர்ந்து தொடர்ந்து மேம்படுத்தல்கள்

ஒரு ரெண்டர்டை ஆரம்பித்தால், காட்சியை உருவாக்குவதற்கு op மரம், கட்டா மூலம் வட்டுக்கு எழுதப்பட்டு ரெண்டர் செயல்முறையால் வாசிக்கப்படுகிறது, இது அதன் சொந்த Geolib3 இயக்கத்தை பயன்படுத்துகிறது. காட்சி செருகுநிரல் காட்சி வரைபடத்தையும் அதன் பண்புக்கூறுகளையும் விசாரிக்க ஒரு SceneGraphIterator க்கு அணுகலை வழங்கப்படுகிறது. எனினும் இந்த காட்சி மாறாதது. ஒரு நேரடி வழங்கல் புதுப்பிப்பு கட்டானிலிருந்து கடந்துவிட்டால், அது Geolib3 இயக்க நேரத்தை புதுப்பிக்க முடியாது. இதன் அர்த்தம் SceneGraphIterators ஆனது அசல் காட்சியை மீண்டும் வழங்குவதாகும், லைவ் புதுப்பிப்புகளை செருகு நிரல் வழங்கியிருந்தாலும் கூட. எனவே நேரடி மேம்படுத்தல் பண்புக்கூறுகள் செருகுநிரல் தேவைப்படும் அனைத்து தகவல்களையும் கொண்டிருப்பதால், கூடுதல் தகவலைப் பெறுவதற்கு நீங்கள் பாதுகாப்பாக ஒரு SceneGraphIterator ஐப் பயன்படுத்த முடியாது.

Was this article helpful?
/

We're sorry to hear that!

Please tell us why.
0 out of 0 found this helpful

Comments