class_visualserver.rst 817 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/VisualServer.xml.
  6. .. _class_VisualServer:
  7. VisualServer
  8. ============
  9. **Inherits:** :ref:`Object<class_Object>`
  10. Server for anything visible.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display.
  15. The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
  16. The visual server can be used to bypass the scene system entirely.
  17. Resources are created using the ``*_create`` functions.
  18. All objects are drawn to a viewport. You can use the :ref:`Viewport<class_Viewport>` attached to the :ref:`SceneTree<class_SceneTree>` or you can create one yourself with :ref:`viewport_create<class_VisualServer_method_viewport_create>`. When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using :ref:`viewport_set_scenario<class_VisualServer_method_viewport_set_scenario>` or :ref:`viewport_attach_canvas<class_VisualServer_method_viewport_attach_canvas>`.
  19. In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the visual server from a running game, the scenario can be accessed from the scene tree from any :ref:`Spatial<class_Spatial>` node with :ref:`Spatial.get_world<class_Spatial_method_get_world>`. Otherwise, a scenario can be created with :ref:`scenario_create<class_VisualServer_method_scenario_create>`.
  20. Similarly, in 2D, a canvas is needed to draw all canvas items.
  21. In 3D, all visible objects are comprised of a resource and an instance. A resource can be a mesh, a particle system, a light, or any other 3D object. In order to be visible resources must be attached to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>`. The instance must also be attached to the scenario using :ref:`instance_set_scenario<class_VisualServer_method_instance_set_scenario>` in order to be visible.
  22. In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas.
  23. .. rst-class:: classref-introduction-group
  24. Tutorials
  25. ---------
  26. - :doc:`../tutorials/performance/using_servers`
  27. .. rst-class:: classref-reftable-group
  28. Properties
  29. ----------
  30. .. table::
  31. :widths: auto
  32. +-------------------------+-----------------------------------------------------------------------------+
  33. | :ref:`bool<class_bool>` | :ref:`render_loop_enabled<class_VisualServer_property_render_loop_enabled>` |
  34. +-------------------------+-----------------------------------------------------------------------------+
  35. .. rst-class:: classref-reftable-group
  36. Methods
  37. -------
  38. .. table::
  39. :widths: auto
  40. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | void | :ref:`black_bars_set_images<class_VisualServer_method_black_bars_set_images>` **(** :ref:`RID<class_RID>` left, :ref:`RID<class_RID>` top, :ref:`RID<class_RID>` right, :ref:`RID<class_RID>` bottom **)** |
  42. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | void | :ref:`black_bars_set_margins<class_VisualServer_method_black_bars_set_margins>` **(** :ref:`int<class_int>` left, :ref:`int<class_int>` top, :ref:`int<class_int>` right, :ref:`int<class_int>` bottom **)** |
  44. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | :ref:`RID<class_RID>` | :ref:`camera_create<class_VisualServer_method_camera_create>` **(** **)** |
  46. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | void | :ref:`camera_set_cull_mask<class_VisualServer_method_camera_set_cull_mask>` **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)** |
  48. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | void | :ref:`camera_set_environment<class_VisualServer_method_camera_set_environment>` **(** :ref:`RID<class_RID>` camera, :ref:`RID<class_RID>` env **)** |
  50. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | void | :ref:`camera_set_frustum<class_VisualServer_method_camera_set_frustum>` **(** :ref:`RID<class_RID>` camera, :ref:`float<class_float>` size, :ref:`Vector2<class_Vector2>` offset, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
  52. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | void | :ref:`camera_set_orthogonal<class_VisualServer_method_camera_set_orthogonal>` **(** :ref:`RID<class_RID>` camera, :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
  54. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | void | :ref:`camera_set_perspective<class_VisualServer_method_camera_set_perspective>` **(** :ref:`RID<class_RID>` camera, :ref:`float<class_float>` fovy_degrees, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
  56. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | void | :ref:`camera_set_transform<class_VisualServer_method_camera_set_transform>` **(** :ref:`RID<class_RID>` camera, :ref:`Transform<class_Transform>` transform **)** |
  58. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | void | :ref:`camera_set_use_vertical_aspect<class_VisualServer_method_camera_set_use_vertical_aspect>` **(** :ref:`RID<class_RID>` camera, :ref:`bool<class_bool>` enable **)** |
  60. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`RID<class_RID>` | :ref:`canvas_create<class_VisualServer_method_canvas_create>` **(** **)** |
  62. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | void | :ref:`canvas_item_add_circle<class_VisualServer_method_canvas_item_add_circle>` **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` pos, :ref:`float<class_float>` radius, :ref:`Color<class_Color>` color **)** |
  64. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | void | :ref:`canvas_item_add_clip_ignore<class_VisualServer_method_canvas_item_add_clip_ignore>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` ignore **)** |
  66. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | void | :ref:`canvas_item_add_line<class_VisualServer_method_canvas_item_add_line>` **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)** |
  68. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | void | :ref:`canvas_item_add_mesh<class_VisualServer_method_canvas_item_add_mesh>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` mesh, :ref:`Transform2D<class_Transform2D>` transform=Transform2D( 1, 0, 0, 1, 0, 0 ), :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)** |
  70. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | void | :ref:`canvas_item_add_multimesh<class_VisualServer_method_canvas_item_add_multimesh>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` mesh, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)** |
  72. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | void | :ref:`canvas_item_add_nine_patch<class_VisualServer_method_canvas_item_add_nine_patch>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` source, :ref:`RID<class_RID>` texture, :ref:`Vector2<class_Vector2>` topleft, :ref:`Vector2<class_Vector2>` bottomright, :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` x_axis_mode=0, :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` y_axis_mode=0, :ref:`bool<class_bool>` draw_center=true, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`RID<class_RID>` normal_map **)** |
  74. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | void | :ref:`canvas_item_add_particles<class_VisualServer_method_canvas_item_add_particles>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)** |
  76. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | void | :ref:`canvas_item_add_polygon<class_VisualServer_method_canvas_item_add_polygon>` **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array( ), :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` antialiased=false **)** |
  78. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | void | :ref:`canvas_item_add_polyline<class_VisualServer_method_canvas_item_add_polyline>` **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)** |
  80. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | void | :ref:`canvas_item_add_primitive<class_VisualServer_method_canvas_item_add_primitive>` **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs, :ref:`RID<class_RID>` texture, :ref:`float<class_float>` width=1.0, :ref:`RID<class_RID>` normal_map **)** |
  82. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | void | :ref:`canvas_item_add_rect<class_VisualServer_method_canvas_item_add_rect>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color **)** |
  84. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | void | :ref:`canvas_item_add_set_transform<class_VisualServer_method_canvas_item_add_set_transform>` **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)** |
  86. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | void | :ref:`canvas_item_add_texture_rect<class_VisualServer_method_canvas_item_add_texture_rect>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`RID<class_RID>` texture, :ref:`bool<class_bool>` tile=false, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`RID<class_RID>` normal_map **)** |
  88. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | void | :ref:`canvas_item_add_texture_rect_region<class_VisualServer_method_canvas_item_add_texture_rect_region>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`RID<class_RID>` texture, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` clip_uv=true **)** |
  90. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | void | :ref:`canvas_item_add_triangle_array<class_VisualServer_method_canvas_item_add_triangle_array>` **(** :ref:`RID<class_RID>` item, :ref:`PoolIntArray<class_PoolIntArray>` indices, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array( ), :ref:`PoolIntArray<class_PoolIntArray>` bones=PoolIntArray( ), :ref:`PoolRealArray<class_PoolRealArray>` weights=PoolRealArray( ), :ref:`RID<class_RID>` texture, :ref:`int<class_int>` count=-1, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` antialiased=false, :ref:`bool<class_bool>` antialiasing_use_indices=false **)** |
  92. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`canvas_item_clear<class_VisualServer_method_canvas_item_clear>` **(** :ref:`RID<class_RID>` item **)** |
  94. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | :ref:`RID<class_RID>` | :ref:`canvas_item_create<class_VisualServer_method_canvas_item_create>` **(** **)** |
  96. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | void | :ref:`canvas_item_reset_physics_interpolation<class_VisualServer_method_canvas_item_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` item **)** |
  98. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | void | :ref:`canvas_item_set_clip<class_VisualServer_method_canvas_item_set_clip>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` clip **)** |
  100. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | void | :ref:`canvas_item_set_copy_to_backbuffer<class_VisualServer_method_canvas_item_set_copy_to_backbuffer>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled, :ref:`Rect2<class_Rect2>` rect **)** |
  102. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | void | :ref:`canvas_item_set_custom_rect<class_VisualServer_method_canvas_item_set_custom_rect>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` use_custom_rect, :ref:`Rect2<class_Rect2>` rect=Rect2( 0, 0, 0, 0 ) **)** |
  104. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | void | :ref:`canvas_item_set_distance_field_mode<class_VisualServer_method_canvas_item_set_distance_field_mode>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)** |
  106. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | void | :ref:`canvas_item_set_draw_behind_parent<class_VisualServer_method_canvas_item_set_draw_behind_parent>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)** |
  108. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | void | :ref:`canvas_item_set_draw_index<class_VisualServer_method_canvas_item_set_draw_index>` **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` index **)** |
  110. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | void | :ref:`canvas_item_set_interpolated<class_VisualServer_method_canvas_item_set_interpolated>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` interpolated **)** |
  112. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | void | :ref:`canvas_item_set_light_mask<class_VisualServer_method_canvas_item_set_light_mask>` **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` mask **)** |
  114. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | void | :ref:`canvas_item_set_material<class_VisualServer_method_canvas_item_set_material>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` material **)** |
  116. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | void | :ref:`canvas_item_set_modulate<class_VisualServer_method_canvas_item_set_modulate>` **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)** |
  118. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | void | :ref:`canvas_item_set_parent<class_VisualServer_method_canvas_item_set_parent>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` parent **)** |
  120. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | void | :ref:`canvas_item_set_self_modulate<class_VisualServer_method_canvas_item_set_self_modulate>` **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)** |
  122. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | void | :ref:`canvas_item_set_sort_children_by_y<class_VisualServer_method_canvas_item_set_sort_children_by_y>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)** |
  124. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | void | :ref:`canvas_item_set_transform<class_VisualServer_method_canvas_item_set_transform>` **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)** |
  126. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | void | :ref:`canvas_item_set_use_parent_material<class_VisualServer_method_canvas_item_set_use_parent_material>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)** |
  128. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | void | :ref:`canvas_item_set_visible<class_VisualServer_method_canvas_item_set_visible>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` visible **)** |
  130. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | void | :ref:`canvas_item_set_z_as_relative_to_parent<class_VisualServer_method_canvas_item_set_z_as_relative_to_parent>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)** |
  132. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | void | :ref:`canvas_item_set_z_index<class_VisualServer_method_canvas_item_set_z_index>` **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` z_index **)** |
  134. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | void | :ref:`canvas_item_transform_physics_interpolation<class_VisualServer_method_canvas_item_transform_physics_interpolation>` **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` xform **)** |
  136. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | void | :ref:`canvas_light_attach_to_canvas<class_VisualServer_method_canvas_light_attach_to_canvas>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` canvas **)** |
  138. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | :ref:`RID<class_RID>` | :ref:`canvas_light_create<class_VisualServer_method_canvas_light_create>` **(** **)** |
  140. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | void | :ref:`canvas_light_occluder_attach_to_canvas<class_VisualServer_method_canvas_light_occluder_attach_to_canvas>` **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` canvas **)** |
  142. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | :ref:`RID<class_RID>` | :ref:`canvas_light_occluder_create<class_VisualServer_method_canvas_light_occluder_create>` **(** **)** |
  144. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | void | :ref:`canvas_light_occluder_reset_physics_interpolation<class_VisualServer_method_canvas_light_occluder_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` occluder **)** |
  146. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. | void | :ref:`canvas_light_occluder_set_enabled<class_VisualServer_method_canvas_light_occluder_set_enabled>` **(** :ref:`RID<class_RID>` occluder, :ref:`bool<class_bool>` enabled **)** |
  148. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  149. | void | :ref:`canvas_light_occluder_set_interpolated<class_VisualServer_method_canvas_light_occluder_set_interpolated>` **(** :ref:`RID<class_RID>` occluder, :ref:`bool<class_bool>` interpolated **)** |
  150. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  151. | void | :ref:`canvas_light_occluder_set_light_mask<class_VisualServer_method_canvas_light_occluder_set_light_mask>` **(** :ref:`RID<class_RID>` occluder, :ref:`int<class_int>` mask **)** |
  152. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  153. | void | :ref:`canvas_light_occluder_set_polygon<class_VisualServer_method_canvas_light_occluder_set_polygon>` **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` polygon **)** |
  154. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  155. | void | :ref:`canvas_light_occluder_set_transform<class_VisualServer_method_canvas_light_occluder_set_transform>` **(** :ref:`RID<class_RID>` occluder, :ref:`Transform2D<class_Transform2D>` transform **)** |
  156. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  157. | void | :ref:`canvas_light_occluder_transform_physics_interpolation<class_VisualServer_method_canvas_light_occluder_transform_physics_interpolation>` **(** :ref:`RID<class_RID>` occluder, :ref:`Transform2D<class_Transform2D>` xform **)** |
  158. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  159. | void | :ref:`canvas_light_reset_physics_interpolation<class_VisualServer_method_canvas_light_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` light **)** |
  160. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  161. | void | :ref:`canvas_light_set_color<class_VisualServer_method_canvas_light_set_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  162. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  163. | void | :ref:`canvas_light_set_enabled<class_VisualServer_method_canvas_light_set_enabled>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  164. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  165. | void | :ref:`canvas_light_set_energy<class_VisualServer_method_canvas_light_set_energy>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` energy **)** |
  166. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  167. | void | :ref:`canvas_light_set_height<class_VisualServer_method_canvas_light_set_height>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` height **)** |
  168. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  169. | void | :ref:`canvas_light_set_interpolated<class_VisualServer_method_canvas_light_set_interpolated>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` interpolated **)** |
  170. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  171. | void | :ref:`canvas_light_set_item_cull_mask<class_VisualServer_method_canvas_light_set_item_cull_mask>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)** |
  172. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  173. | void | :ref:`canvas_light_set_item_shadow_cull_mask<class_VisualServer_method_canvas_light_set_item_shadow_cull_mask>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)** |
  174. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  175. | void | :ref:`canvas_light_set_layer_range<class_VisualServer_method_canvas_light_set_layer_range>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_layer, :ref:`int<class_int>` max_layer **)** |
  176. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  177. | void | :ref:`canvas_light_set_mode<class_VisualServer_method_canvas_light_set_mode>` **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` mode **)** |
  178. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  179. | void | :ref:`canvas_light_set_scale<class_VisualServer_method_canvas_light_set_scale>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` scale **)** |
  180. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  181. | void | :ref:`canvas_light_set_shadow_buffer_size<class_VisualServer_method_canvas_light_set_shadow_buffer_size>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` size **)** |
  182. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  183. | void | :ref:`canvas_light_set_shadow_color<class_VisualServer_method_canvas_light_set_shadow_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  184. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  185. | void | :ref:`canvas_light_set_shadow_enabled<class_VisualServer_method_canvas_light_set_shadow_enabled>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  186. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  187. | void | :ref:`canvas_light_set_shadow_filter<class_VisualServer_method_canvas_light_set_shadow_filter>` **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` filter **)** |
  188. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  189. | void | :ref:`canvas_light_set_shadow_gradient_length<class_VisualServer_method_canvas_light_set_shadow_gradient_length>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` length **)** |
  190. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  191. | void | :ref:`canvas_light_set_shadow_smooth<class_VisualServer_method_canvas_light_set_shadow_smooth>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` smooth **)** |
  192. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  193. | void | :ref:`canvas_light_set_texture<class_VisualServer_method_canvas_light_set_texture>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)** |
  194. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  195. | void | :ref:`canvas_light_set_texture_offset<class_VisualServer_method_canvas_light_set_texture_offset>` **(** :ref:`RID<class_RID>` light, :ref:`Vector2<class_Vector2>` offset **)** |
  196. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  197. | void | :ref:`canvas_light_set_transform<class_VisualServer_method_canvas_light_set_transform>` **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` transform **)** |
  198. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  199. | void | :ref:`canvas_light_set_z_range<class_VisualServer_method_canvas_light_set_z_range>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_z, :ref:`int<class_int>` max_z **)** |
  200. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  201. | void | :ref:`canvas_light_transform_physics_interpolation<class_VisualServer_method_canvas_light_transform_physics_interpolation>` **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` xform **)** |
  202. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  203. | :ref:`RID<class_RID>` | :ref:`canvas_occluder_polygon_create<class_VisualServer_method_canvas_occluder_polygon_create>` **(** **)** |
  204. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  205. | void | :ref:`canvas_occluder_polygon_set_cull_mode<class_VisualServer_method_canvas_occluder_polygon_set_cull_mode>` **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` mode **)** |
  206. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  207. | void | :ref:`canvas_occluder_polygon_set_shape<class_VisualServer_method_canvas_occluder_polygon_set_shape>` **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PoolVector2Array<class_PoolVector2Array>` shape, :ref:`bool<class_bool>` closed **)** |
  208. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  209. | void | :ref:`canvas_occluder_polygon_set_shape_as_lines<class_VisualServer_method_canvas_occluder_polygon_set_shape_as_lines>` **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PoolVector2Array<class_PoolVector2Array>` shape **)** |
  210. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  211. | void | :ref:`canvas_set_item_mirroring<class_VisualServer_method_canvas_set_item_mirroring>` **(** :ref:`RID<class_RID>` canvas, :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` mirroring **)** |
  212. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  213. | void | :ref:`canvas_set_modulate<class_VisualServer_method_canvas_set_modulate>` **(** :ref:`RID<class_RID>` canvas, :ref:`Color<class_Color>` color **)** |
  214. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  215. | :ref:`Rect2<class_Rect2>` | :ref:`debug_canvas_item_get_local_bound<class_VisualServer_method_debug_canvas_item_get_local_bound>` **(** :ref:`RID<class_RID>` item **)** |
  216. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  217. | :ref:`Rect2<class_Rect2>` | :ref:`debug_canvas_item_get_rect<class_VisualServer_method_debug_canvas_item_get_rect>` **(** :ref:`RID<class_RID>` item **)** |
  218. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  219. | :ref:`RID<class_RID>` | :ref:`directional_light_create<class_VisualServer_method_directional_light_create>` **(** **)** |
  220. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  221. | void | :ref:`draw<class_VisualServer_method_draw>` **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)** |
  222. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  223. | :ref:`RID<class_RID>` | :ref:`environment_create<class_VisualServer_method_environment_create>` **(** **)** |
  224. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  225. | void | :ref:`environment_set_adjustment<class_VisualServer_method_environment_set_adjustment>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` brightness, :ref:`float<class_float>` contrast, :ref:`float<class_float>` saturation, :ref:`RID<class_RID>` ramp **)** |
  226. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  227. | void | :ref:`environment_set_ambient_light<class_VisualServer_method_environment_set_ambient_light>` **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color, :ref:`float<class_float>` energy=1.0, :ref:`float<class_float>` sky_contibution=0.0 **)** |
  228. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  229. | void | :ref:`environment_set_background<class_VisualServer_method_environment_set_background>` **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` bg **)** |
  230. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  231. | void | :ref:`environment_set_bg_color<class_VisualServer_method_environment_set_bg_color>` **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color **)** |
  232. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  233. | void | :ref:`environment_set_bg_energy<class_VisualServer_method_environment_set_bg_energy>` **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` energy **)** |
  234. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  235. | void | :ref:`environment_set_canvas_max_layer<class_VisualServer_method_environment_set_canvas_max_layer>` **(** :ref:`RID<class_RID>` env, :ref:`int<class_int>` max_layer **)** |
  236. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  237. | void | :ref:`environment_set_dof_blur_far<class_VisualServer_method_environment_set_dof_blur_far>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` distance, :ref:`float<class_float>` transition, :ref:`float<class_float>` far_amount, :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` quality **)** |
  238. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  239. | void | :ref:`environment_set_dof_blur_near<class_VisualServer_method_environment_set_dof_blur_near>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` distance, :ref:`float<class_float>` transition, :ref:`float<class_float>` far_amount, :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` quality **)** |
  240. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  241. | void | :ref:`environment_set_fog<class_VisualServer_method_environment_set_fog>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`Color<class_Color>` color, :ref:`Color<class_Color>` sun_color, :ref:`float<class_float>` sun_amount **)** |
  242. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  243. | void | :ref:`environment_set_fog_depth<class_VisualServer_method_environment_set_fog_depth>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` depth_begin, :ref:`float<class_float>` depth_end, :ref:`float<class_float>` depth_curve, :ref:`bool<class_bool>` transmit, :ref:`float<class_float>` transmit_curve **)** |
  244. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  245. | void | :ref:`environment_set_fog_height<class_VisualServer_method_environment_set_fog_height>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` min_height, :ref:`float<class_float>` max_height, :ref:`float<class_float>` height_curve **)** |
  246. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  247. | void | :ref:`environment_set_glow<class_VisualServer_method_environment_set_glow>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`int<class_int>` level_flags, :ref:`float<class_float>` intensity, :ref:`float<class_float>` strength, :ref:`float<class_float>` bloom_threshold, :ref:`EnvironmentGlowBlendMode<enum_VisualServer_EnvironmentGlowBlendMode>` blend_mode, :ref:`float<class_float>` hdr_bleed_threshold, :ref:`float<class_float>` hdr_bleed_scale, :ref:`float<class_float>` hdr_luminance_cap, :ref:`bool<class_bool>` bicubic_upscale, :ref:`bool<class_bool>` high_quality **)** |
  248. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  249. | void | :ref:`environment_set_sky<class_VisualServer_method_environment_set_sky>` **(** :ref:`RID<class_RID>` env, :ref:`RID<class_RID>` sky **)** |
  250. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  251. | void | :ref:`environment_set_sky_custom_fov<class_VisualServer_method_environment_set_sky_custom_fov>` **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` scale **)** |
  252. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  253. | void | :ref:`environment_set_sky_orientation<class_VisualServer_method_environment_set_sky_orientation>` **(** :ref:`RID<class_RID>` env, :ref:`Basis<class_Basis>` orientation **)** |
  254. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  255. | void | :ref:`environment_set_ssao<class_VisualServer_method_environment_set_ssao>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` radius, :ref:`float<class_float>` intensity, :ref:`float<class_float>` radius2, :ref:`float<class_float>` intensity2, :ref:`float<class_float>` bias, :ref:`float<class_float>` light_affect, :ref:`float<class_float>` ao_channel_affect, :ref:`Color<class_Color>` color, :ref:`EnvironmentSSAOQuality<enum_VisualServer_EnvironmentSSAOQuality>` quality, :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` blur, :ref:`float<class_float>` bilateral_sharpness **)** |
  256. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  257. | void | :ref:`environment_set_ssr<class_VisualServer_method_environment_set_ssr>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`int<class_int>` max_steps, :ref:`float<class_float>` fade_in, :ref:`float<class_float>` fade_out, :ref:`float<class_float>` depth_tolerance, :ref:`bool<class_bool>` roughness **)** |
  258. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  259. | void | :ref:`environment_set_tonemap<class_VisualServer_method_environment_set_tonemap>` **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` tone_mapper, :ref:`float<class_float>` exposure, :ref:`float<class_float>` white, :ref:`bool<class_bool>` auto_exposure, :ref:`float<class_float>` min_luminance, :ref:`float<class_float>` max_luminance, :ref:`float<class_float>` auto_exp_speed, :ref:`float<class_float>` auto_exp_grey **)** |
  260. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  261. | void | :ref:`finish<class_VisualServer_method_finish>` **(** **)** |
  262. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  263. | void | :ref:`force_draw<class_VisualServer_method_force_draw>` **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)** |
  264. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  265. | void | :ref:`force_sync<class_VisualServer_method_force_sync>` **(** **)** |
  266. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  267. | void | :ref:`free_rid<class_VisualServer_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)** |
  268. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  269. | :ref:`int<class_int>` | :ref:`get_render_info<class_VisualServer_method_get_render_info>` **(** :ref:`RenderInfo<enum_VisualServer_RenderInfo>` info **)** |
  270. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  271. | :ref:`RID<class_RID>` | :ref:`get_test_cube<class_VisualServer_method_get_test_cube>` **(** **)** |
  272. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  273. | :ref:`RID<class_RID>` | :ref:`get_test_texture<class_VisualServer_method_get_test_texture>` **(** **)** |
  274. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  275. | :ref:`String<class_String>` | :ref:`get_video_adapter_name<class_VisualServer_method_get_video_adapter_name>` **(** **)** |const| |
  276. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  277. | :ref:`String<class_String>` | :ref:`get_video_adapter_vendor<class_VisualServer_method_get_video_adapter_vendor>` **(** **)** |const| |
  278. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  279. | :ref:`RID<class_RID>` | :ref:`get_white_texture<class_VisualServer_method_get_white_texture>` **(** **)** |
  280. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  281. | :ref:`RID<class_RID>` | :ref:`gi_probe_create<class_VisualServer_method_gi_probe_create>` **(** **)** |
  282. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  283. | :ref:`float<class_float>` | :ref:`gi_probe_get_bias<class_VisualServer_method_gi_probe_get_bias>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  284. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  285. | :ref:`AABB<class_AABB>` | :ref:`gi_probe_get_bounds<class_VisualServer_method_gi_probe_get_bounds>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  286. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  287. | :ref:`float<class_float>` | :ref:`gi_probe_get_cell_size<class_VisualServer_method_gi_probe_get_cell_size>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  288. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  289. | :ref:`PoolIntArray<class_PoolIntArray>` | :ref:`gi_probe_get_dynamic_data<class_VisualServer_method_gi_probe_get_dynamic_data>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  290. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  291. | :ref:`int<class_int>` | :ref:`gi_probe_get_dynamic_range<class_VisualServer_method_gi_probe_get_dynamic_range>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  292. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  293. | :ref:`float<class_float>` | :ref:`gi_probe_get_energy<class_VisualServer_method_gi_probe_get_energy>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  294. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  295. | :ref:`float<class_float>` | :ref:`gi_probe_get_normal_bias<class_VisualServer_method_gi_probe_get_normal_bias>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  296. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  297. | :ref:`float<class_float>` | :ref:`gi_probe_get_propagation<class_VisualServer_method_gi_probe_get_propagation>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  298. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  299. | :ref:`Transform<class_Transform>` | :ref:`gi_probe_get_to_cell_xform<class_VisualServer_method_gi_probe_get_to_cell_xform>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  300. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  301. | :ref:`bool<class_bool>` | :ref:`gi_probe_is_compressed<class_VisualServer_method_gi_probe_is_compressed>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  302. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  303. | :ref:`bool<class_bool>` | :ref:`gi_probe_is_interior<class_VisualServer_method_gi_probe_is_interior>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  304. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  305. | void | :ref:`gi_probe_set_bias<class_VisualServer_method_gi_probe_set_bias>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)** |
  306. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  307. | void | :ref:`gi_probe_set_bounds<class_VisualServer_method_gi_probe_set_bounds>` **(** :ref:`RID<class_RID>` probe, :ref:`AABB<class_AABB>` bounds **)** |
  308. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  309. | void | :ref:`gi_probe_set_cell_size<class_VisualServer_method_gi_probe_set_cell_size>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` range **)** |
  310. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  311. | void | :ref:`gi_probe_set_compress<class_VisualServer_method_gi_probe_set_compress>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  312. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  313. | void | :ref:`gi_probe_set_dynamic_data<class_VisualServer_method_gi_probe_set_dynamic_data>` **(** :ref:`RID<class_RID>` probe, :ref:`PoolIntArray<class_PoolIntArray>` data **)** |
  314. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  315. | void | :ref:`gi_probe_set_dynamic_range<class_VisualServer_method_gi_probe_set_dynamic_range>` **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` range **)** |
  316. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  317. | void | :ref:`gi_probe_set_energy<class_VisualServer_method_gi_probe_set_energy>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)** |
  318. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  319. | void | :ref:`gi_probe_set_interior<class_VisualServer_method_gi_probe_set_interior>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  320. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  321. | void | :ref:`gi_probe_set_normal_bias<class_VisualServer_method_gi_probe_set_normal_bias>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)** |
  322. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  323. | void | :ref:`gi_probe_set_propagation<class_VisualServer_method_gi_probe_set_propagation>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` propagation **)** |
  324. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  325. | void | :ref:`gi_probe_set_to_cell_xform<class_VisualServer_method_gi_probe_set_to_cell_xform>` **(** :ref:`RID<class_RID>` probe, :ref:`Transform<class_Transform>` xform **)** |
  326. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  327. | :ref:`bool<class_bool>` | :ref:`has_changed<class_VisualServer_method_has_changed>` **(** :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` queried_priority=0 **)** |const| |
  328. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  329. | :ref:`bool<class_bool>` | :ref:`has_feature<class_VisualServer_method_has_feature>` **(** :ref:`Features<enum_VisualServer_Features>` feature **)** |const| |
  330. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  331. | :ref:`bool<class_bool>` | :ref:`has_os_feature<class_VisualServer_method_has_os_feature>` **(** :ref:`String<class_String>` feature **)** |const| |
  332. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  333. | void | :ref:`immediate_begin<class_VisualServer_method_immediate_begin>` **(** :ref:`RID<class_RID>` immediate, :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` primitive, :ref:`RID<class_RID>` texture **)** |
  334. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  335. | void | :ref:`immediate_clear<class_VisualServer_method_immediate_clear>` **(** :ref:`RID<class_RID>` immediate **)** |
  336. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  337. | void | :ref:`immediate_color<class_VisualServer_method_immediate_color>` **(** :ref:`RID<class_RID>` immediate, :ref:`Color<class_Color>` color **)** |
  338. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  339. | :ref:`RID<class_RID>` | :ref:`immediate_create<class_VisualServer_method_immediate_create>` **(** **)** |
  340. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  341. | void | :ref:`immediate_end<class_VisualServer_method_immediate_end>` **(** :ref:`RID<class_RID>` immediate **)** |
  342. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  343. | :ref:`RID<class_RID>` | :ref:`immediate_get_material<class_VisualServer_method_immediate_get_material>` **(** :ref:`RID<class_RID>` immediate **)** |const| |
  344. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  345. | void | :ref:`immediate_normal<class_VisualServer_method_immediate_normal>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` normal **)** |
  346. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  347. | void | :ref:`immediate_set_material<class_VisualServer_method_immediate_set_material>` **(** :ref:`RID<class_RID>` immediate, :ref:`RID<class_RID>` material **)** |
  348. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  349. | void | :ref:`immediate_tangent<class_VisualServer_method_immediate_tangent>` **(** :ref:`RID<class_RID>` immediate, :ref:`Plane<class_Plane>` tangent **)** |
  350. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  351. | void | :ref:`immediate_uv<class_VisualServer_method_immediate_uv>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)** |
  352. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  353. | void | :ref:`immediate_uv2<class_VisualServer_method_immediate_uv2>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)** |
  354. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  355. | void | :ref:`immediate_vertex<class_VisualServer_method_immediate_vertex>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` vertex **)** |
  356. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  357. | void | :ref:`immediate_vertex_2d<class_VisualServer_method_immediate_vertex_2d>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` vertex **)** |
  358. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  359. | void | :ref:`init<class_VisualServer_method_init>` **(** **)** |
  360. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  361. | void | :ref:`instance_attach_object_instance_id<class_VisualServer_method_instance_attach_object_instance_id>` **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` id **)** |
  362. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  363. | void | :ref:`instance_attach_skeleton<class_VisualServer_method_instance_attach_skeleton>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` skeleton **)** |
  364. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  365. | :ref:`RID<class_RID>` | :ref:`instance_create<class_VisualServer_method_instance_create>` **(** **)** |
  366. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  367. | :ref:`RID<class_RID>` | :ref:`instance_create2<class_VisualServer_method_instance_create2>` **(** :ref:`RID<class_RID>` base, :ref:`RID<class_RID>` scenario **)** |
  368. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  369. | void | :ref:`instance_geometry_set_cast_shadows_setting<class_VisualServer_method_instance_geometry_set_cast_shadows_setting>` **(** :ref:`RID<class_RID>` instance, :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` shadow_casting_setting **)** |
  370. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  371. | void | :ref:`instance_geometry_set_flag<class_VisualServer_method_instance_geometry_set_flag>` **(** :ref:`RID<class_RID>` instance, :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` flag, :ref:`bool<class_bool>` enabled **)** |
  372. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  373. | void | :ref:`instance_geometry_set_material_overlay<class_VisualServer_method_instance_geometry_set_material_overlay>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)** |
  374. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  375. | void | :ref:`instance_geometry_set_material_override<class_VisualServer_method_instance_geometry_set_material_override>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)** |
  376. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  377. | void | :ref:`instance_reset_physics_interpolation<class_VisualServer_method_instance_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` instance **)** |
  378. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  379. | void | :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` base **)** |
  380. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  381. | void | :ref:`instance_set_blend_shape_weight<class_VisualServer_method_instance_set_blend_shape_weight>` **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` shape, :ref:`float<class_float>` weight **)** |
  382. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  383. | void | :ref:`instance_set_custom_aabb<class_VisualServer_method_instance_set_custom_aabb>` **(** :ref:`RID<class_RID>` instance, :ref:`AABB<class_AABB>` aabb **)** |
  384. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  385. | void | :ref:`instance_set_exterior<class_VisualServer_method_instance_set_exterior>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` enabled **)** |
  386. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  387. | void | :ref:`instance_set_extra_visibility_margin<class_VisualServer_method_instance_set_extra_visibility_margin>` **(** :ref:`RID<class_RID>` instance, :ref:`float<class_float>` margin **)** |
  388. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  389. | void | :ref:`instance_set_interpolated<class_VisualServer_method_instance_set_interpolated>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` interpolated **)** |
  390. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  391. | void | :ref:`instance_set_layer_mask<class_VisualServer_method_instance_set_layer_mask>` **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` mask **)** |
  392. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  393. | void | :ref:`instance_set_scenario<class_VisualServer_method_instance_set_scenario>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` scenario **)** |
  394. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  395. | void | :ref:`instance_set_surface_material<class_VisualServer_method_instance_set_surface_material>` **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)** |
  396. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  397. | void | :ref:`instance_set_transform<class_VisualServer_method_instance_set_transform>` **(** :ref:`RID<class_RID>` instance, :ref:`Transform<class_Transform>` transform **)** |
  398. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  399. | void | :ref:`instance_set_use_lightmap<class_VisualServer_method_instance_set_use_lightmap>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` lightmap_instance, :ref:`RID<class_RID>` lightmap, :ref:`int<class_int>` lightmap_slice=-1, :ref:`Rect2<class_Rect2>` lightmap_uv_rect=Rect2( 0, 0, 1, 1 ) **)** |
  400. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  401. | void | :ref:`instance_set_visible<class_VisualServer_method_instance_set_visible>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` visible **)** |
  402. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  403. | :ref:`Array<class_Array>` | :ref:`instances_cull_aabb<class_VisualServer_method_instances_cull_aabb>` **(** :ref:`AABB<class_AABB>` aabb, :ref:`RID<class_RID>` scenario **)** |const| |
  404. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  405. | :ref:`Array<class_Array>` | :ref:`instances_cull_convex<class_VisualServer_method_instances_cull_convex>` **(** :ref:`Array<class_Array>` convex, :ref:`RID<class_RID>` scenario **)** |const| |
  406. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  407. | :ref:`Array<class_Array>` | :ref:`instances_cull_ray<class_VisualServer_method_instances_cull_ray>` **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`RID<class_RID>` scenario **)** |const| |
  408. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  409. | void | :ref:`light_directional_set_blend_splits<class_VisualServer_method_light_directional_set_blend_splits>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)** |
  410. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  411. | void | :ref:`light_directional_set_shadow_depth_range_mode<class_VisualServer_method_light_directional_set_shadow_depth_range_mode>` **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` range_mode **)** |
  412. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  413. | void | :ref:`light_directional_set_shadow_mode<class_VisualServer_method_light_directional_set_shadow_mode>` **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` mode **)** |
  414. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  415. | void | :ref:`light_omni_set_shadow_detail<class_VisualServer_method_light_omni_set_shadow_detail>` **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowDetail<enum_VisualServer_LightOmniShadowDetail>` detail **)** |
  416. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  417. | void | :ref:`light_omni_set_shadow_mode<class_VisualServer_method_light_omni_set_shadow_mode>` **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowMode<enum_VisualServer_LightOmniShadowMode>` mode **)** |
  418. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  419. | void | :ref:`light_set_bake_mode<class_VisualServer_method_light_set_bake_mode>` **(** :ref:`RID<class_RID>` light, :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` bake_mode **)** |
  420. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  421. | void | :ref:`light_set_color<class_VisualServer_method_light_set_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  422. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  423. | void | :ref:`light_set_cull_mask<class_VisualServer_method_light_set_cull_mask>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)** |
  424. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  425. | void | :ref:`light_set_negative<class_VisualServer_method_light_set_negative>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)** |
  426. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  427. | void | :ref:`light_set_param<class_VisualServer_method_light_set_param>` **(** :ref:`RID<class_RID>` light, :ref:`LightParam<enum_VisualServer_LightParam>` param, :ref:`float<class_float>` value **)** |
  428. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  429. | void | :ref:`light_set_projector<class_VisualServer_method_light_set_projector>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)** |
  430. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  431. | void | :ref:`light_set_reverse_cull_face_mode<class_VisualServer_method_light_set_reverse_cull_face_mode>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  432. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  433. | void | :ref:`light_set_shadow<class_VisualServer_method_light_set_shadow>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  434. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  435. | void | :ref:`light_set_shadow_color<class_VisualServer_method_light_set_shadow_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  436. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  437. | void | :ref:`light_set_use_gi<class_VisualServer_method_light_set_use_gi>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  438. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  439. | :ref:`RID<class_RID>` | :ref:`lightmap_capture_create<class_VisualServer_method_lightmap_capture_create>` **(** **)** |
  440. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  441. | :ref:`AABB<class_AABB>` | :ref:`lightmap_capture_get_bounds<class_VisualServer_method_lightmap_capture_get_bounds>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  442. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  443. | :ref:`float<class_float>` | :ref:`lightmap_capture_get_energy<class_VisualServer_method_lightmap_capture_get_energy>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  444. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  445. | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`lightmap_capture_get_octree<class_VisualServer_method_lightmap_capture_get_octree>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  446. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  447. | :ref:`int<class_int>` | :ref:`lightmap_capture_get_octree_cell_subdiv<class_VisualServer_method_lightmap_capture_get_octree_cell_subdiv>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  448. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  449. | :ref:`Transform<class_Transform>` | :ref:`lightmap_capture_get_octree_cell_transform<class_VisualServer_method_lightmap_capture_get_octree_cell_transform>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  450. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  451. | :ref:`bool<class_bool>` | :ref:`lightmap_capture_is_interior<class_VisualServer_method_lightmap_capture_is_interior>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  452. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  453. | void | :ref:`lightmap_capture_set_bounds<class_VisualServer_method_lightmap_capture_set_bounds>` **(** :ref:`RID<class_RID>` capture, :ref:`AABB<class_AABB>` bounds **)** |
  454. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  455. | void | :ref:`lightmap_capture_set_energy<class_VisualServer_method_lightmap_capture_set_energy>` **(** :ref:`RID<class_RID>` capture, :ref:`float<class_float>` energy **)** |
  456. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  457. | void | :ref:`lightmap_capture_set_interior<class_VisualServer_method_lightmap_capture_set_interior>` **(** :ref:`RID<class_RID>` capture, :ref:`bool<class_bool>` interior **)** |
  458. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  459. | void | :ref:`lightmap_capture_set_octree<class_VisualServer_method_lightmap_capture_set_octree>` **(** :ref:`RID<class_RID>` capture, :ref:`PoolByteArray<class_PoolByteArray>` octree **)** |
  460. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  461. | void | :ref:`lightmap_capture_set_octree_cell_subdiv<class_VisualServer_method_lightmap_capture_set_octree_cell_subdiv>` **(** :ref:`RID<class_RID>` capture, :ref:`int<class_int>` subdiv **)** |
  462. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  463. | void | :ref:`lightmap_capture_set_octree_cell_transform<class_VisualServer_method_lightmap_capture_set_octree_cell_transform>` **(** :ref:`RID<class_RID>` capture, :ref:`Transform<class_Transform>` xform **)** |
  464. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  465. | :ref:`RID<class_RID>` | :ref:`make_sphere_mesh<class_VisualServer_method_make_sphere_mesh>` **(** :ref:`int<class_int>` latitudes, :ref:`int<class_int>` longitudes, :ref:`float<class_float>` radius **)** |
  466. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  467. | :ref:`RID<class_RID>` | :ref:`material_create<class_VisualServer_method_material_create>` **(** **)** |
  468. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  469. | :ref:`Variant<class_Variant>` | :ref:`material_get_param<class_VisualServer_method_material_get_param>` **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter **)** |const| |
  470. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  471. | :ref:`Variant<class_Variant>` | :ref:`material_get_param_default<class_VisualServer_method_material_get_param_default>` **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter **)** |const| |
  472. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  473. | :ref:`RID<class_RID>` | :ref:`material_get_shader<class_VisualServer_method_material_get_shader>` **(** :ref:`RID<class_RID>` shader_material **)** |const| |
  474. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  475. | void | :ref:`material_set_line_width<class_VisualServer_method_material_set_line_width>` **(** :ref:`RID<class_RID>` material, :ref:`float<class_float>` width **)** |
  476. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  477. | void | :ref:`material_set_next_pass<class_VisualServer_method_material_set_next_pass>` **(** :ref:`RID<class_RID>` material, :ref:`RID<class_RID>` next_material **)** |
  478. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  479. | void | :ref:`material_set_param<class_VisualServer_method_material_set_param>` **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter, :ref:`Variant<class_Variant>` value **)** |
  480. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  481. | void | :ref:`material_set_render_priority<class_VisualServer_method_material_set_render_priority>` **(** :ref:`RID<class_RID>` material, :ref:`int<class_int>` priority **)** |
  482. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  483. | void | :ref:`material_set_shader<class_VisualServer_method_material_set_shader>` **(** :ref:`RID<class_RID>` shader_material, :ref:`RID<class_RID>` shader **)** |
  484. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  485. | void | :ref:`mesh_add_surface_from_arrays<class_VisualServer_method_mesh_add_surface_from_arrays>` **(** :ref:`RID<class_RID>` mesh, :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array<class_Array>` blend_shapes=[ ], :ref:`int<class_int>` compress_format=2194432 **)** |
  486. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  487. | void | :ref:`mesh_clear<class_VisualServer_method_mesh_clear>` **(** :ref:`RID<class_RID>` mesh **)** |
  488. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  489. | :ref:`RID<class_RID>` | :ref:`mesh_create<class_VisualServer_method_mesh_create>` **(** **)** |
  490. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  491. | :ref:`int<class_int>` | :ref:`mesh_get_blend_shape_count<class_VisualServer_method_mesh_get_blend_shape_count>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  492. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  493. | :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` | :ref:`mesh_get_blend_shape_mode<class_VisualServer_method_mesh_get_blend_shape_mode>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  494. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  495. | :ref:`AABB<class_AABB>` | :ref:`mesh_get_custom_aabb<class_VisualServer_method_mesh_get_custom_aabb>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  496. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  497. | :ref:`int<class_int>` | :ref:`mesh_get_surface_count<class_VisualServer_method_mesh_get_surface_count>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  498. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  499. | void | :ref:`mesh_remove_surface<class_VisualServer_method_mesh_remove_surface>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` index **)** |
  500. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  501. | void | :ref:`mesh_set_blend_shape_count<class_VisualServer_method_mesh_set_blend_shape_count>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` amount **)** |
  502. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  503. | void | :ref:`mesh_set_blend_shape_mode<class_VisualServer_method_mesh_set_blend_shape_mode>` **(** :ref:`RID<class_RID>` mesh, :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` mode **)** |
  504. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  505. | void | :ref:`mesh_set_custom_aabb<class_VisualServer_method_mesh_set_custom_aabb>` **(** :ref:`RID<class_RID>` mesh, :ref:`AABB<class_AABB>` aabb **)** |
  506. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  507. | :ref:`AABB<class_AABB>` | :ref:`mesh_surface_get_aabb<class_VisualServer_method_mesh_surface_get_aabb>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  508. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  509. | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`mesh_surface_get_array<class_VisualServer_method_mesh_surface_get_array>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  510. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  511. | :ref:`int<class_int>` | :ref:`mesh_surface_get_array_index_len<class_VisualServer_method_mesh_surface_get_array_index_len>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  512. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  513. | :ref:`int<class_int>` | :ref:`mesh_surface_get_array_len<class_VisualServer_method_mesh_surface_get_array_len>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  514. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  515. | :ref:`Array<class_Array>` | :ref:`mesh_surface_get_arrays<class_VisualServer_method_mesh_surface_get_arrays>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  516. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  517. | :ref:`Array<class_Array>` | :ref:`mesh_surface_get_blend_shape_arrays<class_VisualServer_method_mesh_surface_get_blend_shape_arrays>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  518. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  519. | :ref:`int<class_int>` | :ref:`mesh_surface_get_format<class_VisualServer_method_mesh_surface_get_format>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  520. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  521. | :ref:`int<class_int>` | :ref:`mesh_surface_get_format_offset<class_VisualServer_method_mesh_surface_get_format_offset>` **(** :ref:`int<class_int>` format, :ref:`int<class_int>` vertex_len, :ref:`int<class_int>` index_len, :ref:`int<class_int>` array_index **)** |const| |
  522. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  523. | :ref:`int<class_int>` | :ref:`mesh_surface_get_format_stride<class_VisualServer_method_mesh_surface_get_format_stride>` **(** :ref:`int<class_int>` format, :ref:`int<class_int>` vertex_len, :ref:`int<class_int>` index_len, :ref:`int<class_int>` array_index **)** |const| |
  524. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  525. | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`mesh_surface_get_index_array<class_VisualServer_method_mesh_surface_get_index_array>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  526. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  527. | :ref:`RID<class_RID>` | :ref:`mesh_surface_get_material<class_VisualServer_method_mesh_surface_get_material>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  528. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  529. | :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` | :ref:`mesh_surface_get_primitive_type<class_VisualServer_method_mesh_surface_get_primitive_type>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  530. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  531. | :ref:`Array<class_Array>` | :ref:`mesh_surface_get_skeleton_aabb<class_VisualServer_method_mesh_surface_get_skeleton_aabb>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const| |
  532. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  533. | void | :ref:`mesh_surface_set_material<class_VisualServer_method_mesh_surface_set_material>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)** |
  534. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  535. | void | :ref:`mesh_surface_update_region<class_VisualServer_method_mesh_surface_update_region>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`int<class_int>` offset, :ref:`PoolByteArray<class_PoolByteArray>` data **)** |
  536. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  537. | void | :ref:`multimesh_allocate<class_VisualServer_method_multimesh_allocate>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` color_format, :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` custom_data_format=0 **)** |
  538. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  539. | :ref:`RID<class_RID>` | :ref:`multimesh_create<class_VisualServer_method_multimesh_create>` **(** **)** |
  540. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  541. | :ref:`AABB<class_AABB>` | :ref:`multimesh_get_aabb<class_VisualServer_method_multimesh_get_aabb>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  542. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  543. | :ref:`int<class_int>` | :ref:`multimesh_get_instance_count<class_VisualServer_method_multimesh_get_instance_count>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  544. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  545. | :ref:`RID<class_RID>` | :ref:`multimesh_get_mesh<class_VisualServer_method_multimesh_get_mesh>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  546. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  547. | :ref:`int<class_int>` | :ref:`multimesh_get_visible_instances<class_VisualServer_method_multimesh_get_visible_instances>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  548. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  549. | :ref:`Color<class_Color>` | :ref:`multimesh_instance_get_color<class_VisualServer_method_multimesh_instance_get_color>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const| |
  550. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  551. | :ref:`Color<class_Color>` | :ref:`multimesh_instance_get_custom_data<class_VisualServer_method_multimesh_instance_get_custom_data>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const| |
  552. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  553. | :ref:`Transform<class_Transform>` | :ref:`multimesh_instance_get_transform<class_VisualServer_method_multimesh_instance_get_transform>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const| |
  554. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  555. | :ref:`Transform2D<class_Transform2D>` | :ref:`multimesh_instance_get_transform_2d<class_VisualServer_method_multimesh_instance_get_transform_2d>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const| |
  556. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  557. | void | :ref:`multimesh_instance_reset_physics_interpolation<class_VisualServer_method_multimesh_instance_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |
  558. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  559. | void | :ref:`multimesh_instance_set_color<class_VisualServer_method_multimesh_instance_set_color>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |
  560. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  561. | void | :ref:`multimesh_instance_set_custom_data<class_VisualServer_method_multimesh_instance_set_custom_data>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` custom_data **)** |
  562. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  563. | void | :ref:`multimesh_instance_set_transform<class_VisualServer_method_multimesh_instance_set_transform>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform<class_Transform>` transform **)** |
  564. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  565. | void | :ref:`multimesh_instance_set_transform_2d<class_VisualServer_method_multimesh_instance_set_transform_2d>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform2D<class_Transform2D>` transform **)** |
  566. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  567. | void | :ref:`multimesh_set_as_bulk_array<class_VisualServer_method_multimesh_set_as_bulk_array>` **(** :ref:`RID<class_RID>` multimesh, :ref:`PoolRealArray<class_PoolRealArray>` array **)** |
  568. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  569. | void | :ref:`multimesh_set_as_bulk_array_interpolated<class_VisualServer_method_multimesh_set_as_bulk_array_interpolated>` **(** :ref:`RID<class_RID>` multimesh, :ref:`PoolRealArray<class_PoolRealArray>` array, :ref:`PoolRealArray<class_PoolRealArray>` array_previous **)** |
  570. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  571. | void | :ref:`multimesh_set_mesh<class_VisualServer_method_multimesh_set_mesh>` **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)** |
  572. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  573. | void | :ref:`multimesh_set_physics_interpolated<class_VisualServer_method_multimesh_set_physics_interpolated>` **(** :ref:`RID<class_RID>` multimesh, :ref:`bool<class_bool>` interpolated **)** |
  574. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  575. | void | :ref:`multimesh_set_physics_interpolation_quality<class_VisualServer_method_multimesh_set_physics_interpolation_quality>` **(** :ref:`RID<class_RID>` multimesh, :ref:`MultimeshPhysicsInterpolationQuality<enum_VisualServer_MultimeshPhysicsInterpolationQuality>` quality **)** |
  576. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  577. | void | :ref:`multimesh_set_visible_instances<class_VisualServer_method_multimesh_set_visible_instances>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)** |
  578. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  579. | :ref:`RID<class_RID>` | :ref:`omni_light_create<class_VisualServer_method_omni_light_create>` **(** **)** |
  580. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  581. | :ref:`RID<class_RID>` | :ref:`particles_create<class_VisualServer_method_particles_create>` **(** **)** |
  582. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  583. | :ref:`AABB<class_AABB>` | :ref:`particles_get_current_aabb<class_VisualServer_method_particles_get_current_aabb>` **(** :ref:`RID<class_RID>` particles **)** |
  584. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  585. | :ref:`bool<class_bool>` | :ref:`particles_get_emitting<class_VisualServer_method_particles_get_emitting>` **(** :ref:`RID<class_RID>` particles **)** |
  586. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  587. | :ref:`bool<class_bool>` | :ref:`particles_is_inactive<class_VisualServer_method_particles_is_inactive>` **(** :ref:`RID<class_RID>` particles **)** |
  588. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  589. | void | :ref:`particles_request_process<class_VisualServer_method_particles_request_process>` **(** :ref:`RID<class_RID>` particles **)** |
  590. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  591. | void | :ref:`particles_restart<class_VisualServer_method_particles_restart>` **(** :ref:`RID<class_RID>` particles **)** |
  592. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  593. | void | :ref:`particles_set_amount<class_VisualServer_method_particles_set_amount>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)** |
  594. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  595. | void | :ref:`particles_set_custom_aabb<class_VisualServer_method_particles_set_custom_aabb>` **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)** |
  596. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  597. | void | :ref:`particles_set_draw_order<class_VisualServer_method_particles_set_draw_order>` **(** :ref:`RID<class_RID>` particles, :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` order **)** |
  598. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  599. | void | :ref:`particles_set_draw_pass_mesh<class_VisualServer_method_particles_set_draw_pass_mesh>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` pass, :ref:`RID<class_RID>` mesh **)** |
  600. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  601. | void | :ref:`particles_set_draw_passes<class_VisualServer_method_particles_set_draw_passes>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` count **)** |
  602. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  603. | void | :ref:`particles_set_emission_transform<class_VisualServer_method_particles_set_emission_transform>` **(** :ref:`RID<class_RID>` particles, :ref:`Transform<class_Transform>` transform **)** |
  604. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  605. | void | :ref:`particles_set_emitting<class_VisualServer_method_particles_set_emitting>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)** |
  606. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  607. | void | :ref:`particles_set_explosiveness_ratio<class_VisualServer_method_particles_set_explosiveness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)** |
  608. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  609. | void | :ref:`particles_set_fixed_fps<class_VisualServer_method_particles_set_fixed_fps>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` fps **)** |
  610. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  611. | void | :ref:`particles_set_fractional_delta<class_VisualServer_method_particles_set_fractional_delta>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)** |
  612. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  613. | void | :ref:`particles_set_lifetime<class_VisualServer_method_particles_set_lifetime>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)** |
  614. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  615. | void | :ref:`particles_set_one_shot<class_VisualServer_method_particles_set_one_shot>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` one_shot **)** |
  616. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  617. | void | :ref:`particles_set_pre_process_time<class_VisualServer_method_particles_set_pre_process_time>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` time **)** |
  618. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  619. | void | :ref:`particles_set_process_material<class_VisualServer_method_particles_set_process_material>` **(** :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` material **)** |
  620. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  621. | void | :ref:`particles_set_randomness_ratio<class_VisualServer_method_particles_set_randomness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)** |
  622. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  623. | void | :ref:`particles_set_speed_scale<class_VisualServer_method_particles_set_speed_scale>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` scale **)** |
  624. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  625. | void | :ref:`particles_set_use_local_coordinates<class_VisualServer_method_particles_set_use_local_coordinates>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)** |
  626. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  627. | :ref:`RID<class_RID>` | :ref:`reflection_probe_create<class_VisualServer_method_reflection_probe_create>` **(** **)** |
  628. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  629. | void | :ref:`reflection_probe_set_as_interior<class_VisualServer_method_reflection_probe_set_as_interior>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  630. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  631. | void | :ref:`reflection_probe_set_cull_mask<class_VisualServer_method_reflection_probe_set_cull_mask>` **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)** |
  632. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  633. | void | :ref:`reflection_probe_set_enable_box_projection<class_VisualServer_method_reflection_probe_set_enable_box_projection>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  634. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  635. | void | :ref:`reflection_probe_set_enable_shadows<class_VisualServer_method_reflection_probe_set_enable_shadows>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  636. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  637. | void | :ref:`reflection_probe_set_extents<class_VisualServer_method_reflection_probe_set_extents>` **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` extents **)** |
  638. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  639. | void | :ref:`reflection_probe_set_intensity<class_VisualServer_method_reflection_probe_set_intensity>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` intensity **)** |
  640. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  641. | void | :ref:`reflection_probe_set_interior_ambient<class_VisualServer_method_reflection_probe_set_interior_ambient>` **(** :ref:`RID<class_RID>` probe, :ref:`Color<class_Color>` color **)** |
  642. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  643. | void | :ref:`reflection_probe_set_interior_ambient_energy<class_VisualServer_method_reflection_probe_set_interior_ambient_energy>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)** |
  644. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  645. | void | :ref:`reflection_probe_set_interior_ambient_probe_contribution<class_VisualServer_method_reflection_probe_set_interior_ambient_probe_contribution>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` contrib **)** |
  646. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  647. | void | :ref:`reflection_probe_set_max_distance<class_VisualServer_method_reflection_probe_set_max_distance>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` distance **)** |
  648. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  649. | void | :ref:`reflection_probe_set_origin_offset<class_VisualServer_method_reflection_probe_set_origin_offset>` **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` offset **)** |
  650. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  651. | void | :ref:`reflection_probe_set_update_mode<class_VisualServer_method_reflection_probe_set_update_mode>` **(** :ref:`RID<class_RID>` probe, :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` mode **)** |
  652. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  653. | void | :ref:`request_frame_drawn_callback<class_VisualServer_method_request_frame_drawn_callback>` **(** :ref:`Object<class_Object>` where, :ref:`String<class_String>` method, :ref:`Variant<class_Variant>` userdata **)** |
  654. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  655. | :ref:`RID<class_RID>` | :ref:`scenario_create<class_VisualServer_method_scenario_create>` **(** **)** |
  656. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  657. | void | :ref:`scenario_set_debug<class_VisualServer_method_scenario_set_debug>` **(** :ref:`RID<class_RID>` scenario, :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` debug_mode **)** |
  658. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  659. | void | :ref:`scenario_set_environment<class_VisualServer_method_scenario_set_environment>` **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)** |
  660. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  661. | void | :ref:`scenario_set_fallback_environment<class_VisualServer_method_scenario_set_fallback_environment>` **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)** |
  662. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  663. | void | :ref:`scenario_set_reflection_atlas_size<class_VisualServer_method_scenario_set_reflection_atlas_size>` **(** :ref:`RID<class_RID>` scenario, :ref:`int<class_int>` size, :ref:`int<class_int>` subdiv **)** |
  664. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  665. | void | :ref:`set_boot_image<class_VisualServer_method_set_boot_image>` **(** :ref:`Image<class_Image>` image, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` scale, :ref:`bool<class_bool>` use_filter=true **)** |
  666. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  667. | void | :ref:`set_debug_generate_wireframes<class_VisualServer_method_set_debug_generate_wireframes>` **(** :ref:`bool<class_bool>` generate **)** |
  668. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  669. | void | :ref:`set_default_clear_color<class_VisualServer_method_set_default_clear_color>` **(** :ref:`Color<class_Color>` color **)** |
  670. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  671. | void | :ref:`set_shader_async_hidden_forbidden<class_VisualServer_method_set_shader_async_hidden_forbidden>` **(** :ref:`bool<class_bool>` forbidden **)** |
  672. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  673. | void | :ref:`set_shader_time_scale<class_VisualServer_method_set_shader_time_scale>` **(** :ref:`float<class_float>` scale **)** |
  674. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  675. | void | :ref:`set_use_occlusion_culling<class_VisualServer_method_set_use_occlusion_culling>` **(** :ref:`bool<class_bool>` enable **)** |
  676. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  677. | :ref:`RID<class_RID>` | :ref:`shader_create<class_VisualServer_method_shader_create>` **(** **)** |
  678. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  679. | :ref:`String<class_String>` | :ref:`shader_get_code<class_VisualServer_method_shader_get_code>` **(** :ref:`RID<class_RID>` shader **)** |const| |
  680. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  681. | :ref:`RID<class_RID>` | :ref:`shader_get_default_texture_param<class_VisualServer_method_shader_get_default_texture_param>` **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` name **)** |const| |
  682. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  683. | :ref:`Array<class_Array>` | :ref:`shader_get_param_list<class_VisualServer_method_shader_get_param_list>` **(** :ref:`RID<class_RID>` shader **)** |const| |
  684. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  685. | void | :ref:`shader_set_code<class_VisualServer_method_shader_set_code>` **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` code **)** |
  686. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  687. | void | :ref:`shader_set_default_texture_param<class_VisualServer_method_shader_set_default_texture_param>` **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` name, :ref:`RID<class_RID>` texture **)** |
  688. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  689. | void | :ref:`skeleton_allocate<class_VisualServer_method_skeleton_allocate>` **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bones, :ref:`bool<class_bool>` is_2d_skeleton=false **)** |
  690. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  691. | :ref:`Transform<class_Transform>` | :ref:`skeleton_bone_get_transform<class_VisualServer_method_skeleton_bone_get_transform>` **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** |const| |
  692. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  693. | :ref:`Transform2D<class_Transform2D>` | :ref:`skeleton_bone_get_transform_2d<class_VisualServer_method_skeleton_bone_get_transform_2d>` **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** |const| |
  694. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  695. | void | :ref:`skeleton_bone_set_transform<class_VisualServer_method_skeleton_bone_set_transform>` **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform<class_Transform>` transform **)** |
  696. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  697. | void | :ref:`skeleton_bone_set_transform_2d<class_VisualServer_method_skeleton_bone_set_transform_2d>` **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform2D<class_Transform2D>` transform **)** |
  698. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  699. | :ref:`RID<class_RID>` | :ref:`skeleton_create<class_VisualServer_method_skeleton_create>` **(** **)** |
  700. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  701. | :ref:`int<class_int>` | :ref:`skeleton_get_bone_count<class_VisualServer_method_skeleton_get_bone_count>` **(** :ref:`RID<class_RID>` skeleton **)** |const| |
  702. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  703. | :ref:`RID<class_RID>` | :ref:`sky_create<class_VisualServer_method_sky_create>` **(** **)** |
  704. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  705. | void | :ref:`sky_set_texture<class_VisualServer_method_sky_set_texture>` **(** :ref:`RID<class_RID>` sky, :ref:`RID<class_RID>` cube_map, :ref:`int<class_int>` radiance_size **)** |
  706. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  707. | :ref:`RID<class_RID>` | :ref:`spot_light_create<class_VisualServer_method_spot_light_create>` **(** **)** |
  708. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  709. | void | :ref:`sync<class_VisualServer_method_sync>` **(** **)** |
  710. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  711. | void | :ref:`texture_allocate<class_VisualServer_method_texture_allocate>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` depth_3d, :ref:`Format<enum_Image_Format>` format, :ref:`TextureType<enum_VisualServer_TextureType>` type, :ref:`int<class_int>` flags=7 **)** |
  712. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  713. | void | :ref:`texture_bind<class_VisualServer_method_texture_bind>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` number **)** |
  714. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  715. | :ref:`RID<class_RID>` | :ref:`texture_create<class_VisualServer_method_texture_create>` **(** **)** |
  716. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  717. | :ref:`RID<class_RID>` | :ref:`texture_create_from_image<class_VisualServer_method_texture_create_from_image>` **(** :ref:`Image<class_Image>` image, :ref:`int<class_int>` flags=7 **)** |
  718. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  719. | :ref:`Array<class_Array>` | :ref:`texture_debug_usage<class_VisualServer_method_texture_debug_usage>` **(** **)** |
  720. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  721. | :ref:`Image<class_Image>` | :ref:`texture_get_data<class_VisualServer_method_texture_get_data>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` cube_side=0 **)** |const| |
  722. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  723. | :ref:`int<class_int>` | :ref:`texture_get_depth<class_VisualServer_method_texture_get_depth>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  724. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  725. | :ref:`int<class_int>` | :ref:`texture_get_flags<class_VisualServer_method_texture_get_flags>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  726. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  727. | :ref:`Format<enum_Image_Format>` | :ref:`texture_get_format<class_VisualServer_method_texture_get_format>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  728. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  729. | :ref:`int<class_int>` | :ref:`texture_get_height<class_VisualServer_method_texture_get_height>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  730. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  731. | :ref:`String<class_String>` | :ref:`texture_get_path<class_VisualServer_method_texture_get_path>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  732. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  733. | :ref:`int<class_int>` | :ref:`texture_get_texid<class_VisualServer_method_texture_get_texid>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  734. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  735. | :ref:`TextureType<enum_VisualServer_TextureType>` | :ref:`texture_get_type<class_VisualServer_method_texture_get_type>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  736. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  737. | :ref:`int<class_int>` | :ref:`texture_get_width<class_VisualServer_method_texture_get_width>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  738. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  739. | void | :ref:`texture_set_data<class_VisualServer_method_texture_set_data>` **(** :ref:`RID<class_RID>` texture, :ref:`Image<class_Image>` image, :ref:`int<class_int>` layer=0 **)** |
  740. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  741. | void | :ref:`texture_set_data_partial<class_VisualServer_method_texture_set_data_partial>` **(** :ref:`RID<class_RID>` texture, :ref:`Image<class_Image>` image, :ref:`int<class_int>` src_x, :ref:`int<class_int>` src_y, :ref:`int<class_int>` src_w, :ref:`int<class_int>` src_h, :ref:`int<class_int>` dst_x, :ref:`int<class_int>` dst_y, :ref:`int<class_int>` dst_mip, :ref:`int<class_int>` layer=0 **)** |
  742. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  743. | void | :ref:`texture_set_flags<class_VisualServer_method_texture_set_flags>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` flags **)** |
  744. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  745. | void | :ref:`texture_set_path<class_VisualServer_method_texture_set_path>` **(** :ref:`RID<class_RID>` texture, :ref:`String<class_String>` path **)** |
  746. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  747. | void | :ref:`texture_set_proxy<class_VisualServer_method_texture_set_proxy>` **(** :ref:`RID<class_RID>` proxy, :ref:`RID<class_RID>` base **)** |
  748. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  749. | void | :ref:`texture_set_shrink_all_x2_on_set_data<class_VisualServer_method_texture_set_shrink_all_x2_on_set_data>` **(** :ref:`bool<class_bool>` shrink **)** |
  750. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  751. | void | :ref:`texture_set_size_override<class_VisualServer_method_texture_set_size_override>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` depth **)** |
  752. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  753. | void | :ref:`textures_keep_original<class_VisualServer_method_textures_keep_original>` **(** :ref:`bool<class_bool>` enable **)** |
  754. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  755. | void | :ref:`viewport_attach_camera<class_VisualServer_method_viewport_attach_camera>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` camera **)** |
  756. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  757. | void | :ref:`viewport_attach_canvas<class_VisualServer_method_viewport_attach_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)** |
  758. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  759. | void | :ref:`viewport_attach_to_screen<class_VisualServer_method_viewport_attach_to_screen>` **(** :ref:`RID<class_RID>` viewport, :ref:`Rect2<class_Rect2>` rect=Rect2( 0, 0, 0, 0 ), :ref:`int<class_int>` screen=0 **)** |
  760. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  761. | :ref:`RID<class_RID>` | :ref:`viewport_create<class_VisualServer_method_viewport_create>` **(** **)** |
  762. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  763. | void | :ref:`viewport_detach<class_VisualServer_method_viewport_detach>` **(** :ref:`RID<class_RID>` viewport **)** |
  764. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  765. | :ref:`int<class_int>` | :ref:`viewport_get_render_info<class_VisualServer_method_viewport_get_render_info>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` info **)** |
  766. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  767. | :ref:`RID<class_RID>` | :ref:`viewport_get_texture<class_VisualServer_method_viewport_get_texture>` **(** :ref:`RID<class_RID>` viewport **)** |const| |
  768. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  769. | void | :ref:`viewport_remove_canvas<class_VisualServer_method_viewport_remove_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)** |
  770. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  771. | void | :ref:`viewport_set_active<class_VisualServer_method_viewport_set_active>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)** |
  772. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  773. | void | :ref:`viewport_set_canvas_stacking<class_VisualServer_method_viewport_set_canvas_stacking>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` layer, :ref:`int<class_int>` sublayer **)** |
  774. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  775. | void | :ref:`viewport_set_canvas_transform<class_VisualServer_method_viewport_set_canvas_transform>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`Transform2D<class_Transform2D>` offset **)** |
  776. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  777. | void | :ref:`viewport_set_clear_mode<class_VisualServer_method_viewport_set_clear_mode>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` clear_mode **)** |
  778. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  779. | void | :ref:`viewport_set_debug_draw<class_VisualServer_method_viewport_set_debug_draw>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` draw **)** |
  780. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  781. | void | :ref:`viewport_set_disable_3d<class_VisualServer_method_viewport_set_disable_3d>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)** |
  782. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  783. | void | :ref:`viewport_set_disable_environment<class_VisualServer_method_viewport_set_disable_environment>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)** |
  784. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  785. | void | :ref:`viewport_set_global_canvas_transform<class_VisualServer_method_viewport_set_global_canvas_transform>` **(** :ref:`RID<class_RID>` viewport, :ref:`Transform2D<class_Transform2D>` transform **)** |
  786. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  787. | void | :ref:`viewport_set_hdr<class_VisualServer_method_viewport_set_hdr>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  788. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  789. | void | :ref:`viewport_set_hide_canvas<class_VisualServer_method_viewport_set_hide_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)** |
  790. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  791. | void | :ref:`viewport_set_hide_scenario<class_VisualServer_method_viewport_set_hide_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)** |
  792. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  793. | void | :ref:`viewport_set_msaa<class_VisualServer_method_viewport_set_msaa>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` msaa **)** |
  794. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  795. | void | :ref:`viewport_set_parent_viewport<class_VisualServer_method_viewport_set_parent_viewport>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)** |
  796. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  797. | void | :ref:`viewport_set_render_direct_to_screen<class_VisualServer_method_viewport_set_render_direct_to_screen>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  798. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  799. | void | :ref:`viewport_set_scenario<class_VisualServer_method_viewport_set_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)** |
  800. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  801. | void | :ref:`viewport_set_shadow_atlas_quadrant_subdivision<class_VisualServer_method_viewport_set_shadow_atlas_quadrant_subdivision>` **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` quadrant, :ref:`int<class_int>` subdivision **)** |
  802. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  803. | void | :ref:`viewport_set_shadow_atlas_size<class_VisualServer_method_viewport_set_shadow_atlas_size>` **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` size **)** |
  804. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  805. | void | :ref:`viewport_set_sharpen_intensity<class_VisualServer_method_viewport_set_sharpen_intensity>` **(** :ref:`RID<class_RID>` viewport, :ref:`float<class_float>` intensity **)** |
  806. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  807. | void | :ref:`viewport_set_size<class_VisualServer_method_viewport_set_size>` **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` width, :ref:`int<class_int>` height **)** |
  808. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  809. | void | :ref:`viewport_set_transparent_background<class_VisualServer_method_viewport_set_transparent_background>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  810. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  811. | void | :ref:`viewport_set_update_mode<class_VisualServer_method_viewport_set_update_mode>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` update_mode **)** |
  812. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  813. | void | :ref:`viewport_set_usage<class_VisualServer_method_viewport_set_usage>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` usage **)** |
  814. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  815. | void | :ref:`viewport_set_use_32_bpc_depth<class_VisualServer_method_viewport_set_use_32_bpc_depth>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  816. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  817. | void | :ref:`viewport_set_use_arvr<class_VisualServer_method_viewport_set_use_arvr>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` use_arvr **)** |
  818. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  819. | void | :ref:`viewport_set_use_debanding<class_VisualServer_method_viewport_set_use_debanding>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` debanding **)** |
  820. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  821. | void | :ref:`viewport_set_use_fxaa<class_VisualServer_method_viewport_set_use_fxaa>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` fxaa **)** |
  822. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  823. | void | :ref:`viewport_set_vflip<class_VisualServer_method_viewport_set_vflip>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  824. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  825. .. rst-class:: classref-section-separator
  826. ----
  827. .. rst-class:: classref-descriptions-group
  828. Signals
  829. -------
  830. .. _class_VisualServer_signal_frame_post_draw:
  831. .. rst-class:: classref-signal
  832. **frame_post_draw** **(** **)**
  833. Emitted at the end of the frame, after the VisualServer has finished updating all the Viewports.
  834. .. rst-class:: classref-item-separator
  835. ----
  836. .. _class_VisualServer_signal_frame_pre_draw:
  837. .. rst-class:: classref-signal
  838. **frame_pre_draw** **(** **)**
  839. Emitted at the beginning of the frame, before the VisualServer updates all the Viewports.
  840. .. rst-class:: classref-section-separator
  841. ----
  842. .. rst-class:: classref-descriptions-group
  843. Enumerations
  844. ------------
  845. .. _enum_VisualServer_CubeMapSide:
  846. .. rst-class:: classref-enumeration
  847. enum **CubeMapSide**:
  848. .. _class_VisualServer_constant_CUBEMAP_LEFT:
  849. .. rst-class:: classref-enumeration-constant
  850. :ref:`CubeMapSide<enum_VisualServer_CubeMapSide>` **CUBEMAP_LEFT** = ``0``
  851. Marks the left side of a cubemap.
  852. .. _class_VisualServer_constant_CUBEMAP_RIGHT:
  853. .. rst-class:: classref-enumeration-constant
  854. :ref:`CubeMapSide<enum_VisualServer_CubeMapSide>` **CUBEMAP_RIGHT** = ``1``
  855. Marks the right side of a cubemap.
  856. .. _class_VisualServer_constant_CUBEMAP_BOTTOM:
  857. .. rst-class:: classref-enumeration-constant
  858. :ref:`CubeMapSide<enum_VisualServer_CubeMapSide>` **CUBEMAP_BOTTOM** = ``2``
  859. Marks the bottom side of a cubemap.
  860. .. _class_VisualServer_constant_CUBEMAP_TOP:
  861. .. rst-class:: classref-enumeration-constant
  862. :ref:`CubeMapSide<enum_VisualServer_CubeMapSide>` **CUBEMAP_TOP** = ``3``
  863. Marks the top side of a cubemap.
  864. .. _class_VisualServer_constant_CUBEMAP_FRONT:
  865. .. rst-class:: classref-enumeration-constant
  866. :ref:`CubeMapSide<enum_VisualServer_CubeMapSide>` **CUBEMAP_FRONT** = ``4``
  867. Marks the front side of a cubemap.
  868. .. _class_VisualServer_constant_CUBEMAP_BACK:
  869. .. rst-class:: classref-enumeration-constant
  870. :ref:`CubeMapSide<enum_VisualServer_CubeMapSide>` **CUBEMAP_BACK** = ``5``
  871. Marks the back side of a cubemap.
  872. .. rst-class:: classref-item-separator
  873. ----
  874. .. _enum_VisualServer_TextureType:
  875. .. rst-class:: classref-enumeration
  876. enum **TextureType**:
  877. .. _class_VisualServer_constant_TEXTURE_TYPE_2D:
  878. .. rst-class:: classref-enumeration-constant
  879. :ref:`TextureType<enum_VisualServer_TextureType>` **TEXTURE_TYPE_2D** = ``0``
  880. Normal texture with 2 dimensions, width and height.
  881. .. _class_VisualServer_constant_TEXTURE_TYPE_CUBEMAP:
  882. .. rst-class:: classref-enumeration-constant
  883. :ref:`TextureType<enum_VisualServer_TextureType>` **TEXTURE_TYPE_CUBEMAP** = ``2``
  884. Texture made up of six faces, can be looked up with a ``vec3`` in shader.
  885. .. _class_VisualServer_constant_TEXTURE_TYPE_2D_ARRAY:
  886. .. rst-class:: classref-enumeration-constant
  887. :ref:`TextureType<enum_VisualServer_TextureType>` **TEXTURE_TYPE_2D_ARRAY** = ``3``
  888. An array of 2-dimensional textures.
  889. .. _class_VisualServer_constant_TEXTURE_TYPE_3D:
  890. .. rst-class:: classref-enumeration-constant
  891. :ref:`TextureType<enum_VisualServer_TextureType>` **TEXTURE_TYPE_3D** = ``4``
  892. A 3-dimensional texture with width, height, and depth.
  893. .. rst-class:: classref-item-separator
  894. ----
  895. .. _enum_VisualServer_TextureFlags:
  896. .. rst-class:: classref-enumeration
  897. enum **TextureFlags**:
  898. .. _class_VisualServer_constant_TEXTURE_FLAG_MIPMAPS:
  899. .. rst-class:: classref-enumeration-constant
  900. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_MIPMAPS** = ``1``
  901. Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
  902. .. _class_VisualServer_constant_TEXTURE_FLAG_REPEAT:
  903. .. rst-class:: classref-enumeration-constant
  904. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_REPEAT** = ``2``
  905. Repeats the texture (instead of clamp to edge).
  906. .. _class_VisualServer_constant_TEXTURE_FLAG_FILTER:
  907. .. rst-class:: classref-enumeration-constant
  908. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_FILTER** = ``4``
  909. Uses a magnifying filter, to enable smooth zooming in of the texture.
  910. .. _class_VisualServer_constant_TEXTURE_FLAG_ANISOTROPIC_FILTER:
  911. .. rst-class:: classref-enumeration-constant
  912. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_ANISOTROPIC_FILTER** = ``8``
  913. Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
  914. This results in better-looking textures when viewed from oblique angles.
  915. .. _class_VisualServer_constant_TEXTURE_FLAG_CONVERT_TO_LINEAR:
  916. .. rst-class:: classref-enumeration-constant
  917. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_CONVERT_TO_LINEAR** = ``16``
  918. Converts the texture to the sRGB color space.
  919. .. _class_VisualServer_constant_TEXTURE_FLAG_MIRRORED_REPEAT:
  920. .. rst-class:: classref-enumeration-constant
  921. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_MIRRORED_REPEAT** = ``32``
  922. Repeats the texture with alternate sections mirrored.
  923. .. _class_VisualServer_constant_TEXTURE_FLAG_USED_FOR_STREAMING:
  924. .. rst-class:: classref-enumeration-constant
  925. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAG_USED_FOR_STREAMING** = ``2048``
  926. Texture is a video surface.
  927. .. _class_VisualServer_constant_TEXTURE_FLAGS_DEFAULT:
  928. .. rst-class:: classref-enumeration-constant
  929. :ref:`TextureFlags<enum_VisualServer_TextureFlags>` **TEXTURE_FLAGS_DEFAULT** = ``7``
  930. Default flags. :ref:`TEXTURE_FLAG_MIPMAPS<class_VisualServer_constant_TEXTURE_FLAG_MIPMAPS>`, :ref:`TEXTURE_FLAG_REPEAT<class_VisualServer_constant_TEXTURE_FLAG_REPEAT>` and :ref:`TEXTURE_FLAG_FILTER<class_VisualServer_constant_TEXTURE_FLAG_FILTER>` are enabled.
  931. .. rst-class:: classref-item-separator
  932. ----
  933. .. _enum_VisualServer_ShaderMode:
  934. .. rst-class:: classref-enumeration
  935. enum **ShaderMode**:
  936. .. _class_VisualServer_constant_SHADER_SPATIAL:
  937. .. rst-class:: classref-enumeration-constant
  938. :ref:`ShaderMode<enum_VisualServer_ShaderMode>` **SHADER_SPATIAL** = ``0``
  939. Shader is a 3D shader.
  940. .. _class_VisualServer_constant_SHADER_CANVAS_ITEM:
  941. .. rst-class:: classref-enumeration-constant
  942. :ref:`ShaderMode<enum_VisualServer_ShaderMode>` **SHADER_CANVAS_ITEM** = ``1``
  943. Shader is a 2D shader.
  944. .. _class_VisualServer_constant_SHADER_PARTICLES:
  945. .. rst-class:: classref-enumeration-constant
  946. :ref:`ShaderMode<enum_VisualServer_ShaderMode>` **SHADER_PARTICLES** = ``2``
  947. Shader is a particle shader.
  948. .. _class_VisualServer_constant_SHADER_MAX:
  949. .. rst-class:: classref-enumeration-constant
  950. :ref:`ShaderMode<enum_VisualServer_ShaderMode>` **SHADER_MAX** = ``3``
  951. Represents the size of the :ref:`ShaderMode<enum_VisualServer_ShaderMode>` enum.
  952. .. rst-class:: classref-item-separator
  953. ----
  954. .. _enum_VisualServer_ArrayType:
  955. .. rst-class:: classref-enumeration
  956. enum **ArrayType**:
  957. .. _class_VisualServer_constant_ARRAY_VERTEX:
  958. .. rst-class:: classref-enumeration-constant
  959. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_VERTEX** = ``0``
  960. Array is a vertex array.
  961. .. _class_VisualServer_constant_ARRAY_NORMAL:
  962. .. rst-class:: classref-enumeration-constant
  963. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_NORMAL** = ``1``
  964. Array is a normal array.
  965. .. _class_VisualServer_constant_ARRAY_TANGENT:
  966. .. rst-class:: classref-enumeration-constant
  967. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_TANGENT** = ``2``
  968. Array is a tangent array.
  969. .. _class_VisualServer_constant_ARRAY_COLOR:
  970. .. rst-class:: classref-enumeration-constant
  971. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_COLOR** = ``3``
  972. Array is a color array.
  973. .. _class_VisualServer_constant_ARRAY_TEX_UV:
  974. .. rst-class:: classref-enumeration-constant
  975. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_TEX_UV** = ``4``
  976. Array is an UV coordinates array.
  977. .. _class_VisualServer_constant_ARRAY_TEX_UV2:
  978. .. rst-class:: classref-enumeration-constant
  979. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_TEX_UV2** = ``5``
  980. Array is an UV coordinates array for the second UV coordinates.
  981. .. _class_VisualServer_constant_ARRAY_BONES:
  982. .. rst-class:: classref-enumeration-constant
  983. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_BONES** = ``6``
  984. Array contains bone information.
  985. .. _class_VisualServer_constant_ARRAY_WEIGHTS:
  986. .. rst-class:: classref-enumeration-constant
  987. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_WEIGHTS** = ``7``
  988. Array is weight information.
  989. .. _class_VisualServer_constant_ARRAY_INDEX:
  990. .. rst-class:: classref-enumeration-constant
  991. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_INDEX** = ``8``
  992. Array is index array.
  993. .. _class_VisualServer_constant_ARRAY_MAX:
  994. .. rst-class:: classref-enumeration-constant
  995. :ref:`ArrayType<enum_VisualServer_ArrayType>` **ARRAY_MAX** = ``9``
  996. Represents the size of the :ref:`ArrayType<enum_VisualServer_ArrayType>` enum.
  997. .. rst-class:: classref-item-separator
  998. ----
  999. .. _enum_VisualServer_ArrayFormat:
  1000. .. rst-class:: classref-enumeration
  1001. enum **ArrayFormat**:
  1002. .. _class_VisualServer_constant_ARRAY_FORMAT_VERTEX:
  1003. .. rst-class:: classref-enumeration-constant
  1004. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_VERTEX** = ``1``
  1005. Flag used to mark a vertex array.
  1006. .. _class_VisualServer_constant_ARRAY_FORMAT_NORMAL:
  1007. .. rst-class:: classref-enumeration-constant
  1008. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_NORMAL** = ``2``
  1009. Flag used to mark a normal array.
  1010. .. _class_VisualServer_constant_ARRAY_FORMAT_TANGENT:
  1011. .. rst-class:: classref-enumeration-constant
  1012. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_TANGENT** = ``4``
  1013. Flag used to mark a tangent array.
  1014. .. _class_VisualServer_constant_ARRAY_FORMAT_COLOR:
  1015. .. rst-class:: classref-enumeration-constant
  1016. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_COLOR** = ``8``
  1017. Flag used to mark a color array.
  1018. .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV:
  1019. .. rst-class:: classref-enumeration-constant
  1020. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_TEX_UV** = ``16``
  1021. Flag used to mark an UV coordinates array.
  1022. .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV2:
  1023. .. rst-class:: classref-enumeration-constant
  1024. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_TEX_UV2** = ``32``
  1025. Flag used to mark an UV coordinates array for the second UV coordinates.
  1026. .. _class_VisualServer_constant_ARRAY_FORMAT_BONES:
  1027. .. rst-class:: classref-enumeration-constant
  1028. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_BONES** = ``64``
  1029. Flag used to mark a bone information array.
  1030. .. _class_VisualServer_constant_ARRAY_FORMAT_WEIGHTS:
  1031. .. rst-class:: classref-enumeration-constant
  1032. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_WEIGHTS** = ``128``
  1033. Flag used to mark a weights array.
  1034. .. _class_VisualServer_constant_ARRAY_FORMAT_INDEX:
  1035. .. rst-class:: classref-enumeration-constant
  1036. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FORMAT_INDEX** = ``256``
  1037. Flag used to mark an index array.
  1038. .. _class_VisualServer_constant_ARRAY_COMPRESS_VERTEX:
  1039. .. rst-class:: classref-enumeration-constant
  1040. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_VERTEX** = ``512``
  1041. Flag used to mark a compressed (half float) vertex array.
  1042. .. _class_VisualServer_constant_ARRAY_COMPRESS_NORMAL:
  1043. .. rst-class:: classref-enumeration-constant
  1044. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_NORMAL** = ``1024``
  1045. Flag used to mark a compressed (half float) normal array.
  1046. .. _class_VisualServer_constant_ARRAY_COMPRESS_TANGENT:
  1047. .. rst-class:: classref-enumeration-constant
  1048. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_TANGENT** = ``2048``
  1049. Flag used to mark a compressed (half float) tangent array.
  1050. .. _class_VisualServer_constant_ARRAY_COMPRESS_COLOR:
  1051. .. rst-class:: classref-enumeration-constant
  1052. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_COLOR** = ``4096``
  1053. Flag used to mark a compressed (half float) color array.
  1054. .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV:
  1055. .. rst-class:: classref-enumeration-constant
  1056. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_TEX_UV** = ``8192``
  1057. Flag used to mark a compressed (half float) UV coordinates array.
  1058. .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV2:
  1059. .. rst-class:: classref-enumeration-constant
  1060. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_TEX_UV2** = ``16384``
  1061. Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
  1062. .. _class_VisualServer_constant_ARRAY_COMPRESS_BONES:
  1063. .. rst-class:: classref-enumeration-constant
  1064. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_BONES** = ``32768``
  1065. Flag used to mark a compressed bone array.
  1066. .. _class_VisualServer_constant_ARRAY_COMPRESS_WEIGHTS:
  1067. .. rst-class:: classref-enumeration-constant
  1068. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_WEIGHTS** = ``65536``
  1069. Flag used to mark a compressed (half float) weight array.
  1070. .. _class_VisualServer_constant_ARRAY_COMPRESS_INDEX:
  1071. .. rst-class:: classref-enumeration-constant
  1072. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_INDEX** = ``131072``
  1073. Flag used to mark a compressed index array.
  1074. .. _class_VisualServer_constant_ARRAY_FLAG_USE_2D_VERTICES:
  1075. .. rst-class:: classref-enumeration-constant
  1076. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FLAG_USE_2D_VERTICES** = ``262144``
  1077. Flag used to mark that the array contains 2D vertices.
  1078. .. _class_VisualServer_constant_ARRAY_FLAG_USE_16_BIT_BONES:
  1079. .. rst-class:: classref-enumeration-constant
  1080. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FLAG_USE_16_BIT_BONES** = ``524288``
  1081. Flag used to mark that the array uses 16-bit bones instead of 8-bit.
  1082. .. _class_VisualServer_constant_ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION:
  1083. .. rst-class:: classref-enumeration-constant
  1084. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION** = ``2097152``
  1085. Flag used to mark that the array uses an octahedral representation of normal and tangent vectors rather than cartesian.
  1086. .. _class_VisualServer_constant_ARRAY_COMPRESS_DEFAULT:
  1087. .. rst-class:: classref-enumeration-constant
  1088. :ref:`ArrayFormat<enum_VisualServer_ArrayFormat>` **ARRAY_COMPRESS_DEFAULT** = ``2194432``
  1089. Used to set flags :ref:`ARRAY_COMPRESS_NORMAL<class_VisualServer_constant_ARRAY_COMPRESS_NORMAL>`, :ref:`ARRAY_COMPRESS_TANGENT<class_VisualServer_constant_ARRAY_COMPRESS_TANGENT>`, :ref:`ARRAY_COMPRESS_COLOR<class_VisualServer_constant_ARRAY_COMPRESS_COLOR>`, :ref:`ARRAY_COMPRESS_TEX_UV<class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV>`, :ref:`ARRAY_COMPRESS_TEX_UV2<class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV2>`, :ref:`ARRAY_COMPRESS_WEIGHTS<class_VisualServer_constant_ARRAY_COMPRESS_WEIGHTS>`, and :ref:`ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION<class_VisualServer_constant_ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION>` quickly.
  1090. .. rst-class:: classref-item-separator
  1091. ----
  1092. .. _enum_VisualServer_PrimitiveType:
  1093. .. rst-class:: classref-enumeration
  1094. enum **PrimitiveType**:
  1095. .. _class_VisualServer_constant_PRIMITIVE_POINTS:
  1096. .. rst-class:: classref-enumeration-constant
  1097. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_POINTS** = ``0``
  1098. Primitive to draw consists of points.
  1099. .. _class_VisualServer_constant_PRIMITIVE_LINES:
  1100. .. rst-class:: classref-enumeration-constant
  1101. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_LINES** = ``1``
  1102. Primitive to draw consists of lines.
  1103. .. _class_VisualServer_constant_PRIMITIVE_LINE_STRIP:
  1104. .. rst-class:: classref-enumeration-constant
  1105. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_LINE_STRIP** = ``2``
  1106. Primitive to draw consists of a line strip from start to end.
  1107. .. _class_VisualServer_constant_PRIMITIVE_LINE_LOOP:
  1108. .. rst-class:: classref-enumeration-constant
  1109. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_LINE_LOOP** = ``3``
  1110. Primitive to draw consists of a line loop (a line strip with a line between the last and the first vertex).
  1111. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLES:
  1112. .. rst-class:: classref-enumeration-constant
  1113. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_TRIANGLES** = ``4``
  1114. Primitive to draw consists of triangles.
  1115. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLE_STRIP:
  1116. .. rst-class:: classref-enumeration-constant
  1117. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_TRIANGLE_STRIP** = ``5``
  1118. Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle).
  1119. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLE_FAN:
  1120. .. rst-class:: classref-enumeration-constant
  1121. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_TRIANGLE_FAN** = ``6``
  1122. Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle).
  1123. .. _class_VisualServer_constant_PRIMITIVE_MAX:
  1124. .. rst-class:: classref-enumeration-constant
  1125. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **PRIMITIVE_MAX** = ``7``
  1126. Represents the size of the :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` enum.
  1127. .. rst-class:: classref-item-separator
  1128. ----
  1129. .. _enum_VisualServer_BlendShapeMode:
  1130. .. rst-class:: classref-enumeration
  1131. enum **BlendShapeMode**:
  1132. .. _class_VisualServer_constant_BLEND_SHAPE_MODE_NORMALIZED:
  1133. .. rst-class:: classref-enumeration-constant
  1134. :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` **BLEND_SHAPE_MODE_NORMALIZED** = ``0``
  1135. Blend shapes are normalized.
  1136. .. _class_VisualServer_constant_BLEND_SHAPE_MODE_RELATIVE:
  1137. .. rst-class:: classref-enumeration-constant
  1138. :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` **BLEND_SHAPE_MODE_RELATIVE** = ``1``
  1139. Blend shapes are relative to base weight.
  1140. .. rst-class:: classref-item-separator
  1141. ----
  1142. .. _enum_VisualServer_LightType:
  1143. .. rst-class:: classref-enumeration
  1144. enum **LightType**:
  1145. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL:
  1146. .. rst-class:: classref-enumeration-constant
  1147. :ref:`LightType<enum_VisualServer_LightType>` **LIGHT_DIRECTIONAL** = ``0``
  1148. Is a directional (sun) light.
  1149. .. _class_VisualServer_constant_LIGHT_OMNI:
  1150. .. rst-class:: classref-enumeration-constant
  1151. :ref:`LightType<enum_VisualServer_LightType>` **LIGHT_OMNI** = ``1``
  1152. Is an omni light.
  1153. .. _class_VisualServer_constant_LIGHT_SPOT:
  1154. .. rst-class:: classref-enumeration-constant
  1155. :ref:`LightType<enum_VisualServer_LightType>` **LIGHT_SPOT** = ``2``
  1156. Is a spot light.
  1157. .. rst-class:: classref-item-separator
  1158. ----
  1159. .. _enum_VisualServer_LightParam:
  1160. .. rst-class:: classref-enumeration
  1161. enum **LightParam**:
  1162. .. _class_VisualServer_constant_LIGHT_PARAM_ENERGY:
  1163. .. rst-class:: classref-enumeration-constant
  1164. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_ENERGY** = ``0``
  1165. The light's energy.
  1166. .. _class_VisualServer_constant_LIGHT_PARAM_INDIRECT_ENERGY:
  1167. .. rst-class:: classref-enumeration-constant
  1168. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_INDIRECT_ENERGY** = ``1``
  1169. Secondary multiplier used with indirect light (light bounces).
  1170. .. _class_VisualServer_constant_LIGHT_PARAM_SIZE:
  1171. .. rst-class:: classref-enumeration-constant
  1172. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SIZE** = ``2``
  1173. The light's size, currently only used for soft shadows in baked lightmaps.
  1174. .. _class_VisualServer_constant_LIGHT_PARAM_SPECULAR:
  1175. .. rst-class:: classref-enumeration-constant
  1176. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SPECULAR** = ``3``
  1177. The light's influence on specularity.
  1178. .. _class_VisualServer_constant_LIGHT_PARAM_RANGE:
  1179. .. rst-class:: classref-enumeration-constant
  1180. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_RANGE** = ``4``
  1181. The light's range.
  1182. .. _class_VisualServer_constant_LIGHT_PARAM_ATTENUATION:
  1183. .. rst-class:: classref-enumeration-constant
  1184. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_ATTENUATION** = ``5``
  1185. The light's attenuation.
  1186. .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ANGLE:
  1187. .. rst-class:: classref-enumeration-constant
  1188. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SPOT_ANGLE** = ``6``
  1189. The spotlight's angle.
  1190. .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ATTENUATION:
  1191. .. rst-class:: classref-enumeration-constant
  1192. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SPOT_ATTENUATION** = ``7``
  1193. The spotlight's attenuation.
  1194. .. _class_VisualServer_constant_LIGHT_PARAM_CONTACT_SHADOW_SIZE:
  1195. .. rst-class:: classref-enumeration-constant
  1196. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_CONTACT_SHADOW_SIZE** = ``8``
  1197. Scales the shadow color.
  1198. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE:
  1199. .. rst-class:: classref-enumeration-constant
  1200. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_MAX_DISTANCE** = ``9``
  1201. Max distance that shadows will be rendered.
  1202. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET:
  1203. .. rst-class:: classref-enumeration-constant
  1204. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET** = ``10``
  1205. Proportion of shadow atlas occupied by the first split.
  1206. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET:
  1207. .. rst-class:: classref-enumeration-constant
  1208. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET** = ``11``
  1209. Proportion of shadow atlas occupied by the second split.
  1210. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET:
  1211. .. rst-class:: classref-enumeration-constant
  1212. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET** = ``12``
  1213. Proportion of shadow atlas occupied by the third split. The fourth split occupies the rest.
  1214. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_NORMAL_BIAS:
  1215. .. rst-class:: classref-enumeration-constant
  1216. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_NORMAL_BIAS** = ``13``
  1217. Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts.
  1218. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS:
  1219. .. rst-class:: classref-enumeration-constant
  1220. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_BIAS** = ``14``
  1221. Bias the shadow lookup to fix self-shadowing artifacts.
  1222. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE:
  1223. .. rst-class:: classref-enumeration-constant
  1224. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE** = ``15``
  1225. Increases bias on further splits to fix self-shadowing that only occurs far away from the camera.
  1226. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_FADE_START:
  1227. .. rst-class:: classref-enumeration-constant
  1228. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_SHADOW_FADE_START** = ``16``
  1229. Proportion of :ref:`LIGHT_PARAM_SHADOW_MAX_DISTANCE<class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE>` at which point the shadow starts to fade. At :ref:`LIGHT_PARAM_SHADOW_MAX_DISTANCE<class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE>`, the shadow will disappear. The default value is a balance between smooth fading and distant shadow visibility. If the camera moves fast and the :ref:`LIGHT_PARAM_SHADOW_MAX_DISTANCE<class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE>` is low, consider lowering :ref:`LIGHT_PARAM_SHADOW_FADE_START<class_VisualServer_constant_LIGHT_PARAM_SHADOW_FADE_START>` below ``0.8`` to make shadow transitions less noticeable. On the other hand, if you tuned :ref:`LIGHT_PARAM_SHADOW_MAX_DISTANCE<class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE>` to cover the entire scene, you can set :ref:`LIGHT_PARAM_SHADOW_FADE_START<class_VisualServer_constant_LIGHT_PARAM_SHADOW_FADE_START>` to ``1.0`` to prevent the shadow from fading in the distance (it will suddenly cut off instead).
  1230. .. _class_VisualServer_constant_LIGHT_PARAM_MAX:
  1231. .. rst-class:: classref-enumeration-constant
  1232. :ref:`LightParam<enum_VisualServer_LightParam>` **LIGHT_PARAM_MAX** = ``17``
  1233. Represents the size of the :ref:`LightParam<enum_VisualServer_LightParam>` enum.
  1234. .. rst-class:: classref-item-separator
  1235. ----
  1236. .. _enum_VisualServer_LightBakeMode:
  1237. .. rst-class:: classref-enumeration
  1238. enum **LightBakeMode**:
  1239. .. _class_VisualServer_constant_LIGHT_BAKE_DISABLED:
  1240. .. rst-class:: classref-enumeration-constant
  1241. :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` **LIGHT_BAKE_DISABLED** = ``0``
  1242. .. _class_VisualServer_constant_LIGHT_BAKE_INDIRECT:
  1243. .. rst-class:: classref-enumeration-constant
  1244. :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` **LIGHT_BAKE_INDIRECT** = ``1``
  1245. .. _class_VisualServer_constant_LIGHT_BAKE_ALL:
  1246. .. rst-class:: classref-enumeration-constant
  1247. :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` **LIGHT_BAKE_ALL** = ``2``
  1248. .. rst-class:: classref-item-separator
  1249. ----
  1250. .. _enum_VisualServer_LightOmniShadowMode:
  1251. .. rst-class:: classref-enumeration
  1252. enum **LightOmniShadowMode**:
  1253. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DUAL_PARABOLOID:
  1254. .. rst-class:: classref-enumeration-constant
  1255. :ref:`LightOmniShadowMode<enum_VisualServer_LightOmniShadowMode>` **LIGHT_OMNI_SHADOW_DUAL_PARABOLOID** = ``0``
  1256. Use a dual paraboloid shadow map for omni lights.
  1257. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_CUBE:
  1258. .. rst-class:: classref-enumeration-constant
  1259. :ref:`LightOmniShadowMode<enum_VisualServer_LightOmniShadowMode>` **LIGHT_OMNI_SHADOW_CUBE** = ``1``
  1260. Use a cubemap shadow map for omni lights. Slower but better quality than dual paraboloid.
  1261. .. rst-class:: classref-item-separator
  1262. ----
  1263. .. _enum_VisualServer_LightOmniShadowDetail:
  1264. .. rst-class:: classref-enumeration
  1265. enum **LightOmniShadowDetail**:
  1266. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DETAIL_VERTICAL:
  1267. .. rst-class:: classref-enumeration-constant
  1268. :ref:`LightOmniShadowDetail<enum_VisualServer_LightOmniShadowDetail>` **LIGHT_OMNI_SHADOW_DETAIL_VERTICAL** = ``0``
  1269. Use more detail vertically when computing shadow map.
  1270. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL:
  1271. .. rst-class:: classref-enumeration-constant
  1272. :ref:`LightOmniShadowDetail<enum_VisualServer_LightOmniShadowDetail>` **LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL** = ``1``
  1273. Use more detail horizontally when computing shadow map.
  1274. .. rst-class:: classref-item-separator
  1275. ----
  1276. .. _enum_VisualServer_LightDirectionalShadowMode:
  1277. .. rst-class:: classref-enumeration
  1278. enum **LightDirectionalShadowMode**:
  1279. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL:
  1280. .. rst-class:: classref-enumeration-constant
  1281. :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` **LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL** = ``0``
  1282. Use orthogonal shadow projection for directional light.
  1283. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS:
  1284. .. rst-class:: classref-enumeration-constant
  1285. :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS** = ``1``
  1286. Use 2 splits for shadow projection when using directional light.
  1287. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_3_SPLITS:
  1288. .. rst-class:: classref-enumeration-constant
  1289. :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_3_SPLITS** = ``2``
  1290. Use 3 splits for shadow projection when using directional light.
  1291. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS:
  1292. .. rst-class:: classref-enumeration-constant
  1293. :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS** = ``3``
  1294. Use 4 splits for shadow projection when using directional light.
  1295. .. rst-class:: classref-item-separator
  1296. ----
  1297. .. _enum_VisualServer_LightDirectionalShadowDepthRangeMode:
  1298. .. rst-class:: classref-enumeration
  1299. enum **LightDirectionalShadowDepthRangeMode**:
  1300. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE:
  1301. .. rst-class:: classref-enumeration-constant
  1302. :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE** = ``0``
  1303. Keeps shadows stable as camera moves but has lower effective resolution.
  1304. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED:
  1305. .. rst-class:: classref-enumeration-constant
  1306. :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED** = ``1``
  1307. Optimize use of shadow maps, increasing the effective resolution. But may result in shadows moving or flickering slightly.
  1308. .. rst-class:: classref-item-separator
  1309. ----
  1310. .. _enum_VisualServer_ViewportUpdateMode:
  1311. .. rst-class:: classref-enumeration
  1312. enum **ViewportUpdateMode**:
  1313. .. _class_VisualServer_constant_VIEWPORT_UPDATE_DISABLED:
  1314. .. rst-class:: classref-enumeration-constant
  1315. :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` **VIEWPORT_UPDATE_DISABLED** = ``0``
  1316. Do not update the viewport.
  1317. .. _class_VisualServer_constant_VIEWPORT_UPDATE_ONCE:
  1318. .. rst-class:: classref-enumeration-constant
  1319. :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` **VIEWPORT_UPDATE_ONCE** = ``1``
  1320. Update the viewport once then set to disabled.
  1321. .. _class_VisualServer_constant_VIEWPORT_UPDATE_WHEN_VISIBLE:
  1322. .. rst-class:: classref-enumeration-constant
  1323. :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` **VIEWPORT_UPDATE_WHEN_VISIBLE** = ``2``
  1324. Update the viewport whenever it is visible.
  1325. .. _class_VisualServer_constant_VIEWPORT_UPDATE_ALWAYS:
  1326. .. rst-class:: classref-enumeration-constant
  1327. :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` **VIEWPORT_UPDATE_ALWAYS** = ``3``
  1328. Always update the viewport.
  1329. .. rst-class:: classref-item-separator
  1330. ----
  1331. .. _enum_VisualServer_ViewportClearMode:
  1332. .. rst-class:: classref-enumeration
  1333. enum **ViewportClearMode**:
  1334. .. _class_VisualServer_constant_VIEWPORT_CLEAR_ALWAYS:
  1335. .. rst-class:: classref-enumeration-constant
  1336. :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` **VIEWPORT_CLEAR_ALWAYS** = ``0``
  1337. The viewport is always cleared before drawing.
  1338. .. _class_VisualServer_constant_VIEWPORT_CLEAR_NEVER:
  1339. .. rst-class:: classref-enumeration-constant
  1340. :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` **VIEWPORT_CLEAR_NEVER** = ``1``
  1341. The viewport is never cleared before drawing.
  1342. .. _class_VisualServer_constant_VIEWPORT_CLEAR_ONLY_NEXT_FRAME:
  1343. .. rst-class:: classref-enumeration-constant
  1344. :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` **VIEWPORT_CLEAR_ONLY_NEXT_FRAME** = ``2``
  1345. The viewport is cleared once, then the clear mode is set to :ref:`VIEWPORT_CLEAR_NEVER<class_VisualServer_constant_VIEWPORT_CLEAR_NEVER>`.
  1346. .. rst-class:: classref-item-separator
  1347. ----
  1348. .. _enum_VisualServer_ViewportMSAA:
  1349. .. rst-class:: classref-enumeration
  1350. enum **ViewportMSAA**:
  1351. .. _class_VisualServer_constant_VIEWPORT_MSAA_DISABLED:
  1352. .. rst-class:: classref-enumeration-constant
  1353. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_DISABLED** = ``0``
  1354. Multisample antialiasing is disabled.
  1355. .. _class_VisualServer_constant_VIEWPORT_MSAA_2X:
  1356. .. rst-class:: classref-enumeration-constant
  1357. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_2X** = ``1``
  1358. Multisample antialiasing is set to 2×.
  1359. .. _class_VisualServer_constant_VIEWPORT_MSAA_4X:
  1360. .. rst-class:: classref-enumeration-constant
  1361. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_4X** = ``2``
  1362. Multisample antialiasing is set to 4×.
  1363. .. _class_VisualServer_constant_VIEWPORT_MSAA_8X:
  1364. .. rst-class:: classref-enumeration-constant
  1365. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_8X** = ``3``
  1366. Multisample antialiasing is set to 8×.
  1367. .. _class_VisualServer_constant_VIEWPORT_MSAA_16X:
  1368. .. rst-class:: classref-enumeration-constant
  1369. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_16X** = ``4``
  1370. Multisample antialiasing is set to 16×.
  1371. .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_2X:
  1372. .. rst-class:: classref-enumeration-constant
  1373. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_EXT_2X** = ``5``
  1374. Multisample antialiasing is set to 2× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
  1375. .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_4X:
  1376. .. rst-class:: classref-enumeration-constant
  1377. :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` **VIEWPORT_MSAA_EXT_4X** = ``6``
  1378. Multisample antialiasing is set to 4× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
  1379. .. rst-class:: classref-item-separator
  1380. ----
  1381. .. _enum_VisualServer_ViewportUsage:
  1382. .. rst-class:: classref-enumeration
  1383. enum **ViewportUsage**:
  1384. .. _class_VisualServer_constant_VIEWPORT_USAGE_2D:
  1385. .. rst-class:: classref-enumeration-constant
  1386. :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` **VIEWPORT_USAGE_2D** = ``0``
  1387. The Viewport does not render 3D but samples.
  1388. .. _class_VisualServer_constant_VIEWPORT_USAGE_2D_NO_SAMPLING:
  1389. .. rst-class:: classref-enumeration-constant
  1390. :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` **VIEWPORT_USAGE_2D_NO_SAMPLING** = ``1``
  1391. The Viewport does not render 3D and does not sample.
  1392. .. _class_VisualServer_constant_VIEWPORT_USAGE_3D:
  1393. .. rst-class:: classref-enumeration-constant
  1394. :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` **VIEWPORT_USAGE_3D** = ``2``
  1395. The Viewport renders 3D with effects.
  1396. .. _class_VisualServer_constant_VIEWPORT_USAGE_3D_NO_EFFECTS:
  1397. .. rst-class:: classref-enumeration-constant
  1398. :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` **VIEWPORT_USAGE_3D_NO_EFFECTS** = ``3``
  1399. The Viewport renders 3D but without effects.
  1400. .. rst-class:: classref-item-separator
  1401. ----
  1402. .. _enum_VisualServer_ViewportRenderInfo:
  1403. .. rst-class:: classref-enumeration
  1404. enum **ViewportRenderInfo**:
  1405. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME:
  1406. .. rst-class:: classref-enumeration-constant
  1407. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME** = ``0``
  1408. Number of objects drawn in a single frame.
  1409. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME:
  1410. .. rst-class:: classref-enumeration-constant
  1411. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME** = ``1``
  1412. Number of vertices drawn in a single frame.
  1413. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME:
  1414. .. rst-class:: classref-enumeration-constant
  1415. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME** = ``2``
  1416. Number of material changes during this frame.
  1417. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME:
  1418. .. rst-class:: classref-enumeration-constant
  1419. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME** = ``3``
  1420. Number of shader changes during this frame.
  1421. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME:
  1422. .. rst-class:: classref-enumeration-constant
  1423. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME** = ``4``
  1424. Number of surface changes during this frame.
  1425. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME:
  1426. .. rst-class:: classref-enumeration-constant
  1427. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME** = ``5``
  1428. Number of draw calls during this frame.
  1429. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME:
  1430. .. rst-class:: classref-enumeration-constant
  1431. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME** = ``6``
  1432. Number of 2d items drawn this frame.
  1433. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME:
  1434. .. rst-class:: classref-enumeration-constant
  1435. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME** = ``7``
  1436. Number of 2d draw calls during this frame.
  1437. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MAX:
  1438. .. rst-class:: classref-enumeration-constant
  1439. :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` **VIEWPORT_RENDER_INFO_MAX** = ``8``
  1440. Represents the size of the :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` enum.
  1441. .. rst-class:: classref-item-separator
  1442. ----
  1443. .. _enum_VisualServer_ViewportDebugDraw:
  1444. .. rst-class:: classref-enumeration
  1445. enum **ViewportDebugDraw**:
  1446. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_DISABLED:
  1447. .. rst-class:: classref-enumeration-constant
  1448. :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` **VIEWPORT_DEBUG_DRAW_DISABLED** = ``0``
  1449. Debug draw is disabled. Default setting.
  1450. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_UNSHADED:
  1451. .. rst-class:: classref-enumeration-constant
  1452. :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` **VIEWPORT_DEBUG_DRAW_UNSHADED** = ``1``
  1453. Debug draw sets objects to unshaded.
  1454. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_OVERDRAW:
  1455. .. rst-class:: classref-enumeration-constant
  1456. :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` **VIEWPORT_DEBUG_DRAW_OVERDRAW** = ``2``
  1457. Overwrites clear color to ``(0,0,0,0)``.
  1458. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_WIREFRAME:
  1459. .. rst-class:: classref-enumeration-constant
  1460. :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` **VIEWPORT_DEBUG_DRAW_WIREFRAME** = ``3``
  1461. Debug draw draws objects in wireframe.
  1462. .. rst-class:: classref-item-separator
  1463. ----
  1464. .. _enum_VisualServer_ScenarioDebugMode:
  1465. .. rst-class:: classref-enumeration
  1466. enum **ScenarioDebugMode**:
  1467. .. _class_VisualServer_constant_SCENARIO_DEBUG_DISABLED:
  1468. .. rst-class:: classref-enumeration-constant
  1469. :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` **SCENARIO_DEBUG_DISABLED** = ``0``
  1470. Do not use a debug mode.
  1471. .. _class_VisualServer_constant_SCENARIO_DEBUG_WIREFRAME:
  1472. .. rst-class:: classref-enumeration-constant
  1473. :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` **SCENARIO_DEBUG_WIREFRAME** = ``1``
  1474. Draw all objects as wireframe models.
  1475. .. _class_VisualServer_constant_SCENARIO_DEBUG_OVERDRAW:
  1476. .. rst-class:: classref-enumeration-constant
  1477. :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` **SCENARIO_DEBUG_OVERDRAW** = ``2``
  1478. Draw all objects in a way that displays how much overdraw is occurring. Overdraw occurs when a section of pixels is drawn and shaded and then another object covers it up. To optimize a scene, you should reduce overdraw.
  1479. .. _class_VisualServer_constant_SCENARIO_DEBUG_SHADELESS:
  1480. .. rst-class:: classref-enumeration-constant
  1481. :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` **SCENARIO_DEBUG_SHADELESS** = ``3``
  1482. Draw all objects without shading. Equivalent to setting all objects shaders to ``unshaded``.
  1483. .. rst-class:: classref-item-separator
  1484. ----
  1485. .. _enum_VisualServer_InstanceType:
  1486. .. rst-class:: classref-enumeration
  1487. enum **InstanceType**:
  1488. .. _class_VisualServer_constant_INSTANCE_NONE:
  1489. .. rst-class:: classref-enumeration-constant
  1490. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_NONE** = ``0``
  1491. The instance does not have a type.
  1492. .. _class_VisualServer_constant_INSTANCE_MESH:
  1493. .. rst-class:: classref-enumeration-constant
  1494. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_MESH** = ``1``
  1495. The instance is a mesh.
  1496. .. _class_VisualServer_constant_INSTANCE_MULTIMESH:
  1497. .. rst-class:: classref-enumeration-constant
  1498. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_MULTIMESH** = ``2``
  1499. The instance is a multimesh.
  1500. .. _class_VisualServer_constant_INSTANCE_IMMEDIATE:
  1501. .. rst-class:: classref-enumeration-constant
  1502. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_IMMEDIATE** = ``3``
  1503. The instance is an immediate geometry.
  1504. .. _class_VisualServer_constant_INSTANCE_PARTICLES:
  1505. .. rst-class:: classref-enumeration-constant
  1506. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_PARTICLES** = ``4``
  1507. The instance is a particle emitter.
  1508. .. _class_VisualServer_constant_INSTANCE_LIGHT:
  1509. .. rst-class:: classref-enumeration-constant
  1510. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_LIGHT** = ``5``
  1511. The instance is a light.
  1512. .. _class_VisualServer_constant_INSTANCE_REFLECTION_PROBE:
  1513. .. rst-class:: classref-enumeration-constant
  1514. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_REFLECTION_PROBE** = ``6``
  1515. The instance is a reflection probe.
  1516. .. _class_VisualServer_constant_INSTANCE_GI_PROBE:
  1517. .. rst-class:: classref-enumeration-constant
  1518. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_GI_PROBE** = ``7``
  1519. The instance is a GI probe.
  1520. .. _class_VisualServer_constant_INSTANCE_LIGHTMAP_CAPTURE:
  1521. .. rst-class:: classref-enumeration-constant
  1522. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_LIGHTMAP_CAPTURE** = ``8``
  1523. The instance is a lightmap capture.
  1524. .. _class_VisualServer_constant_INSTANCE_MAX:
  1525. .. rst-class:: classref-enumeration-constant
  1526. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_MAX** = ``9``
  1527. Represents the size of the :ref:`InstanceType<enum_VisualServer_InstanceType>` enum.
  1528. .. _class_VisualServer_constant_INSTANCE_GEOMETRY_MASK:
  1529. .. rst-class:: classref-enumeration-constant
  1530. :ref:`InstanceType<enum_VisualServer_InstanceType>` **INSTANCE_GEOMETRY_MASK** = ``30``
  1531. A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
  1532. .. rst-class:: classref-item-separator
  1533. ----
  1534. .. _enum_VisualServer_InstanceFlags:
  1535. .. rst-class:: classref-enumeration
  1536. enum **InstanceFlags**:
  1537. .. _class_VisualServer_constant_INSTANCE_FLAG_USE_BAKED_LIGHT:
  1538. .. rst-class:: classref-enumeration-constant
  1539. :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` **INSTANCE_FLAG_USE_BAKED_LIGHT** = ``0``
  1540. Allows the instance to be used in baked lighting.
  1541. .. _class_VisualServer_constant_INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE:
  1542. .. rst-class:: classref-enumeration-constant
  1543. :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` **INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE** = ``1``
  1544. When set, manually requests to draw geometry on next frame.
  1545. .. _class_VisualServer_constant_INSTANCE_FLAG_MAX:
  1546. .. rst-class:: classref-enumeration-constant
  1547. :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` **INSTANCE_FLAG_MAX** = ``2``
  1548. Represents the size of the :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` enum.
  1549. .. rst-class:: classref-item-separator
  1550. ----
  1551. .. _enum_VisualServer_ShadowCastingSetting:
  1552. .. rst-class:: classref-enumeration
  1553. enum **ShadowCastingSetting**:
  1554. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_OFF:
  1555. .. rst-class:: classref-enumeration-constant
  1556. :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` **SHADOW_CASTING_SETTING_OFF** = ``0``
  1557. Disable shadows from this instance.
  1558. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_ON:
  1559. .. rst-class:: classref-enumeration-constant
  1560. :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` **SHADOW_CASTING_SETTING_ON** = ``1``
  1561. Cast shadows from this instance.
  1562. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_DOUBLE_SIDED:
  1563. .. rst-class:: classref-enumeration-constant
  1564. :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` **SHADOW_CASTING_SETTING_DOUBLE_SIDED** = ``2``
  1565. Disable backface culling when rendering the shadow of the object. This is slightly slower but may result in more correct shadows.
  1566. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_SHADOWS_ONLY:
  1567. .. rst-class:: classref-enumeration-constant
  1568. :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = ``3``
  1569. Only render the shadows from the object. The object itself will not be drawn.
  1570. .. rst-class:: classref-item-separator
  1571. ----
  1572. .. _enum_VisualServer_NinePatchAxisMode:
  1573. .. rst-class:: classref-enumeration
  1574. enum **NinePatchAxisMode**:
  1575. .. _class_VisualServer_constant_NINE_PATCH_STRETCH:
  1576. .. rst-class:: classref-enumeration-constant
  1577. :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` **NINE_PATCH_STRETCH** = ``0``
  1578. The nine patch gets stretched where needed.
  1579. .. _class_VisualServer_constant_NINE_PATCH_TILE:
  1580. .. rst-class:: classref-enumeration-constant
  1581. :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` **NINE_PATCH_TILE** = ``1``
  1582. The nine patch gets filled with tiles where needed.
  1583. .. _class_VisualServer_constant_NINE_PATCH_TILE_FIT:
  1584. .. rst-class:: classref-enumeration-constant
  1585. :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` **NINE_PATCH_TILE_FIT** = ``2``
  1586. The nine patch gets filled with tiles where needed and stretches them a bit if needed.
  1587. .. rst-class:: classref-item-separator
  1588. ----
  1589. .. _enum_VisualServer_CanvasLightMode:
  1590. .. rst-class:: classref-enumeration
  1591. enum **CanvasLightMode**:
  1592. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_ADD:
  1593. .. rst-class:: classref-enumeration-constant
  1594. :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` **CANVAS_LIGHT_MODE_ADD** = ``0``
  1595. Adds light color additive to the canvas.
  1596. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_SUB:
  1597. .. rst-class:: classref-enumeration-constant
  1598. :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` **CANVAS_LIGHT_MODE_SUB** = ``1``
  1599. Adds light color subtractive to the canvas.
  1600. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MIX:
  1601. .. rst-class:: classref-enumeration-constant
  1602. :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` **CANVAS_LIGHT_MODE_MIX** = ``2``
  1603. The light adds color depending on transparency.
  1604. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MASK:
  1605. .. rst-class:: classref-enumeration-constant
  1606. :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` **CANVAS_LIGHT_MODE_MASK** = ``3``
  1607. The light adds color depending on mask.
  1608. .. rst-class:: classref-item-separator
  1609. ----
  1610. .. _enum_VisualServer_CanvasLightShadowFilter:
  1611. .. rst-class:: classref-enumeration
  1612. enum **CanvasLightShadowFilter**:
  1613. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_NONE:
  1614. .. rst-class:: classref-enumeration-constant
  1615. :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` **CANVAS_LIGHT_FILTER_NONE** = ``0``
  1616. Do not apply a filter to canvas light shadows.
  1617. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF3:
  1618. .. rst-class:: classref-enumeration-constant
  1619. :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` **CANVAS_LIGHT_FILTER_PCF3** = ``1``
  1620. Use PCF3 filtering to filter canvas light shadows.
  1621. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF5:
  1622. .. rst-class:: classref-enumeration-constant
  1623. :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` **CANVAS_LIGHT_FILTER_PCF5** = ``2``
  1624. Use PCF5 filtering to filter canvas light shadows.
  1625. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF7:
  1626. .. rst-class:: classref-enumeration-constant
  1627. :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` **CANVAS_LIGHT_FILTER_PCF7** = ``3``
  1628. Use PCF7 filtering to filter canvas light shadows.
  1629. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF9:
  1630. .. rst-class:: classref-enumeration-constant
  1631. :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` **CANVAS_LIGHT_FILTER_PCF9** = ``4``
  1632. Use PCF9 filtering to filter canvas light shadows.
  1633. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF13:
  1634. .. rst-class:: classref-enumeration-constant
  1635. :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` **CANVAS_LIGHT_FILTER_PCF13** = ``5``
  1636. Use PCF13 filtering to filter canvas light shadows.
  1637. .. rst-class:: classref-item-separator
  1638. ----
  1639. .. _enum_VisualServer_CanvasOccluderPolygonCullMode:
  1640. .. rst-class:: classref-enumeration
  1641. enum **CanvasOccluderPolygonCullMode**:
  1642. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_DISABLED:
  1643. .. rst-class:: classref-enumeration-constant
  1644. :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` **CANVAS_OCCLUDER_POLYGON_CULL_DISABLED** = ``0``
  1645. Culling of the canvas occluder is disabled.
  1646. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE:
  1647. .. rst-class:: classref-enumeration-constant
  1648. :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` **CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE** = ``1``
  1649. Culling of the canvas occluder is clockwise.
  1650. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE:
  1651. .. rst-class:: classref-enumeration-constant
  1652. :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` **CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE** = ``2``
  1653. Culling of the canvas occluder is counterclockwise.
  1654. .. rst-class:: classref-item-separator
  1655. ----
  1656. .. _enum_VisualServer_RenderInfo:
  1657. .. rst-class:: classref-enumeration
  1658. enum **RenderInfo**:
  1659. .. _class_VisualServer_constant_INFO_OBJECTS_IN_FRAME:
  1660. .. rst-class:: classref-enumeration-constant
  1661. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_OBJECTS_IN_FRAME** = ``0``
  1662. The amount of objects in the frame.
  1663. .. _class_VisualServer_constant_INFO_VERTICES_IN_FRAME:
  1664. .. rst-class:: classref-enumeration-constant
  1665. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_VERTICES_IN_FRAME** = ``1``
  1666. The amount of vertices in the frame.
  1667. .. _class_VisualServer_constant_INFO_MATERIAL_CHANGES_IN_FRAME:
  1668. .. rst-class:: classref-enumeration-constant
  1669. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_MATERIAL_CHANGES_IN_FRAME** = ``2``
  1670. The amount of modified materials in the frame.
  1671. .. _class_VisualServer_constant_INFO_SHADER_CHANGES_IN_FRAME:
  1672. .. rst-class:: classref-enumeration-constant
  1673. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_SHADER_CHANGES_IN_FRAME** = ``3``
  1674. The amount of shader rebinds in the frame.
  1675. .. _class_VisualServer_constant_INFO_SHADER_COMPILES_IN_FRAME:
  1676. .. rst-class:: classref-enumeration-constant
  1677. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_SHADER_COMPILES_IN_FRAME** = ``4``
  1678. The peak amount of shaders that have been under compilation in the frame.
  1679. This is useful to know when asynchronous shader compilation has finished for the current shaders on screen.
  1680. \ **Note:** For complete certainty, only assume there are no outstanding compilations when this value is zero for at least two frames in a row.
  1681. Unimplemented in the GLES2 rendering backend, always returns 0.
  1682. .. _class_VisualServer_constant_INFO_SURFACE_CHANGES_IN_FRAME:
  1683. .. rst-class:: classref-enumeration-constant
  1684. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_SURFACE_CHANGES_IN_FRAME** = ``5``
  1685. The amount of surface changes in the frame.
  1686. .. _class_VisualServer_constant_INFO_DRAW_CALLS_IN_FRAME:
  1687. .. rst-class:: classref-enumeration-constant
  1688. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_DRAW_CALLS_IN_FRAME** = ``6``
  1689. The amount of draw calls in frame.
  1690. .. _class_VisualServer_constant_INFO_2D_ITEMS_IN_FRAME:
  1691. .. rst-class:: classref-enumeration-constant
  1692. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_2D_ITEMS_IN_FRAME** = ``7``
  1693. The amount of 2d items in the frame.
  1694. .. _class_VisualServer_constant_INFO_2D_DRAW_CALLS_IN_FRAME:
  1695. .. rst-class:: classref-enumeration-constant
  1696. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_2D_DRAW_CALLS_IN_FRAME** = ``8``
  1697. The amount of 2d draw calls in frame.
  1698. .. _class_VisualServer_constant_INFO_USAGE_VIDEO_MEM_TOTAL:
  1699. .. rst-class:: classref-enumeration-constant
  1700. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_USAGE_VIDEO_MEM_TOTAL** = ``9``
  1701. Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
  1702. .. _class_VisualServer_constant_INFO_VIDEO_MEM_USED:
  1703. .. rst-class:: classref-enumeration-constant
  1704. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_VIDEO_MEM_USED** = ``10``
  1705. The amount of video memory used, i.e. texture and vertex memory combined.
  1706. .. _class_VisualServer_constant_INFO_TEXTURE_MEM_USED:
  1707. .. rst-class:: classref-enumeration-constant
  1708. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_TEXTURE_MEM_USED** = ``11``
  1709. The amount of texture memory used.
  1710. .. _class_VisualServer_constant_INFO_VERTEX_MEM_USED:
  1711. .. rst-class:: classref-enumeration-constant
  1712. :ref:`RenderInfo<enum_VisualServer_RenderInfo>` **INFO_VERTEX_MEM_USED** = ``12``
  1713. The amount of vertex memory used.
  1714. .. rst-class:: classref-item-separator
  1715. ----
  1716. .. _enum_VisualServer_Features:
  1717. .. rst-class:: classref-enumeration
  1718. enum **Features**:
  1719. .. _class_VisualServer_constant_FEATURE_SHADERS:
  1720. .. rst-class:: classref-enumeration-constant
  1721. :ref:`Features<enum_VisualServer_Features>` **FEATURE_SHADERS** = ``0``
  1722. Hardware supports shaders. This enum is currently unused in Godot 3.x.
  1723. .. _class_VisualServer_constant_FEATURE_MULTITHREADED:
  1724. .. rst-class:: classref-enumeration-constant
  1725. :ref:`Features<enum_VisualServer_Features>` **FEATURE_MULTITHREADED** = ``1``
  1726. Hardware supports multithreading. This enum is currently unused in Godot 3.x.
  1727. .. rst-class:: classref-item-separator
  1728. ----
  1729. .. _enum_VisualServer_MultimeshTransformFormat:
  1730. .. rst-class:: classref-enumeration
  1731. enum **MultimeshTransformFormat**:
  1732. .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_2D:
  1733. .. rst-class:: classref-enumeration-constant
  1734. :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` **MULTIMESH_TRANSFORM_2D** = ``0``
  1735. Use :ref:`Transform2D<class_Transform2D>` to store MultiMesh transform.
  1736. .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_3D:
  1737. .. rst-class:: classref-enumeration-constant
  1738. :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` **MULTIMESH_TRANSFORM_3D** = ``1``
  1739. Use :ref:`Transform<class_Transform>` to store MultiMesh transform.
  1740. .. rst-class:: classref-item-separator
  1741. ----
  1742. .. _enum_VisualServer_MultimeshColorFormat:
  1743. .. rst-class:: classref-enumeration
  1744. enum **MultimeshColorFormat**:
  1745. .. _class_VisualServer_constant_MULTIMESH_COLOR_NONE:
  1746. .. rst-class:: classref-enumeration-constant
  1747. :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` **MULTIMESH_COLOR_NONE** = ``0``
  1748. MultiMesh does not use per-instance color.
  1749. .. _class_VisualServer_constant_MULTIMESH_COLOR_8BIT:
  1750. .. rst-class:: classref-enumeration-constant
  1751. :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` **MULTIMESH_COLOR_8BIT** = ``1``
  1752. MultiMesh color uses 8 bits per component. This packs the color into a single float.
  1753. .. _class_VisualServer_constant_MULTIMESH_COLOR_FLOAT:
  1754. .. rst-class:: classref-enumeration-constant
  1755. :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` **MULTIMESH_COLOR_FLOAT** = ``2``
  1756. MultiMesh color uses a float per channel.
  1757. .. rst-class:: classref-item-separator
  1758. ----
  1759. .. _enum_VisualServer_MultimeshCustomDataFormat:
  1760. .. rst-class:: classref-enumeration
  1761. enum **MultimeshCustomDataFormat**:
  1762. .. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_NONE:
  1763. .. rst-class:: classref-enumeration-constant
  1764. :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` **MULTIMESH_CUSTOM_DATA_NONE** = ``0``
  1765. MultiMesh does not use custom data.
  1766. .. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_8BIT:
  1767. .. rst-class:: classref-enumeration-constant
  1768. :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` **MULTIMESH_CUSTOM_DATA_8BIT** = ``1``
  1769. MultiMesh custom data uses 8 bits per component. This packs the 4-component custom data into a single float.
  1770. .. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_FLOAT:
  1771. .. rst-class:: classref-enumeration-constant
  1772. :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` **MULTIMESH_CUSTOM_DATA_FLOAT** = ``2``
  1773. MultiMesh custom data uses a float per component.
  1774. .. rst-class:: classref-item-separator
  1775. ----
  1776. .. _enum_VisualServer_MultimeshPhysicsInterpolationQuality:
  1777. .. rst-class:: classref-enumeration
  1778. enum **MultimeshPhysicsInterpolationQuality**:
  1779. .. _class_VisualServer_constant_MULTIMESH_INTERP_QUALITY_FAST:
  1780. .. rst-class:: classref-enumeration-constant
  1781. :ref:`MultimeshPhysicsInterpolationQuality<enum_VisualServer_MultimeshPhysicsInterpolationQuality>` **MULTIMESH_INTERP_QUALITY_FAST** = ``0``
  1782. MultiMesh physics interpolation favours speed over quality.
  1783. .. _class_VisualServer_constant_MULTIMESH_INTERP_QUALITY_HIGH:
  1784. .. rst-class:: classref-enumeration-constant
  1785. :ref:`MultimeshPhysicsInterpolationQuality<enum_VisualServer_MultimeshPhysicsInterpolationQuality>` **MULTIMESH_INTERP_QUALITY_HIGH** = ``1``
  1786. MultiMesh physics interpolation favours quality over speed.
  1787. .. rst-class:: classref-item-separator
  1788. ----
  1789. .. _enum_VisualServer_ReflectionProbeUpdateMode:
  1790. .. rst-class:: classref-enumeration
  1791. enum **ReflectionProbeUpdateMode**:
  1792. .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ONCE:
  1793. .. rst-class:: classref-enumeration-constant
  1794. :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` **REFLECTION_PROBE_UPDATE_ONCE** = ``0``
  1795. Reflection probe will update reflections once and then stop.
  1796. .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ALWAYS:
  1797. .. rst-class:: classref-enumeration-constant
  1798. :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` **REFLECTION_PROBE_UPDATE_ALWAYS** = ``1``
  1799. Reflection probe will update each frame. This mode is necessary to capture moving objects.
  1800. .. rst-class:: classref-item-separator
  1801. ----
  1802. .. _enum_VisualServer_ParticlesDrawOrder:
  1803. .. rst-class:: classref-enumeration
  1804. enum **ParticlesDrawOrder**:
  1805. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_INDEX:
  1806. .. rst-class:: classref-enumeration-constant
  1807. :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` **PARTICLES_DRAW_ORDER_INDEX** = ``0``
  1808. Draw particles in the order that they appear in the particles array.
  1809. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_LIFETIME:
  1810. .. rst-class:: classref-enumeration-constant
  1811. :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` **PARTICLES_DRAW_ORDER_LIFETIME** = ``1``
  1812. Sort particles based on their lifetime.
  1813. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_VIEW_DEPTH:
  1814. .. rst-class:: classref-enumeration-constant
  1815. :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` **PARTICLES_DRAW_ORDER_VIEW_DEPTH** = ``2``
  1816. Sort particles based on their distance to the camera.
  1817. .. rst-class:: classref-item-separator
  1818. ----
  1819. .. _enum_VisualServer_EnvironmentBG:
  1820. .. rst-class:: classref-enumeration
  1821. enum **EnvironmentBG**:
  1822. .. _class_VisualServer_constant_ENV_BG_CLEAR_COLOR:
  1823. .. rst-class:: classref-enumeration-constant
  1824. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_CLEAR_COLOR** = ``0``
  1825. Use the clear color as background.
  1826. .. _class_VisualServer_constant_ENV_BG_COLOR:
  1827. .. rst-class:: classref-enumeration-constant
  1828. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_COLOR** = ``1``
  1829. Use a specified color as the background.
  1830. .. _class_VisualServer_constant_ENV_BG_SKY:
  1831. .. rst-class:: classref-enumeration-constant
  1832. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_SKY** = ``2``
  1833. Use a sky resource for the background.
  1834. .. _class_VisualServer_constant_ENV_BG_COLOR_SKY:
  1835. .. rst-class:: classref-enumeration-constant
  1836. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_COLOR_SKY** = ``3``
  1837. Use a custom color for background, but use a sky for shading and reflections.
  1838. .. _class_VisualServer_constant_ENV_BG_CANVAS:
  1839. .. rst-class:: classref-enumeration-constant
  1840. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_CANVAS** = ``4``
  1841. Use a specified canvas layer as the background. This can be useful for instantiating a 2D scene in a 3D world.
  1842. .. _class_VisualServer_constant_ENV_BG_KEEP:
  1843. .. rst-class:: classref-enumeration-constant
  1844. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_KEEP** = ``5``
  1845. Do not clear the background, use whatever was rendered last frame as the background.
  1846. .. _class_VisualServer_constant_ENV_BG_MAX:
  1847. .. rst-class:: classref-enumeration-constant
  1848. :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` **ENV_BG_MAX** = ``7``
  1849. Represents the size of the :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` enum.
  1850. .. rst-class:: classref-item-separator
  1851. ----
  1852. .. _enum_VisualServer_EnvironmentDOFBlurQuality:
  1853. .. rst-class:: classref-enumeration
  1854. enum **EnvironmentDOFBlurQuality**:
  1855. .. _class_VisualServer_constant_ENV_DOF_BLUR_QUALITY_LOW:
  1856. .. rst-class:: classref-enumeration-constant
  1857. :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` **ENV_DOF_BLUR_QUALITY_LOW** = ``0``
  1858. Use lowest blur quality. Fastest, but may look bad.
  1859. .. _class_VisualServer_constant_ENV_DOF_BLUR_QUALITY_MEDIUM:
  1860. .. rst-class:: classref-enumeration-constant
  1861. :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` **ENV_DOF_BLUR_QUALITY_MEDIUM** = ``1``
  1862. Use medium blur quality.
  1863. .. _class_VisualServer_constant_ENV_DOF_BLUR_QUALITY_HIGH:
  1864. .. rst-class:: classref-enumeration-constant
  1865. :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` **ENV_DOF_BLUR_QUALITY_HIGH** = ``2``
  1866. Used highest blur quality. Looks the best, but is the slowest.
  1867. .. rst-class:: classref-item-separator
  1868. ----
  1869. .. _enum_VisualServer_EnvironmentGlowBlendMode:
  1870. .. rst-class:: classref-enumeration
  1871. enum **EnvironmentGlowBlendMode**:
  1872. .. _class_VisualServer_constant_GLOW_BLEND_MODE_ADDITIVE:
  1873. .. rst-class:: classref-enumeration-constant
  1874. :ref:`EnvironmentGlowBlendMode<enum_VisualServer_EnvironmentGlowBlendMode>` **GLOW_BLEND_MODE_ADDITIVE** = ``0``
  1875. Add the effect of the glow on top of the scene.
  1876. .. _class_VisualServer_constant_GLOW_BLEND_MODE_SCREEN:
  1877. .. rst-class:: classref-enumeration-constant
  1878. :ref:`EnvironmentGlowBlendMode<enum_VisualServer_EnvironmentGlowBlendMode>` **GLOW_BLEND_MODE_SCREEN** = ``1``
  1879. Blends the glow effect with the screen. Does not get as bright as additive.
  1880. .. _class_VisualServer_constant_GLOW_BLEND_MODE_SOFTLIGHT:
  1881. .. rst-class:: classref-enumeration-constant
  1882. :ref:`EnvironmentGlowBlendMode<enum_VisualServer_EnvironmentGlowBlendMode>` **GLOW_BLEND_MODE_SOFTLIGHT** = ``2``
  1883. Produces a subtle color disturbance around objects.
  1884. .. _class_VisualServer_constant_GLOW_BLEND_MODE_REPLACE:
  1885. .. rst-class:: classref-enumeration-constant
  1886. :ref:`EnvironmentGlowBlendMode<enum_VisualServer_EnvironmentGlowBlendMode>` **GLOW_BLEND_MODE_REPLACE** = ``3``
  1887. Shows the glow effect by itself without the underlying scene.
  1888. .. rst-class:: classref-item-separator
  1889. ----
  1890. .. _enum_VisualServer_EnvironmentToneMapper:
  1891. .. rst-class:: classref-enumeration
  1892. enum **EnvironmentToneMapper**:
  1893. .. _class_VisualServer_constant_ENV_TONE_MAPPER_LINEAR:
  1894. .. rst-class:: classref-enumeration-constant
  1895. :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` **ENV_TONE_MAPPER_LINEAR** = ``0``
  1896. Output color as they came in. This can cause bright lighting to look blown out, with noticeable clipping in the output colors.
  1897. .. _class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD:
  1898. .. rst-class:: classref-enumeration-constant
  1899. :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` **ENV_TONE_MAPPER_REINHARD** = ``1``
  1900. Use the Reinhard tonemapper. Performs a variation on rendered pixels' colors by this formula: ``color = color / (1 + color)``. This avoids clipping bright highlights, but the resulting image can look a bit dull.
  1901. .. _class_VisualServer_constant_ENV_TONE_MAPPER_FILMIC:
  1902. .. rst-class:: classref-enumeration-constant
  1903. :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` **ENV_TONE_MAPPER_FILMIC** = ``2``
  1904. Use the filmic tonemapper. This avoids clipping bright highlights, with a resulting image that usually looks more vivid than :ref:`ENV_TONE_MAPPER_REINHARD<class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD>`.
  1905. .. _class_VisualServer_constant_ENV_TONE_MAPPER_ACES:
  1906. .. rst-class:: classref-enumeration-constant
  1907. :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` **ENV_TONE_MAPPER_ACES** = ``3``
  1908. Use the legacy Godot version of the Academy Color Encoding System tonemapper. Unlike :ref:`ENV_TONE_MAPPER_ACES_FITTED<class_VisualServer_constant_ENV_TONE_MAPPER_ACES_FITTED>`, this version of ACES does not handle bright lighting in a physically accurate way. ACES typically has a more contrasted output compared to :ref:`ENV_TONE_MAPPER_REINHARD<class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD>` and :ref:`ENV_TONE_MAPPER_FILMIC<class_VisualServer_constant_ENV_TONE_MAPPER_FILMIC>`.
  1909. \ **Note:** This tonemapping operator will be removed in Godot 4.0 in favor of the more accurate :ref:`ENV_TONE_MAPPER_ACES_FITTED<class_VisualServer_constant_ENV_TONE_MAPPER_ACES_FITTED>`.
  1910. .. _class_VisualServer_constant_ENV_TONE_MAPPER_ACES_FITTED:
  1911. .. rst-class:: classref-enumeration-constant
  1912. :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` **ENV_TONE_MAPPER_ACES_FITTED** = ``4``
  1913. Use the Academy Color Encoding System tonemapper. ACES is slightly more expensive than other options, but it handles bright lighting in a more realistic fashion by desaturating it as it becomes brighter. ACES typically has a more contrasted output compared to :ref:`ENV_TONE_MAPPER_REINHARD<class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD>` and :ref:`ENV_TONE_MAPPER_FILMIC<class_VisualServer_constant_ENV_TONE_MAPPER_FILMIC>`.
  1914. .. rst-class:: classref-item-separator
  1915. ----
  1916. .. _enum_VisualServer_EnvironmentSSAOQuality:
  1917. .. rst-class:: classref-enumeration
  1918. enum **EnvironmentSSAOQuality**:
  1919. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_LOW:
  1920. .. rst-class:: classref-enumeration-constant
  1921. :ref:`EnvironmentSSAOQuality<enum_VisualServer_EnvironmentSSAOQuality>` **ENV_SSAO_QUALITY_LOW** = ``0``
  1922. Lowest quality of screen space ambient occlusion.
  1923. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_MEDIUM:
  1924. .. rst-class:: classref-enumeration-constant
  1925. :ref:`EnvironmentSSAOQuality<enum_VisualServer_EnvironmentSSAOQuality>` **ENV_SSAO_QUALITY_MEDIUM** = ``1``
  1926. Medium quality screen space ambient occlusion.
  1927. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_HIGH:
  1928. .. rst-class:: classref-enumeration-constant
  1929. :ref:`EnvironmentSSAOQuality<enum_VisualServer_EnvironmentSSAOQuality>` **ENV_SSAO_QUALITY_HIGH** = ``2``
  1930. Highest quality screen space ambient occlusion.
  1931. .. rst-class:: classref-item-separator
  1932. ----
  1933. .. _enum_VisualServer_EnvironmentSSAOBlur:
  1934. .. rst-class:: classref-enumeration
  1935. enum **EnvironmentSSAOBlur**:
  1936. .. _class_VisualServer_constant_ENV_SSAO_BLUR_DISABLED:
  1937. .. rst-class:: classref-enumeration-constant
  1938. :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` **ENV_SSAO_BLUR_DISABLED** = ``0``
  1939. Disables the blur set for SSAO. Will make SSAO look noisier.
  1940. .. _class_VisualServer_constant_ENV_SSAO_BLUR_1x1:
  1941. .. rst-class:: classref-enumeration-constant
  1942. :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` **ENV_SSAO_BLUR_1x1** = ``1``
  1943. Perform a 1x1 blur on the SSAO output.
  1944. .. _class_VisualServer_constant_ENV_SSAO_BLUR_2x2:
  1945. .. rst-class:: classref-enumeration-constant
  1946. :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` **ENV_SSAO_BLUR_2x2** = ``2``
  1947. Performs a 2x2 blur on the SSAO output.
  1948. .. _class_VisualServer_constant_ENV_SSAO_BLUR_3x3:
  1949. .. rst-class:: classref-enumeration-constant
  1950. :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` **ENV_SSAO_BLUR_3x3** = ``3``
  1951. Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO.
  1952. .. rst-class:: classref-item-separator
  1953. ----
  1954. .. _enum_VisualServer_ChangedPriority:
  1955. .. rst-class:: classref-enumeration
  1956. enum **ChangedPriority**:
  1957. .. _class_VisualServer_constant_CHANGED_PRIORITY_ANY:
  1958. .. rst-class:: classref-enumeration-constant
  1959. :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` **CHANGED_PRIORITY_ANY** = ``0``
  1960. Used to query for any changes that request a redraw, whatever the priority.
  1961. .. _class_VisualServer_constant_CHANGED_PRIORITY_LOW:
  1962. .. rst-class:: classref-enumeration-constant
  1963. :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` **CHANGED_PRIORITY_LOW** = ``1``
  1964. Registered changes which have low priority can be optionally prevented from causing editor redraws. Examples might include dynamic shaders (typically using the ``TIME`` built-in).
  1965. .. _class_VisualServer_constant_CHANGED_PRIORITY_HIGH:
  1966. .. rst-class:: classref-enumeration-constant
  1967. :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` **CHANGED_PRIORITY_HIGH** = ``2``
  1968. Registered changes which can cause a redraw default to high priority.
  1969. .. rst-class:: classref-section-separator
  1970. ----
  1971. .. rst-class:: classref-descriptions-group
  1972. Constants
  1973. ---------
  1974. .. _class_VisualServer_constant_NO_INDEX_ARRAY:
  1975. .. rst-class:: classref-constant
  1976. **NO_INDEX_ARRAY** = ``-1``
  1977. Marks an error that shows that the index array is empty.
  1978. .. _class_VisualServer_constant_ARRAY_WEIGHTS_SIZE:
  1979. .. rst-class:: classref-constant
  1980. **ARRAY_WEIGHTS_SIZE** = ``4``
  1981. Number of weights/bones per vertex.
  1982. .. _class_VisualServer_constant_CANVAS_ITEM_Z_MIN:
  1983. .. rst-class:: classref-constant
  1984. **CANVAS_ITEM_Z_MIN** = ``-4096``
  1985. The minimum Z-layer for canvas items.
  1986. .. _class_VisualServer_constant_CANVAS_ITEM_Z_MAX:
  1987. .. rst-class:: classref-constant
  1988. **CANVAS_ITEM_Z_MAX** = ``4096``
  1989. The maximum Z-layer for canvas items.
  1990. .. _class_VisualServer_constant_MAX_GLOW_LEVELS:
  1991. .. rst-class:: classref-constant
  1992. **MAX_GLOW_LEVELS** = ``7``
  1993. Max number of glow levels that can be used with glow post-process effect.
  1994. .. _class_VisualServer_constant_MAX_CURSORS:
  1995. .. rst-class:: classref-constant
  1996. **MAX_CURSORS** = ``8``
  1997. Unused enum in Godot 3.x.
  1998. .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MIN:
  1999. .. rst-class:: classref-constant
  2000. **MATERIAL_RENDER_PRIORITY_MIN** = ``-128``
  2001. The minimum renderpriority of all materials.
  2002. .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MAX:
  2003. .. rst-class:: classref-constant
  2004. **MATERIAL_RENDER_PRIORITY_MAX** = ``127``
  2005. The maximum renderpriority of all materials.
  2006. .. rst-class:: classref-section-separator
  2007. ----
  2008. .. rst-class:: classref-descriptions-group
  2009. Property Descriptions
  2010. ---------------------
  2011. .. _class_VisualServer_property_render_loop_enabled:
  2012. .. rst-class:: classref-property
  2013. :ref:`bool<class_bool>` **render_loop_enabled**
  2014. .. rst-class:: classref-property-setget
  2015. - void **set_render_loop_enabled** **(** :ref:`bool<class_bool>` value **)**
  2016. - :ref:`bool<class_bool>` **is_render_loop_enabled** **(** **)**
  2017. If ``false``, disables rendering completely, but the engine logic is still being processed. You can call :ref:`force_draw<class_VisualServer_method_force_draw>` to draw a frame even with rendering disabled.
  2018. .. rst-class:: classref-section-separator
  2019. ----
  2020. .. rst-class:: classref-descriptions-group
  2021. Method Descriptions
  2022. -------------------
  2023. .. _class_VisualServer_method_black_bars_set_images:
  2024. .. rst-class:: classref-method
  2025. void **black_bars_set_images** **(** :ref:`RID<class_RID>` left, :ref:`RID<class_RID>` top, :ref:`RID<class_RID>` right, :ref:`RID<class_RID>` bottom **)**
  2026. Sets images to be rendered in the window margin.
  2027. .. rst-class:: classref-item-separator
  2028. ----
  2029. .. _class_VisualServer_method_black_bars_set_margins:
  2030. .. rst-class:: classref-method
  2031. void **black_bars_set_margins** **(** :ref:`int<class_int>` left, :ref:`int<class_int>` top, :ref:`int<class_int>` right, :ref:`int<class_int>` bottom **)**
  2032. Sets margin size, where black bars (or images, if :ref:`black_bars_set_images<class_VisualServer_method_black_bars_set_images>` was used) are rendered.
  2033. .. rst-class:: classref-item-separator
  2034. ----
  2035. .. _class_VisualServer_method_camera_create:
  2036. .. rst-class:: classref-method
  2037. :ref:`RID<class_RID>` **camera_create** **(** **)**
  2038. Creates a camera and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``camera_*`` VisualServer functions.
  2039. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2040. .. rst-class:: classref-item-separator
  2041. ----
  2042. .. _class_VisualServer_method_camera_set_cull_mask:
  2043. .. rst-class:: classref-method
  2044. void **camera_set_cull_mask** **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)**
  2045. Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to :ref:`Camera.cull_mask<class_Camera_property_cull_mask>`.
  2046. .. rst-class:: classref-item-separator
  2047. ----
  2048. .. _class_VisualServer_method_camera_set_environment:
  2049. .. rst-class:: classref-method
  2050. void **camera_set_environment** **(** :ref:`RID<class_RID>` camera, :ref:`RID<class_RID>` env **)**
  2051. Sets the environment used by this camera. Equivalent to :ref:`Camera.environment<class_Camera_property_environment>`.
  2052. .. rst-class:: classref-item-separator
  2053. ----
  2054. .. _class_VisualServer_method_camera_set_frustum:
  2055. .. rst-class:: classref-method
  2056. void **camera_set_frustum** **(** :ref:`RID<class_RID>` camera, :ref:`float<class_float>` size, :ref:`Vector2<class_Vector2>` offset, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**
  2057. Sets camera to use frustum projection. This mode allows adjusting the ``offset`` argument to create "tilted frustum" effects.
  2058. .. rst-class:: classref-item-separator
  2059. ----
  2060. .. _class_VisualServer_method_camera_set_orthogonal:
  2061. .. rst-class:: classref-method
  2062. void **camera_set_orthogonal** **(** :ref:`RID<class_RID>` camera, :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**
  2063. Sets camera to use orthogonal projection, also known as orthographic projection. Objects remain the same size on the screen no matter how far away they are.
  2064. .. rst-class:: classref-item-separator
  2065. ----
  2066. .. _class_VisualServer_method_camera_set_perspective:
  2067. .. rst-class:: classref-method
  2068. void **camera_set_perspective** **(** :ref:`RID<class_RID>` camera, :ref:`float<class_float>` fovy_degrees, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**
  2069. Sets camera to use perspective projection. Objects on the screen becomes smaller when they are far away.
  2070. .. rst-class:: classref-item-separator
  2071. ----
  2072. .. _class_VisualServer_method_camera_set_transform:
  2073. .. rst-class:: classref-method
  2074. void **camera_set_transform** **(** :ref:`RID<class_RID>` camera, :ref:`Transform<class_Transform>` transform **)**
  2075. Sets :ref:`Transform<class_Transform>` of camera.
  2076. .. rst-class:: classref-item-separator
  2077. ----
  2078. .. _class_VisualServer_method_camera_set_use_vertical_aspect:
  2079. .. rst-class:: classref-method
  2080. void **camera_set_use_vertical_aspect** **(** :ref:`RID<class_RID>` camera, :ref:`bool<class_bool>` enable **)**
  2081. If ``true``, preserves the horizontal aspect ratio which is equivalent to :ref:`Camera.KEEP_WIDTH<class_Camera_constant_KEEP_WIDTH>`. If ``false``, preserves the vertical aspect ratio which is equivalent to :ref:`Camera.KEEP_HEIGHT<class_Camera_constant_KEEP_HEIGHT>`.
  2082. .. rst-class:: classref-item-separator
  2083. ----
  2084. .. _class_VisualServer_method_canvas_create:
  2085. .. rst-class:: classref-method
  2086. :ref:`RID<class_RID>` **canvas_create** **(** **)**
  2087. Creates a canvas and returns the assigned :ref:`RID<class_RID>`. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_*`` VisualServer functions.
  2088. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2089. .. rst-class:: classref-item-separator
  2090. ----
  2091. .. _class_VisualServer_method_canvas_item_add_circle:
  2092. .. rst-class:: classref-method
  2093. void **canvas_item_add_circle** **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` pos, :ref:`float<class_float>` radius, :ref:`Color<class_Color>` color **)**
  2094. Adds a circle command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2095. .. rst-class:: classref-item-separator
  2096. ----
  2097. .. _class_VisualServer_method_canvas_item_add_clip_ignore:
  2098. .. rst-class:: classref-method
  2099. void **canvas_item_add_clip_ignore** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` ignore **)**
  2100. If ignore is ``true``, the VisualServer does not perform clipping.
  2101. .. rst-class:: classref-item-separator
  2102. ----
  2103. .. _class_VisualServer_method_canvas_item_add_line:
  2104. .. rst-class:: classref-method
  2105. void **canvas_item_add_line** **(** :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
  2106. Adds a line command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2107. .. rst-class:: classref-item-separator
  2108. ----
  2109. .. _class_VisualServer_method_canvas_item_add_mesh:
  2110. .. rst-class:: classref-method
  2111. void **canvas_item_add_mesh** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` mesh, :ref:`Transform2D<class_Transform2D>` transform=Transform2D( 1, 0, 0, 1, 0, 0 ), :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)**
  2112. Adds a mesh command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2113. .. rst-class:: classref-item-separator
  2114. ----
  2115. .. _class_VisualServer_method_canvas_item_add_multimesh:
  2116. .. rst-class:: classref-method
  2117. void **canvas_item_add_multimesh** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` mesh, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)**
  2118. Adds a :ref:`MultiMesh<class_MultiMesh>` to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands. Only affects its aabb at the moment.
  2119. .. rst-class:: classref-item-separator
  2120. ----
  2121. .. _class_VisualServer_method_canvas_item_add_nine_patch:
  2122. .. rst-class:: classref-method
  2123. void **canvas_item_add_nine_patch** **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` source, :ref:`RID<class_RID>` texture, :ref:`Vector2<class_Vector2>` topleft, :ref:`Vector2<class_Vector2>` bottomright, :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` x_axis_mode=0, :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` y_axis_mode=0, :ref:`bool<class_bool>` draw_center=true, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`RID<class_RID>` normal_map **)**
  2124. Adds a nine patch image to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2125. See :ref:`NinePatchRect<class_NinePatchRect>` for more explanation.
  2126. .. rst-class:: classref-item-separator
  2127. ----
  2128. .. _class_VisualServer_method_canvas_item_add_particles:
  2129. .. rst-class:: classref-method
  2130. void **canvas_item_add_particles** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)**
  2131. Adds a particle system to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2132. .. rst-class:: classref-item-separator
  2133. ----
  2134. .. _class_VisualServer_method_canvas_item_add_polygon:
  2135. .. rst-class:: classref-method
  2136. void **canvas_item_add_polygon** **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array( ), :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` antialiased=false **)**
  2137. Adds a polygon to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2138. .. rst-class:: classref-item-separator
  2139. ----
  2140. .. _class_VisualServer_method_canvas_item_add_polyline:
  2141. .. rst-class:: classref-method
  2142. void **canvas_item_add_polyline** **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
  2143. Adds a polyline, which is a line from multiple points with a width, to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2144. .. rst-class:: classref-item-separator
  2145. ----
  2146. .. _class_VisualServer_method_canvas_item_add_primitive:
  2147. .. rst-class:: classref-method
  2148. void **canvas_item_add_primitive** **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs, :ref:`RID<class_RID>` texture, :ref:`float<class_float>` width=1.0, :ref:`RID<class_RID>` normal_map **)**
  2149. Adds a primitive to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2150. .. rst-class:: classref-item-separator
  2151. ----
  2152. .. _class_VisualServer_method_canvas_item_add_rect:
  2153. .. rst-class:: classref-method
  2154. void **canvas_item_add_rect** **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color **)**
  2155. Adds a rectangle to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2156. .. rst-class:: classref-item-separator
  2157. ----
  2158. .. _class_VisualServer_method_canvas_item_add_set_transform:
  2159. .. rst-class:: classref-method
  2160. void **canvas_item_add_set_transform** **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)**
  2161. Adds a :ref:`Transform2D<class_Transform2D>` command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2162. This sets the extra_matrix uniform when executed. This affects the later commands of the canvas item.
  2163. .. rst-class:: classref-item-separator
  2164. ----
  2165. .. _class_VisualServer_method_canvas_item_add_texture_rect:
  2166. .. rst-class:: classref-method
  2167. void **canvas_item_add_texture_rect** **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`RID<class_RID>` texture, :ref:`bool<class_bool>` tile=false, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`RID<class_RID>` normal_map **)**
  2168. Adds a textured rect to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2169. .. rst-class:: classref-item-separator
  2170. ----
  2171. .. _class_VisualServer_method_canvas_item_add_texture_rect_region:
  2172. .. rst-class:: classref-method
  2173. void **canvas_item_add_texture_rect_region** **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`RID<class_RID>` texture, :ref:`Rect2<class_Rect2>` src_rect, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` clip_uv=true **)**
  2174. Adds a texture rect with region setting to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2175. .. rst-class:: classref-item-separator
  2176. ----
  2177. .. _class_VisualServer_method_canvas_item_add_triangle_array:
  2178. .. rst-class:: classref-method
  2179. void **canvas_item_add_triangle_array** **(** :ref:`RID<class_RID>` item, :ref:`PoolIntArray<class_PoolIntArray>` indices, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array( ), :ref:`PoolIntArray<class_PoolIntArray>` bones=PoolIntArray( ), :ref:`PoolRealArray<class_PoolRealArray>` weights=PoolRealArray( ), :ref:`RID<class_RID>` texture, :ref:`int<class_int>` count=-1, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` antialiased=false, :ref:`bool<class_bool>` antialiasing_use_indices=false **)**
  2180. Adds a triangle array to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  2181. .. rst-class:: classref-item-separator
  2182. ----
  2183. .. _class_VisualServer_method_canvas_item_clear:
  2184. .. rst-class:: classref-method
  2185. void **canvas_item_clear** **(** :ref:`RID<class_RID>` item **)**
  2186. Clears the :ref:`CanvasItem<class_CanvasItem>` and removes all commands in it.
  2187. .. rst-class:: classref-item-separator
  2188. ----
  2189. .. _class_VisualServer_method_canvas_item_create:
  2190. .. rst-class:: classref-method
  2191. :ref:`RID<class_RID>` **canvas_item_create** **(** **)**
  2192. Creates a new :ref:`CanvasItem<class_CanvasItem>` and returns its :ref:`RID<class_RID>`. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_item_*`` VisualServer functions.
  2193. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2194. .. rst-class:: classref-item-separator
  2195. ----
  2196. .. _class_VisualServer_method_canvas_item_reset_physics_interpolation:
  2197. .. rst-class:: classref-method
  2198. void **canvas_item_reset_physics_interpolation** **(** :ref:`RID<class_RID>` item **)**
  2199. Prevents physics interpolation for the current physics tick.
  2200. This is useful when moving a canvas item to a new location, to give an instantaneous change rather than interpolation from the previous location.
  2201. .. rst-class:: classref-item-separator
  2202. ----
  2203. .. _class_VisualServer_method_canvas_item_set_clip:
  2204. .. rst-class:: classref-method
  2205. void **canvas_item_set_clip** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` clip **)**
  2206. Sets clipping for the :ref:`CanvasItem<class_CanvasItem>`.
  2207. .. rst-class:: classref-item-separator
  2208. ----
  2209. .. _class_VisualServer_method_canvas_item_set_copy_to_backbuffer:
  2210. .. rst-class:: classref-method
  2211. void **canvas_item_set_copy_to_backbuffer** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled, :ref:`Rect2<class_Rect2>` rect **)**
  2212. Sets the :ref:`CanvasItem<class_CanvasItem>` to copy a rect to the backbuffer.
  2213. .. rst-class:: classref-item-separator
  2214. ----
  2215. .. _class_VisualServer_method_canvas_item_set_custom_rect:
  2216. .. rst-class:: classref-method
  2217. void **canvas_item_set_custom_rect** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` use_custom_rect, :ref:`Rect2<class_Rect2>` rect=Rect2( 0, 0, 0, 0 ) **)**
  2218. Defines a custom drawing rectangle for the :ref:`CanvasItem<class_CanvasItem>`.
  2219. .. rst-class:: classref-item-separator
  2220. ----
  2221. .. _class_VisualServer_method_canvas_item_set_distance_field_mode:
  2222. .. rst-class:: classref-method
  2223. void **canvas_item_set_distance_field_mode** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  2224. Enables the use of distance fields for GUI elements that are rendering distance field based fonts.
  2225. .. rst-class:: classref-item-separator
  2226. ----
  2227. .. _class_VisualServer_method_canvas_item_set_draw_behind_parent:
  2228. .. rst-class:: classref-method
  2229. void **canvas_item_set_draw_behind_parent** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  2230. Sets :ref:`CanvasItem<class_CanvasItem>` to be drawn behind its parent.
  2231. .. rst-class:: classref-item-separator
  2232. ----
  2233. .. _class_VisualServer_method_canvas_item_set_draw_index:
  2234. .. rst-class:: classref-method
  2235. void **canvas_item_set_draw_index** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` index **)**
  2236. Sets the index for the :ref:`CanvasItem<class_CanvasItem>`.
  2237. .. rst-class:: classref-item-separator
  2238. ----
  2239. .. _class_VisualServer_method_canvas_item_set_interpolated:
  2240. .. rst-class:: classref-method
  2241. void **canvas_item_set_interpolated** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` interpolated **)**
  2242. Turns on and off physics interpolation for the canvas item.
  2243. .. rst-class:: classref-item-separator
  2244. ----
  2245. .. _class_VisualServer_method_canvas_item_set_light_mask:
  2246. .. rst-class:: classref-method
  2247. void **canvas_item_set_light_mask** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` mask **)**
  2248. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  2249. .. rst-class:: classref-item-separator
  2250. ----
  2251. .. _class_VisualServer_method_canvas_item_set_material:
  2252. .. rst-class:: classref-method
  2253. void **canvas_item_set_material** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` material **)**
  2254. Sets a new material to the :ref:`CanvasItem<class_CanvasItem>`.
  2255. .. rst-class:: classref-item-separator
  2256. ----
  2257. .. _class_VisualServer_method_canvas_item_set_modulate:
  2258. .. rst-class:: classref-method
  2259. void **canvas_item_set_modulate** **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)**
  2260. Sets the color that modulates the :ref:`CanvasItem<class_CanvasItem>` and its children.
  2261. .. rst-class:: classref-item-separator
  2262. ----
  2263. .. _class_VisualServer_method_canvas_item_set_parent:
  2264. .. rst-class:: classref-method
  2265. void **canvas_item_set_parent** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` parent **)**
  2266. Sets the parent for the :ref:`CanvasItem<class_CanvasItem>`. The parent can be another canvas item, or it can be the root canvas that is attached to the viewport.
  2267. .. rst-class:: classref-item-separator
  2268. ----
  2269. .. _class_VisualServer_method_canvas_item_set_self_modulate:
  2270. .. rst-class:: classref-method
  2271. void **canvas_item_set_self_modulate** **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)**
  2272. Sets the color that modulates the :ref:`CanvasItem<class_CanvasItem>` without children.
  2273. .. rst-class:: classref-item-separator
  2274. ----
  2275. .. _class_VisualServer_method_canvas_item_set_sort_children_by_y:
  2276. .. rst-class:: classref-method
  2277. void **canvas_item_set_sort_children_by_y** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  2278. Sets if :ref:`CanvasItem<class_CanvasItem>`'s children should be sorted by y-position.
  2279. .. rst-class:: classref-item-separator
  2280. ----
  2281. .. _class_VisualServer_method_canvas_item_set_transform:
  2282. .. rst-class:: classref-method
  2283. void **canvas_item_set_transform** **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)**
  2284. Sets the :ref:`CanvasItem<class_CanvasItem>`'s :ref:`Transform2D<class_Transform2D>`.
  2285. .. rst-class:: classref-item-separator
  2286. ----
  2287. .. _class_VisualServer_method_canvas_item_set_use_parent_material:
  2288. .. rst-class:: classref-method
  2289. void **canvas_item_set_use_parent_material** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  2290. Sets if the :ref:`CanvasItem<class_CanvasItem>` uses its parent's material.
  2291. .. rst-class:: classref-item-separator
  2292. ----
  2293. .. _class_VisualServer_method_canvas_item_set_visible:
  2294. .. rst-class:: classref-method
  2295. void **canvas_item_set_visible** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` visible **)**
  2296. Sets if the canvas item (including its children) is visible.
  2297. .. rst-class:: classref-item-separator
  2298. ----
  2299. .. _class_VisualServer_method_canvas_item_set_z_as_relative_to_parent:
  2300. .. rst-class:: classref-method
  2301. void **canvas_item_set_z_as_relative_to_parent** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  2302. If this is enabled, the Z index of the parent will be added to the children's Z index.
  2303. .. rst-class:: classref-item-separator
  2304. ----
  2305. .. _class_VisualServer_method_canvas_item_set_z_index:
  2306. .. rst-class:: classref-method
  2307. void **canvas_item_set_z_index** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` z_index **)**
  2308. Sets the :ref:`CanvasItem<class_CanvasItem>`'s Z index, i.e. its draw order (lower indexes are drawn first).
  2309. .. rst-class:: classref-item-separator
  2310. ----
  2311. .. _class_VisualServer_method_canvas_item_transform_physics_interpolation:
  2312. .. rst-class:: classref-method
  2313. void **canvas_item_transform_physics_interpolation** **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` xform **)**
  2314. Transforms both the current and previous stored transform for a canvas item.
  2315. This allows transforming a canvas item without creating a "glitch" in the interpolation.
  2316. This is particularly useful for large worlds utilising a shifting origin.
  2317. .. rst-class:: classref-item-separator
  2318. ----
  2319. .. _class_VisualServer_method_canvas_light_attach_to_canvas:
  2320. .. rst-class:: classref-method
  2321. void **canvas_light_attach_to_canvas** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` canvas **)**
  2322. Attaches the canvas light to the canvas. Removes it from its previous canvas.
  2323. .. rst-class:: classref-item-separator
  2324. ----
  2325. .. _class_VisualServer_method_canvas_light_create:
  2326. .. rst-class:: classref-method
  2327. :ref:`RID<class_RID>` **canvas_light_create** **(** **)**
  2328. Creates a canvas light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_light_*`` VisualServer functions.
  2329. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2330. .. rst-class:: classref-item-separator
  2331. ----
  2332. .. _class_VisualServer_method_canvas_light_occluder_attach_to_canvas:
  2333. .. rst-class:: classref-method
  2334. void **canvas_light_occluder_attach_to_canvas** **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` canvas **)**
  2335. Attaches a light occluder to the canvas. Removes it from its previous canvas.
  2336. .. rst-class:: classref-item-separator
  2337. ----
  2338. .. _class_VisualServer_method_canvas_light_occluder_create:
  2339. .. rst-class:: classref-method
  2340. :ref:`RID<class_RID>` **canvas_light_occluder_create** **(** **)**
  2341. Creates a light occluder and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_light_ocluder_*`` VisualServer functions.
  2342. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2343. .. rst-class:: classref-item-separator
  2344. ----
  2345. .. _class_VisualServer_method_canvas_light_occluder_reset_physics_interpolation:
  2346. .. rst-class:: classref-method
  2347. void **canvas_light_occluder_reset_physics_interpolation** **(** :ref:`RID<class_RID>` occluder **)**
  2348. Prevents physics interpolation for the current physics tick.
  2349. This is useful when moving an occluder to a new location, to give an instantaneous change rather than interpolation from the previous location.
  2350. .. rst-class:: classref-item-separator
  2351. ----
  2352. .. _class_VisualServer_method_canvas_light_occluder_set_enabled:
  2353. .. rst-class:: classref-method
  2354. void **canvas_light_occluder_set_enabled** **(** :ref:`RID<class_RID>` occluder, :ref:`bool<class_bool>` enabled **)**
  2355. Enables or disables light occluder.
  2356. .. rst-class:: classref-item-separator
  2357. ----
  2358. .. _class_VisualServer_method_canvas_light_occluder_set_interpolated:
  2359. .. rst-class:: classref-method
  2360. void **canvas_light_occluder_set_interpolated** **(** :ref:`RID<class_RID>` occluder, :ref:`bool<class_bool>` interpolated **)**
  2361. Turns on and off physics interpolation for the occluder.
  2362. .. rst-class:: classref-item-separator
  2363. ----
  2364. .. _class_VisualServer_method_canvas_light_occluder_set_light_mask:
  2365. .. rst-class:: classref-method
  2366. void **canvas_light_occluder_set_light_mask** **(** :ref:`RID<class_RID>` occluder, :ref:`int<class_int>` mask **)**
  2367. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  2368. .. rst-class:: classref-item-separator
  2369. ----
  2370. .. _class_VisualServer_method_canvas_light_occluder_set_polygon:
  2371. .. rst-class:: classref-method
  2372. void **canvas_light_occluder_set_polygon** **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` polygon **)**
  2373. Sets a light occluder's polygon.
  2374. .. rst-class:: classref-item-separator
  2375. ----
  2376. .. _class_VisualServer_method_canvas_light_occluder_set_transform:
  2377. .. rst-class:: classref-method
  2378. void **canvas_light_occluder_set_transform** **(** :ref:`RID<class_RID>` occluder, :ref:`Transform2D<class_Transform2D>` transform **)**
  2379. Sets a light occluder's :ref:`Transform2D<class_Transform2D>`.
  2380. .. rst-class:: classref-item-separator
  2381. ----
  2382. .. _class_VisualServer_method_canvas_light_occluder_transform_physics_interpolation:
  2383. .. rst-class:: classref-method
  2384. void **canvas_light_occluder_transform_physics_interpolation** **(** :ref:`RID<class_RID>` occluder, :ref:`Transform2D<class_Transform2D>` xform **)**
  2385. Transforms both the current and previous stored transform for an occluder.
  2386. This allows transforming an occluder without creating a "glitch" in the interpolation.
  2387. This is particularly useful for large worlds utilising a shifting origin.
  2388. .. rst-class:: classref-item-separator
  2389. ----
  2390. .. _class_VisualServer_method_canvas_light_reset_physics_interpolation:
  2391. .. rst-class:: classref-method
  2392. void **canvas_light_reset_physics_interpolation** **(** :ref:`RID<class_RID>` light **)**
  2393. Prevents physics interpolation for the current physics tick.
  2394. This is useful when moving a light to a new location, to give an instantaneous change rather than interpolation from the previous location.
  2395. .. rst-class:: classref-item-separator
  2396. ----
  2397. .. _class_VisualServer_method_canvas_light_set_color:
  2398. .. rst-class:: classref-method
  2399. void **canvas_light_set_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  2400. Sets the color for a light.
  2401. .. rst-class:: classref-item-separator
  2402. ----
  2403. .. _class_VisualServer_method_canvas_light_set_enabled:
  2404. .. rst-class:: classref-method
  2405. void **canvas_light_set_enabled** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  2406. Enables or disables a canvas light.
  2407. .. rst-class:: classref-item-separator
  2408. ----
  2409. .. _class_VisualServer_method_canvas_light_set_energy:
  2410. .. rst-class:: classref-method
  2411. void **canvas_light_set_energy** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` energy **)**
  2412. Sets a canvas light's energy.
  2413. .. rst-class:: classref-item-separator
  2414. ----
  2415. .. _class_VisualServer_method_canvas_light_set_height:
  2416. .. rst-class:: classref-method
  2417. void **canvas_light_set_height** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` height **)**
  2418. Sets a canvas light's height.
  2419. .. rst-class:: classref-item-separator
  2420. ----
  2421. .. _class_VisualServer_method_canvas_light_set_interpolated:
  2422. .. rst-class:: classref-method
  2423. void **canvas_light_set_interpolated** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` interpolated **)**
  2424. Turns on and off physics interpolation for the light.
  2425. .. rst-class:: classref-item-separator
  2426. ----
  2427. .. _class_VisualServer_method_canvas_light_set_item_cull_mask:
  2428. .. rst-class:: classref-method
  2429. void **canvas_light_set_item_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  2430. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  2431. .. rst-class:: classref-item-separator
  2432. ----
  2433. .. _class_VisualServer_method_canvas_light_set_item_shadow_cull_mask:
  2434. .. rst-class:: classref-method
  2435. void **canvas_light_set_item_shadow_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  2436. The binary mask used to determine which layers this canvas light's shadows affects. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  2437. .. rst-class:: classref-item-separator
  2438. ----
  2439. .. _class_VisualServer_method_canvas_light_set_layer_range:
  2440. .. rst-class:: classref-method
  2441. void **canvas_light_set_layer_range** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_layer, :ref:`int<class_int>` max_layer **)**
  2442. The layer range that gets rendered with this light.
  2443. .. rst-class:: classref-item-separator
  2444. ----
  2445. .. _class_VisualServer_method_canvas_light_set_mode:
  2446. .. rst-class:: classref-method
  2447. void **canvas_light_set_mode** **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` mode **)**
  2448. The mode of the light, see :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` constants.
  2449. .. rst-class:: classref-item-separator
  2450. ----
  2451. .. _class_VisualServer_method_canvas_light_set_scale:
  2452. .. rst-class:: classref-method
  2453. void **canvas_light_set_scale** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` scale **)**
  2454. Sets the texture's scale factor of the light. Equivalent to :ref:`Light2D.texture_scale<class_Light2D_property_texture_scale>`.
  2455. .. rst-class:: classref-item-separator
  2456. ----
  2457. .. _class_VisualServer_method_canvas_light_set_shadow_buffer_size:
  2458. .. rst-class:: classref-method
  2459. void **canvas_light_set_shadow_buffer_size** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` size **)**
  2460. Sets the width of the shadow buffer, size gets scaled to the next power of two for this.
  2461. .. rst-class:: classref-item-separator
  2462. ----
  2463. .. _class_VisualServer_method_canvas_light_set_shadow_color:
  2464. .. rst-class:: classref-method
  2465. void **canvas_light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  2466. Sets the color of the canvas light's shadow.
  2467. .. rst-class:: classref-item-separator
  2468. ----
  2469. .. _class_VisualServer_method_canvas_light_set_shadow_enabled:
  2470. .. rst-class:: classref-method
  2471. void **canvas_light_set_shadow_enabled** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  2472. Enables or disables the canvas light's shadow.
  2473. .. rst-class:: classref-item-separator
  2474. ----
  2475. .. _class_VisualServer_method_canvas_light_set_shadow_filter:
  2476. .. rst-class:: classref-method
  2477. void **canvas_light_set_shadow_filter** **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` filter **)**
  2478. Sets the canvas light's shadow's filter, see :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` constants.
  2479. .. rst-class:: classref-item-separator
  2480. ----
  2481. .. _class_VisualServer_method_canvas_light_set_shadow_gradient_length:
  2482. .. rst-class:: classref-method
  2483. void **canvas_light_set_shadow_gradient_length** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` length **)**
  2484. Sets the length of the shadow's gradient.
  2485. .. rst-class:: classref-item-separator
  2486. ----
  2487. .. _class_VisualServer_method_canvas_light_set_shadow_smooth:
  2488. .. rst-class:: classref-method
  2489. void **canvas_light_set_shadow_smooth** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` smooth **)**
  2490. Smoothens the shadow. The lower, the smoother.
  2491. .. rst-class:: classref-item-separator
  2492. ----
  2493. .. _class_VisualServer_method_canvas_light_set_texture:
  2494. .. rst-class:: classref-method
  2495. void **canvas_light_set_texture** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)**
  2496. Sets texture to be used by light. Equivalent to :ref:`Light2D.texture<class_Light2D_property_texture>`.
  2497. .. rst-class:: classref-item-separator
  2498. ----
  2499. .. _class_VisualServer_method_canvas_light_set_texture_offset:
  2500. .. rst-class:: classref-method
  2501. void **canvas_light_set_texture_offset** **(** :ref:`RID<class_RID>` light, :ref:`Vector2<class_Vector2>` offset **)**
  2502. Sets the offset of the light's texture. Equivalent to :ref:`Light2D.offset<class_Light2D_property_offset>`.
  2503. .. rst-class:: classref-item-separator
  2504. ----
  2505. .. _class_VisualServer_method_canvas_light_set_transform:
  2506. .. rst-class:: classref-method
  2507. void **canvas_light_set_transform** **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` transform **)**
  2508. Sets the canvas light's :ref:`Transform2D<class_Transform2D>`.
  2509. .. rst-class:: classref-item-separator
  2510. ----
  2511. .. _class_VisualServer_method_canvas_light_set_z_range:
  2512. .. rst-class:: classref-method
  2513. void **canvas_light_set_z_range** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_z, :ref:`int<class_int>` max_z **)**
  2514. Sets the Z range of objects that will be affected by this light. Equivalent to :ref:`Light2D.range_z_min<class_Light2D_property_range_z_min>` and :ref:`Light2D.range_z_max<class_Light2D_property_range_z_max>`.
  2515. .. rst-class:: classref-item-separator
  2516. ----
  2517. .. _class_VisualServer_method_canvas_light_transform_physics_interpolation:
  2518. .. rst-class:: classref-method
  2519. void **canvas_light_transform_physics_interpolation** **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` xform **)**
  2520. Transforms both the current and previous stored transform for a light.
  2521. This allows transforming a light without creating a "glitch" in the interpolation.
  2522. This is particularly useful for large worlds utilising a shifting origin.
  2523. .. rst-class:: classref-item-separator
  2524. ----
  2525. .. _class_VisualServer_method_canvas_occluder_polygon_create:
  2526. .. rst-class:: classref-method
  2527. :ref:`RID<class_RID>` **canvas_occluder_polygon_create** **(** **)**
  2528. Creates a new light occluder polygon and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``canvas_occluder_polygon_*`` VisualServer functions.
  2529. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2530. .. rst-class:: classref-item-separator
  2531. ----
  2532. .. _class_VisualServer_method_canvas_occluder_polygon_set_cull_mode:
  2533. .. rst-class:: classref-method
  2534. void **canvas_occluder_polygon_set_cull_mode** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` mode **)**
  2535. Sets an occluder polygons cull mode. See :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` constants.
  2536. .. rst-class:: classref-item-separator
  2537. ----
  2538. .. _class_VisualServer_method_canvas_occluder_polygon_set_shape:
  2539. .. rst-class:: classref-method
  2540. void **canvas_occluder_polygon_set_shape** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PoolVector2Array<class_PoolVector2Array>` shape, :ref:`bool<class_bool>` closed **)**
  2541. Sets the shape of the occluder polygon.
  2542. .. rst-class:: classref-item-separator
  2543. ----
  2544. .. _class_VisualServer_method_canvas_occluder_polygon_set_shape_as_lines:
  2545. .. rst-class:: classref-method
  2546. void **canvas_occluder_polygon_set_shape_as_lines** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PoolVector2Array<class_PoolVector2Array>` shape **)**
  2547. Sets the shape of the occluder polygon as lines.
  2548. .. rst-class:: classref-item-separator
  2549. ----
  2550. .. _class_VisualServer_method_canvas_set_item_mirroring:
  2551. .. rst-class:: classref-method
  2552. void **canvas_set_item_mirroring** **(** :ref:`RID<class_RID>` canvas, :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` mirroring **)**
  2553. A copy of the canvas item will be drawn with a local offset of the mirroring :ref:`Vector2<class_Vector2>`.
  2554. .. rst-class:: classref-item-separator
  2555. ----
  2556. .. _class_VisualServer_method_canvas_set_modulate:
  2557. .. rst-class:: classref-method
  2558. void **canvas_set_modulate** **(** :ref:`RID<class_RID>` canvas, :ref:`Color<class_Color>` color **)**
  2559. Modulates all colors in the given canvas.
  2560. .. rst-class:: classref-item-separator
  2561. ----
  2562. .. _class_VisualServer_method_debug_canvas_item_get_local_bound:
  2563. .. rst-class:: classref-method
  2564. :ref:`Rect2<class_Rect2>` **debug_canvas_item_get_local_bound** **(** :ref:`RID<class_RID>` item **)**
  2565. Returns the bounding rectangle for a canvas item and its descendants in local space, as calculated by the renderer. This bound is used internally for culling.
  2566. \ **Warning:** This function is intended for debugging in the editor, and will pass through and return a zero :ref:`Rect2<class_Rect2>` in exported projects.
  2567. .. rst-class:: classref-item-separator
  2568. ----
  2569. .. _class_VisualServer_method_debug_canvas_item_get_rect:
  2570. .. rst-class:: classref-method
  2571. :ref:`Rect2<class_Rect2>` **debug_canvas_item_get_rect** **(** :ref:`RID<class_RID>` item **)**
  2572. Returns the bounding rectangle for a canvas item in local space, as calculated by the renderer. This bound is used internally for culling.
  2573. \ **Warning:** This function is intended for debugging in the editor, and will pass through and return a zero :ref:`Rect2<class_Rect2>` in exported projects.
  2574. .. rst-class:: classref-item-separator
  2575. ----
  2576. .. _class_VisualServer_method_directional_light_create:
  2577. .. rst-class:: classref-method
  2578. :ref:`RID<class_RID>` **directional_light_create** **(** **)**
  2579. Creates a directional light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most ``light_*`` VisualServer functions.
  2580. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2581. To place in a scene, attach this directional light to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  2582. .. rst-class:: classref-item-separator
  2583. ----
  2584. .. _class_VisualServer_method_draw:
  2585. .. rst-class:: classref-method
  2586. void **draw** **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)**
  2587. Draws a frame. *This method is deprecated*, please use :ref:`force_draw<class_VisualServer_method_force_draw>` instead.
  2588. .. rst-class:: classref-item-separator
  2589. ----
  2590. .. _class_VisualServer_method_environment_create:
  2591. .. rst-class:: classref-method
  2592. :ref:`RID<class_RID>` **environment_create** **(** **)**
  2593. Creates an environment and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``environment_*`` VisualServer functions.
  2594. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2595. .. rst-class:: classref-item-separator
  2596. ----
  2597. .. _class_VisualServer_method_environment_set_adjustment:
  2598. .. rst-class:: classref-method
  2599. void **environment_set_adjustment** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` brightness, :ref:`float<class_float>` contrast, :ref:`float<class_float>` saturation, :ref:`RID<class_RID>` ramp **)**
  2600. Sets the values to be used with the "Adjustment" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2601. .. rst-class:: classref-item-separator
  2602. ----
  2603. .. _class_VisualServer_method_environment_set_ambient_light:
  2604. .. rst-class:: classref-method
  2605. void **environment_set_ambient_light** **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color, :ref:`float<class_float>` energy=1.0, :ref:`float<class_float>` sky_contibution=0.0 **)**
  2606. Sets the ambient light parameters. See :ref:`Environment<class_Environment>` for more details.
  2607. .. rst-class:: classref-item-separator
  2608. ----
  2609. .. _class_VisualServer_method_environment_set_background:
  2610. .. rst-class:: classref-method
  2611. void **environment_set_background** **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` bg **)**
  2612. Sets the *BGMode* of the environment. Equivalent to :ref:`Environment.background_mode<class_Environment_property_background_mode>`.
  2613. .. rst-class:: classref-item-separator
  2614. ----
  2615. .. _class_VisualServer_method_environment_set_bg_color:
  2616. .. rst-class:: classref-method
  2617. void **environment_set_bg_color** **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color **)**
  2618. Color displayed for clear areas of the scene (if using Custom color or Color+Sky background modes).
  2619. .. rst-class:: classref-item-separator
  2620. ----
  2621. .. _class_VisualServer_method_environment_set_bg_energy:
  2622. .. rst-class:: classref-method
  2623. void **environment_set_bg_energy** **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` energy **)**
  2624. Sets the intensity of the background color.
  2625. .. rst-class:: classref-item-separator
  2626. ----
  2627. .. _class_VisualServer_method_environment_set_canvas_max_layer:
  2628. .. rst-class:: classref-method
  2629. void **environment_set_canvas_max_layer** **(** :ref:`RID<class_RID>` env, :ref:`int<class_int>` max_layer **)**
  2630. Sets the maximum layer to use if using Canvas background mode.
  2631. .. rst-class:: classref-item-separator
  2632. ----
  2633. .. _class_VisualServer_method_environment_set_dof_blur_far:
  2634. .. rst-class:: classref-method
  2635. void **environment_set_dof_blur_far** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` distance, :ref:`float<class_float>` transition, :ref:`float<class_float>` far_amount, :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` quality **)**
  2636. Sets the values to be used with the "DoF Far Blur" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2637. .. rst-class:: classref-item-separator
  2638. ----
  2639. .. _class_VisualServer_method_environment_set_dof_blur_near:
  2640. .. rst-class:: classref-method
  2641. void **environment_set_dof_blur_near** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` distance, :ref:`float<class_float>` transition, :ref:`float<class_float>` far_amount, :ref:`EnvironmentDOFBlurQuality<enum_VisualServer_EnvironmentDOFBlurQuality>` quality **)**
  2642. Sets the values to be used with the "DoF Near Blur" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2643. .. rst-class:: classref-item-separator
  2644. ----
  2645. .. _class_VisualServer_method_environment_set_fog:
  2646. .. rst-class:: classref-method
  2647. void **environment_set_fog** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`Color<class_Color>` color, :ref:`Color<class_Color>` sun_color, :ref:`float<class_float>` sun_amount **)**
  2648. Sets the variables to be used with the scene fog. See :ref:`Environment<class_Environment>` for more details.
  2649. .. rst-class:: classref-item-separator
  2650. ----
  2651. .. _class_VisualServer_method_environment_set_fog_depth:
  2652. .. rst-class:: classref-method
  2653. void **environment_set_fog_depth** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` depth_begin, :ref:`float<class_float>` depth_end, :ref:`float<class_float>` depth_curve, :ref:`bool<class_bool>` transmit, :ref:`float<class_float>` transmit_curve **)**
  2654. Sets the variables to be used with the fog depth effect. See :ref:`Environment<class_Environment>` for more details.
  2655. .. rst-class:: classref-item-separator
  2656. ----
  2657. .. _class_VisualServer_method_environment_set_fog_height:
  2658. .. rst-class:: classref-method
  2659. void **environment_set_fog_height** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` min_height, :ref:`float<class_float>` max_height, :ref:`float<class_float>` height_curve **)**
  2660. Sets the variables to be used with the fog height effect. See :ref:`Environment<class_Environment>` for more details.
  2661. .. rst-class:: classref-item-separator
  2662. ----
  2663. .. _class_VisualServer_method_environment_set_glow:
  2664. .. rst-class:: classref-method
  2665. void **environment_set_glow** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`int<class_int>` level_flags, :ref:`float<class_float>` intensity, :ref:`float<class_float>` strength, :ref:`float<class_float>` bloom_threshold, :ref:`EnvironmentGlowBlendMode<enum_VisualServer_EnvironmentGlowBlendMode>` blend_mode, :ref:`float<class_float>` hdr_bleed_threshold, :ref:`float<class_float>` hdr_bleed_scale, :ref:`float<class_float>` hdr_luminance_cap, :ref:`bool<class_bool>` bicubic_upscale, :ref:`bool<class_bool>` high_quality **)**
  2666. Sets the variables to be used with the "glow" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2667. .. rst-class:: classref-item-separator
  2668. ----
  2669. .. _class_VisualServer_method_environment_set_sky:
  2670. .. rst-class:: classref-method
  2671. void **environment_set_sky** **(** :ref:`RID<class_RID>` env, :ref:`RID<class_RID>` sky **)**
  2672. Sets the :ref:`Sky<class_Sky>` to be used as the environment's background when using *BGMode* sky. Equivalent to :ref:`Environment.background_sky<class_Environment_property_background_sky>`.
  2673. .. rst-class:: classref-item-separator
  2674. ----
  2675. .. _class_VisualServer_method_environment_set_sky_custom_fov:
  2676. .. rst-class:: classref-method
  2677. void **environment_set_sky_custom_fov** **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` scale **)**
  2678. Sets a custom field of view for the background :ref:`Sky<class_Sky>`. Equivalent to :ref:`Environment.background_sky_custom_fov<class_Environment_property_background_sky_custom_fov>`.
  2679. .. rst-class:: classref-item-separator
  2680. ----
  2681. .. _class_VisualServer_method_environment_set_sky_orientation:
  2682. .. rst-class:: classref-method
  2683. void **environment_set_sky_orientation** **(** :ref:`RID<class_RID>` env, :ref:`Basis<class_Basis>` orientation **)**
  2684. Sets the rotation of the background :ref:`Sky<class_Sky>` expressed as a :ref:`Basis<class_Basis>`. Equivalent to :ref:`Environment.background_sky_orientation<class_Environment_property_background_sky_orientation>`.
  2685. .. rst-class:: classref-item-separator
  2686. ----
  2687. .. _class_VisualServer_method_environment_set_ssao:
  2688. .. rst-class:: classref-method
  2689. void **environment_set_ssao** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` radius, :ref:`float<class_float>` intensity, :ref:`float<class_float>` radius2, :ref:`float<class_float>` intensity2, :ref:`float<class_float>` bias, :ref:`float<class_float>` light_affect, :ref:`float<class_float>` ao_channel_affect, :ref:`Color<class_Color>` color, :ref:`EnvironmentSSAOQuality<enum_VisualServer_EnvironmentSSAOQuality>` quality, :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` blur, :ref:`float<class_float>` bilateral_sharpness **)**
  2690. Sets the variables to be used with the "Screen Space Ambient Occlusion (SSAO)" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2691. .. rst-class:: classref-item-separator
  2692. ----
  2693. .. _class_VisualServer_method_environment_set_ssr:
  2694. .. rst-class:: classref-method
  2695. void **environment_set_ssr** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`int<class_int>` max_steps, :ref:`float<class_float>` fade_in, :ref:`float<class_float>` fade_out, :ref:`float<class_float>` depth_tolerance, :ref:`bool<class_bool>` roughness **)**
  2696. Sets the variables to be used with the "screen space reflections" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2697. .. rst-class:: classref-item-separator
  2698. ----
  2699. .. _class_VisualServer_method_environment_set_tonemap:
  2700. .. rst-class:: classref-method
  2701. void **environment_set_tonemap** **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentToneMapper<enum_VisualServer_EnvironmentToneMapper>` tone_mapper, :ref:`float<class_float>` exposure, :ref:`float<class_float>` white, :ref:`bool<class_bool>` auto_exposure, :ref:`float<class_float>` min_luminance, :ref:`float<class_float>` max_luminance, :ref:`float<class_float>` auto_exp_speed, :ref:`float<class_float>` auto_exp_grey **)**
  2702. Sets the variables to be used with the "tonemap" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  2703. .. rst-class:: classref-item-separator
  2704. ----
  2705. .. _class_VisualServer_method_finish:
  2706. .. rst-class:: classref-method
  2707. void **finish** **(** **)**
  2708. Removes buffers and clears testcubes.
  2709. .. rst-class:: classref-item-separator
  2710. ----
  2711. .. _class_VisualServer_method_force_draw:
  2712. .. rst-class:: classref-method
  2713. void **force_draw** **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)**
  2714. Forces a frame to be drawn when the function is called. Drawing a frame updates all :ref:`Viewport<class_Viewport>`\ s that are set to update. Use with extreme caution.
  2715. .. rst-class:: classref-item-separator
  2716. ----
  2717. .. _class_VisualServer_method_force_sync:
  2718. .. rst-class:: classref-method
  2719. void **force_sync** **(** **)**
  2720. Synchronizes threads.
  2721. .. rst-class:: classref-item-separator
  2722. ----
  2723. .. _class_VisualServer_method_free_rid:
  2724. .. rst-class:: classref-method
  2725. void **free_rid** **(** :ref:`RID<class_RID>` rid **)**
  2726. Destroys an object created by the VisualServer. If the :ref:`RID<class_RID>` passed is not one created by the server that created it (e.g. VisualServer, PhysicsServer, etc.), an error will be sent to the console.
  2727. \ **Note:** After freeing the object, the RID now has a reference to invalid memory. It is not safe to use or free an invalid RID. Before using the RID again, make sure to assign it to ``RID()`` or any other valid RID.
  2728. ::
  2729. var r: RID = VisualServer.get_test_cube()
  2730. VisualServer.free_rid(r)
  2731. print("ID: ", r.get_id()) # It is not safe to access or free an invalid RID
  2732. r = RID() # Reset the RID so it is safe to use again.
  2733. print("ID: ", r.get_id())
  2734. # Output:
  2735. # ID: 157 # Freed RID has invalid data
  2736. # ID: 0 # RID has been properly reset
  2737. .. rst-class:: classref-item-separator
  2738. ----
  2739. .. _class_VisualServer_method_get_render_info:
  2740. .. rst-class:: classref-method
  2741. :ref:`int<class_int>` **get_render_info** **(** :ref:`RenderInfo<enum_VisualServer_RenderInfo>` info **)**
  2742. Returns a certain information, see :ref:`RenderInfo<enum_VisualServer_RenderInfo>` for options.
  2743. .. rst-class:: classref-item-separator
  2744. ----
  2745. .. _class_VisualServer_method_get_test_cube:
  2746. .. rst-class:: classref-method
  2747. :ref:`RID<class_RID>` **get_test_cube** **(** **)**
  2748. Returns the id of the test cube. Creates one if none exists.
  2749. .. rst-class:: classref-item-separator
  2750. ----
  2751. .. _class_VisualServer_method_get_test_texture:
  2752. .. rst-class:: classref-method
  2753. :ref:`RID<class_RID>` **get_test_texture** **(** **)**
  2754. Returns the id of the test texture. Creates one if none exists.
  2755. .. rst-class:: classref-item-separator
  2756. ----
  2757. .. _class_VisualServer_method_get_video_adapter_name:
  2758. .. rst-class:: classref-method
  2759. :ref:`String<class_String>` **get_video_adapter_name** **(** **)** |const|
  2760. Returns the name of the video adapter (e.g. "GeForce GTX 1080/PCIe/SSE2").
  2761. \ **Note:** When running a headless or server binary, this function returns an empty string.
  2762. .. rst-class:: classref-item-separator
  2763. ----
  2764. .. _class_VisualServer_method_get_video_adapter_vendor:
  2765. .. rst-class:: classref-method
  2766. :ref:`String<class_String>` **get_video_adapter_vendor** **(** **)** |const|
  2767. Returns the vendor of the video adapter (e.g. "NVIDIA Corporation").
  2768. \ **Note:** When running a headless or server binary, this function returns an empty string.
  2769. .. rst-class:: classref-item-separator
  2770. ----
  2771. .. _class_VisualServer_method_get_white_texture:
  2772. .. rst-class:: classref-method
  2773. :ref:`RID<class_RID>` **get_white_texture** **(** **)**
  2774. Returns the id of a white texture. Creates one if none exists.
  2775. .. rst-class:: classref-item-separator
  2776. ----
  2777. .. _class_VisualServer_method_gi_probe_create:
  2778. .. rst-class:: classref-method
  2779. :ref:`RID<class_RID>` **gi_probe_create** **(** **)**
  2780. Creates a GI probe and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``gi_probe_*`` VisualServer functions.
  2781. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2782. To place in a scene, attach this GI probe to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  2783. .. rst-class:: classref-item-separator
  2784. ----
  2785. .. _class_VisualServer_method_gi_probe_get_bias:
  2786. .. rst-class:: classref-method
  2787. :ref:`float<class_float>` **gi_probe_get_bias** **(** :ref:`RID<class_RID>` probe **)** |const|
  2788. Returns the bias value for the GI probe. Bias is used to avoid self occlusion. Equivalent to :ref:`GIProbeData.bias<class_GIProbeData_property_bias>`.
  2789. .. rst-class:: classref-item-separator
  2790. ----
  2791. .. _class_VisualServer_method_gi_probe_get_bounds:
  2792. .. rst-class:: classref-method
  2793. :ref:`AABB<class_AABB>` **gi_probe_get_bounds** **(** :ref:`RID<class_RID>` probe **)** |const|
  2794. Returns the axis-aligned bounding box that covers the full extent of the GI probe.
  2795. .. rst-class:: classref-item-separator
  2796. ----
  2797. .. _class_VisualServer_method_gi_probe_get_cell_size:
  2798. .. rst-class:: classref-method
  2799. :ref:`float<class_float>` **gi_probe_get_cell_size** **(** :ref:`RID<class_RID>` probe **)** |const|
  2800. Returns the cell size set by :ref:`gi_probe_set_cell_size<class_VisualServer_method_gi_probe_set_cell_size>`.
  2801. .. rst-class:: classref-item-separator
  2802. ----
  2803. .. _class_VisualServer_method_gi_probe_get_dynamic_data:
  2804. .. rst-class:: classref-method
  2805. :ref:`PoolIntArray<class_PoolIntArray>` **gi_probe_get_dynamic_data** **(** :ref:`RID<class_RID>` probe **)** |const|
  2806. Returns the data used by the GI probe.
  2807. .. rst-class:: classref-item-separator
  2808. ----
  2809. .. _class_VisualServer_method_gi_probe_get_dynamic_range:
  2810. .. rst-class:: classref-method
  2811. :ref:`int<class_int>` **gi_probe_get_dynamic_range** **(** :ref:`RID<class_RID>` probe **)** |const|
  2812. Returns the dynamic range set for this GI probe. Equivalent to :ref:`GIProbe.dynamic_range<class_GIProbe_property_dynamic_range>`.
  2813. .. rst-class:: classref-item-separator
  2814. ----
  2815. .. _class_VisualServer_method_gi_probe_get_energy:
  2816. .. rst-class:: classref-method
  2817. :ref:`float<class_float>` **gi_probe_get_energy** **(** :ref:`RID<class_RID>` probe **)** |const|
  2818. Returns the energy multiplier for this GI probe. Equivalent to :ref:`GIProbe.energy<class_GIProbe_property_energy>`.
  2819. .. rst-class:: classref-item-separator
  2820. ----
  2821. .. _class_VisualServer_method_gi_probe_get_normal_bias:
  2822. .. rst-class:: classref-method
  2823. :ref:`float<class_float>` **gi_probe_get_normal_bias** **(** :ref:`RID<class_RID>` probe **)** |const|
  2824. Returns the normal bias for this GI probe. Equivalent to :ref:`GIProbe.normal_bias<class_GIProbe_property_normal_bias>`.
  2825. .. rst-class:: classref-item-separator
  2826. ----
  2827. .. _class_VisualServer_method_gi_probe_get_propagation:
  2828. .. rst-class:: classref-method
  2829. :ref:`float<class_float>` **gi_probe_get_propagation** **(** :ref:`RID<class_RID>` probe **)** |const|
  2830. Returns the propagation value for this GI probe. Equivalent to :ref:`GIProbe.propagation<class_GIProbe_property_propagation>`.
  2831. .. rst-class:: classref-item-separator
  2832. ----
  2833. .. _class_VisualServer_method_gi_probe_get_to_cell_xform:
  2834. .. rst-class:: classref-method
  2835. :ref:`Transform<class_Transform>` **gi_probe_get_to_cell_xform** **(** :ref:`RID<class_RID>` probe **)** |const|
  2836. Returns the Transform set by :ref:`gi_probe_set_to_cell_xform<class_VisualServer_method_gi_probe_set_to_cell_xform>`.
  2837. .. rst-class:: classref-item-separator
  2838. ----
  2839. .. _class_VisualServer_method_gi_probe_is_compressed:
  2840. .. rst-class:: classref-method
  2841. :ref:`bool<class_bool>` **gi_probe_is_compressed** **(** :ref:`RID<class_RID>` probe **)** |const|
  2842. Returns ``true`` if the GI probe data associated with this GI probe is compressed. Equivalent to :ref:`GIProbe.compress<class_GIProbe_property_compress>`.
  2843. .. rst-class:: classref-item-separator
  2844. ----
  2845. .. _class_VisualServer_method_gi_probe_is_interior:
  2846. .. rst-class:: classref-method
  2847. :ref:`bool<class_bool>` **gi_probe_is_interior** **(** :ref:`RID<class_RID>` probe **)** |const|
  2848. Returns ``true`` if the GI probe is set to interior, meaning it does not account for sky light. Equivalent to :ref:`GIProbe.interior<class_GIProbe_property_interior>`.
  2849. .. rst-class:: classref-item-separator
  2850. ----
  2851. .. _class_VisualServer_method_gi_probe_set_bias:
  2852. .. rst-class:: classref-method
  2853. void **gi_probe_set_bias** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)**
  2854. Sets the bias value to avoid self-occlusion. Equivalent to :ref:`GIProbe.bias<class_GIProbe_property_bias>`.
  2855. .. rst-class:: classref-item-separator
  2856. ----
  2857. .. _class_VisualServer_method_gi_probe_set_bounds:
  2858. .. rst-class:: classref-method
  2859. void **gi_probe_set_bounds** **(** :ref:`RID<class_RID>` probe, :ref:`AABB<class_AABB>` bounds **)**
  2860. Sets the axis-aligned bounding box that covers the extent of the GI probe.
  2861. .. rst-class:: classref-item-separator
  2862. ----
  2863. .. _class_VisualServer_method_gi_probe_set_cell_size:
  2864. .. rst-class:: classref-method
  2865. void **gi_probe_set_cell_size** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` range **)**
  2866. Sets the size of individual cells within the GI probe.
  2867. .. rst-class:: classref-item-separator
  2868. ----
  2869. .. _class_VisualServer_method_gi_probe_set_compress:
  2870. .. rst-class:: classref-method
  2871. void **gi_probe_set_compress** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2872. Sets the compression setting for the GI probe data. Compressed data will take up less space but may look worse. Equivalent to :ref:`GIProbe.compress<class_GIProbe_property_compress>`.
  2873. .. rst-class:: classref-item-separator
  2874. ----
  2875. .. _class_VisualServer_method_gi_probe_set_dynamic_data:
  2876. .. rst-class:: classref-method
  2877. void **gi_probe_set_dynamic_data** **(** :ref:`RID<class_RID>` probe, :ref:`PoolIntArray<class_PoolIntArray>` data **)**
  2878. Sets the data to be used in the GI probe for lighting calculations. Normally this is created and called internally within the :ref:`GIProbe<class_GIProbe>` node. You should not try to set this yourself.
  2879. .. rst-class:: classref-item-separator
  2880. ----
  2881. .. _class_VisualServer_method_gi_probe_set_dynamic_range:
  2882. .. rst-class:: classref-method
  2883. void **gi_probe_set_dynamic_range** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` range **)**
  2884. Sets the dynamic range of the GI probe. Dynamic range sets the limit for how bright lights can be. A smaller range captures greater detail but limits how bright lights can be. Equivalent to :ref:`GIProbe.dynamic_range<class_GIProbe_property_dynamic_range>`.
  2885. .. rst-class:: classref-item-separator
  2886. ----
  2887. .. _class_VisualServer_method_gi_probe_set_energy:
  2888. .. rst-class:: classref-method
  2889. void **gi_probe_set_energy** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)**
  2890. Sets the energy multiplier for this GI probe. A higher energy makes the indirect light from the GI probe brighter. Equivalent to :ref:`GIProbe.energy<class_GIProbe_property_energy>`.
  2891. .. rst-class:: classref-item-separator
  2892. ----
  2893. .. _class_VisualServer_method_gi_probe_set_interior:
  2894. .. rst-class:: classref-method
  2895. void **gi_probe_set_interior** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2896. Sets the interior value of this GI probe. A GI probe set to interior does not include the sky when calculating lighting. Equivalent to :ref:`GIProbe.interior<class_GIProbe_property_interior>`.
  2897. .. rst-class:: classref-item-separator
  2898. ----
  2899. .. _class_VisualServer_method_gi_probe_set_normal_bias:
  2900. .. rst-class:: classref-method
  2901. void **gi_probe_set_normal_bias** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)**
  2902. Sets the normal bias for this GI probe. Normal bias behaves similar to the other form of bias and may help reduce self-occlusion. Equivalent to :ref:`GIProbe.normal_bias<class_GIProbe_property_normal_bias>`.
  2903. .. rst-class:: classref-item-separator
  2904. ----
  2905. .. _class_VisualServer_method_gi_probe_set_propagation:
  2906. .. rst-class:: classref-method
  2907. void **gi_probe_set_propagation** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` propagation **)**
  2908. Sets the propagation of light within this GI probe. Equivalent to :ref:`GIProbe.propagation<class_GIProbe_property_propagation>`.
  2909. .. rst-class:: classref-item-separator
  2910. ----
  2911. .. _class_VisualServer_method_gi_probe_set_to_cell_xform:
  2912. .. rst-class:: classref-method
  2913. void **gi_probe_set_to_cell_xform** **(** :ref:`RID<class_RID>` probe, :ref:`Transform<class_Transform>` xform **)**
  2914. Sets the to cell :ref:`Transform<class_Transform>` for this GI probe.
  2915. .. rst-class:: classref-item-separator
  2916. ----
  2917. .. _class_VisualServer_method_has_changed:
  2918. .. rst-class:: classref-method
  2919. :ref:`bool<class_bool>` **has_changed** **(** :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` queried_priority=0 **)** |const|
  2920. Returns ``true`` if changes have been made to the VisualServer's data. :ref:`draw<class_VisualServer_method_draw>` is usually called if this happens.
  2921. As changes are registered as either high or low priority (e.g. dynamic shaders), this function takes an optional argument to query either low or high priority changes, or any changes.
  2922. .. rst-class:: classref-item-separator
  2923. ----
  2924. .. _class_VisualServer_method_has_feature:
  2925. .. rst-class:: classref-method
  2926. :ref:`bool<class_bool>` **has_feature** **(** :ref:`Features<enum_VisualServer_Features>` feature **)** |const|
  2927. Not yet implemented. Always returns ``false``.
  2928. .. rst-class:: classref-item-separator
  2929. ----
  2930. .. _class_VisualServer_method_has_os_feature:
  2931. .. rst-class:: classref-method
  2932. :ref:`bool<class_bool>` **has_os_feature** **(** :ref:`String<class_String>` feature **)** |const|
  2933. Returns ``true`` if the OS supports a certain feature. Features might be ``s3tc``, ``etc``, ``etc2``, ``pvrtc`` and ``skinning_fallback``.
  2934. When rendering with GLES2, returns ``true`` with ``skinning_fallback`` in case the hardware doesn't support the default GPU skinning process.
  2935. .. rst-class:: classref-item-separator
  2936. ----
  2937. .. _class_VisualServer_method_immediate_begin:
  2938. .. rst-class:: classref-method
  2939. void **immediate_begin** **(** :ref:`RID<class_RID>` immediate, :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` primitive, :ref:`RID<class_RID>` texture **)**
  2940. Sets up :ref:`ImmediateGeometry<class_ImmediateGeometry>` internals to prepare for drawing. Equivalent to :ref:`ImmediateGeometry.begin<class_ImmediateGeometry_method_begin>`.
  2941. .. rst-class:: classref-item-separator
  2942. ----
  2943. .. _class_VisualServer_method_immediate_clear:
  2944. .. rst-class:: classref-method
  2945. void **immediate_clear** **(** :ref:`RID<class_RID>` immediate **)**
  2946. Clears everything that was set up between :ref:`immediate_begin<class_VisualServer_method_immediate_begin>` and :ref:`immediate_end<class_VisualServer_method_immediate_end>`. Equivalent to :ref:`ImmediateGeometry.clear<class_ImmediateGeometry_method_clear>`.
  2947. .. rst-class:: classref-item-separator
  2948. ----
  2949. .. _class_VisualServer_method_immediate_color:
  2950. .. rst-class:: classref-method
  2951. void **immediate_color** **(** :ref:`RID<class_RID>` immediate, :ref:`Color<class_Color>` color **)**
  2952. Sets the color to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_color<class_ImmediateGeometry_method_set_color>`.
  2953. .. rst-class:: classref-item-separator
  2954. ----
  2955. .. _class_VisualServer_method_immediate_create:
  2956. .. rst-class:: classref-method
  2957. :ref:`RID<class_RID>` **immediate_create** **(** **)**
  2958. Creates an immediate geometry and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``immediate_*`` VisualServer functions.
  2959. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  2960. To place in a scene, attach this immediate geometry to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  2961. .. rst-class:: classref-item-separator
  2962. ----
  2963. .. _class_VisualServer_method_immediate_end:
  2964. .. rst-class:: classref-method
  2965. void **immediate_end** **(** :ref:`RID<class_RID>` immediate **)**
  2966. Ends drawing the :ref:`ImmediateGeometry<class_ImmediateGeometry>` and displays it. Equivalent to :ref:`ImmediateGeometry.end<class_ImmediateGeometry_method_end>`.
  2967. .. rst-class:: classref-item-separator
  2968. ----
  2969. .. _class_VisualServer_method_immediate_get_material:
  2970. .. rst-class:: classref-method
  2971. :ref:`RID<class_RID>` **immediate_get_material** **(** :ref:`RID<class_RID>` immediate **)** |const|
  2972. Returns the material assigned to the :ref:`ImmediateGeometry<class_ImmediateGeometry>`.
  2973. .. rst-class:: classref-item-separator
  2974. ----
  2975. .. _class_VisualServer_method_immediate_normal:
  2976. .. rst-class:: classref-method
  2977. void **immediate_normal** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` normal **)**
  2978. Sets the normal to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_normal<class_ImmediateGeometry_method_set_normal>`.
  2979. .. rst-class:: classref-item-separator
  2980. ----
  2981. .. _class_VisualServer_method_immediate_set_material:
  2982. .. rst-class:: classref-method
  2983. void **immediate_set_material** **(** :ref:`RID<class_RID>` immediate, :ref:`RID<class_RID>` material **)**
  2984. Sets the material to be used to draw the :ref:`ImmediateGeometry<class_ImmediateGeometry>`.
  2985. .. rst-class:: classref-item-separator
  2986. ----
  2987. .. _class_VisualServer_method_immediate_tangent:
  2988. .. rst-class:: classref-method
  2989. void **immediate_tangent** **(** :ref:`RID<class_RID>` immediate, :ref:`Plane<class_Plane>` tangent **)**
  2990. Sets the tangent to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_tangent<class_ImmediateGeometry_method_set_tangent>`.
  2991. .. rst-class:: classref-item-separator
  2992. ----
  2993. .. _class_VisualServer_method_immediate_uv:
  2994. .. rst-class:: classref-method
  2995. void **immediate_uv** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)**
  2996. Sets the UV to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv<class_ImmediateGeometry_method_set_uv>`.
  2997. .. rst-class:: classref-item-separator
  2998. ----
  2999. .. _class_VisualServer_method_immediate_uv2:
  3000. .. rst-class:: classref-method
  3001. void **immediate_uv2** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)**
  3002. Sets the UV2 to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv2<class_ImmediateGeometry_method_set_uv2>`.
  3003. .. rst-class:: classref-item-separator
  3004. ----
  3005. .. _class_VisualServer_method_immediate_vertex:
  3006. .. rst-class:: classref-method
  3007. void **immediate_vertex** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` vertex **)**
  3008. Adds the next vertex using the information provided in advance. Equivalent to :ref:`ImmediateGeometry.add_vertex<class_ImmediateGeometry_method_add_vertex>`.
  3009. .. rst-class:: classref-item-separator
  3010. ----
  3011. .. _class_VisualServer_method_immediate_vertex_2d:
  3012. .. rst-class:: classref-method
  3013. void **immediate_vertex_2d** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` vertex **)**
  3014. Adds the next vertex using the information provided in advance. This is a helper class that calls :ref:`immediate_vertex<class_VisualServer_method_immediate_vertex>` under the hood. Equivalent to :ref:`ImmediateGeometry.add_vertex<class_ImmediateGeometry_method_add_vertex>`.
  3015. .. rst-class:: classref-item-separator
  3016. ----
  3017. .. _class_VisualServer_method_init:
  3018. .. rst-class:: classref-method
  3019. void **init** **(** **)**
  3020. Initializes the visual server. This function is called internally by platform-dependent code during engine initialization. If called from a running game, it will not do anything.
  3021. .. rst-class:: classref-item-separator
  3022. ----
  3023. .. _class_VisualServer_method_instance_attach_object_instance_id:
  3024. .. rst-class:: classref-method
  3025. void **instance_attach_object_instance_id** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` id **)**
  3026. Attaches a unique Object ID to instance. Object ID must be attached to instance for proper culling with :ref:`instances_cull_aabb<class_VisualServer_method_instances_cull_aabb>`, :ref:`instances_cull_convex<class_VisualServer_method_instances_cull_convex>`, and :ref:`instances_cull_ray<class_VisualServer_method_instances_cull_ray>`.
  3027. .. rst-class:: classref-item-separator
  3028. ----
  3029. .. _class_VisualServer_method_instance_attach_skeleton:
  3030. .. rst-class:: classref-method
  3031. void **instance_attach_skeleton** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` skeleton **)**
  3032. Attaches a skeleton to an instance. Removes the previous skeleton from the instance.
  3033. .. rst-class:: classref-item-separator
  3034. ----
  3035. .. _class_VisualServer_method_instance_create:
  3036. .. rst-class:: classref-method
  3037. :ref:`RID<class_RID>` **instance_create** **(** **)**
  3038. Creates a visual instance and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``instance_*`` VisualServer functions.
  3039. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3040. An instance is a way of placing a 3D object in the scenario. Objects like particles, meshes, and reflection probes need to be associated with an instance to be visible in the scenario using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>`.
  3041. .. rst-class:: classref-item-separator
  3042. ----
  3043. .. _class_VisualServer_method_instance_create2:
  3044. .. rst-class:: classref-method
  3045. :ref:`RID<class_RID>` **instance_create2** **(** :ref:`RID<class_RID>` base, :ref:`RID<class_RID>` scenario **)**
  3046. Creates a visual instance, adds it to the VisualServer, and sets both base and scenario. It can be accessed with the RID that is returned. This RID will be used in all ``instance_*`` VisualServer functions.
  3047. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3048. .. rst-class:: classref-item-separator
  3049. ----
  3050. .. _class_VisualServer_method_instance_geometry_set_cast_shadows_setting:
  3051. .. rst-class:: classref-method
  3052. void **instance_geometry_set_cast_shadows_setting** **(** :ref:`RID<class_RID>` instance, :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` shadow_casting_setting **)**
  3053. Sets the shadow casting setting to one of :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>`. Equivalent to :ref:`GeometryInstance.cast_shadow<class_GeometryInstance_property_cast_shadow>`.
  3054. .. rst-class:: classref-item-separator
  3055. ----
  3056. .. _class_VisualServer_method_instance_geometry_set_flag:
  3057. .. rst-class:: classref-method
  3058. void **instance_geometry_set_flag** **(** :ref:`RID<class_RID>` instance, :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` flag, :ref:`bool<class_bool>` enabled **)**
  3059. Sets the flag for a given :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>`. See :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` for more details.
  3060. .. rst-class:: classref-item-separator
  3061. ----
  3062. .. _class_VisualServer_method_instance_geometry_set_material_overlay:
  3063. .. rst-class:: classref-method
  3064. void **instance_geometry_set_material_overlay** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)**
  3065. Sets a material that will be rendered for all surfaces on top of active materials for the mesh associated with this instance. Equivalent to :ref:`GeometryInstance.material_overlay<class_GeometryInstance_property_material_overlay>`.
  3066. .. rst-class:: classref-item-separator
  3067. ----
  3068. .. _class_VisualServer_method_instance_geometry_set_material_override:
  3069. .. rst-class:: classref-method
  3070. void **instance_geometry_set_material_override** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)**
  3071. Sets a material that will override the material for all surfaces on the mesh associated with this instance. Equivalent to :ref:`GeometryInstance.material_override<class_GeometryInstance_property_material_override>`.
  3072. .. rst-class:: classref-item-separator
  3073. ----
  3074. .. _class_VisualServer_method_instance_reset_physics_interpolation:
  3075. .. rst-class:: classref-method
  3076. void **instance_reset_physics_interpolation** **(** :ref:`RID<class_RID>` instance **)**
  3077. Prevents physics interpolation for the current physics tick.
  3078. This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location.
  3079. .. rst-class:: classref-item-separator
  3080. ----
  3081. .. _class_VisualServer_method_instance_set_base:
  3082. .. rst-class:: classref-method
  3083. void **instance_set_base** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` base **)**
  3084. Sets the base of the instance. A base can be any of the 3D objects that are created in the VisualServer that can be displayed. For example, any of the light types, mesh, multimesh, immediate geometry, particle system, reflection probe, lightmap capture, and the GI probe are all types that can be set as the base of an instance in order to be displayed in the scenario.
  3085. .. rst-class:: classref-item-separator
  3086. ----
  3087. .. _class_VisualServer_method_instance_set_blend_shape_weight:
  3088. .. rst-class:: classref-method
  3089. void **instance_set_blend_shape_weight** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` shape, :ref:`float<class_float>` weight **)**
  3090. Sets the weight for a given blend shape associated with this instance.
  3091. .. rst-class:: classref-item-separator
  3092. ----
  3093. .. _class_VisualServer_method_instance_set_custom_aabb:
  3094. .. rst-class:: classref-method
  3095. void **instance_set_custom_aabb** **(** :ref:`RID<class_RID>` instance, :ref:`AABB<class_AABB>` aabb **)**
  3096. Sets a custom AABB to use when culling objects from the view frustum. Equivalent to :ref:`GeometryInstance.set_custom_aabb<class_GeometryInstance_method_set_custom_aabb>`.
  3097. .. rst-class:: classref-item-separator
  3098. ----
  3099. .. _class_VisualServer_method_instance_set_exterior:
  3100. .. rst-class:: classref-method
  3101. void **instance_set_exterior** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` enabled **)**
  3102. Function not implemented in Godot 3.x.
  3103. .. rst-class:: classref-item-separator
  3104. ----
  3105. .. _class_VisualServer_method_instance_set_extra_visibility_margin:
  3106. .. rst-class:: classref-method
  3107. void **instance_set_extra_visibility_margin** **(** :ref:`RID<class_RID>` instance, :ref:`float<class_float>` margin **)**
  3108. Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you to avoid culling objects that fall outside the view frustum. Equivalent to :ref:`GeometryInstance.extra_cull_margin<class_GeometryInstance_property_extra_cull_margin>`.
  3109. .. rst-class:: classref-item-separator
  3110. ----
  3111. .. _class_VisualServer_method_instance_set_interpolated:
  3112. .. rst-class:: classref-method
  3113. void **instance_set_interpolated** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` interpolated **)**
  3114. Turns on and off physics interpolation for the instance.
  3115. .. rst-class:: classref-item-separator
  3116. ----
  3117. .. _class_VisualServer_method_instance_set_layer_mask:
  3118. .. rst-class:: classref-method
  3119. void **instance_set_layer_mask** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` mask **)**
  3120. Sets the render layers that this instance will be drawn to. Equivalent to :ref:`VisualInstance.layers<class_VisualInstance_property_layers>`.
  3121. .. rst-class:: classref-item-separator
  3122. ----
  3123. .. _class_VisualServer_method_instance_set_scenario:
  3124. .. rst-class:: classref-method
  3125. void **instance_set_scenario** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` scenario **)**
  3126. Sets the scenario that the instance is in. The scenario is the 3D world that the objects will be displayed in.
  3127. .. rst-class:: classref-item-separator
  3128. ----
  3129. .. _class_VisualServer_method_instance_set_surface_material:
  3130. .. rst-class:: classref-method
  3131. void **instance_set_surface_material** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)**
  3132. Sets the material of a specific surface. Equivalent to :ref:`MeshInstance.set_surface_material<class_MeshInstance_method_set_surface_material>`.
  3133. .. rst-class:: classref-item-separator
  3134. ----
  3135. .. _class_VisualServer_method_instance_set_transform:
  3136. .. rst-class:: classref-method
  3137. void **instance_set_transform** **(** :ref:`RID<class_RID>` instance, :ref:`Transform<class_Transform>` transform **)**
  3138. Sets the world space transform of the instance. Equivalent to :ref:`Spatial.transform<class_Spatial_property_transform>`.
  3139. .. rst-class:: classref-item-separator
  3140. ----
  3141. .. _class_VisualServer_method_instance_set_use_lightmap:
  3142. .. rst-class:: classref-method
  3143. void **instance_set_use_lightmap** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` lightmap_instance, :ref:`RID<class_RID>` lightmap, :ref:`int<class_int>` lightmap_slice=-1, :ref:`Rect2<class_Rect2>` lightmap_uv_rect=Rect2( 0, 0, 1, 1 ) **)**
  3144. Sets the lightmap to use with this instance.
  3145. .. rst-class:: classref-item-separator
  3146. ----
  3147. .. _class_VisualServer_method_instance_set_visible:
  3148. .. rst-class:: classref-method
  3149. void **instance_set_visible** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` visible **)**
  3150. Sets whether an instance is drawn or not. Equivalent to :ref:`Spatial.visible<class_Spatial_property_visible>`.
  3151. .. rst-class:: classref-item-separator
  3152. ----
  3153. .. _class_VisualServer_method_instances_cull_aabb:
  3154. .. rst-class:: classref-method
  3155. :ref:`Array<class_Array>` **instances_cull_aabb** **(** :ref:`AABB<class_AABB>` aabb, :ref:`RID<class_RID>` scenario **)** |const|
  3156. Returns an array of object IDs intersecting with the provided AABB. Only visual 3D nodes are considered, such as :ref:`MeshInstance<class_MeshInstance>` or :ref:`DirectionalLight<class_DirectionalLight>`. Use :ref:`@GDScript.instance_from_id<class_@GDScript_method_instance_from_id>` to obtain the actual nodes. A scenario RID must be provided, which is available in the :ref:`World<class_World>` you want to query. This forces an update for all resources queued to update.
  3157. \ **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  3158. .. rst-class:: classref-item-separator
  3159. ----
  3160. .. _class_VisualServer_method_instances_cull_convex:
  3161. .. rst-class:: classref-method
  3162. :ref:`Array<class_Array>` **instances_cull_convex** **(** :ref:`Array<class_Array>` convex, :ref:`RID<class_RID>` scenario **)** |const|
  3163. Returns an array of object IDs intersecting with the provided convex shape. Only visual 3D nodes are considered, such as :ref:`MeshInstance<class_MeshInstance>` or :ref:`DirectionalLight<class_DirectionalLight>`. Use :ref:`@GDScript.instance_from_id<class_@GDScript_method_instance_from_id>` to obtain the actual nodes. A scenario RID must be provided, which is available in the :ref:`World<class_World>` you want to query. This forces an update for all resources queued to update.
  3164. \ **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  3165. .. rst-class:: classref-item-separator
  3166. ----
  3167. .. _class_VisualServer_method_instances_cull_ray:
  3168. .. rst-class:: classref-method
  3169. :ref:`Array<class_Array>` **instances_cull_ray** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`RID<class_RID>` scenario **)** |const|
  3170. Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as :ref:`MeshInstance<class_MeshInstance>` or :ref:`DirectionalLight<class_DirectionalLight>`. Use :ref:`@GDScript.instance_from_id<class_@GDScript_method_instance_from_id>` to obtain the actual nodes. A scenario RID must be provided, which is available in the :ref:`World<class_World>` you want to query. This forces an update for all resources queued to update.
  3171. \ **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  3172. .. rst-class:: classref-item-separator
  3173. ----
  3174. .. _class_VisualServer_method_light_directional_set_blend_splits:
  3175. .. rst-class:: classref-method
  3176. void **light_directional_set_blend_splits** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**
  3177. If ``true``, this directional light will blend between shadow map splits resulting in a smoother transition between them. Equivalent to :ref:`DirectionalLight.directional_shadow_blend_splits<class_DirectionalLight_property_directional_shadow_blend_splits>`.
  3178. .. rst-class:: classref-item-separator
  3179. ----
  3180. .. _class_VisualServer_method_light_directional_set_shadow_depth_range_mode:
  3181. .. rst-class:: classref-method
  3182. void **light_directional_set_shadow_depth_range_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` range_mode **)**
  3183. Sets the shadow depth range mode for this directional light. Equivalent to :ref:`DirectionalLight.directional_shadow_depth_range<class_DirectionalLight_property_directional_shadow_depth_range>`. See :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` for options.
  3184. .. rst-class:: classref-item-separator
  3185. ----
  3186. .. _class_VisualServer_method_light_directional_set_shadow_mode:
  3187. .. rst-class:: classref-method
  3188. void **light_directional_set_shadow_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` mode **)**
  3189. Sets the shadow mode for this directional light. Equivalent to :ref:`DirectionalLight.directional_shadow_mode<class_DirectionalLight_property_directional_shadow_mode>`. See :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` for options.
  3190. .. rst-class:: classref-item-separator
  3191. ----
  3192. .. _class_VisualServer_method_light_omni_set_shadow_detail:
  3193. .. rst-class:: classref-method
  3194. void **light_omni_set_shadow_detail** **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowDetail<enum_VisualServer_LightOmniShadowDetail>` detail **)**
  3195. Sets whether to use vertical or horizontal detail for this omni light. This can be used to alleviate artifacts in the shadow map. Equivalent to :ref:`OmniLight.omni_shadow_detail<class_OmniLight_property_omni_shadow_detail>`.
  3196. .. rst-class:: classref-item-separator
  3197. ----
  3198. .. _class_VisualServer_method_light_omni_set_shadow_mode:
  3199. .. rst-class:: classref-method
  3200. void **light_omni_set_shadow_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowMode<enum_VisualServer_LightOmniShadowMode>` mode **)**
  3201. Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to :ref:`OmniLight.omni_shadow_mode<class_OmniLight_property_omni_shadow_mode>`.
  3202. .. rst-class:: classref-item-separator
  3203. ----
  3204. .. _class_VisualServer_method_light_set_bake_mode:
  3205. .. rst-class:: classref-method
  3206. void **light_set_bake_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` bake_mode **)**
  3207. Sets the bake mode for this light, see :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` for options. The bake mode affects how the light will be baked in :ref:`BakedLightmap<class_BakedLightmap>`\ s and :ref:`GIProbe<class_GIProbe>`\ s.
  3208. .. rst-class:: classref-item-separator
  3209. ----
  3210. .. _class_VisualServer_method_light_set_color:
  3211. .. rst-class:: classref-method
  3212. void **light_set_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  3213. Sets the color of the light. Equivalent to :ref:`Light.light_color<class_Light_property_light_color>`.
  3214. .. rst-class:: classref-item-separator
  3215. ----
  3216. .. _class_VisualServer_method_light_set_cull_mask:
  3217. .. rst-class:: classref-method
  3218. void **light_set_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  3219. Sets the cull mask for this Light. Lights only affect objects in the selected layers. Equivalent to :ref:`Light.light_cull_mask<class_Light_property_light_cull_mask>`.
  3220. .. rst-class:: classref-item-separator
  3221. ----
  3222. .. _class_VisualServer_method_light_set_negative:
  3223. .. rst-class:: classref-method
  3224. void **light_set_negative** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**
  3225. If ``true``, light will subtract light instead of adding light. Equivalent to :ref:`Light.light_negative<class_Light_property_light_negative>`.
  3226. .. rst-class:: classref-item-separator
  3227. ----
  3228. .. _class_VisualServer_method_light_set_param:
  3229. .. rst-class:: classref-method
  3230. void **light_set_param** **(** :ref:`RID<class_RID>` light, :ref:`LightParam<enum_VisualServer_LightParam>` param, :ref:`float<class_float>` value **)**
  3231. Sets the specified light parameter. See :ref:`LightParam<enum_VisualServer_LightParam>` for options. Equivalent to :ref:`Light.set_param<class_Light_method_set_param>`.
  3232. .. rst-class:: classref-item-separator
  3233. ----
  3234. .. _class_VisualServer_method_light_set_projector:
  3235. .. rst-class:: classref-method
  3236. void **light_set_projector** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)**
  3237. Not implemented in Godot 3.x.
  3238. .. rst-class:: classref-item-separator
  3239. ----
  3240. .. _class_VisualServer_method_light_set_reverse_cull_face_mode:
  3241. .. rst-class:: classref-method
  3242. void **light_set_reverse_cull_face_mode** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  3243. If ``true``, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double sided shadows with :ref:`instance_geometry_set_cast_shadows_setting<class_VisualServer_method_instance_geometry_set_cast_shadows_setting>`. Equivalent to :ref:`Light.shadow_reverse_cull_face<class_Light_property_shadow_reverse_cull_face>`.
  3244. .. rst-class:: classref-item-separator
  3245. ----
  3246. .. _class_VisualServer_method_light_set_shadow:
  3247. .. rst-class:: classref-method
  3248. void **light_set_shadow** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  3249. If ``true``, light will cast shadows. Equivalent to :ref:`Light.shadow_enabled<class_Light_property_shadow_enabled>`.
  3250. .. rst-class:: classref-item-separator
  3251. ----
  3252. .. _class_VisualServer_method_light_set_shadow_color:
  3253. .. rst-class:: classref-method
  3254. void **light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  3255. Sets the color of the shadow cast by the light. Equivalent to :ref:`Light.shadow_color<class_Light_property_shadow_color>`.
  3256. .. rst-class:: classref-item-separator
  3257. ----
  3258. .. _class_VisualServer_method_light_set_use_gi:
  3259. .. rst-class:: classref-method
  3260. void **light_set_use_gi** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  3261. Sets whether GI probes capture light information from this light. *Deprecated method.* Use :ref:`light_set_bake_mode<class_VisualServer_method_light_set_bake_mode>` instead. This method is only kept for compatibility reasons and calls :ref:`light_set_bake_mode<class_VisualServer_method_light_set_bake_mode>` internally, setting the bake mode to :ref:`LIGHT_BAKE_DISABLED<class_VisualServer_constant_LIGHT_BAKE_DISABLED>` or :ref:`LIGHT_BAKE_INDIRECT<class_VisualServer_constant_LIGHT_BAKE_INDIRECT>` depending on the given parameter.
  3262. .. rst-class:: classref-item-separator
  3263. ----
  3264. .. _class_VisualServer_method_lightmap_capture_create:
  3265. .. rst-class:: classref-method
  3266. :ref:`RID<class_RID>` **lightmap_capture_create** **(** **)**
  3267. Creates a lightmap capture and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``lightmap_capture_*`` VisualServer functions.
  3268. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3269. To place in a scene, attach this lightmap capture to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  3270. .. rst-class:: classref-item-separator
  3271. ----
  3272. .. _class_VisualServer_method_lightmap_capture_get_bounds:
  3273. .. rst-class:: classref-method
  3274. :ref:`AABB<class_AABB>` **lightmap_capture_get_bounds** **(** :ref:`RID<class_RID>` capture **)** |const|
  3275. Returns the size of the lightmap capture area.
  3276. .. rst-class:: classref-item-separator
  3277. ----
  3278. .. _class_VisualServer_method_lightmap_capture_get_energy:
  3279. .. rst-class:: classref-method
  3280. :ref:`float<class_float>` **lightmap_capture_get_energy** **(** :ref:`RID<class_RID>` capture **)** |const|
  3281. Returns the energy multiplier used by the lightmap capture.
  3282. .. rst-class:: classref-item-separator
  3283. ----
  3284. .. _class_VisualServer_method_lightmap_capture_get_octree:
  3285. .. rst-class:: classref-method
  3286. :ref:`PoolByteArray<class_PoolByteArray>` **lightmap_capture_get_octree** **(** :ref:`RID<class_RID>` capture **)** |const|
  3287. Returns the octree used by the lightmap capture.
  3288. .. rst-class:: classref-item-separator
  3289. ----
  3290. .. _class_VisualServer_method_lightmap_capture_get_octree_cell_subdiv:
  3291. .. rst-class:: classref-method
  3292. :ref:`int<class_int>` **lightmap_capture_get_octree_cell_subdiv** **(** :ref:`RID<class_RID>` capture **)** |const|
  3293. Returns the cell subdivision amount used by this lightmap capture's octree.
  3294. .. rst-class:: classref-item-separator
  3295. ----
  3296. .. _class_VisualServer_method_lightmap_capture_get_octree_cell_transform:
  3297. .. rst-class:: classref-method
  3298. :ref:`Transform<class_Transform>` **lightmap_capture_get_octree_cell_transform** **(** :ref:`RID<class_RID>` capture **)** |const|
  3299. Returns the cell transform for this lightmap capture's octree.
  3300. .. rst-class:: classref-item-separator
  3301. ----
  3302. .. _class_VisualServer_method_lightmap_capture_is_interior:
  3303. .. rst-class:: classref-method
  3304. :ref:`bool<class_bool>` **lightmap_capture_is_interior** **(** :ref:`RID<class_RID>` capture **)** |const|
  3305. Returns ``true`` if capture is in "interior" mode.
  3306. .. rst-class:: classref-item-separator
  3307. ----
  3308. .. _class_VisualServer_method_lightmap_capture_set_bounds:
  3309. .. rst-class:: classref-method
  3310. void **lightmap_capture_set_bounds** **(** :ref:`RID<class_RID>` capture, :ref:`AABB<class_AABB>` bounds **)**
  3311. Sets the size of the area covered by the lightmap capture. Equivalent to :ref:`BakedLightmapData.bounds<class_BakedLightmapData_property_bounds>`.
  3312. .. rst-class:: classref-item-separator
  3313. ----
  3314. .. _class_VisualServer_method_lightmap_capture_set_energy:
  3315. .. rst-class:: classref-method
  3316. void **lightmap_capture_set_energy** **(** :ref:`RID<class_RID>` capture, :ref:`float<class_float>` energy **)**
  3317. Sets the energy multiplier for this lightmap capture. Equivalent to :ref:`BakedLightmapData.energy<class_BakedLightmapData_property_energy>`.
  3318. .. rst-class:: classref-item-separator
  3319. ----
  3320. .. _class_VisualServer_method_lightmap_capture_set_interior:
  3321. .. rst-class:: classref-method
  3322. void **lightmap_capture_set_interior** **(** :ref:`RID<class_RID>` capture, :ref:`bool<class_bool>` interior **)**
  3323. Sets the "interior" mode for this lightmap capture. Equivalent to :ref:`BakedLightmapData.interior<class_BakedLightmapData_property_interior>`.
  3324. .. rst-class:: classref-item-separator
  3325. ----
  3326. .. _class_VisualServer_method_lightmap_capture_set_octree:
  3327. .. rst-class:: classref-method
  3328. void **lightmap_capture_set_octree** **(** :ref:`RID<class_RID>` capture, :ref:`PoolByteArray<class_PoolByteArray>` octree **)**
  3329. Sets the octree to be used by this lightmap capture. This function is normally used by the :ref:`BakedLightmap<class_BakedLightmap>` node. Equivalent to :ref:`BakedLightmapData.octree<class_BakedLightmapData_property_octree>`.
  3330. .. rst-class:: classref-item-separator
  3331. ----
  3332. .. _class_VisualServer_method_lightmap_capture_set_octree_cell_subdiv:
  3333. .. rst-class:: classref-method
  3334. void **lightmap_capture_set_octree_cell_subdiv** **(** :ref:`RID<class_RID>` capture, :ref:`int<class_int>` subdiv **)**
  3335. Sets the subdivision level of this lightmap capture's octree. Equivalent to :ref:`BakedLightmapData.cell_subdiv<class_BakedLightmapData_property_cell_subdiv>`.
  3336. .. rst-class:: classref-item-separator
  3337. ----
  3338. .. _class_VisualServer_method_lightmap_capture_set_octree_cell_transform:
  3339. .. rst-class:: classref-method
  3340. void **lightmap_capture_set_octree_cell_transform** **(** :ref:`RID<class_RID>` capture, :ref:`Transform<class_Transform>` xform **)**
  3341. Sets the octree cell transform for this lightmap capture's octree. Equivalent to :ref:`BakedLightmapData.cell_space_transform<class_BakedLightmapData_property_cell_space_transform>`.
  3342. .. rst-class:: classref-item-separator
  3343. ----
  3344. .. _class_VisualServer_method_make_sphere_mesh:
  3345. .. rst-class:: classref-method
  3346. :ref:`RID<class_RID>` **make_sphere_mesh** **(** :ref:`int<class_int>` latitudes, :ref:`int<class_int>` longitudes, :ref:`float<class_float>` radius **)**
  3347. Returns a mesh of a sphere with the given amount of horizontal and vertical subdivisions.
  3348. .. rst-class:: classref-item-separator
  3349. ----
  3350. .. _class_VisualServer_method_material_create:
  3351. .. rst-class:: classref-method
  3352. :ref:`RID<class_RID>` **material_create** **(** **)**
  3353. Creates an empty material and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``material_*`` VisualServer functions.
  3354. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3355. .. rst-class:: classref-item-separator
  3356. ----
  3357. .. _class_VisualServer_method_material_get_param:
  3358. .. rst-class:: classref-method
  3359. :ref:`Variant<class_Variant>` **material_get_param** **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter **)** |const|
  3360. Returns the value of a certain material's parameter.
  3361. .. rst-class:: classref-item-separator
  3362. ----
  3363. .. _class_VisualServer_method_material_get_param_default:
  3364. .. rst-class:: classref-method
  3365. :ref:`Variant<class_Variant>` **material_get_param_default** **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter **)** |const|
  3366. Returns the default value for the param if available. Returns ``null`` otherwise.
  3367. .. rst-class:: classref-item-separator
  3368. ----
  3369. .. _class_VisualServer_method_material_get_shader:
  3370. .. rst-class:: classref-method
  3371. :ref:`RID<class_RID>` **material_get_shader** **(** :ref:`RID<class_RID>` shader_material **)** |const|
  3372. Returns the shader of a certain material's shader. Returns an empty RID if the material doesn't have a shader.
  3373. .. rst-class:: classref-item-separator
  3374. ----
  3375. .. _class_VisualServer_method_material_set_line_width:
  3376. .. rst-class:: classref-method
  3377. void **material_set_line_width** **(** :ref:`RID<class_RID>` material, :ref:`float<class_float>` width **)**
  3378. Sets a material's line width.
  3379. .. rst-class:: classref-item-separator
  3380. ----
  3381. .. _class_VisualServer_method_material_set_next_pass:
  3382. .. rst-class:: classref-method
  3383. void **material_set_next_pass** **(** :ref:`RID<class_RID>` material, :ref:`RID<class_RID>` next_material **)**
  3384. Sets an object's next material.
  3385. .. rst-class:: classref-item-separator
  3386. ----
  3387. .. _class_VisualServer_method_material_set_param:
  3388. .. rst-class:: classref-method
  3389. void **material_set_param** **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter, :ref:`Variant<class_Variant>` value **)**
  3390. Sets a material's parameter.
  3391. .. rst-class:: classref-item-separator
  3392. ----
  3393. .. _class_VisualServer_method_material_set_render_priority:
  3394. .. rst-class:: classref-method
  3395. void **material_set_render_priority** **(** :ref:`RID<class_RID>` material, :ref:`int<class_int>` priority **)**
  3396. Sets a material's render priority.
  3397. .. rst-class:: classref-item-separator
  3398. ----
  3399. .. _class_VisualServer_method_material_set_shader:
  3400. .. rst-class:: classref-method
  3401. void **material_set_shader** **(** :ref:`RID<class_RID>` shader_material, :ref:`RID<class_RID>` shader **)**
  3402. Sets a shader material's shader.
  3403. .. rst-class:: classref-item-separator
  3404. ----
  3405. .. _class_VisualServer_method_mesh_add_surface_from_arrays:
  3406. .. rst-class:: classref-method
  3407. void **mesh_add_surface_from_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` primitive, :ref:`Array<class_Array>` arrays, :ref:`Array<class_Array>` blend_shapes=[ ], :ref:`int<class_int>` compress_format=2194432 **)**
  3408. Adds a surface generated from the Arrays to a mesh. See :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` constants for types.
  3409. .. rst-class:: classref-item-separator
  3410. ----
  3411. .. _class_VisualServer_method_mesh_clear:
  3412. .. rst-class:: classref-method
  3413. void **mesh_clear** **(** :ref:`RID<class_RID>` mesh **)**
  3414. Removes all surfaces from a mesh.
  3415. .. rst-class:: classref-item-separator
  3416. ----
  3417. .. _class_VisualServer_method_mesh_create:
  3418. .. rst-class:: classref-method
  3419. :ref:`RID<class_RID>` **mesh_create** **(** **)**
  3420. Creates a new mesh and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``mesh_*`` VisualServer functions.
  3421. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3422. To place in a scene, attach this mesh to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  3423. .. rst-class:: classref-item-separator
  3424. ----
  3425. .. _class_VisualServer_method_mesh_get_blend_shape_count:
  3426. .. rst-class:: classref-method
  3427. :ref:`int<class_int>` **mesh_get_blend_shape_count** **(** :ref:`RID<class_RID>` mesh **)** |const|
  3428. Returns a mesh's blend shape count.
  3429. .. rst-class:: classref-item-separator
  3430. ----
  3431. .. _class_VisualServer_method_mesh_get_blend_shape_mode:
  3432. .. rst-class:: classref-method
  3433. :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` **mesh_get_blend_shape_mode** **(** :ref:`RID<class_RID>` mesh **)** |const|
  3434. Returns a mesh's blend shape mode.
  3435. .. rst-class:: classref-item-separator
  3436. ----
  3437. .. _class_VisualServer_method_mesh_get_custom_aabb:
  3438. .. rst-class:: classref-method
  3439. :ref:`AABB<class_AABB>` **mesh_get_custom_aabb** **(** :ref:`RID<class_RID>` mesh **)** |const|
  3440. Returns a mesh's custom aabb.
  3441. .. rst-class:: classref-item-separator
  3442. ----
  3443. .. _class_VisualServer_method_mesh_get_surface_count:
  3444. .. rst-class:: classref-method
  3445. :ref:`int<class_int>` **mesh_get_surface_count** **(** :ref:`RID<class_RID>` mesh **)** |const|
  3446. Returns a mesh's number of surfaces.
  3447. .. rst-class:: classref-item-separator
  3448. ----
  3449. .. _class_VisualServer_method_mesh_remove_surface:
  3450. .. rst-class:: classref-method
  3451. void **mesh_remove_surface** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` index **)**
  3452. Removes a mesh's surface.
  3453. .. rst-class:: classref-item-separator
  3454. ----
  3455. .. _class_VisualServer_method_mesh_set_blend_shape_count:
  3456. .. rst-class:: classref-method
  3457. void **mesh_set_blend_shape_count** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` amount **)**
  3458. Sets a mesh's blend shape count.
  3459. .. rst-class:: classref-item-separator
  3460. ----
  3461. .. _class_VisualServer_method_mesh_set_blend_shape_mode:
  3462. .. rst-class:: classref-method
  3463. void **mesh_set_blend_shape_mode** **(** :ref:`RID<class_RID>` mesh, :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` mode **)**
  3464. Sets a mesh's blend shape mode.
  3465. .. rst-class:: classref-item-separator
  3466. ----
  3467. .. _class_VisualServer_method_mesh_set_custom_aabb:
  3468. .. rst-class:: classref-method
  3469. void **mesh_set_custom_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`AABB<class_AABB>` aabb **)**
  3470. Sets a mesh's custom aabb.
  3471. .. rst-class:: classref-item-separator
  3472. ----
  3473. .. _class_VisualServer_method_mesh_surface_get_aabb:
  3474. .. rst-class:: classref-method
  3475. :ref:`AABB<class_AABB>` **mesh_surface_get_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3476. Returns a mesh's surface's aabb.
  3477. .. rst-class:: classref-item-separator
  3478. ----
  3479. .. _class_VisualServer_method_mesh_surface_get_array:
  3480. .. rst-class:: classref-method
  3481. :ref:`PoolByteArray<class_PoolByteArray>` **mesh_surface_get_array** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3482. Returns a mesh's surface's vertex buffer.
  3483. .. rst-class:: classref-item-separator
  3484. ----
  3485. .. _class_VisualServer_method_mesh_surface_get_array_index_len:
  3486. .. rst-class:: classref-method
  3487. :ref:`int<class_int>` **mesh_surface_get_array_index_len** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3488. Returns a mesh's surface's amount of indices.
  3489. .. rst-class:: classref-item-separator
  3490. ----
  3491. .. _class_VisualServer_method_mesh_surface_get_array_len:
  3492. .. rst-class:: classref-method
  3493. :ref:`int<class_int>` **mesh_surface_get_array_len** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3494. Returns a mesh's surface's amount of vertices.
  3495. .. rst-class:: classref-item-separator
  3496. ----
  3497. .. _class_VisualServer_method_mesh_surface_get_arrays:
  3498. .. rst-class:: classref-method
  3499. :ref:`Array<class_Array>` **mesh_surface_get_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3500. Returns a mesh's surface's buffer arrays.
  3501. .. rst-class:: classref-item-separator
  3502. ----
  3503. .. _class_VisualServer_method_mesh_surface_get_blend_shape_arrays:
  3504. .. rst-class:: classref-method
  3505. :ref:`Array<class_Array>` **mesh_surface_get_blend_shape_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3506. Returns a mesh's surface's arrays for blend shapes.
  3507. .. rst-class:: classref-item-separator
  3508. ----
  3509. .. _class_VisualServer_method_mesh_surface_get_format:
  3510. .. rst-class:: classref-method
  3511. :ref:`int<class_int>` **mesh_surface_get_format** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3512. Returns the format of a mesh's surface.
  3513. .. rst-class:: classref-item-separator
  3514. ----
  3515. .. _class_VisualServer_method_mesh_surface_get_format_offset:
  3516. .. rst-class:: classref-method
  3517. :ref:`int<class_int>` **mesh_surface_get_format_offset** **(** :ref:`int<class_int>` format, :ref:`int<class_int>` vertex_len, :ref:`int<class_int>` index_len, :ref:`int<class_int>` array_index **)** |const|
  3518. Function is unused in Godot 3.x.
  3519. .. rst-class:: classref-item-separator
  3520. ----
  3521. .. _class_VisualServer_method_mesh_surface_get_format_stride:
  3522. .. rst-class:: classref-method
  3523. :ref:`int<class_int>` **mesh_surface_get_format_stride** **(** :ref:`int<class_int>` format, :ref:`int<class_int>` vertex_len, :ref:`int<class_int>` index_len, :ref:`int<class_int>` array_index **)** |const|
  3524. .. container:: contribute
  3525. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  3526. .. rst-class:: classref-item-separator
  3527. ----
  3528. .. _class_VisualServer_method_mesh_surface_get_index_array:
  3529. .. rst-class:: classref-method
  3530. :ref:`PoolByteArray<class_PoolByteArray>` **mesh_surface_get_index_array** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3531. Returns a mesh's surface's index buffer.
  3532. .. rst-class:: classref-item-separator
  3533. ----
  3534. .. _class_VisualServer_method_mesh_surface_get_material:
  3535. .. rst-class:: classref-method
  3536. :ref:`RID<class_RID>` **mesh_surface_get_material** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3537. Returns a mesh's surface's material.
  3538. .. rst-class:: classref-item-separator
  3539. ----
  3540. .. _class_VisualServer_method_mesh_surface_get_primitive_type:
  3541. .. rst-class:: classref-method
  3542. :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **mesh_surface_get_primitive_type** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3543. Returns the primitive type of a mesh's surface.
  3544. .. rst-class:: classref-item-separator
  3545. ----
  3546. .. _class_VisualServer_method_mesh_surface_get_skeleton_aabb:
  3547. .. rst-class:: classref-method
  3548. :ref:`Array<class_Array>` **mesh_surface_get_skeleton_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  3549. Returns the aabb of a mesh's surface's skeleton.
  3550. .. rst-class:: classref-item-separator
  3551. ----
  3552. .. _class_VisualServer_method_mesh_surface_set_material:
  3553. .. rst-class:: classref-method
  3554. void **mesh_surface_set_material** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)**
  3555. Sets a mesh's surface's material.
  3556. .. rst-class:: classref-item-separator
  3557. ----
  3558. .. _class_VisualServer_method_mesh_surface_update_region:
  3559. .. rst-class:: classref-method
  3560. void **mesh_surface_update_region** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`int<class_int>` offset, :ref:`PoolByteArray<class_PoolByteArray>` data **)**
  3561. Updates a specific region of a vertex buffer for the specified surface. Warning: this function alters the vertex buffer directly with no safety mechanisms, you can easily corrupt your mesh.
  3562. .. rst-class:: classref-item-separator
  3563. ----
  3564. .. _class_VisualServer_method_multimesh_allocate:
  3565. .. rst-class:: classref-method
  3566. void **multimesh_allocate** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` color_format, :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` custom_data_format=0 **)**
  3567. Allocates space for the multimesh data. Format parameters determine how the data will be stored by OpenGL. See :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>`, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>`, and :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` for usage. Equivalent to :ref:`MultiMesh.instance_count<class_MultiMesh_property_instance_count>`.
  3568. .. rst-class:: classref-item-separator
  3569. ----
  3570. .. _class_VisualServer_method_multimesh_create:
  3571. .. rst-class:: classref-method
  3572. :ref:`RID<class_RID>` **multimesh_create** **(** **)**
  3573. Creates a new multimesh on the VisualServer and returns an :ref:`RID<class_RID>` handle. This RID will be used in all ``multimesh_*`` VisualServer functions.
  3574. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3575. To place in a scene, attach this multimesh to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  3576. .. rst-class:: classref-item-separator
  3577. ----
  3578. .. _class_VisualServer_method_multimesh_get_aabb:
  3579. .. rst-class:: classref-method
  3580. :ref:`AABB<class_AABB>` **multimesh_get_aabb** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  3581. Calculates and returns the axis-aligned bounding box that encloses all instances within the multimesh.
  3582. .. rst-class:: classref-item-separator
  3583. ----
  3584. .. _class_VisualServer_method_multimesh_get_instance_count:
  3585. .. rst-class:: classref-method
  3586. :ref:`int<class_int>` **multimesh_get_instance_count** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  3587. Returns the number of instances allocated for this multimesh.
  3588. .. rst-class:: classref-item-separator
  3589. ----
  3590. .. _class_VisualServer_method_multimesh_get_mesh:
  3591. .. rst-class:: classref-method
  3592. :ref:`RID<class_RID>` **multimesh_get_mesh** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  3593. Returns the RID of the mesh that will be used in drawing this multimesh.
  3594. .. rst-class:: classref-item-separator
  3595. ----
  3596. .. _class_VisualServer_method_multimesh_get_visible_instances:
  3597. .. rst-class:: classref-method
  3598. :ref:`int<class_int>` **multimesh_get_visible_instances** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  3599. Returns the number of visible instances for this multimesh.
  3600. .. rst-class:: classref-item-separator
  3601. ----
  3602. .. _class_VisualServer_method_multimesh_instance_get_color:
  3603. .. rst-class:: classref-method
  3604. :ref:`Color<class_Color>` **multimesh_instance_get_color** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  3605. Returns the color by which the specified instance will be modulated.
  3606. .. rst-class:: classref-item-separator
  3607. ----
  3608. .. _class_VisualServer_method_multimesh_instance_get_custom_data:
  3609. .. rst-class:: classref-method
  3610. :ref:`Color<class_Color>` **multimesh_instance_get_custom_data** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  3611. Returns the custom data associated with the specified instance.
  3612. .. rst-class:: classref-item-separator
  3613. ----
  3614. .. _class_VisualServer_method_multimesh_instance_get_transform:
  3615. .. rst-class:: classref-method
  3616. :ref:`Transform<class_Transform>` **multimesh_instance_get_transform** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  3617. Returns the :ref:`Transform<class_Transform>` of the specified instance.
  3618. .. rst-class:: classref-item-separator
  3619. ----
  3620. .. _class_VisualServer_method_multimesh_instance_get_transform_2d:
  3621. .. rst-class:: classref-method
  3622. :ref:`Transform2D<class_Transform2D>` **multimesh_instance_get_transform_2d** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  3623. Returns the :ref:`Transform2D<class_Transform2D>` of the specified instance. For use when the multimesh is set to use 2D transforms.
  3624. .. rst-class:: classref-item-separator
  3625. ----
  3626. .. _class_VisualServer_method_multimesh_instance_reset_physics_interpolation:
  3627. .. rst-class:: classref-method
  3628. void **multimesh_instance_reset_physics_interpolation** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)**
  3629. Prevents physics interpolation for the specified instance during the current physics tick.
  3630. This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location.
  3631. .. rst-class:: classref-item-separator
  3632. ----
  3633. .. _class_VisualServer_method_multimesh_instance_set_color:
  3634. .. rst-class:: classref-method
  3635. void **multimesh_instance_set_color** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)**
  3636. Sets the color by which this instance will be modulated. Equivalent to :ref:`MultiMesh.set_instance_color<class_MultiMesh_method_set_instance_color>`.
  3637. .. rst-class:: classref-item-separator
  3638. ----
  3639. .. _class_VisualServer_method_multimesh_instance_set_custom_data:
  3640. .. rst-class:: classref-method
  3641. void **multimesh_instance_set_custom_data** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` custom_data **)**
  3642. Sets the custom data for this instance. Custom data is passed as a :ref:`Color<class_Color>`, but is interpreted as a ``vec4`` in the shader. Equivalent to :ref:`MultiMesh.set_instance_custom_data<class_MultiMesh_method_set_instance_custom_data>`.
  3643. .. rst-class:: classref-item-separator
  3644. ----
  3645. .. _class_VisualServer_method_multimesh_instance_set_transform:
  3646. .. rst-class:: classref-method
  3647. void **multimesh_instance_set_transform** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform<class_Transform>` transform **)**
  3648. Sets the :ref:`Transform<class_Transform>` for this instance. Equivalent to :ref:`MultiMesh.set_instance_transform<class_MultiMesh_method_set_instance_transform>`.
  3649. .. rst-class:: classref-item-separator
  3650. ----
  3651. .. _class_VisualServer_method_multimesh_instance_set_transform_2d:
  3652. .. rst-class:: classref-method
  3653. void **multimesh_instance_set_transform_2d** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform2D<class_Transform2D>` transform **)**
  3654. Sets the :ref:`Transform2D<class_Transform2D>` for this instance. For use when multimesh is used in 2D. Equivalent to :ref:`MultiMesh.set_instance_transform_2d<class_MultiMesh_method_set_instance_transform_2d>`.
  3655. .. rst-class:: classref-item-separator
  3656. ----
  3657. .. _class_VisualServer_method_multimesh_set_as_bulk_array:
  3658. .. rst-class:: classref-method
  3659. void **multimesh_set_as_bulk_array** **(** :ref:`RID<class_RID>` multimesh, :ref:`PoolRealArray<class_PoolRealArray>` array **)**
  3660. Sets all data related to the instances in one go. This is especially useful when loading the data from disk or preparing the data from GDNative.
  3661. All data is packed in one large float array. An array may look like this: Transform for instance 1, color data for instance 1, custom data for instance 1, transform for instance 2, color data for instance 2, etc.
  3662. \ :ref:`Transform<class_Transform>` is stored as 12 floats, :ref:`Transform2D<class_Transform2D>` is stored as 8 floats, ``COLOR_8BIT`` / ``CUSTOM_DATA_8BIT`` is stored as 1 float (4 bytes as is) and ``COLOR_FLOAT`` / ``CUSTOM_DATA_FLOAT`` is stored as 4 floats.
  3663. .. rst-class:: classref-item-separator
  3664. ----
  3665. .. _class_VisualServer_method_multimesh_set_as_bulk_array_interpolated:
  3666. .. rst-class:: classref-method
  3667. void **multimesh_set_as_bulk_array_interpolated** **(** :ref:`RID<class_RID>` multimesh, :ref:`PoolRealArray<class_PoolRealArray>` array, :ref:`PoolRealArray<class_PoolRealArray>` array_previous **)**
  3668. Alternative version of :ref:`multimesh_set_as_bulk_array<class_VisualServer_method_multimesh_set_as_bulk_array>` for use with physics interpolation.
  3669. Takes both an array of current data and an array of data for the previous physics tick.
  3670. .. rst-class:: classref-item-separator
  3671. ----
  3672. .. _class_VisualServer_method_multimesh_set_mesh:
  3673. .. rst-class:: classref-method
  3674. void **multimesh_set_mesh** **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)**
  3675. Sets the mesh to be drawn by the multimesh. Equivalent to :ref:`MultiMesh.mesh<class_MultiMesh_property_mesh>`.
  3676. .. rst-class:: classref-item-separator
  3677. ----
  3678. .. _class_VisualServer_method_multimesh_set_physics_interpolated:
  3679. .. rst-class:: classref-method
  3680. void **multimesh_set_physics_interpolated** **(** :ref:`RID<class_RID>` multimesh, :ref:`bool<class_bool>` interpolated **)**
  3681. Turns on and off physics interpolation for the :ref:`MultiMesh<class_MultiMesh>`.
  3682. .. rst-class:: classref-item-separator
  3683. ----
  3684. .. _class_VisualServer_method_multimesh_set_physics_interpolation_quality:
  3685. .. rst-class:: classref-method
  3686. void **multimesh_set_physics_interpolation_quality** **(** :ref:`RID<class_RID>` multimesh, :ref:`MultimeshPhysicsInterpolationQuality<enum_VisualServer_MultimeshPhysicsInterpolationQuality>` quality **)**
  3687. Sets the physics interpolation quality for the :ref:`MultiMesh<class_MultiMesh>`.
  3688. A value of ``0`` gives fast but low quality interpolation, a value of ``1`` gives slower but higher quality interpolation.
  3689. .. rst-class:: classref-item-separator
  3690. ----
  3691. .. _class_VisualServer_method_multimesh_set_visible_instances:
  3692. .. rst-class:: classref-method
  3693. void **multimesh_set_visible_instances** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)**
  3694. Sets the number of instances visible at a given time. If -1, all instances that have been allocated are drawn. Equivalent to :ref:`MultiMesh.visible_instance_count<class_MultiMesh_property_visible_instance_count>`.
  3695. .. rst-class:: classref-item-separator
  3696. ----
  3697. .. _class_VisualServer_method_omni_light_create:
  3698. .. rst-class:: classref-method
  3699. :ref:`RID<class_RID>` **omni_light_create** **(** **)**
  3700. Creates a new omni light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most ``light_*`` VisualServer functions.
  3701. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3702. To place in a scene, attach this omni light to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  3703. .. rst-class:: classref-item-separator
  3704. ----
  3705. .. _class_VisualServer_method_particles_create:
  3706. .. rst-class:: classref-method
  3707. :ref:`RID<class_RID>` **particles_create** **(** **)**
  3708. Creates a particle system and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``particles_*`` VisualServer functions.
  3709. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3710. To place in a scene, attach these particles to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  3711. .. rst-class:: classref-item-separator
  3712. ----
  3713. .. _class_VisualServer_method_particles_get_current_aabb:
  3714. .. rst-class:: classref-method
  3715. :ref:`AABB<class_AABB>` **particles_get_current_aabb** **(** :ref:`RID<class_RID>` particles **)**
  3716. Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to :ref:`Particles.capture_aabb<class_Particles_method_capture_aabb>`.
  3717. .. rst-class:: classref-item-separator
  3718. ----
  3719. .. _class_VisualServer_method_particles_get_emitting:
  3720. .. rst-class:: classref-method
  3721. :ref:`bool<class_bool>` **particles_get_emitting** **(** :ref:`RID<class_RID>` particles **)**
  3722. Returns ``true`` if particles are currently set to emitting.
  3723. .. rst-class:: classref-item-separator
  3724. ----
  3725. .. _class_VisualServer_method_particles_is_inactive:
  3726. .. rst-class:: classref-method
  3727. :ref:`bool<class_bool>` **particles_is_inactive** **(** :ref:`RID<class_RID>` particles **)**
  3728. Returns ``true`` if particles are not emitting and particles are set to inactive.
  3729. .. rst-class:: classref-item-separator
  3730. ----
  3731. .. _class_VisualServer_method_particles_request_process:
  3732. .. rst-class:: classref-method
  3733. void **particles_request_process** **(** :ref:`RID<class_RID>` particles **)**
  3734. Add particle system to list of particle systems that need to be updated. Update will take place on the next frame, or on the next call to :ref:`instances_cull_aabb<class_VisualServer_method_instances_cull_aabb>`, :ref:`instances_cull_convex<class_VisualServer_method_instances_cull_convex>`, or :ref:`instances_cull_ray<class_VisualServer_method_instances_cull_ray>`.
  3735. .. rst-class:: classref-item-separator
  3736. ----
  3737. .. _class_VisualServer_method_particles_restart:
  3738. .. rst-class:: classref-method
  3739. void **particles_restart** **(** :ref:`RID<class_RID>` particles **)**
  3740. Reset the particles on the next update. Equivalent to :ref:`Particles.restart<class_Particles_method_restart>`.
  3741. .. rst-class:: classref-item-separator
  3742. ----
  3743. .. _class_VisualServer_method_particles_set_amount:
  3744. .. rst-class:: classref-method
  3745. void **particles_set_amount** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)**
  3746. Sets the number of particles to be drawn and allocates the memory for them. Equivalent to :ref:`Particles.amount<class_Particles_property_amount>`.
  3747. .. rst-class:: classref-item-separator
  3748. ----
  3749. .. _class_VisualServer_method_particles_set_custom_aabb:
  3750. .. rst-class:: classref-method
  3751. void **particles_set_custom_aabb** **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)**
  3752. Sets a custom axis-aligned bounding box for the particle system. Equivalent to :ref:`Particles.visibility_aabb<class_Particles_property_visibility_aabb>`.
  3753. .. rst-class:: classref-item-separator
  3754. ----
  3755. .. _class_VisualServer_method_particles_set_draw_order:
  3756. .. rst-class:: classref-method
  3757. void **particles_set_draw_order** **(** :ref:`RID<class_RID>` particles, :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` order **)**
  3758. Sets the draw order of the particles to one of the named enums from :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>`. See :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` for options. Equivalent to :ref:`Particles.draw_order<class_Particles_property_draw_order>`.
  3759. .. rst-class:: classref-item-separator
  3760. ----
  3761. .. _class_VisualServer_method_particles_set_draw_pass_mesh:
  3762. .. rst-class:: classref-method
  3763. void **particles_set_draw_pass_mesh** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` pass, :ref:`RID<class_RID>` mesh **)**
  3764. Sets the mesh to be used for the specified draw pass. Equivalent to :ref:`Particles.draw_pass_1<class_Particles_property_draw_pass_1>`, :ref:`Particles.draw_pass_2<class_Particles_property_draw_pass_2>`, :ref:`Particles.draw_pass_3<class_Particles_property_draw_pass_3>`, and :ref:`Particles.draw_pass_4<class_Particles_property_draw_pass_4>`.
  3765. .. rst-class:: classref-item-separator
  3766. ----
  3767. .. _class_VisualServer_method_particles_set_draw_passes:
  3768. .. rst-class:: classref-method
  3769. void **particles_set_draw_passes** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` count **)**
  3770. Sets the number of draw passes to use. Equivalent to :ref:`Particles.draw_passes<class_Particles_property_draw_passes>`.
  3771. .. rst-class:: classref-item-separator
  3772. ----
  3773. .. _class_VisualServer_method_particles_set_emission_transform:
  3774. .. rst-class:: classref-method
  3775. void **particles_set_emission_transform** **(** :ref:`RID<class_RID>` particles, :ref:`Transform<class_Transform>` transform **)**
  3776. Sets the :ref:`Transform<class_Transform>` that will be used by the particles when they first emit.
  3777. .. rst-class:: classref-item-separator
  3778. ----
  3779. .. _class_VisualServer_method_particles_set_emitting:
  3780. .. rst-class:: classref-method
  3781. void **particles_set_emitting** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)**
  3782. If ``true``, particles will emit over time. Setting to false does not reset the particles, but only stops their emission. Equivalent to :ref:`Particles.emitting<class_Particles_property_emitting>`.
  3783. .. rst-class:: classref-item-separator
  3784. ----
  3785. .. _class_VisualServer_method_particles_set_explosiveness_ratio:
  3786. .. rst-class:: classref-method
  3787. void **particles_set_explosiveness_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
  3788. Sets the explosiveness ratio. Equivalent to :ref:`Particles.explosiveness<class_Particles_property_explosiveness>`.
  3789. .. rst-class:: classref-item-separator
  3790. ----
  3791. .. _class_VisualServer_method_particles_set_fixed_fps:
  3792. .. rst-class:: classref-method
  3793. void **particles_set_fixed_fps** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` fps **)**
  3794. Sets the frame rate that the particle system rendering will be fixed to. Equivalent to :ref:`Particles.fixed_fps<class_Particles_property_fixed_fps>`.
  3795. .. rst-class:: classref-item-separator
  3796. ----
  3797. .. _class_VisualServer_method_particles_set_fractional_delta:
  3798. .. rst-class:: classref-method
  3799. void **particles_set_fractional_delta** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**
  3800. If ``true``, uses fractional delta which smooths the movement of the particles. Equivalent to :ref:`Particles.fract_delta<class_Particles_property_fract_delta>`.
  3801. .. rst-class:: classref-item-separator
  3802. ----
  3803. .. _class_VisualServer_method_particles_set_lifetime:
  3804. .. rst-class:: classref-method
  3805. void **particles_set_lifetime** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)**
  3806. Sets the lifetime of each particle in the system. Equivalent to :ref:`Particles.lifetime<class_Particles_property_lifetime>`.
  3807. .. rst-class:: classref-item-separator
  3808. ----
  3809. .. _class_VisualServer_method_particles_set_one_shot:
  3810. .. rst-class:: classref-method
  3811. void **particles_set_one_shot** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` one_shot **)**
  3812. If ``true``, particles will emit once and then stop. Equivalent to :ref:`Particles.one_shot<class_Particles_property_one_shot>`.
  3813. .. rst-class:: classref-item-separator
  3814. ----
  3815. .. _class_VisualServer_method_particles_set_pre_process_time:
  3816. .. rst-class:: classref-method
  3817. void **particles_set_pre_process_time** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` time **)**
  3818. Sets the preprocess time for the particles' animation. This lets you delay starting an animation until after the particles have begun emitting. Equivalent to :ref:`Particles.preprocess<class_Particles_property_preprocess>`.
  3819. .. rst-class:: classref-item-separator
  3820. ----
  3821. .. _class_VisualServer_method_particles_set_process_material:
  3822. .. rst-class:: classref-method
  3823. void **particles_set_process_material** **(** :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` material **)**
  3824. Sets the material for processing the particles.
  3825. \ **Note:** This is not the material used to draw the materials. Equivalent to :ref:`Particles.process_material<class_Particles_property_process_material>`.
  3826. .. rst-class:: classref-item-separator
  3827. ----
  3828. .. _class_VisualServer_method_particles_set_randomness_ratio:
  3829. .. rst-class:: classref-method
  3830. void **particles_set_randomness_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
  3831. Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to :ref:`Particles.randomness<class_Particles_property_randomness>`.
  3832. .. rst-class:: classref-item-separator
  3833. ----
  3834. .. _class_VisualServer_method_particles_set_speed_scale:
  3835. .. rst-class:: classref-method
  3836. void **particles_set_speed_scale** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` scale **)**
  3837. Sets the speed scale of the particle system. Equivalent to :ref:`Particles.speed_scale<class_Particles_property_speed_scale>`.
  3838. .. rst-class:: classref-item-separator
  3839. ----
  3840. .. _class_VisualServer_method_particles_set_use_local_coordinates:
  3841. .. rst-class:: classref-method
  3842. void **particles_set_use_local_coordinates** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**
  3843. If ``true``, particles use local coordinates. If ``false`` they use global coordinates. Equivalent to :ref:`Particles.local_coords<class_Particles_property_local_coords>`.
  3844. .. rst-class:: classref-item-separator
  3845. ----
  3846. .. _class_VisualServer_method_reflection_probe_create:
  3847. .. rst-class:: classref-method
  3848. :ref:`RID<class_RID>` **reflection_probe_create** **(** **)**
  3849. Creates a reflection probe and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``reflection_probe_*`` VisualServer functions.
  3850. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3851. To place in a scene, attach this reflection probe to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  3852. .. rst-class:: classref-item-separator
  3853. ----
  3854. .. _class_VisualServer_method_reflection_probe_set_as_interior:
  3855. .. rst-class:: classref-method
  3856. void **reflection_probe_set_as_interior** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  3857. If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`ReflectionProbe.interior_enable<class_ReflectionProbe_property_interior_enable>`.
  3858. .. rst-class:: classref-item-separator
  3859. ----
  3860. .. _class_VisualServer_method_reflection_probe_set_cull_mask:
  3861. .. rst-class:: classref-method
  3862. void **reflection_probe_set_cull_mask** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)**
  3863. Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to :ref:`ReflectionProbe.cull_mask<class_ReflectionProbe_property_cull_mask>`.
  3864. .. rst-class:: classref-item-separator
  3865. ----
  3866. .. _class_VisualServer_method_reflection_probe_set_enable_box_projection:
  3867. .. rst-class:: classref-method
  3868. void **reflection_probe_set_enable_box_projection** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  3869. If ``true``, uses box projection. This can make reflections look more correct in certain situations. Equivalent to :ref:`ReflectionProbe.box_projection<class_ReflectionProbe_property_box_projection>`.
  3870. .. rst-class:: classref-item-separator
  3871. ----
  3872. .. _class_VisualServer_method_reflection_probe_set_enable_shadows:
  3873. .. rst-class:: classref-method
  3874. void **reflection_probe_set_enable_shadows** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  3875. If ``true``, computes shadows in the reflection probe. This makes the reflection much slower to compute. Equivalent to :ref:`ReflectionProbe.enable_shadows<class_ReflectionProbe_property_enable_shadows>`.
  3876. .. rst-class:: classref-item-separator
  3877. ----
  3878. .. _class_VisualServer_method_reflection_probe_set_extents:
  3879. .. rst-class:: classref-method
  3880. void **reflection_probe_set_extents** **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` extents **)**
  3881. Sets the size of the area that the reflection probe will capture. Equivalent to :ref:`ReflectionProbe.extents<class_ReflectionProbe_property_extents>`.
  3882. .. rst-class:: classref-item-separator
  3883. ----
  3884. .. _class_VisualServer_method_reflection_probe_set_intensity:
  3885. .. rst-class:: classref-method
  3886. void **reflection_probe_set_intensity** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` intensity **)**
  3887. Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to :ref:`ReflectionProbe.intensity<class_ReflectionProbe_property_intensity>`.
  3888. .. rst-class:: classref-item-separator
  3889. ----
  3890. .. _class_VisualServer_method_reflection_probe_set_interior_ambient:
  3891. .. rst-class:: classref-method
  3892. void **reflection_probe_set_interior_ambient** **(** :ref:`RID<class_RID>` probe, :ref:`Color<class_Color>` color **)**
  3893. Sets the ambient light color for this reflection probe when set to interior mode. Equivalent to :ref:`ReflectionProbe.interior_ambient_color<class_ReflectionProbe_property_interior_ambient_color>`.
  3894. .. rst-class:: classref-item-separator
  3895. ----
  3896. .. _class_VisualServer_method_reflection_probe_set_interior_ambient_energy:
  3897. .. rst-class:: classref-method
  3898. void **reflection_probe_set_interior_ambient_energy** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)**
  3899. Sets the energy multiplier for this reflection probes ambient light contribution when set to interior mode. Equivalent to :ref:`ReflectionProbe.interior_ambient_energy<class_ReflectionProbe_property_interior_ambient_energy>`.
  3900. .. rst-class:: classref-item-separator
  3901. ----
  3902. .. _class_VisualServer_method_reflection_probe_set_interior_ambient_probe_contribution:
  3903. .. rst-class:: classref-method
  3904. void **reflection_probe_set_interior_ambient_probe_contribution** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` contrib **)**
  3905. Sets the contribution value for how much the reflection affects the ambient light for this reflection probe when set to interior mode. Useful so that ambient light matches the color of the room. Equivalent to :ref:`ReflectionProbe.interior_ambient_contrib<class_ReflectionProbe_property_interior_ambient_contrib>`.
  3906. .. rst-class:: classref-item-separator
  3907. ----
  3908. .. _class_VisualServer_method_reflection_probe_set_max_distance:
  3909. .. rst-class:: classref-method
  3910. void **reflection_probe_set_max_distance** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` distance **)**
  3911. Sets the max distance away from the probe an object can be before it is culled. Equivalent to :ref:`ReflectionProbe.max_distance<class_ReflectionProbe_property_max_distance>`.
  3912. .. rst-class:: classref-item-separator
  3913. ----
  3914. .. _class_VisualServer_method_reflection_probe_set_origin_offset:
  3915. .. rst-class:: classref-method
  3916. void **reflection_probe_set_origin_offset** **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` offset **)**
  3917. Sets the origin offset to be used when this reflection probe is in box project mode. Equivalent to :ref:`ReflectionProbe.origin_offset<class_ReflectionProbe_property_origin_offset>`.
  3918. .. rst-class:: classref-item-separator
  3919. ----
  3920. .. _class_VisualServer_method_reflection_probe_set_update_mode:
  3921. .. rst-class:: classref-method
  3922. void **reflection_probe_set_update_mode** **(** :ref:`RID<class_RID>` probe, :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` mode **)**
  3923. Sets how often the reflection probe updates. Can either be once or every frame. See :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` for options.
  3924. .. rst-class:: classref-item-separator
  3925. ----
  3926. .. _class_VisualServer_method_request_frame_drawn_callback:
  3927. .. rst-class:: classref-method
  3928. void **request_frame_drawn_callback** **(** :ref:`Object<class_Object>` where, :ref:`String<class_String>` method, :ref:`Variant<class_Variant>` userdata **)**
  3929. Schedules a callback to the corresponding named ``method`` on ``where`` after a frame has been drawn.
  3930. The callback method must use only 1 argument which will be called with ``userdata``.
  3931. .. rst-class:: classref-item-separator
  3932. ----
  3933. .. _class_VisualServer_method_scenario_create:
  3934. .. rst-class:: classref-method
  3935. :ref:`RID<class_RID>` **scenario_create** **(** **)**
  3936. Creates a scenario and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``scenario_*`` VisualServer functions.
  3937. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  3938. The scenario is the 3D world that all the visual instances exist in.
  3939. .. rst-class:: classref-item-separator
  3940. ----
  3941. .. _class_VisualServer_method_scenario_set_debug:
  3942. .. rst-class:: classref-method
  3943. void **scenario_set_debug** **(** :ref:`RID<class_RID>` scenario, :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` debug_mode **)**
  3944. Sets the :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` for this scenario. See :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` for options.
  3945. .. rst-class:: classref-item-separator
  3946. ----
  3947. .. _class_VisualServer_method_scenario_set_environment:
  3948. .. rst-class:: classref-method
  3949. void **scenario_set_environment** **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)**
  3950. Sets the environment that will be used with this scenario.
  3951. .. rst-class:: classref-item-separator
  3952. ----
  3953. .. _class_VisualServer_method_scenario_set_fallback_environment:
  3954. .. rst-class:: classref-method
  3955. void **scenario_set_fallback_environment** **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)**
  3956. Sets the fallback environment to be used by this scenario. The fallback environment is used if no environment is set. Internally, this is used by the editor to provide a default environment.
  3957. .. rst-class:: classref-item-separator
  3958. ----
  3959. .. _class_VisualServer_method_scenario_set_reflection_atlas_size:
  3960. .. rst-class:: classref-method
  3961. void **scenario_set_reflection_atlas_size** **(** :ref:`RID<class_RID>` scenario, :ref:`int<class_int>` size, :ref:`int<class_int>` subdiv **)**
  3962. Sets the size of the reflection atlas shared by all reflection probes in this scenario.
  3963. .. rst-class:: classref-item-separator
  3964. ----
  3965. .. _class_VisualServer_method_set_boot_image:
  3966. .. rst-class:: classref-method
  3967. void **set_boot_image** **(** :ref:`Image<class_Image>` image, :ref:`Color<class_Color>` color, :ref:`bool<class_bool>` scale, :ref:`bool<class_bool>` use_filter=true **)**
  3968. Sets a boot image. The color defines the background color. If ``scale`` is ``true``, the image will be scaled to fit the screen size. If ``use_filter`` is ``true``, the image will be scaled with linear interpolation. If ``use_filter`` is ``false``, the image will be scaled with nearest-neighbor interpolation.
  3969. .. rst-class:: classref-item-separator
  3970. ----
  3971. .. _class_VisualServer_method_set_debug_generate_wireframes:
  3972. .. rst-class:: classref-method
  3973. void **set_debug_generate_wireframes** **(** :ref:`bool<class_bool>` generate **)**
  3974. If ``true``, the engine will generate wireframes for use with the wireframe debug mode.
  3975. .. rst-class:: classref-item-separator
  3976. ----
  3977. .. _class_VisualServer_method_set_default_clear_color:
  3978. .. rst-class:: classref-method
  3979. void **set_default_clear_color** **(** :ref:`Color<class_Color>` color **)**
  3980. Sets the default clear color which is used when a specific clear color has not been selected.
  3981. .. rst-class:: classref-item-separator
  3982. ----
  3983. .. _class_VisualServer_method_set_shader_async_hidden_forbidden:
  3984. .. rst-class:: classref-method
  3985. void **set_shader_async_hidden_forbidden** **(** :ref:`bool<class_bool>` forbidden **)**
  3986. If asynchronous shader compilation is enabled, this controls whether :ref:`Material3D.ASYNC_MODE_HIDDEN<class_Material3D_constant_ASYNC_MODE_HIDDEN>` is obeyed.
  3987. For instance, you may want to enable this temporarily before taking a screenshot. This ensures everything is visible even if shaders with async mode *hidden* are not ready yet.
  3988. Reflection probes use this internally to ensure they capture everything regardless the shaders are ready or not.
  3989. .. rst-class:: classref-item-separator
  3990. ----
  3991. .. _class_VisualServer_method_set_shader_time_scale:
  3992. .. rst-class:: classref-method
  3993. void **set_shader_time_scale** **(** :ref:`float<class_float>` scale **)**
  3994. Sets the scale to apply to the passage of time for the shaders' ``TIME`` builtin.
  3995. The default value is ``1.0``, which means ``TIME`` will count the real time as it goes by, without narrowing or stretching it.
  3996. .. rst-class:: classref-item-separator
  3997. ----
  3998. .. _class_VisualServer_method_set_use_occlusion_culling:
  3999. .. rst-class:: classref-method
  4000. void **set_use_occlusion_culling** **(** :ref:`bool<class_bool>` enable **)**
  4001. Enables or disables occlusion culling.
  4002. .. rst-class:: classref-item-separator
  4003. ----
  4004. .. _class_VisualServer_method_shader_create:
  4005. .. rst-class:: classref-method
  4006. :ref:`RID<class_RID>` **shader_create** **(** **)**
  4007. Creates an empty shader and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``shader_*`` VisualServer functions.
  4008. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  4009. .. rst-class:: classref-item-separator
  4010. ----
  4011. .. _class_VisualServer_method_shader_get_code:
  4012. .. rst-class:: classref-method
  4013. :ref:`String<class_String>` **shader_get_code** **(** :ref:`RID<class_RID>` shader **)** |const|
  4014. Returns a shader's code.
  4015. .. rst-class:: classref-item-separator
  4016. ----
  4017. .. _class_VisualServer_method_shader_get_default_texture_param:
  4018. .. rst-class:: classref-method
  4019. :ref:`RID<class_RID>` **shader_get_default_texture_param** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` name **)** |const|
  4020. Returns a default texture from a shader searched by name.
  4021. .. rst-class:: classref-item-separator
  4022. ----
  4023. .. _class_VisualServer_method_shader_get_param_list:
  4024. .. rst-class:: classref-method
  4025. :ref:`Array<class_Array>` **shader_get_param_list** **(** :ref:`RID<class_RID>` shader **)** |const|
  4026. Returns the parameters of a shader.
  4027. .. rst-class:: classref-item-separator
  4028. ----
  4029. .. _class_VisualServer_method_shader_set_code:
  4030. .. rst-class:: classref-method
  4031. void **shader_set_code** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` code **)**
  4032. Sets a shader's code.
  4033. .. rst-class:: classref-item-separator
  4034. ----
  4035. .. _class_VisualServer_method_shader_set_default_texture_param:
  4036. .. rst-class:: classref-method
  4037. void **shader_set_default_texture_param** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` name, :ref:`RID<class_RID>` texture **)**
  4038. Sets a shader's default texture. Overwrites the texture given by name.
  4039. .. rst-class:: classref-item-separator
  4040. ----
  4041. .. _class_VisualServer_method_skeleton_allocate:
  4042. .. rst-class:: classref-method
  4043. void **skeleton_allocate** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bones, :ref:`bool<class_bool>` is_2d_skeleton=false **)**
  4044. Allocates the GPU buffers for this skeleton.
  4045. .. rst-class:: classref-item-separator
  4046. ----
  4047. .. _class_VisualServer_method_skeleton_bone_get_transform:
  4048. .. rst-class:: classref-method
  4049. :ref:`Transform<class_Transform>` **skeleton_bone_get_transform** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** |const|
  4050. Returns the :ref:`Transform<class_Transform>` set for a specific bone of this skeleton.
  4051. .. rst-class:: classref-item-separator
  4052. ----
  4053. .. _class_VisualServer_method_skeleton_bone_get_transform_2d:
  4054. .. rst-class:: classref-method
  4055. :ref:`Transform2D<class_Transform2D>` **skeleton_bone_get_transform_2d** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** |const|
  4056. Returns the :ref:`Transform2D<class_Transform2D>` set for a specific bone of this skeleton.
  4057. .. rst-class:: classref-item-separator
  4058. ----
  4059. .. _class_VisualServer_method_skeleton_bone_set_transform:
  4060. .. rst-class:: classref-method
  4061. void **skeleton_bone_set_transform** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform<class_Transform>` transform **)**
  4062. Sets the :ref:`Transform<class_Transform>` for a specific bone of this skeleton.
  4063. .. rst-class:: classref-item-separator
  4064. ----
  4065. .. _class_VisualServer_method_skeleton_bone_set_transform_2d:
  4066. .. rst-class:: classref-method
  4067. void **skeleton_bone_set_transform_2d** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform2D<class_Transform2D>` transform **)**
  4068. Sets the :ref:`Transform2D<class_Transform2D>` for a specific bone of this skeleton.
  4069. .. rst-class:: classref-item-separator
  4070. ----
  4071. .. _class_VisualServer_method_skeleton_create:
  4072. .. rst-class:: classref-method
  4073. :ref:`RID<class_RID>` **skeleton_create** **(** **)**
  4074. Creates a skeleton and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``skeleton_*`` VisualServer functions.
  4075. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  4076. .. rst-class:: classref-item-separator
  4077. ----
  4078. .. _class_VisualServer_method_skeleton_get_bone_count:
  4079. .. rst-class:: classref-method
  4080. :ref:`int<class_int>` **skeleton_get_bone_count** **(** :ref:`RID<class_RID>` skeleton **)** |const|
  4081. Returns the number of bones allocated for this skeleton.
  4082. .. rst-class:: classref-item-separator
  4083. ----
  4084. .. _class_VisualServer_method_sky_create:
  4085. .. rst-class:: classref-method
  4086. :ref:`RID<class_RID>` **sky_create** **(** **)**
  4087. Creates an empty sky and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``sky_*`` VisualServer functions.
  4088. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  4089. .. rst-class:: classref-item-separator
  4090. ----
  4091. .. _class_VisualServer_method_sky_set_texture:
  4092. .. rst-class:: classref-method
  4093. void **sky_set_texture** **(** :ref:`RID<class_RID>` sky, :ref:`RID<class_RID>` cube_map, :ref:`int<class_int>` radiance_size **)**
  4094. Sets a sky's texture.
  4095. .. rst-class:: classref-item-separator
  4096. ----
  4097. .. _class_VisualServer_method_spot_light_create:
  4098. .. rst-class:: classref-method
  4099. :ref:`RID<class_RID>` **spot_light_create** **(** **)**
  4100. Creates a spot light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most ``light_*`` VisualServer functions.
  4101. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  4102. To place in a scene, attach this spot light to an instance using :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` using the returned RID.
  4103. .. rst-class:: classref-item-separator
  4104. ----
  4105. .. _class_VisualServer_method_sync:
  4106. .. rst-class:: classref-method
  4107. void **sync** **(** **)**
  4108. Not implemented in Godot 3.x.
  4109. .. rst-class:: classref-item-separator
  4110. ----
  4111. .. _class_VisualServer_method_texture_allocate:
  4112. .. rst-class:: classref-method
  4113. void **texture_allocate** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` depth_3d, :ref:`Format<enum_Image_Format>` format, :ref:`TextureType<enum_VisualServer_TextureType>` type, :ref:`int<class_int>` flags=7 **)**
  4114. Allocates the GPU memory for the texture.
  4115. .. rst-class:: classref-item-separator
  4116. ----
  4117. .. _class_VisualServer_method_texture_bind:
  4118. .. rst-class:: classref-method
  4119. void **texture_bind** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` number **)**
  4120. Binds the texture to a texture slot.
  4121. .. rst-class:: classref-item-separator
  4122. ----
  4123. .. _class_VisualServer_method_texture_create:
  4124. .. rst-class:: classref-method
  4125. :ref:`RID<class_RID>` **texture_create** **(** **)**
  4126. Creates an empty texture and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``texture_*`` VisualServer functions.
  4127. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  4128. .. rst-class:: classref-item-separator
  4129. ----
  4130. .. _class_VisualServer_method_texture_create_from_image:
  4131. .. rst-class:: classref-method
  4132. :ref:`RID<class_RID>` **texture_create_from_image** **(** :ref:`Image<class_Image>` image, :ref:`int<class_int>` flags=7 **)**
  4133. Creates a texture, allocates the space for an image, and fills in the image.
  4134. .. rst-class:: classref-item-separator
  4135. ----
  4136. .. _class_VisualServer_method_texture_debug_usage:
  4137. .. rst-class:: classref-method
  4138. :ref:`Array<class_Array>` **texture_debug_usage** **(** **)**
  4139. Returns a list of all the textures and their information.
  4140. .. rst-class:: classref-item-separator
  4141. ----
  4142. .. _class_VisualServer_method_texture_get_data:
  4143. .. rst-class:: classref-method
  4144. :ref:`Image<class_Image>` **texture_get_data** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` cube_side=0 **)** |const|
  4145. Returns a copy of a texture's image unless it's a CubeMap, in which case it returns the :ref:`RID<class_RID>` of the image at one of the cubes sides.
  4146. .. rst-class:: classref-item-separator
  4147. ----
  4148. .. _class_VisualServer_method_texture_get_depth:
  4149. .. rst-class:: classref-method
  4150. :ref:`int<class_int>` **texture_get_depth** **(** :ref:`RID<class_RID>` texture **)** |const|
  4151. Returns the depth of the texture.
  4152. .. rst-class:: classref-item-separator
  4153. ----
  4154. .. _class_VisualServer_method_texture_get_flags:
  4155. .. rst-class:: classref-method
  4156. :ref:`int<class_int>` **texture_get_flags** **(** :ref:`RID<class_RID>` texture **)** |const|
  4157. Returns the flags of a texture.
  4158. .. rst-class:: classref-item-separator
  4159. ----
  4160. .. _class_VisualServer_method_texture_get_format:
  4161. .. rst-class:: classref-method
  4162. :ref:`Format<enum_Image_Format>` **texture_get_format** **(** :ref:`RID<class_RID>` texture **)** |const|
  4163. Returns the format of the texture's image.
  4164. .. rst-class:: classref-item-separator
  4165. ----
  4166. .. _class_VisualServer_method_texture_get_height:
  4167. .. rst-class:: classref-method
  4168. :ref:`int<class_int>` **texture_get_height** **(** :ref:`RID<class_RID>` texture **)** |const|
  4169. Returns the texture's height.
  4170. .. rst-class:: classref-item-separator
  4171. ----
  4172. .. _class_VisualServer_method_texture_get_path:
  4173. .. rst-class:: classref-method
  4174. :ref:`String<class_String>` **texture_get_path** **(** :ref:`RID<class_RID>` texture **)** |const|
  4175. Returns the texture's path.
  4176. .. rst-class:: classref-item-separator
  4177. ----
  4178. .. _class_VisualServer_method_texture_get_texid:
  4179. .. rst-class:: classref-method
  4180. :ref:`int<class_int>` **texture_get_texid** **(** :ref:`RID<class_RID>` texture **)** |const|
  4181. Returns the opengl id of the texture's image.
  4182. .. rst-class:: classref-item-separator
  4183. ----
  4184. .. _class_VisualServer_method_texture_get_type:
  4185. .. rst-class:: classref-method
  4186. :ref:`TextureType<enum_VisualServer_TextureType>` **texture_get_type** **(** :ref:`RID<class_RID>` texture **)** |const|
  4187. Returns the type of the texture, can be any of the :ref:`TextureType<enum_VisualServer_TextureType>`.
  4188. .. rst-class:: classref-item-separator
  4189. ----
  4190. .. _class_VisualServer_method_texture_get_width:
  4191. .. rst-class:: classref-method
  4192. :ref:`int<class_int>` **texture_get_width** **(** :ref:`RID<class_RID>` texture **)** |const|
  4193. Returns the texture's width.
  4194. .. rst-class:: classref-item-separator
  4195. ----
  4196. .. _class_VisualServer_method_texture_set_data:
  4197. .. rst-class:: classref-method
  4198. void **texture_set_data** **(** :ref:`RID<class_RID>` texture, :ref:`Image<class_Image>` image, :ref:`int<class_int>` layer=0 **)**
  4199. Sets the texture's image data. If it's a CubeMap, it sets the image data at a cube side.
  4200. .. rst-class:: classref-item-separator
  4201. ----
  4202. .. _class_VisualServer_method_texture_set_data_partial:
  4203. .. rst-class:: classref-method
  4204. void **texture_set_data_partial** **(** :ref:`RID<class_RID>` texture, :ref:`Image<class_Image>` image, :ref:`int<class_int>` src_x, :ref:`int<class_int>` src_y, :ref:`int<class_int>` src_w, :ref:`int<class_int>` src_h, :ref:`int<class_int>` dst_x, :ref:`int<class_int>` dst_y, :ref:`int<class_int>` dst_mip, :ref:`int<class_int>` layer=0 **)**
  4205. Sets a part of the data for a texture. Warning: this function calls the underlying graphics API directly and may corrupt your texture if used improperly.
  4206. .. rst-class:: classref-item-separator
  4207. ----
  4208. .. _class_VisualServer_method_texture_set_flags:
  4209. .. rst-class:: classref-method
  4210. void **texture_set_flags** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` flags **)**
  4211. Sets the texture's flags. See :ref:`TextureFlags<enum_VisualServer_TextureFlags>` for options.
  4212. .. rst-class:: classref-item-separator
  4213. ----
  4214. .. _class_VisualServer_method_texture_set_path:
  4215. .. rst-class:: classref-method
  4216. void **texture_set_path** **(** :ref:`RID<class_RID>` texture, :ref:`String<class_String>` path **)**
  4217. Sets the texture's path.
  4218. .. rst-class:: classref-item-separator
  4219. ----
  4220. .. _class_VisualServer_method_texture_set_proxy:
  4221. .. rst-class:: classref-method
  4222. void **texture_set_proxy** **(** :ref:`RID<class_RID>` proxy, :ref:`RID<class_RID>` base **)**
  4223. Creates an update link between two textures, similar to how :ref:`ViewportTexture<class_ViewportTexture>`\ s operate. When the base texture is the texture of a :ref:`Viewport<class_Viewport>`, every time the viewport renders a new frame, the proxy texture automatically receives an update.
  4224. For example, this code links a generic :ref:`ImageTexture<class_ImageTexture>` to the texture output of the :ref:`Viewport<class_Viewport>` using the VisualServer API:
  4225. ::
  4226. func _ready():
  4227. var viewport_rid = get_viewport().get_viewport_rid()
  4228. var viewport_texture_rid = VisualServer.viewport_get_texture(viewport_rid)
  4229. var proxy_texture = ImageTexture.new()
  4230. var viewport_texture_image_data = VisualServer.texture_get_data(viewport_texture_rid)
  4231. proxy_texture.create_from_image(viewport_texture_image_data)
  4232. var proxy_texture_rid = proxy_texture.get_rid()
  4233. VisualServer.texture_set_proxy(proxy_texture_rid, viewport_texture_rid)
  4234. $TextureRect.texture = proxy_texture
  4235. .. rst-class:: classref-item-separator
  4236. ----
  4237. .. _class_VisualServer_method_texture_set_shrink_all_x2_on_set_data:
  4238. .. rst-class:: classref-method
  4239. void **texture_set_shrink_all_x2_on_set_data** **(** :ref:`bool<class_bool>` shrink **)**
  4240. If ``true``, sets internal processes to shrink all image data to half the size.
  4241. .. rst-class:: classref-item-separator
  4242. ----
  4243. .. _class_VisualServer_method_texture_set_size_override:
  4244. .. rst-class:: classref-method
  4245. void **texture_set_size_override** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` depth **)**
  4246. Resizes the texture to the specified dimensions.
  4247. .. rst-class:: classref-item-separator
  4248. ----
  4249. .. _class_VisualServer_method_textures_keep_original:
  4250. .. rst-class:: classref-method
  4251. void **textures_keep_original** **(** :ref:`bool<class_bool>` enable **)**
  4252. If ``true``, the image will be stored in the texture's images array if overwritten.
  4253. .. rst-class:: classref-item-separator
  4254. ----
  4255. .. _class_VisualServer_method_viewport_attach_camera:
  4256. .. rst-class:: classref-method
  4257. void **viewport_attach_camera** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` camera **)**
  4258. Sets a viewport's camera.
  4259. .. rst-class:: classref-item-separator
  4260. ----
  4261. .. _class_VisualServer_method_viewport_attach_canvas:
  4262. .. rst-class:: classref-method
  4263. void **viewport_attach_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)**
  4264. Sets a viewport's canvas.
  4265. .. rst-class:: classref-item-separator
  4266. ----
  4267. .. _class_VisualServer_method_viewport_attach_to_screen:
  4268. .. rst-class:: classref-method
  4269. void **viewport_attach_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`Rect2<class_Rect2>` rect=Rect2( 0, 0, 0, 0 ), :ref:`int<class_int>` screen=0 **)**
  4270. Copies viewport to a region of the screen specified by ``rect``. If :ref:`Viewport.render_direct_to_screen<class_Viewport_property_render_direct_to_screen>` is ``true``, then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to.
  4271. For example, you can set the root viewport to not render at all with the following code:
  4272. ::
  4273. func _ready():
  4274. get_viewport().set_attach_to_screen_rect(Rect2())
  4275. $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
  4276. Using this can result in significant optimization, especially on lower-end devices. However, it comes at the cost of having to manage your viewports manually. For further optimization, see :ref:`viewport_set_render_direct_to_screen<class_VisualServer_method_viewport_set_render_direct_to_screen>`.
  4277. .. rst-class:: classref-item-separator
  4278. ----
  4279. .. _class_VisualServer_method_viewport_create:
  4280. .. rst-class:: classref-method
  4281. :ref:`RID<class_RID>` **viewport_create** **(** **)**
  4282. Creates an empty viewport and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all ``viewport_*`` VisualServer functions.
  4283. Once finished with your RID, you will want to free the RID using the VisualServer's :ref:`free_rid<class_VisualServer_method_free_rid>` static method.
  4284. .. rst-class:: classref-item-separator
  4285. ----
  4286. .. _class_VisualServer_method_viewport_detach:
  4287. .. rst-class:: classref-method
  4288. void **viewport_detach** **(** :ref:`RID<class_RID>` viewport **)**
  4289. Detaches the viewport from the screen.
  4290. .. rst-class:: classref-item-separator
  4291. ----
  4292. .. _class_VisualServer_method_viewport_get_render_info:
  4293. .. rst-class:: classref-method
  4294. :ref:`int<class_int>` **viewport_get_render_info** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` info **)**
  4295. Returns a viewport's render information. For options, see the :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` constants.
  4296. .. rst-class:: classref-item-separator
  4297. ----
  4298. .. _class_VisualServer_method_viewport_get_texture:
  4299. .. rst-class:: classref-method
  4300. :ref:`RID<class_RID>` **viewport_get_texture** **(** :ref:`RID<class_RID>` viewport **)** |const|
  4301. Returns the viewport's last rendered frame.
  4302. .. rst-class:: classref-item-separator
  4303. ----
  4304. .. _class_VisualServer_method_viewport_remove_canvas:
  4305. .. rst-class:: classref-method
  4306. void **viewport_remove_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)**
  4307. Detaches a viewport from a canvas and vice versa.
  4308. .. rst-class:: classref-item-separator
  4309. ----
  4310. .. _class_VisualServer_method_viewport_set_active:
  4311. .. rst-class:: classref-method
  4312. void **viewport_set_active** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)**
  4313. If ``true``, sets the viewport active, else sets it inactive.
  4314. .. rst-class:: classref-item-separator
  4315. ----
  4316. .. _class_VisualServer_method_viewport_set_canvas_stacking:
  4317. .. rst-class:: classref-method
  4318. void **viewport_set_canvas_stacking** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` layer, :ref:`int<class_int>` sublayer **)**
  4319. Sets the stacking order for a viewport's canvas.
  4320. \ ``layer`` is the actual canvas layer, while ``sublayer`` specifies the stacking order of the canvas among those in the same layer.
  4321. .. rst-class:: classref-item-separator
  4322. ----
  4323. .. _class_VisualServer_method_viewport_set_canvas_transform:
  4324. .. rst-class:: classref-method
  4325. void **viewport_set_canvas_transform** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`Transform2D<class_Transform2D>` offset **)**
  4326. Sets the transformation of a viewport's canvas.
  4327. .. rst-class:: classref-item-separator
  4328. ----
  4329. .. _class_VisualServer_method_viewport_set_clear_mode:
  4330. .. rst-class:: classref-method
  4331. void **viewport_set_clear_mode** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` clear_mode **)**
  4332. Sets the clear mode of a viewport. See :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` for options.
  4333. .. rst-class:: classref-item-separator
  4334. ----
  4335. .. _class_VisualServer_method_viewport_set_debug_draw:
  4336. .. rst-class:: classref-method
  4337. void **viewport_set_debug_draw** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` draw **)**
  4338. Sets the debug draw mode of a viewport. See :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` for options.
  4339. .. rst-class:: classref-item-separator
  4340. ----
  4341. .. _class_VisualServer_method_viewport_set_disable_3d:
  4342. .. rst-class:: classref-method
  4343. void **viewport_set_disable_3d** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)**
  4344. If ``true``, a viewport's 3D rendering is disabled.
  4345. .. rst-class:: classref-item-separator
  4346. ----
  4347. .. _class_VisualServer_method_viewport_set_disable_environment:
  4348. .. rst-class:: classref-method
  4349. void **viewport_set_disable_environment** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)**
  4350. If ``true``, rendering of a viewport's environment is disabled.
  4351. .. rst-class:: classref-item-separator
  4352. ----
  4353. .. _class_VisualServer_method_viewport_set_global_canvas_transform:
  4354. .. rst-class:: classref-method
  4355. void **viewport_set_global_canvas_transform** **(** :ref:`RID<class_RID>` viewport, :ref:`Transform2D<class_Transform2D>` transform **)**
  4356. Sets the viewport's global transformation matrix.
  4357. .. rst-class:: classref-item-separator
  4358. ----
  4359. .. _class_VisualServer_method_viewport_set_hdr:
  4360. .. rst-class:: classref-method
  4361. void **viewport_set_hdr** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  4362. If ``true``, the viewport renders to high dynamic range (HDR) instead of standard dynamic range (SDR). See also :ref:`viewport_set_use_32_bpc_depth<class_VisualServer_method_viewport_set_use_32_bpc_depth>`.
  4363. \ **Note:** Only available on the GLES3 backend.
  4364. .. rst-class:: classref-item-separator
  4365. ----
  4366. .. _class_VisualServer_method_viewport_set_hide_canvas:
  4367. .. rst-class:: classref-method
  4368. void **viewport_set_hide_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)**
  4369. If ``true``, the viewport's canvas is not rendered.
  4370. .. rst-class:: classref-item-separator
  4371. ----
  4372. .. _class_VisualServer_method_viewport_set_hide_scenario:
  4373. .. rst-class:: classref-method
  4374. void **viewport_set_hide_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)**
  4375. Currently unimplemented in Godot 3.x.
  4376. .. rst-class:: classref-item-separator
  4377. ----
  4378. .. _class_VisualServer_method_viewport_set_msaa:
  4379. .. rst-class:: classref-method
  4380. void **viewport_set_msaa** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` msaa **)**
  4381. Sets the anti-aliasing mode. See :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` for options.
  4382. .. rst-class:: classref-item-separator
  4383. ----
  4384. .. _class_VisualServer_method_viewport_set_parent_viewport:
  4385. .. rst-class:: classref-method
  4386. void **viewport_set_parent_viewport** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)**
  4387. Sets the viewport's parent to another viewport.
  4388. .. rst-class:: classref-item-separator
  4389. ----
  4390. .. _class_VisualServer_method_viewport_set_render_direct_to_screen:
  4391. .. rst-class:: classref-method
  4392. void **viewport_set_render_direct_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  4393. If ``true``, render the contents of the viewport directly to screen. This allows a low-level optimization where you can skip drawing a viewport to the root viewport. While this optimization can result in a significant increase in speed (especially on older devices), it comes at a cost of usability. When this is enabled, you cannot read from the viewport or from the ``SCREEN_TEXTURE``. You also lose the benefit of certain window settings, such as the various stretch modes. Another consequence to be aware of is that in 2D the rendering happens in window coordinates, so if you have a viewport that is double the size of the window, and you set this, then only the portion that fits within the window will be drawn, no automatic scaling is possible, even if your game scene is significantly larger than the window size.
  4394. .. rst-class:: classref-item-separator
  4395. ----
  4396. .. _class_VisualServer_method_viewport_set_scenario:
  4397. .. rst-class:: classref-method
  4398. void **viewport_set_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)**
  4399. Sets a viewport's scenario.
  4400. The scenario contains information about the :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>`, environment information, reflection atlas etc.
  4401. .. rst-class:: classref-item-separator
  4402. ----
  4403. .. _class_VisualServer_method_viewport_set_shadow_atlas_quadrant_subdivision:
  4404. .. rst-class:: classref-method
  4405. void **viewport_set_shadow_atlas_quadrant_subdivision** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` quadrant, :ref:`int<class_int>` subdivision **)**
  4406. Sets the shadow atlas quadrant's subdivision.
  4407. .. rst-class:: classref-item-separator
  4408. ----
  4409. .. _class_VisualServer_method_viewport_set_shadow_atlas_size:
  4410. .. rst-class:: classref-method
  4411. void **viewport_set_shadow_atlas_size** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` size **)**
  4412. Sets the size of the shadow atlas's images (used for omni and spot lights). The value will be rounded up to the nearest power of 2.
  4413. .. rst-class:: classref-item-separator
  4414. ----
  4415. .. _class_VisualServer_method_viewport_set_sharpen_intensity:
  4416. .. rst-class:: classref-method
  4417. void **viewport_set_sharpen_intensity** **(** :ref:`RID<class_RID>` viewport, :ref:`float<class_float>` intensity **)**
  4418. Sets the sharpening ``intensity`` for the ``viewport``. If set to a value greater than ``0.0``, contrast-adaptive sharpening will be applied to the 3D viewport. This has a low performance cost and can be used to recover some of the sharpness lost from using FXAA. Values around ``0.5`` generally give the best results. See also :ref:`viewport_set_use_fxaa<class_VisualServer_method_viewport_set_use_fxaa>`.
  4419. .. rst-class:: classref-item-separator
  4420. ----
  4421. .. _class_VisualServer_method_viewport_set_size:
  4422. .. rst-class:: classref-method
  4423. void **viewport_set_size** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
  4424. Sets the viewport's width and height.
  4425. .. rst-class:: classref-item-separator
  4426. ----
  4427. .. _class_VisualServer_method_viewport_set_transparent_background:
  4428. .. rst-class:: classref-method
  4429. void **viewport_set_transparent_background** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  4430. If ``true``, the viewport renders its background as transparent.
  4431. .. rst-class:: classref-item-separator
  4432. ----
  4433. .. _class_VisualServer_method_viewport_set_update_mode:
  4434. .. rst-class:: classref-method
  4435. void **viewport_set_update_mode** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` update_mode **)**
  4436. Sets when the viewport should be updated. See :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` constants for options.
  4437. .. rst-class:: classref-item-separator
  4438. ----
  4439. .. _class_VisualServer_method_viewport_set_usage:
  4440. .. rst-class:: classref-method
  4441. void **viewport_set_usage** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` usage **)**
  4442. Sets the viewport's 2D/3D mode. See :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` constants for options.
  4443. .. rst-class:: classref-item-separator
  4444. ----
  4445. .. _class_VisualServer_method_viewport_set_use_32_bpc_depth:
  4446. .. rst-class:: classref-method
  4447. void **viewport_set_use_32_bpc_depth** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  4448. If ``true``, allocates the viewport's framebuffer with full floating-point precision (32-bit) instead of half floating-point precision (16-bit). Only effective if :ref:`viewport_set_use_32_bpc_depth<class_VisualServer_method_viewport_set_use_32_bpc_depth>` is used on the same :ref:`Viewport<class_Viewport>` to set HDR to ``true``.
  4449. \ **Note:** Only available on the GLES3 backend.
  4450. .. rst-class:: classref-item-separator
  4451. ----
  4452. .. _class_VisualServer_method_viewport_set_use_arvr:
  4453. .. rst-class:: classref-method
  4454. void **viewport_set_use_arvr** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` use_arvr **)**
  4455. If ``true``, the viewport uses augmented or virtual reality technologies. See :ref:`ARVRInterface<class_ARVRInterface>`.
  4456. .. rst-class:: classref-item-separator
  4457. ----
  4458. .. _class_VisualServer_method_viewport_set_use_debanding:
  4459. .. rst-class:: classref-method
  4460. void **viewport_set_use_debanding** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` debanding **)**
  4461. If ``true``, uses a fast post-processing filter to make banding significantly less visible. In some cases, debanding may introduce a slightly noticeable dithering pattern. It's recommended to enable debanding only when actually needed since the dithering pattern will make lossless-compressed screenshots larger.
  4462. \ **Note:** Only available on the GLES3 backend. :ref:`Viewport.hdr<class_Viewport_property_hdr>` must also be ``true`` for debanding to be effective.
  4463. .. rst-class:: classref-item-separator
  4464. ----
  4465. .. _class_VisualServer_method_viewport_set_use_fxaa:
  4466. .. rst-class:: classref-method
  4467. void **viewport_set_use_fxaa** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` fxaa **)**
  4468. Enables fast approximate antialiasing for this viewport. FXAA is a popular screen-space antialiasing method, which is fast but will make the image look blurry, especially at lower resolutions. It can still work relatively well at large resolutions such as 1440p and 4K. Some of the lost sharpness can be recovered by enabling contrast-adaptive sharpening (see :ref:`viewport_set_sharpen_intensity<class_VisualServer_method_viewport_set_sharpen_intensity>`).
  4469. .. rst-class:: classref-item-separator
  4470. ----
  4471. .. _class_VisualServer_method_viewport_set_vflip:
  4472. .. rst-class:: classref-method
  4473. void **viewport_set_vflip** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  4474. If ``true``, the viewport's rendering is flipped vertically.
  4475. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  4476. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  4477. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  4478. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`