class_visualserver.rst 747 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317
  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.5/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/VisualServer.xml.
  6. .. _class_VisualServer:
  7. VisualServer
  8. ============
  9. **Inherits:** :ref:`Object<class_Object>`
  10. Server for anything visible.
  11. Description
  12. -----------
  13. Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display.
  14. The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
  15. The visual server can be used to bypass the scene system entirely.
  16. Resources are created using the ``*_create`` functions.
  17. 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>`.
  18. 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>`.
  19. Similarly, in 2D, a canvas is needed to draw all canvas items.
  20. 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.
  21. 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.
  22. Tutorials
  23. ---------
  24. - :doc:`../tutorials/performance/using_servers`
  25. Properties
  26. ----------
  27. +-------------------------+-----------------------------------------------------------------------------+
  28. | :ref:`bool<class_bool>` | :ref:`render_loop_enabled<class_VisualServer_property_render_loop_enabled>` |
  29. +-------------------------+-----------------------------------------------------------------------------+
  30. Methods
  31. -------
  32. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | 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 **)** |
  34. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | 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 **)** |
  36. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | :ref:`RID<class_RID>` | :ref:`camera_create<class_VisualServer_method_camera_create>` **(** **)** |
  38. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | void | :ref:`camera_reset_physics_interpolation<class_VisualServer_method_camera_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` camera **)** |
  40. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | void | :ref:`camera_set_cull_mask<class_VisualServer_method_camera_set_cull_mask>` **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)** |
  42. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | void | :ref:`camera_set_environment<class_VisualServer_method_camera_set_environment>` **(** :ref:`RID<class_RID>` camera, :ref:`RID<class_RID>` env **)** |
  44. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | 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 **)** |
  46. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | void | :ref:`camera_set_interpolated<class_VisualServer_method_camera_set_interpolated>` **(** :ref:`RID<class_RID>` camera, :ref:`bool<class_bool>` interpolated **)** |
  48. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | 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 **)** |
  50. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | 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 **)** |
  52. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | void | :ref:`camera_set_transform<class_VisualServer_method_camera_set_transform>` **(** :ref:`RID<class_RID>` camera, :ref:`Transform<class_Transform>` transform **)** |
  54. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | 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 **)** |
  56. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | :ref:`RID<class_RID>` | :ref:`canvas_create<class_VisualServer_method_canvas_create>` **(** **)** |
  58. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | 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 **)** |
  60. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | 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 **)** |
  62. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | 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 **)** |
  64. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | 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 **)** |
  66. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | 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 **)** |
  68. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | 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 **)** |
  70. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | 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 **)** |
  72. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | 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 **)** |
  74. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | 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 **)** |
  76. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | 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 **)** |
  78. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | 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 **)** |
  80. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | 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 **)** |
  82. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | 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 **)** |
  84. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | 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 **)** |
  86. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | 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 **)** |
  88. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | void | :ref:`canvas_item_clear<class_VisualServer_method_canvas_item_clear>` **(** :ref:`RID<class_RID>` item **)** |
  90. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | :ref:`RID<class_RID>` | :ref:`canvas_item_create<class_VisualServer_method_canvas_item_create>` **(** **)** |
  92. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`canvas_item_set_clip<class_VisualServer_method_canvas_item_set_clip>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` clip **)** |
  94. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | 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 **)** |
  96. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | 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 ) **)** |
  98. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | 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 **)** |
  100. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | 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 **)** |
  102. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | 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 **)** |
  104. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | 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 **)** |
  106. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | void | :ref:`canvas_item_set_material<class_VisualServer_method_canvas_item_set_material>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` material **)** |
  108. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | void | :ref:`canvas_item_set_modulate<class_VisualServer_method_canvas_item_set_modulate>` **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)** |
  110. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | void | :ref:`canvas_item_set_parent<class_VisualServer_method_canvas_item_set_parent>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` parent **)** |
  112. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | 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 **)** |
  114. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | 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 **)** |
  116. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | void | :ref:`canvas_item_set_transform<class_VisualServer_method_canvas_item_set_transform>` **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)** |
  118. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | 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 **)** |
  120. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | void | :ref:`canvas_item_set_visible<class_VisualServer_method_canvas_item_set_visible>` **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` visible **)** |
  122. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | 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 **)** |
  124. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | 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 **)** |
  126. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | 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 **)** |
  128. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | :ref:`RID<class_RID>` | :ref:`canvas_light_create<class_VisualServer_method_canvas_light_create>` **(** **)** |
  130. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | 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 **)** |
  132. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | :ref:`RID<class_RID>` | :ref:`canvas_light_occluder_create<class_VisualServer_method_canvas_light_occluder_create>` **(** **)** |
  134. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | 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 **)** |
  136. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | 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 **)** |
  138. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | 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 **)** |
  140. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | 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 **)** |
  142. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | void | :ref:`canvas_light_set_color<class_VisualServer_method_canvas_light_set_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  144. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | void | :ref:`canvas_light_set_enabled<class_VisualServer_method_canvas_light_set_enabled>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  146. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. | void | :ref:`canvas_light_set_energy<class_VisualServer_method_canvas_light_set_energy>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` energy **)** |
  148. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  149. | void | :ref:`canvas_light_set_height<class_VisualServer_method_canvas_light_set_height>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` height **)** |
  150. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  151. | 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 **)** |
  152. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  153. | 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 **)** |
  154. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  155. | 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 **)** |
  156. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  157. | void | :ref:`canvas_light_set_mode<class_VisualServer_method_canvas_light_set_mode>` **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` mode **)** |
  158. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  159. | void | :ref:`canvas_light_set_scale<class_VisualServer_method_canvas_light_set_scale>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` scale **)** |
  160. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  161. | 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 **)** |
  162. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  163. | 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 **)** |
  164. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  165. | 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 **)** |
  166. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  167. | 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 **)** |
  168. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  169. | 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 **)** |
  170. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  171. | 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 **)** |
  172. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  173. | void | :ref:`canvas_light_set_texture<class_VisualServer_method_canvas_light_set_texture>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)** |
  174. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  175. | 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 **)** |
  176. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  177. | void | :ref:`canvas_light_set_transform<class_VisualServer_method_canvas_light_set_transform>` **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` transform **)** |
  178. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  179. | 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 **)** |
  180. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  181. | :ref:`RID<class_RID>` | :ref:`canvas_occluder_polygon_create<class_VisualServer_method_canvas_occluder_polygon_create>` **(** **)** |
  182. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  183. | 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 **)** |
  184. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  185. | 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 **)** |
  186. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  187. | 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 **)** |
  188. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  189. | 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 **)** |
  190. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  191. | void | :ref:`canvas_set_modulate<class_VisualServer_method_canvas_set_modulate>` **(** :ref:`RID<class_RID>` canvas, :ref:`Color<class_Color>` color **)** |
  192. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  193. | :ref:`RID<class_RID>` | :ref:`directional_light_create<class_VisualServer_method_directional_light_create>` **(** **)** |
  194. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  195. | void | :ref:`draw<class_VisualServer_method_draw>` **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)** |
  196. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  197. | :ref:`RID<class_RID>` | :ref:`environment_create<class_VisualServer_method_environment_create>` **(** **)** |
  198. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  199. | 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 **)** |
  200. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  201. | 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 **)** |
  202. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  203. | void | :ref:`environment_set_background<class_VisualServer_method_environment_set_background>` **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` bg **)** |
  204. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  205. | void | :ref:`environment_set_bg_color<class_VisualServer_method_environment_set_bg_color>` **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color **)** |
  206. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  207. | void | :ref:`environment_set_bg_energy<class_VisualServer_method_environment_set_bg_energy>` **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` energy **)** |
  208. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  209. | 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 **)** |
  210. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  211. | 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 **)** |
  212. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  213. | 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 **)** |
  214. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  215. | 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 **)** |
  216. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  217. | 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 **)** |
  218. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  219. | 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 **)** |
  220. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  221. | 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 **)** |
  222. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  223. | void | :ref:`environment_set_sky<class_VisualServer_method_environment_set_sky>` **(** :ref:`RID<class_RID>` env, :ref:`RID<class_RID>` sky **)** |
  224. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  225. | 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 **)** |
  226. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  227. | void | :ref:`environment_set_sky_orientation<class_VisualServer_method_environment_set_sky_orientation>` **(** :ref:`RID<class_RID>` env, :ref:`Basis<class_Basis>` orientation **)** |
  228. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  229. | 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 **)** |
  230. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  231. | 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 **)** |
  232. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  233. | 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 **)** |
  234. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  235. | void | :ref:`finish<class_VisualServer_method_finish>` **(** **)** |
  236. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  237. | void | :ref:`force_draw<class_VisualServer_method_force_draw>` **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)** |
  238. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  239. | void | :ref:`force_sync<class_VisualServer_method_force_sync>` **(** **)** |
  240. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  241. | void | :ref:`free_rid<class_VisualServer_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)** |
  242. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  243. | :ref:`int<class_int>` | :ref:`get_render_info<class_VisualServer_method_get_render_info>` **(** :ref:`RenderInfo<enum_VisualServer_RenderInfo>` info **)** |
  244. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  245. | :ref:`RID<class_RID>` | :ref:`get_test_cube<class_VisualServer_method_get_test_cube>` **(** **)** |
  246. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  247. | :ref:`RID<class_RID>` | :ref:`get_test_texture<class_VisualServer_method_get_test_texture>` **(** **)** |
  248. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  249. | :ref:`String<class_String>` | :ref:`get_video_adapter_name<class_VisualServer_method_get_video_adapter_name>` **(** **)** |const| |
  250. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  251. | :ref:`String<class_String>` | :ref:`get_video_adapter_vendor<class_VisualServer_method_get_video_adapter_vendor>` **(** **)** |const| |
  252. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  253. | :ref:`RID<class_RID>` | :ref:`get_white_texture<class_VisualServer_method_get_white_texture>` **(** **)** |
  254. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  255. | :ref:`RID<class_RID>` | :ref:`gi_probe_create<class_VisualServer_method_gi_probe_create>` **(** **)** |
  256. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  257. | :ref:`float<class_float>` | :ref:`gi_probe_get_bias<class_VisualServer_method_gi_probe_get_bias>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  258. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  259. | :ref:`AABB<class_AABB>` | :ref:`gi_probe_get_bounds<class_VisualServer_method_gi_probe_get_bounds>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  260. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  261. | :ref:`float<class_float>` | :ref:`gi_probe_get_cell_size<class_VisualServer_method_gi_probe_get_cell_size>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  262. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  263. | :ref:`PoolIntArray<class_PoolIntArray>` | :ref:`gi_probe_get_dynamic_data<class_VisualServer_method_gi_probe_get_dynamic_data>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  264. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  265. | :ref:`int<class_int>` | :ref:`gi_probe_get_dynamic_range<class_VisualServer_method_gi_probe_get_dynamic_range>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  266. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  267. | :ref:`float<class_float>` | :ref:`gi_probe_get_energy<class_VisualServer_method_gi_probe_get_energy>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  268. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  269. | :ref:`float<class_float>` | :ref:`gi_probe_get_normal_bias<class_VisualServer_method_gi_probe_get_normal_bias>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  270. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  271. | :ref:`float<class_float>` | :ref:`gi_probe_get_propagation<class_VisualServer_method_gi_probe_get_propagation>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  272. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  273. | :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| |
  274. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  275. | :ref:`bool<class_bool>` | :ref:`gi_probe_is_compressed<class_VisualServer_method_gi_probe_is_compressed>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  276. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  277. | :ref:`bool<class_bool>` | :ref:`gi_probe_is_interior<class_VisualServer_method_gi_probe_is_interior>` **(** :ref:`RID<class_RID>` probe **)** |const| |
  278. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  279. | void | :ref:`gi_probe_set_bias<class_VisualServer_method_gi_probe_set_bias>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)** |
  280. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  281. | void | :ref:`gi_probe_set_bounds<class_VisualServer_method_gi_probe_set_bounds>` **(** :ref:`RID<class_RID>` probe, :ref:`AABB<class_AABB>` bounds **)** |
  282. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  283. | 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 **)** |
  284. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  285. | void | :ref:`gi_probe_set_compress<class_VisualServer_method_gi_probe_set_compress>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  286. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  287. | 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 **)** |
  288. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  289. | 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 **)** |
  290. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  291. | void | :ref:`gi_probe_set_energy<class_VisualServer_method_gi_probe_set_energy>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)** |
  292. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  293. | void | :ref:`gi_probe_set_interior<class_VisualServer_method_gi_probe_set_interior>` **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)** |
  294. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  295. | 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 **)** |
  296. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  297. | void | :ref:`gi_probe_set_propagation<class_VisualServer_method_gi_probe_set_propagation>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` propagation **)** |
  298. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  299. | 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 **)** |
  300. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  301. | :ref:`bool<class_bool>` | :ref:`has_changed<class_VisualServer_method_has_changed>` **(** :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` queried_priority=0 **)** |const| |
  302. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  303. | :ref:`bool<class_bool>` | :ref:`has_feature<class_VisualServer_method_has_feature>` **(** :ref:`Features<enum_VisualServer_Features>` feature **)** |const| |
  304. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  305. | :ref:`bool<class_bool>` | :ref:`has_os_feature<class_VisualServer_method_has_os_feature>` **(** :ref:`String<class_String>` feature **)** |const| |
  306. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  307. | 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 **)** |
  308. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  309. | void | :ref:`immediate_clear<class_VisualServer_method_immediate_clear>` **(** :ref:`RID<class_RID>` immediate **)** |
  310. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  311. | void | :ref:`immediate_color<class_VisualServer_method_immediate_color>` **(** :ref:`RID<class_RID>` immediate, :ref:`Color<class_Color>` color **)** |
  312. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  313. | :ref:`RID<class_RID>` | :ref:`immediate_create<class_VisualServer_method_immediate_create>` **(** **)** |
  314. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  315. | void | :ref:`immediate_end<class_VisualServer_method_immediate_end>` **(** :ref:`RID<class_RID>` immediate **)** |
  316. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  317. | :ref:`RID<class_RID>` | :ref:`immediate_get_material<class_VisualServer_method_immediate_get_material>` **(** :ref:`RID<class_RID>` immediate **)** |const| |
  318. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  319. | void | :ref:`immediate_normal<class_VisualServer_method_immediate_normal>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` normal **)** |
  320. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  321. | void | :ref:`immediate_set_material<class_VisualServer_method_immediate_set_material>` **(** :ref:`RID<class_RID>` immediate, :ref:`RID<class_RID>` material **)** |
  322. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  323. | void | :ref:`immediate_tangent<class_VisualServer_method_immediate_tangent>` **(** :ref:`RID<class_RID>` immediate, :ref:`Plane<class_Plane>` tangent **)** |
  324. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  325. | void | :ref:`immediate_uv<class_VisualServer_method_immediate_uv>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)** |
  326. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  327. | void | :ref:`immediate_uv2<class_VisualServer_method_immediate_uv2>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)** |
  328. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  329. | void | :ref:`immediate_vertex<class_VisualServer_method_immediate_vertex>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` vertex **)** |
  330. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  331. | void | :ref:`immediate_vertex_2d<class_VisualServer_method_immediate_vertex_2d>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` vertex **)** |
  332. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  333. | void | :ref:`init<class_VisualServer_method_init>` **(** **)** |
  334. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  335. | 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 **)** |
  336. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  337. | void | :ref:`instance_attach_skeleton<class_VisualServer_method_instance_attach_skeleton>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` skeleton **)** |
  338. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  339. | :ref:`RID<class_RID>` | :ref:`instance_create<class_VisualServer_method_instance_create>` **(** **)** |
  340. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  341. | :ref:`RID<class_RID>` | :ref:`instance_create2<class_VisualServer_method_instance_create2>` **(** :ref:`RID<class_RID>` base, :ref:`RID<class_RID>` scenario **)** |
  342. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  343. | void | :ref:`instance_geometry_set_as_instance_lod<class_VisualServer_method_instance_geometry_set_as_instance_lod>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` as_lod_of_instance **)** |
  344. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  345. | 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 **)** |
  346. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  347. | void | :ref:`instance_geometry_set_draw_range<class_VisualServer_method_instance_geometry_set_draw_range>` **(** :ref:`RID<class_RID>` instance, :ref:`float<class_float>` min, :ref:`float<class_float>` max, :ref:`float<class_float>` min_margin, :ref:`float<class_float>` max_margin **)** |
  348. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  349. | 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 **)** |
  350. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  351. | 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 **)** |
  352. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  353. | 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 **)** |
  354. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  355. | void | :ref:`instance_reset_physics_interpolation<class_VisualServer_method_instance_reset_physics_interpolation>` **(** :ref:`RID<class_RID>` instance **)** |
  356. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  357. | void | :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` base **)** |
  358. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  359. | 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 **)** |
  360. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  361. | void | :ref:`instance_set_custom_aabb<class_VisualServer_method_instance_set_custom_aabb>` **(** :ref:`RID<class_RID>` instance, :ref:`AABB<class_AABB>` aabb **)** |
  362. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  363. | void | :ref:`instance_set_exterior<class_VisualServer_method_instance_set_exterior>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` enabled **)** |
  364. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  365. | 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 **)** |
  366. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  367. | void | :ref:`instance_set_interpolated<class_VisualServer_method_instance_set_interpolated>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` interpolated **)** |
  368. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  369. | void | :ref:`instance_set_layer_mask<class_VisualServer_method_instance_set_layer_mask>` **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` mask **)** |
  370. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  371. | void | :ref:`instance_set_scenario<class_VisualServer_method_instance_set_scenario>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` scenario **)** |
  372. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  373. | 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 **)** |
  374. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  375. | void | :ref:`instance_set_transform<class_VisualServer_method_instance_set_transform>` **(** :ref:`RID<class_RID>` instance, :ref:`Transform<class_Transform>` transform **)** |
  376. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  377. | 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 ) **)** |
  378. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  379. | void | :ref:`instance_set_visible<class_VisualServer_method_instance_set_visible>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` visible **)** |
  380. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  381. | :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| |
  382. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  383. | :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| |
  384. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  385. | :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| |
  386. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  387. | 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 **)** |
  388. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  389. | 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 **)** |
  390. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  391. | 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 **)** |
  392. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  393. | 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 **)** |
  394. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  395. | 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 **)** |
  396. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  397. | 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 **)** |
  398. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  399. | void | :ref:`light_set_color<class_VisualServer_method_light_set_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  400. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  401. | void | :ref:`light_set_cull_mask<class_VisualServer_method_light_set_cull_mask>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)** |
  402. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  403. | void | :ref:`light_set_negative<class_VisualServer_method_light_set_negative>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)** |
  404. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  405. | 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 **)** |
  406. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  407. | void | :ref:`light_set_projector<class_VisualServer_method_light_set_projector>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)** |
  408. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  409. | 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 **)** |
  410. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  411. | void | :ref:`light_set_shadow<class_VisualServer_method_light_set_shadow>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  412. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  413. | void | :ref:`light_set_shadow_color<class_VisualServer_method_light_set_shadow_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  414. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  415. | void | :ref:`light_set_use_gi<class_VisualServer_method_light_set_use_gi>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  416. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  417. | :ref:`RID<class_RID>` | :ref:`lightmap_capture_create<class_VisualServer_method_lightmap_capture_create>` **(** **)** |
  418. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  419. | :ref:`AABB<class_AABB>` | :ref:`lightmap_capture_get_bounds<class_VisualServer_method_lightmap_capture_get_bounds>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  420. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  421. | :ref:`float<class_float>` | :ref:`lightmap_capture_get_energy<class_VisualServer_method_lightmap_capture_get_energy>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  422. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  423. | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`lightmap_capture_get_octree<class_VisualServer_method_lightmap_capture_get_octree>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  424. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  425. | :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| |
  426. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  427. | :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| |
  428. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  429. | :ref:`bool<class_bool>` | :ref:`lightmap_capture_is_interior<class_VisualServer_method_lightmap_capture_is_interior>` **(** :ref:`RID<class_RID>` capture **)** |const| |
  430. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  431. | void | :ref:`lightmap_capture_set_bounds<class_VisualServer_method_lightmap_capture_set_bounds>` **(** :ref:`RID<class_RID>` capture, :ref:`AABB<class_AABB>` bounds **)** |
  432. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  433. | void | :ref:`lightmap_capture_set_energy<class_VisualServer_method_lightmap_capture_set_energy>` **(** :ref:`RID<class_RID>` capture, :ref:`float<class_float>` energy **)** |
  434. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  435. | void | :ref:`lightmap_capture_set_interior<class_VisualServer_method_lightmap_capture_set_interior>` **(** :ref:`RID<class_RID>` capture, :ref:`bool<class_bool>` interior **)** |
  436. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  437. | void | :ref:`lightmap_capture_set_octree<class_VisualServer_method_lightmap_capture_set_octree>` **(** :ref:`RID<class_RID>` capture, :ref:`PoolByteArray<class_PoolByteArray>` octree **)** |
  438. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  439. | 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 **)** |
  440. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  441. | 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 **)** |
  442. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  443. | :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 **)** |
  444. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  445. | :ref:`RID<class_RID>` | :ref:`material_create<class_VisualServer_method_material_create>` **(** **)** |
  446. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  447. | :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| |
  448. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  449. | :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| |
  450. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  451. | :ref:`RID<class_RID>` | :ref:`material_get_shader<class_VisualServer_method_material_get_shader>` **(** :ref:`RID<class_RID>` shader_material **)** |const| |
  452. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  453. | void | :ref:`material_set_line_width<class_VisualServer_method_material_set_line_width>` **(** :ref:`RID<class_RID>` material, :ref:`float<class_float>` width **)** |
  454. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  455. | void | :ref:`material_set_next_pass<class_VisualServer_method_material_set_next_pass>` **(** :ref:`RID<class_RID>` material, :ref:`RID<class_RID>` next_material **)** |
  456. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  457. | 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 **)** |
  458. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  459. | void | :ref:`material_set_render_priority<class_VisualServer_method_material_set_render_priority>` **(** :ref:`RID<class_RID>` material, :ref:`int<class_int>` priority **)** |
  460. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  461. | void | :ref:`material_set_shader<class_VisualServer_method_material_set_shader>` **(** :ref:`RID<class_RID>` shader_material, :ref:`RID<class_RID>` shader **)** |
  462. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  463. | 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 **)** |
  464. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  465. | void | :ref:`mesh_clear<class_VisualServer_method_mesh_clear>` **(** :ref:`RID<class_RID>` mesh **)** |
  466. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  467. | :ref:`RID<class_RID>` | :ref:`mesh_create<class_VisualServer_method_mesh_create>` **(** **)** |
  468. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  469. | :ref:`int<class_int>` | :ref:`mesh_get_blend_shape_count<class_VisualServer_method_mesh_get_blend_shape_count>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  470. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  471. | :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| |
  472. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  473. | :ref:`AABB<class_AABB>` | :ref:`mesh_get_custom_aabb<class_VisualServer_method_mesh_get_custom_aabb>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  474. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  475. | :ref:`int<class_int>` | :ref:`mesh_get_surface_count<class_VisualServer_method_mesh_get_surface_count>` **(** :ref:`RID<class_RID>` mesh **)** |const| |
  476. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  477. | void | :ref:`mesh_remove_surface<class_VisualServer_method_mesh_remove_surface>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` index **)** |
  478. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  479. | 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 **)** |
  480. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  481. | 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 **)** |
  482. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  483. | void | :ref:`mesh_set_custom_aabb<class_VisualServer_method_mesh_set_custom_aabb>` **(** :ref:`RID<class_RID>` mesh, :ref:`AABB<class_AABB>` aabb **)** |
  484. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  485. | :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| |
  486. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  487. | :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| |
  488. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  489. | :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| |
  490. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  491. | :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| |
  492. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  493. | :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| |
  494. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  495. | :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| |
  496. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  497. | :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| |
  498. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  499. | :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| |
  500. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  501. | :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| |
  502. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  503. | :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| |
  504. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  505. | :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| |
  506. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  507. | :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| |
  508. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  509. | :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| |
  510. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  511. | 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 **)** |
  512. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  513. | 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 **)** |
  514. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  515. | 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 **)** |
  516. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  517. | :ref:`RID<class_RID>` | :ref:`multimesh_create<class_VisualServer_method_multimesh_create>` **(** **)** |
  518. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  519. | :ref:`AABB<class_AABB>` | :ref:`multimesh_get_aabb<class_VisualServer_method_multimesh_get_aabb>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  520. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  521. | :ref:`int<class_int>` | :ref:`multimesh_get_instance_count<class_VisualServer_method_multimesh_get_instance_count>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  522. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  523. | :ref:`RID<class_RID>` | :ref:`multimesh_get_mesh<class_VisualServer_method_multimesh_get_mesh>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  524. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  525. | :ref:`int<class_int>` | :ref:`multimesh_get_visible_instances<class_VisualServer_method_multimesh_get_visible_instances>` **(** :ref:`RID<class_RID>` multimesh **)** |const| |
  526. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  527. | :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| |
  528. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  529. | :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| |
  530. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  531. | :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| |
  532. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  533. | :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| |
  534. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  535. | 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 **)** |
  536. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  537. | 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 **)** |
  538. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  539. | 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 **)** |
  540. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  541. | 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 **)** |
  542. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  543. | 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 **)** |
  544. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  545. | 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 **)** |
  546. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  547. | 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 **)** |
  548. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  549. | void | :ref:`multimesh_set_mesh<class_VisualServer_method_multimesh_set_mesh>` **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)** |
  550. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  551. | void | :ref:`multimesh_set_physics_interpolated<class_VisualServer_method_multimesh_set_physics_interpolated>` **(** :ref:`RID<class_RID>` multimesh, :ref:`bool<class_bool>` interpolated **)** |
  552. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  553. | 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 **)** |
  554. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  555. | void | :ref:`multimesh_set_visible_instances<class_VisualServer_method_multimesh_set_visible_instances>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)** |
  556. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  557. | :ref:`RID<class_RID>` | :ref:`omni_light_create<class_VisualServer_method_omni_light_create>` **(** **)** |
  558. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  559. | :ref:`RID<class_RID>` | :ref:`particles_create<class_VisualServer_method_particles_create>` **(** **)** |
  560. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  561. | :ref:`AABB<class_AABB>` | :ref:`particles_get_current_aabb<class_VisualServer_method_particles_get_current_aabb>` **(** :ref:`RID<class_RID>` particles **)** |
  562. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  563. | :ref:`bool<class_bool>` | :ref:`particles_get_emitting<class_VisualServer_method_particles_get_emitting>` **(** :ref:`RID<class_RID>` particles **)** |
  564. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  565. | :ref:`bool<class_bool>` | :ref:`particles_is_inactive<class_VisualServer_method_particles_is_inactive>` **(** :ref:`RID<class_RID>` particles **)** |
  566. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  567. | void | :ref:`particles_request_process<class_VisualServer_method_particles_request_process>` **(** :ref:`RID<class_RID>` particles **)** |
  568. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  569. | void | :ref:`particles_restart<class_VisualServer_method_particles_restart>` **(** :ref:`RID<class_RID>` particles **)** |
  570. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  571. | void | :ref:`particles_set_amount<class_VisualServer_method_particles_set_amount>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)** |
  572. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  573. | void | :ref:`particles_set_custom_aabb<class_VisualServer_method_particles_set_custom_aabb>` **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)** |
  574. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  575. | void | :ref:`particles_set_draw_order<class_VisualServer_method_particles_set_draw_order>` **(** :ref:`RID<class_RID>` particles, :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` order **)** |
  576. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  577. | 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 **)** |
  578. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  579. | void | :ref:`particles_set_draw_passes<class_VisualServer_method_particles_set_draw_passes>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` count **)** |
  580. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  581. | void | :ref:`particles_set_emission_transform<class_VisualServer_method_particles_set_emission_transform>` **(** :ref:`RID<class_RID>` particles, :ref:`Transform<class_Transform>` transform **)** |
  582. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  583. | void | :ref:`particles_set_emitting<class_VisualServer_method_particles_set_emitting>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)** |
  584. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  585. | void | :ref:`particles_set_explosiveness_ratio<class_VisualServer_method_particles_set_explosiveness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)** |
  586. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  587. | void | :ref:`particles_set_fixed_fps<class_VisualServer_method_particles_set_fixed_fps>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` fps **)** |
  588. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  589. | void | :ref:`particles_set_fractional_delta<class_VisualServer_method_particles_set_fractional_delta>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)** |
  590. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  591. | void | :ref:`particles_set_lifetime<class_VisualServer_method_particles_set_lifetime>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)** |
  592. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  593. | void | :ref:`particles_set_one_shot<class_VisualServer_method_particles_set_one_shot>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` one_shot **)** |
  594. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  595. | 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 **)** |
  596. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  597. | void | :ref:`particles_set_process_material<class_VisualServer_method_particles_set_process_material>` **(** :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` material **)** |
  598. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  599. | void | :ref:`particles_set_randomness_ratio<class_VisualServer_method_particles_set_randomness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)** |
  600. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  601. | void | :ref:`particles_set_speed_scale<class_VisualServer_method_particles_set_speed_scale>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` scale **)** |
  602. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  603. | 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 **)** |
  604. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  605. | :ref:`RID<class_RID>` | :ref:`reflection_probe_create<class_VisualServer_method_reflection_probe_create>` **(** **)** |
  606. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  607. | 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 **)** |
  608. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  609. | 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 **)** |
  610. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  611. | 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 **)** |
  612. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  613. | 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 **)** |
  614. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  615. | void | :ref:`reflection_probe_set_extents<class_VisualServer_method_reflection_probe_set_extents>` **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` extents **)** |
  616. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  617. | void | :ref:`reflection_probe_set_intensity<class_VisualServer_method_reflection_probe_set_intensity>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` intensity **)** |
  618. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  619. | 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 **)** |
  620. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  621. | 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 **)** |
  622. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  623. | 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 **)** |
  624. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  625. | 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 **)** |
  626. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  627. | 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 **)** |
  628. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  629. | 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 **)** |
  630. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  631. | 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 **)** |
  632. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  633. | :ref:`RID<class_RID>` | :ref:`scenario_create<class_VisualServer_method_scenario_create>` **(** **)** |
  634. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  635. | void | :ref:`scenario_set_debug<class_VisualServer_method_scenario_set_debug>` **(** :ref:`RID<class_RID>` scenario, :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` debug_mode **)** |
  636. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  637. | void | :ref:`scenario_set_environment<class_VisualServer_method_scenario_set_environment>` **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)** |
  638. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  639. | void | :ref:`scenario_set_fallback_environment<class_VisualServer_method_scenario_set_fallback_environment>` **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)** |
  640. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  641. | 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 **)** |
  642. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  643. | 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 **)** |
  644. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  645. | void | :ref:`set_debug_generate_wireframes<class_VisualServer_method_set_debug_generate_wireframes>` **(** :ref:`bool<class_bool>` generate **)** |
  646. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  647. | void | :ref:`set_default_clear_color<class_VisualServer_method_set_default_clear_color>` **(** :ref:`Color<class_Color>` color **)** |
  648. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  649. | void | :ref:`set_shader_async_hidden_forbidden<class_VisualServer_method_set_shader_async_hidden_forbidden>` **(** :ref:`bool<class_bool>` forbidden **)** |
  650. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  651. | void | :ref:`set_shader_time_scale<class_VisualServer_method_set_shader_time_scale>` **(** :ref:`float<class_float>` scale **)** |
  652. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  653. | void | :ref:`set_use_occlusion_culling<class_VisualServer_method_set_use_occlusion_culling>` **(** :ref:`bool<class_bool>` enable **)** |
  654. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  655. | :ref:`RID<class_RID>` | :ref:`shader_create<class_VisualServer_method_shader_create>` **(** **)** |
  656. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  657. | :ref:`String<class_String>` | :ref:`shader_get_code<class_VisualServer_method_shader_get_code>` **(** :ref:`RID<class_RID>` shader **)** |const| |
  658. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  659. | :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| |
  660. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  661. | :ref:`Array<class_Array>` | :ref:`shader_get_param_list<class_VisualServer_method_shader_get_param_list>` **(** :ref:`RID<class_RID>` shader **)** |const| |
  662. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  663. | void | :ref:`shader_set_code<class_VisualServer_method_shader_set_code>` **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` code **)** |
  664. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  665. | 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 **)** |
  666. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  667. | 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 **)** |
  668. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  669. | :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| |
  670. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  671. | :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| |
  672. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  673. | 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 **)** |
  674. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  675. | 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 **)** |
  676. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  677. | :ref:`RID<class_RID>` | :ref:`skeleton_create<class_VisualServer_method_skeleton_create>` **(** **)** |
  678. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  679. | :ref:`int<class_int>` | :ref:`skeleton_get_bone_count<class_VisualServer_method_skeleton_get_bone_count>` **(** :ref:`RID<class_RID>` skeleton **)** |const| |
  680. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  681. | :ref:`RID<class_RID>` | :ref:`sky_create<class_VisualServer_method_sky_create>` **(** **)** |
  682. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  683. | 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 **)** |
  684. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  685. | :ref:`RID<class_RID>` | :ref:`spot_light_create<class_VisualServer_method_spot_light_create>` **(** **)** |
  686. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  687. | void | :ref:`sync<class_VisualServer_method_sync>` **(** **)** |
  688. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  689. | 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 **)** |
  690. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  691. | void | :ref:`texture_bind<class_VisualServer_method_texture_bind>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` number **)** |
  692. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  693. | :ref:`RID<class_RID>` | :ref:`texture_create<class_VisualServer_method_texture_create>` **(** **)** |
  694. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  695. | :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 **)** |
  696. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  697. | :ref:`Array<class_Array>` | :ref:`texture_debug_usage<class_VisualServer_method_texture_debug_usage>` **(** **)** |
  698. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  699. | :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| |
  700. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  701. | :ref:`int<class_int>` | :ref:`texture_get_depth<class_VisualServer_method_texture_get_depth>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  702. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  703. | :ref:`int<class_int>` | :ref:`texture_get_flags<class_VisualServer_method_texture_get_flags>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  704. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  705. | :ref:`Format<enum_Image_Format>` | :ref:`texture_get_format<class_VisualServer_method_texture_get_format>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  706. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  707. | :ref:`int<class_int>` | :ref:`texture_get_height<class_VisualServer_method_texture_get_height>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  708. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  709. | :ref:`String<class_String>` | :ref:`texture_get_path<class_VisualServer_method_texture_get_path>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  710. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  711. | :ref:`int<class_int>` | :ref:`texture_get_texid<class_VisualServer_method_texture_get_texid>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  712. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  713. | :ref:`TextureType<enum_VisualServer_TextureType>` | :ref:`texture_get_type<class_VisualServer_method_texture_get_type>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  714. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  715. | :ref:`int<class_int>` | :ref:`texture_get_width<class_VisualServer_method_texture_get_width>` **(** :ref:`RID<class_RID>` texture **)** |const| |
  716. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  717. | 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 **)** |
  718. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  719. | 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 **)** |
  720. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  721. | void | :ref:`texture_set_flags<class_VisualServer_method_texture_set_flags>` **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` flags **)** |
  722. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  723. | void | :ref:`texture_set_path<class_VisualServer_method_texture_set_path>` **(** :ref:`RID<class_RID>` texture, :ref:`String<class_String>` path **)** |
  724. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  725. | void | :ref:`texture_set_proxy<class_VisualServer_method_texture_set_proxy>` **(** :ref:`RID<class_RID>` proxy, :ref:`RID<class_RID>` base **)** |
  726. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  727. | 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 **)** |
  728. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  729. | 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 **)** |
  730. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  731. | void | :ref:`textures_keep_original<class_VisualServer_method_textures_keep_original>` **(** :ref:`bool<class_bool>` enable **)** |
  732. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  733. | void | :ref:`viewport_attach_camera<class_VisualServer_method_viewport_attach_camera>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` camera **)** |
  734. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  735. | void | :ref:`viewport_attach_canvas<class_VisualServer_method_viewport_attach_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)** |
  736. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  737. | 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 **)** |
  738. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  739. | :ref:`RID<class_RID>` | :ref:`viewport_create<class_VisualServer_method_viewport_create>` **(** **)** |
  740. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  741. | void | :ref:`viewport_detach<class_VisualServer_method_viewport_detach>` **(** :ref:`RID<class_RID>` viewport **)** |
  742. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  743. | :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 **)** |
  744. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  745. | :ref:`RID<class_RID>` | :ref:`viewport_get_texture<class_VisualServer_method_viewport_get_texture>` **(** :ref:`RID<class_RID>` viewport **)** |const| |
  746. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  747. | void | :ref:`viewport_remove_canvas<class_VisualServer_method_viewport_remove_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)** |
  748. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  749. | void | :ref:`viewport_set_active<class_VisualServer_method_viewport_set_active>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)** |
  750. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  751. | 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 **)** |
  752. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  753. | 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 **)** |
  754. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  755. | 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 **)** |
  756. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  757. | void | :ref:`viewport_set_debug_draw<class_VisualServer_method_viewport_set_debug_draw>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` draw **)** |
  758. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  759. | void | :ref:`viewport_set_disable_3d<class_VisualServer_method_viewport_set_disable_3d>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)** |
  760. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  761. | void | :ref:`viewport_set_disable_environment<class_VisualServer_method_viewport_set_disable_environment>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)** |
  762. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  763. | 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 **)** |
  764. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  765. | void | :ref:`viewport_set_hdr<class_VisualServer_method_viewport_set_hdr>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  766. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  767. | void | :ref:`viewport_set_hide_canvas<class_VisualServer_method_viewport_set_hide_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)** |
  768. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  769. | void | :ref:`viewport_set_hide_scenario<class_VisualServer_method_viewport_set_hide_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)** |
  770. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  771. | void | :ref:`viewport_set_msaa<class_VisualServer_method_viewport_set_msaa>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` msaa **)** |
  772. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  773. | void | :ref:`viewport_set_parent_viewport<class_VisualServer_method_viewport_set_parent_viewport>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)** |
  774. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  775. | 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 **)** |
  776. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  777. | void | :ref:`viewport_set_scenario<class_VisualServer_method_viewport_set_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)** |
  778. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  779. | 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 **)** |
  780. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  781. | 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 **)** |
  782. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  783. | void | :ref:`viewport_set_sharpen_intensity<class_VisualServer_method_viewport_set_sharpen_intensity>` **(** :ref:`RID<class_RID>` viewport, :ref:`float<class_float>` intensity **)** |
  784. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  785. | 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 **)** |
  786. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  787. | void | :ref:`viewport_set_transparent_background<class_VisualServer_method_viewport_set_transparent_background>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  788. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  789. | 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 **)** |
  790. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  791. | void | :ref:`viewport_set_usage<class_VisualServer_method_viewport_set_usage>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` usage **)** |
  792. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  793. | 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 **)** |
  794. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  795. | void | :ref:`viewport_set_use_arvr<class_VisualServer_method_viewport_set_use_arvr>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` use_arvr **)** |
  796. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  797. | void | :ref:`viewport_set_use_debanding<class_VisualServer_method_viewport_set_use_debanding>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` debanding **)** |
  798. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  799. | void | :ref:`viewport_set_use_fxaa<class_VisualServer_method_viewport_set_use_fxaa>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` fxaa **)** |
  800. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  801. | void | :ref:`viewport_set_vflip<class_VisualServer_method_viewport_set_vflip>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  802. +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  803. Signals
  804. -------
  805. .. _class_VisualServer_signal_frame_post_draw:
  806. - **frame_post_draw** **(** **)**
  807. Emitted at the end of the frame, after the VisualServer has finished updating all the Viewports.
  808. ----
  809. .. _class_VisualServer_signal_frame_pre_draw:
  810. - **frame_pre_draw** **(** **)**
  811. Emitted at the beginning of the frame, before the VisualServer updates all the Viewports.
  812. Enumerations
  813. ------------
  814. .. _enum_VisualServer_CubeMapSide:
  815. .. _class_VisualServer_constant_CUBEMAP_LEFT:
  816. .. _class_VisualServer_constant_CUBEMAP_RIGHT:
  817. .. _class_VisualServer_constant_CUBEMAP_BOTTOM:
  818. .. _class_VisualServer_constant_CUBEMAP_TOP:
  819. .. _class_VisualServer_constant_CUBEMAP_FRONT:
  820. .. _class_VisualServer_constant_CUBEMAP_BACK:
  821. enum **CubeMapSide**:
  822. - **CUBEMAP_LEFT** = **0** --- Marks the left side of a cubemap.
  823. - **CUBEMAP_RIGHT** = **1** --- Marks the right side of a cubemap.
  824. - **CUBEMAP_BOTTOM** = **2** --- Marks the bottom side of a cubemap.
  825. - **CUBEMAP_TOP** = **3** --- Marks the top side of a cubemap.
  826. - **CUBEMAP_FRONT** = **4** --- Marks the front side of a cubemap.
  827. - **CUBEMAP_BACK** = **5** --- Marks the back side of a cubemap.
  828. ----
  829. .. _enum_VisualServer_TextureType:
  830. .. _class_VisualServer_constant_TEXTURE_TYPE_2D:
  831. .. _class_VisualServer_constant_TEXTURE_TYPE_CUBEMAP:
  832. .. _class_VisualServer_constant_TEXTURE_TYPE_2D_ARRAY:
  833. .. _class_VisualServer_constant_TEXTURE_TYPE_3D:
  834. enum **TextureType**:
  835. - **TEXTURE_TYPE_2D** = **0** --- Normal texture with 2 dimensions, width and height.
  836. - **TEXTURE_TYPE_CUBEMAP** = **2** --- Texture made up of six faces, can be looked up with a ``vec3`` in shader.
  837. - **TEXTURE_TYPE_2D_ARRAY** = **3** --- An array of 2-dimensional textures.
  838. - **TEXTURE_TYPE_3D** = **4** --- A 3-dimensional texture with width, height, and depth.
  839. ----
  840. .. _enum_VisualServer_TextureFlags:
  841. .. _class_VisualServer_constant_TEXTURE_FLAG_MIPMAPS:
  842. .. _class_VisualServer_constant_TEXTURE_FLAG_REPEAT:
  843. .. _class_VisualServer_constant_TEXTURE_FLAG_FILTER:
  844. .. _class_VisualServer_constant_TEXTURE_FLAG_ANISOTROPIC_FILTER:
  845. .. _class_VisualServer_constant_TEXTURE_FLAG_CONVERT_TO_LINEAR:
  846. .. _class_VisualServer_constant_TEXTURE_FLAG_MIRRORED_REPEAT:
  847. .. _class_VisualServer_constant_TEXTURE_FLAG_USED_FOR_STREAMING:
  848. .. _class_VisualServer_constant_TEXTURE_FLAGS_DEFAULT:
  849. enum **TextureFlags**:
  850. - **TEXTURE_FLAG_MIPMAPS** = **1** --- Generates mipmaps, which are smaller versions of the same texture to use when zoomed out, keeping the aspect ratio.
  851. - **TEXTURE_FLAG_REPEAT** = **2** --- Repeats the texture (instead of clamp to edge).
  852. - **TEXTURE_FLAG_FILTER** = **4** --- Uses a magnifying filter, to enable smooth zooming in of the texture.
  853. - **TEXTURE_FLAG_ANISOTROPIC_FILTER** = **8** --- Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios.
  854. This results in better-looking textures when viewed from oblique angles.
  855. - **TEXTURE_FLAG_CONVERT_TO_LINEAR** = **16** --- Converts the texture to the sRGB color space.
  856. - **TEXTURE_FLAG_MIRRORED_REPEAT** = **32** --- Repeats the texture with alternate sections mirrored.
  857. - **TEXTURE_FLAG_USED_FOR_STREAMING** = **2048** --- Texture is a video surface.
  858. - **TEXTURE_FLAGS_DEFAULT** = **7** --- 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.
  859. ----
  860. .. _enum_VisualServer_ShaderMode:
  861. .. _class_VisualServer_constant_SHADER_SPATIAL:
  862. .. _class_VisualServer_constant_SHADER_CANVAS_ITEM:
  863. .. _class_VisualServer_constant_SHADER_PARTICLES:
  864. .. _class_VisualServer_constant_SHADER_MAX:
  865. enum **ShaderMode**:
  866. - **SHADER_SPATIAL** = **0** --- Shader is a 3D shader.
  867. - **SHADER_CANVAS_ITEM** = **1** --- Shader is a 2D shader.
  868. - **SHADER_PARTICLES** = **2** --- Shader is a particle shader.
  869. - **SHADER_MAX** = **3** --- Represents the size of the :ref:`ShaderMode<enum_VisualServer_ShaderMode>` enum.
  870. ----
  871. .. _enum_VisualServer_ArrayType:
  872. .. _class_VisualServer_constant_ARRAY_VERTEX:
  873. .. _class_VisualServer_constant_ARRAY_NORMAL:
  874. .. _class_VisualServer_constant_ARRAY_TANGENT:
  875. .. _class_VisualServer_constant_ARRAY_COLOR:
  876. .. _class_VisualServer_constant_ARRAY_TEX_UV:
  877. .. _class_VisualServer_constant_ARRAY_TEX_UV2:
  878. .. _class_VisualServer_constant_ARRAY_BONES:
  879. .. _class_VisualServer_constant_ARRAY_WEIGHTS:
  880. .. _class_VisualServer_constant_ARRAY_INDEX:
  881. .. _class_VisualServer_constant_ARRAY_MAX:
  882. enum **ArrayType**:
  883. - **ARRAY_VERTEX** = **0** --- Array is a vertex array.
  884. - **ARRAY_NORMAL** = **1** --- Array is a normal array.
  885. - **ARRAY_TANGENT** = **2** --- Array is a tangent array.
  886. - **ARRAY_COLOR** = **3** --- Array is a color array.
  887. - **ARRAY_TEX_UV** = **4** --- Array is an UV coordinates array.
  888. - **ARRAY_TEX_UV2** = **5** --- Array is an UV coordinates array for the second UV coordinates.
  889. - **ARRAY_BONES** = **6** --- Array contains bone information.
  890. - **ARRAY_WEIGHTS** = **7** --- Array is weight information.
  891. - **ARRAY_INDEX** = **8** --- Array is index array.
  892. - **ARRAY_MAX** = **9** --- Represents the size of the :ref:`ArrayType<enum_VisualServer_ArrayType>` enum.
  893. ----
  894. .. _enum_VisualServer_ArrayFormat:
  895. .. _class_VisualServer_constant_ARRAY_FORMAT_VERTEX:
  896. .. _class_VisualServer_constant_ARRAY_FORMAT_NORMAL:
  897. .. _class_VisualServer_constant_ARRAY_FORMAT_TANGENT:
  898. .. _class_VisualServer_constant_ARRAY_FORMAT_COLOR:
  899. .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV:
  900. .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV2:
  901. .. _class_VisualServer_constant_ARRAY_FORMAT_BONES:
  902. .. _class_VisualServer_constant_ARRAY_FORMAT_WEIGHTS:
  903. .. _class_VisualServer_constant_ARRAY_FORMAT_INDEX:
  904. .. _class_VisualServer_constant_ARRAY_COMPRESS_VERTEX:
  905. .. _class_VisualServer_constant_ARRAY_COMPRESS_NORMAL:
  906. .. _class_VisualServer_constant_ARRAY_COMPRESS_TANGENT:
  907. .. _class_VisualServer_constant_ARRAY_COMPRESS_COLOR:
  908. .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV:
  909. .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV2:
  910. .. _class_VisualServer_constant_ARRAY_COMPRESS_BONES:
  911. .. _class_VisualServer_constant_ARRAY_COMPRESS_WEIGHTS:
  912. .. _class_VisualServer_constant_ARRAY_COMPRESS_INDEX:
  913. .. _class_VisualServer_constant_ARRAY_FLAG_USE_2D_VERTICES:
  914. .. _class_VisualServer_constant_ARRAY_FLAG_USE_16_BIT_BONES:
  915. .. _class_VisualServer_constant_ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION:
  916. .. _class_VisualServer_constant_ARRAY_COMPRESS_DEFAULT:
  917. enum **ArrayFormat**:
  918. - **ARRAY_FORMAT_VERTEX** = **1** --- Flag used to mark a vertex array.
  919. - **ARRAY_FORMAT_NORMAL** = **2** --- Flag used to mark a normal array.
  920. - **ARRAY_FORMAT_TANGENT** = **4** --- Flag used to mark a tangent array.
  921. - **ARRAY_FORMAT_COLOR** = **8** --- Flag used to mark a color array.
  922. - **ARRAY_FORMAT_TEX_UV** = **16** --- Flag used to mark an UV coordinates array.
  923. - **ARRAY_FORMAT_TEX_UV2** = **32** --- Flag used to mark an UV coordinates array for the second UV coordinates.
  924. - **ARRAY_FORMAT_BONES** = **64** --- Flag used to mark a bone information array.
  925. - **ARRAY_FORMAT_WEIGHTS** = **128** --- Flag used to mark a weights array.
  926. - **ARRAY_FORMAT_INDEX** = **256** --- Flag used to mark an index array.
  927. - **ARRAY_COMPRESS_VERTEX** = **512** --- Flag used to mark a compressed (half float) vertex array.
  928. - **ARRAY_COMPRESS_NORMAL** = **1024** --- Flag used to mark a compressed (half float) normal array.
  929. - **ARRAY_COMPRESS_TANGENT** = **2048** --- Flag used to mark a compressed (half float) tangent array.
  930. - **ARRAY_COMPRESS_COLOR** = **4096** --- Flag used to mark a compressed (half float) color array.
  931. - **ARRAY_COMPRESS_TEX_UV** = **8192** --- Flag used to mark a compressed (half float) UV coordinates array.
  932. - **ARRAY_COMPRESS_TEX_UV2** = **16384** --- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
  933. - **ARRAY_COMPRESS_BONES** = **32768** --- Flag used to mark a compressed bone array.
  934. - **ARRAY_COMPRESS_WEIGHTS** = **65536** --- Flag used to mark a compressed (half float) weight array.
  935. - **ARRAY_COMPRESS_INDEX** = **131072** --- Flag used to mark a compressed index array.
  936. - **ARRAY_FLAG_USE_2D_VERTICES** = **262144** --- Flag used to mark that the array contains 2D vertices.
  937. - **ARRAY_FLAG_USE_16_BIT_BONES** = **524288** --- Flag used to mark that the array uses 16-bit bones instead of 8-bit.
  938. - **ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION** = **2097152** --- Flag used to mark that the array uses an octahedral representation of normal and tangent vectors rather than cartesian.
  939. - **ARRAY_COMPRESS_DEFAULT** = **2194432** --- 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.
  940. ----
  941. .. _enum_VisualServer_PrimitiveType:
  942. .. _class_VisualServer_constant_PRIMITIVE_POINTS:
  943. .. _class_VisualServer_constant_PRIMITIVE_LINES:
  944. .. _class_VisualServer_constant_PRIMITIVE_LINE_STRIP:
  945. .. _class_VisualServer_constant_PRIMITIVE_LINE_LOOP:
  946. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLES:
  947. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLE_STRIP:
  948. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLE_FAN:
  949. .. _class_VisualServer_constant_PRIMITIVE_MAX:
  950. enum **PrimitiveType**:
  951. - **PRIMITIVE_POINTS** = **0** --- Primitive to draw consists of points.
  952. - **PRIMITIVE_LINES** = **1** --- Primitive to draw consists of lines.
  953. - **PRIMITIVE_LINE_STRIP** = **2** --- Primitive to draw consists of a line strip from start to end.
  954. - **PRIMITIVE_LINE_LOOP** = **3** --- Primitive to draw consists of a line loop (a line strip with a line between the last and the first vertex).
  955. - **PRIMITIVE_TRIANGLES** = **4** --- Primitive to draw consists of triangles.
  956. - **PRIMITIVE_TRIANGLE_STRIP** = **5** --- Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle).
  957. - **PRIMITIVE_TRIANGLE_FAN** = **6** --- Primitive to draw consists of a triangle strip (the last 2 vertices are always combined with the first to make a triangle).
  958. - **PRIMITIVE_MAX** = **7** --- Represents the size of the :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` enum.
  959. ----
  960. .. _enum_VisualServer_BlendShapeMode:
  961. .. _class_VisualServer_constant_BLEND_SHAPE_MODE_NORMALIZED:
  962. .. _class_VisualServer_constant_BLEND_SHAPE_MODE_RELATIVE:
  963. enum **BlendShapeMode**:
  964. - **BLEND_SHAPE_MODE_NORMALIZED** = **0** --- Blend shapes are normalized.
  965. - **BLEND_SHAPE_MODE_RELATIVE** = **1** --- Blend shapes are relative to base weight.
  966. ----
  967. .. _enum_VisualServer_LightType:
  968. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL:
  969. .. _class_VisualServer_constant_LIGHT_OMNI:
  970. .. _class_VisualServer_constant_LIGHT_SPOT:
  971. enum **LightType**:
  972. - **LIGHT_DIRECTIONAL** = **0** --- Is a directional (sun) light.
  973. - **LIGHT_OMNI** = **1** --- Is an omni light.
  974. - **LIGHT_SPOT** = **2** --- Is a spot light.
  975. ----
  976. .. _enum_VisualServer_LightParam:
  977. .. _class_VisualServer_constant_LIGHT_PARAM_ENERGY:
  978. .. _class_VisualServer_constant_LIGHT_PARAM_INDIRECT_ENERGY:
  979. .. _class_VisualServer_constant_LIGHT_PARAM_SIZE:
  980. .. _class_VisualServer_constant_LIGHT_PARAM_SPECULAR:
  981. .. _class_VisualServer_constant_LIGHT_PARAM_RANGE:
  982. .. _class_VisualServer_constant_LIGHT_PARAM_ATTENUATION:
  983. .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ANGLE:
  984. .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ATTENUATION:
  985. .. _class_VisualServer_constant_LIGHT_PARAM_CONTACT_SHADOW_SIZE:
  986. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE:
  987. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET:
  988. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET:
  989. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET:
  990. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_NORMAL_BIAS:
  991. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS:
  992. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE:
  993. .. _class_VisualServer_constant_LIGHT_PARAM_MAX:
  994. enum **LightParam**:
  995. - **LIGHT_PARAM_ENERGY** = **0** --- The light's energy.
  996. - **LIGHT_PARAM_INDIRECT_ENERGY** = **1** --- Secondary multiplier used with indirect light (light bounces).
  997. - **LIGHT_PARAM_SIZE** = **2** --- The light's size, currently only used for soft shadows in baked lightmaps.
  998. - **LIGHT_PARAM_SPECULAR** = **3** --- The light's influence on specularity.
  999. - **LIGHT_PARAM_RANGE** = **4** --- The light's range.
  1000. - **LIGHT_PARAM_ATTENUATION** = **5** --- The light's attenuation.
  1001. - **LIGHT_PARAM_SPOT_ANGLE** = **6** --- The spotlight's angle.
  1002. - **LIGHT_PARAM_SPOT_ATTENUATION** = **7** --- The spotlight's attenuation.
  1003. - **LIGHT_PARAM_CONTACT_SHADOW_SIZE** = **8** --- Scales the shadow color.
  1004. - **LIGHT_PARAM_SHADOW_MAX_DISTANCE** = **9** --- Max distance that shadows will be rendered.
  1005. - **LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET** = **10** --- Proportion of shadow atlas occupied by the first split.
  1006. - **LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET** = **11** --- Proportion of shadow atlas occupied by the second split.
  1007. - **LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET** = **12** --- Proportion of shadow atlas occupied by the third split. The fourth split occupies the rest.
  1008. - **LIGHT_PARAM_SHADOW_NORMAL_BIAS** = **13** --- Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts.
  1009. - **LIGHT_PARAM_SHADOW_BIAS** = **14** --- Bias the shadow lookup to fix self-shadowing artifacts.
  1010. - **LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE** = **15** --- Increases bias on further splits to fix self-shadowing that only occurs far away from the camera.
  1011. - **LIGHT_PARAM_MAX** = **16** --- Represents the size of the :ref:`LightParam<enum_VisualServer_LightParam>` enum.
  1012. ----
  1013. .. _enum_VisualServer_LightBakeMode:
  1014. .. _class_VisualServer_constant_LIGHT_BAKE_DISABLED:
  1015. .. _class_VisualServer_constant_LIGHT_BAKE_INDIRECT:
  1016. .. _class_VisualServer_constant_LIGHT_BAKE_ALL:
  1017. enum **LightBakeMode**:
  1018. - **LIGHT_BAKE_DISABLED** = **0**
  1019. - **LIGHT_BAKE_INDIRECT** = **1**
  1020. - **LIGHT_BAKE_ALL** = **2**
  1021. ----
  1022. .. _enum_VisualServer_LightOmniShadowMode:
  1023. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DUAL_PARABOLOID:
  1024. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_CUBE:
  1025. enum **LightOmniShadowMode**:
  1026. - **LIGHT_OMNI_SHADOW_DUAL_PARABOLOID** = **0** --- Use a dual paraboloid shadow map for omni lights.
  1027. - **LIGHT_OMNI_SHADOW_CUBE** = **1** --- Use a cubemap shadow map for omni lights. Slower but better quality than dual paraboloid.
  1028. ----
  1029. .. _enum_VisualServer_LightOmniShadowDetail:
  1030. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DETAIL_VERTICAL:
  1031. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL:
  1032. enum **LightOmniShadowDetail**:
  1033. - **LIGHT_OMNI_SHADOW_DETAIL_VERTICAL** = **0** --- Use more detail vertically when computing shadow map.
  1034. - **LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL** = **1** --- Use more detail horizontally when computing shadow map.
  1035. ----
  1036. .. _enum_VisualServer_LightDirectionalShadowMode:
  1037. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL:
  1038. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS:
  1039. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS:
  1040. enum **LightDirectionalShadowMode**:
  1041. - **LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL** = **0** --- Use orthogonal shadow projection for directional light.
  1042. - **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS** = **1** --- Use 2 splits for shadow projection when using directional light.
  1043. - **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS** = **2** --- Use 4 splits for shadow projection when using directional light.
  1044. ----
  1045. .. _enum_VisualServer_LightDirectionalShadowDepthRangeMode:
  1046. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE:
  1047. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED:
  1048. enum **LightDirectionalShadowDepthRangeMode**:
  1049. - **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE** = **0** --- Keeps shadows stable as camera moves but has lower effective resolution.
  1050. - **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED** = **1** --- Optimize use of shadow maps, increasing the effective resolution. But may result in shadows moving or flickering slightly.
  1051. ----
  1052. .. _enum_VisualServer_ViewportUpdateMode:
  1053. .. _class_VisualServer_constant_VIEWPORT_UPDATE_DISABLED:
  1054. .. _class_VisualServer_constant_VIEWPORT_UPDATE_ONCE:
  1055. .. _class_VisualServer_constant_VIEWPORT_UPDATE_WHEN_VISIBLE:
  1056. .. _class_VisualServer_constant_VIEWPORT_UPDATE_ALWAYS:
  1057. enum **ViewportUpdateMode**:
  1058. - **VIEWPORT_UPDATE_DISABLED** = **0** --- Do not update the viewport.
  1059. - **VIEWPORT_UPDATE_ONCE** = **1** --- Update the viewport once then set to disabled.
  1060. - **VIEWPORT_UPDATE_WHEN_VISIBLE** = **2** --- Update the viewport whenever it is visible.
  1061. - **VIEWPORT_UPDATE_ALWAYS** = **3** --- Always update the viewport.
  1062. ----
  1063. .. _enum_VisualServer_ViewportClearMode:
  1064. .. _class_VisualServer_constant_VIEWPORT_CLEAR_ALWAYS:
  1065. .. _class_VisualServer_constant_VIEWPORT_CLEAR_NEVER:
  1066. .. _class_VisualServer_constant_VIEWPORT_CLEAR_ONLY_NEXT_FRAME:
  1067. enum **ViewportClearMode**:
  1068. - **VIEWPORT_CLEAR_ALWAYS** = **0** --- The viewport is always cleared before drawing.
  1069. - **VIEWPORT_CLEAR_NEVER** = **1** --- The viewport is never cleared before drawing.
  1070. - **VIEWPORT_CLEAR_ONLY_NEXT_FRAME** = **2** --- The viewport is cleared once, then the clear mode is set to :ref:`VIEWPORT_CLEAR_NEVER<class_VisualServer_constant_VIEWPORT_CLEAR_NEVER>`.
  1071. ----
  1072. .. _enum_VisualServer_ViewportMSAA:
  1073. .. _class_VisualServer_constant_VIEWPORT_MSAA_DISABLED:
  1074. .. _class_VisualServer_constant_VIEWPORT_MSAA_2X:
  1075. .. _class_VisualServer_constant_VIEWPORT_MSAA_4X:
  1076. .. _class_VisualServer_constant_VIEWPORT_MSAA_8X:
  1077. .. _class_VisualServer_constant_VIEWPORT_MSAA_16X:
  1078. .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_2X:
  1079. .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_4X:
  1080. enum **ViewportMSAA**:
  1081. - **VIEWPORT_MSAA_DISABLED** = **0** --- Multisample antialiasing is disabled.
  1082. - **VIEWPORT_MSAA_2X** = **1** --- Multisample antialiasing is set to 2×.
  1083. - **VIEWPORT_MSAA_4X** = **2** --- Multisample antialiasing is set to 4×.
  1084. - **VIEWPORT_MSAA_8X** = **3** --- Multisample antialiasing is set to 8×.
  1085. - **VIEWPORT_MSAA_16X** = **4** --- Multisample antialiasing is set to 16×.
  1086. - **VIEWPORT_MSAA_EXT_2X** = **5** --- Multisample antialiasing is set to 2× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
  1087. - **VIEWPORT_MSAA_EXT_4X** = **6** --- Multisample antialiasing is set to 4× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
  1088. ----
  1089. .. _enum_VisualServer_ViewportUsage:
  1090. .. _class_VisualServer_constant_VIEWPORT_USAGE_2D:
  1091. .. _class_VisualServer_constant_VIEWPORT_USAGE_2D_NO_SAMPLING:
  1092. .. _class_VisualServer_constant_VIEWPORT_USAGE_3D:
  1093. .. _class_VisualServer_constant_VIEWPORT_USAGE_3D_NO_EFFECTS:
  1094. enum **ViewportUsage**:
  1095. - **VIEWPORT_USAGE_2D** = **0** --- The Viewport does not render 3D but samples.
  1096. - **VIEWPORT_USAGE_2D_NO_SAMPLING** = **1** --- The Viewport does not render 3D and does not sample.
  1097. - **VIEWPORT_USAGE_3D** = **2** --- The Viewport renders 3D with effects.
  1098. - **VIEWPORT_USAGE_3D_NO_EFFECTS** = **3** --- The Viewport renders 3D but without effects.
  1099. ----
  1100. .. _enum_VisualServer_ViewportRenderInfo:
  1101. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME:
  1102. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME:
  1103. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME:
  1104. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME:
  1105. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME:
  1106. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME:
  1107. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME:
  1108. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME:
  1109. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MAX:
  1110. enum **ViewportRenderInfo**:
  1111. - **VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME** = **0** --- Number of objects drawn in a single frame.
  1112. - **VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME** = **1** --- Number of vertices drawn in a single frame.
  1113. - **VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME** = **2** --- Number of material changes during this frame.
  1114. - **VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME** = **3** --- Number of shader changes during this frame.
  1115. - **VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME** = **4** --- Number of surface changes during this frame.
  1116. - **VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME** = **5** --- Number of draw calls during this frame.
  1117. - **VIEWPORT_RENDER_INFO_2D_ITEMS_IN_FRAME** = **6** --- Number of 2d items drawn this frame.
  1118. - **VIEWPORT_RENDER_INFO_2D_DRAW_CALLS_IN_FRAME** = **7** --- Number of 2d draw calls during this frame.
  1119. - **VIEWPORT_RENDER_INFO_MAX** = **8** --- Represents the size of the :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` enum.
  1120. ----
  1121. .. _enum_VisualServer_ViewportDebugDraw:
  1122. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_DISABLED:
  1123. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_UNSHADED:
  1124. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_OVERDRAW:
  1125. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_WIREFRAME:
  1126. enum **ViewportDebugDraw**:
  1127. - **VIEWPORT_DEBUG_DRAW_DISABLED** = **0** --- Debug draw is disabled. Default setting.
  1128. - **VIEWPORT_DEBUG_DRAW_UNSHADED** = **1** --- Debug draw sets objects to unshaded.
  1129. - **VIEWPORT_DEBUG_DRAW_OVERDRAW** = **2** --- Overwrites clear color to ``(0,0,0,0)``.
  1130. - **VIEWPORT_DEBUG_DRAW_WIREFRAME** = **3** --- Debug draw draws objects in wireframe.
  1131. ----
  1132. .. _enum_VisualServer_ScenarioDebugMode:
  1133. .. _class_VisualServer_constant_SCENARIO_DEBUG_DISABLED:
  1134. .. _class_VisualServer_constant_SCENARIO_DEBUG_WIREFRAME:
  1135. .. _class_VisualServer_constant_SCENARIO_DEBUG_OVERDRAW:
  1136. .. _class_VisualServer_constant_SCENARIO_DEBUG_SHADELESS:
  1137. enum **ScenarioDebugMode**:
  1138. - **SCENARIO_DEBUG_DISABLED** = **0** --- Do not use a debug mode.
  1139. - **SCENARIO_DEBUG_WIREFRAME** = **1** --- Draw all objects as wireframe models.
  1140. - **SCENARIO_DEBUG_OVERDRAW** = **2** --- 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.
  1141. - **SCENARIO_DEBUG_SHADELESS** = **3** --- Draw all objects without shading. Equivalent to setting all objects shaders to ``unshaded``.
  1142. ----
  1143. .. _enum_VisualServer_InstanceType:
  1144. .. _class_VisualServer_constant_INSTANCE_NONE:
  1145. .. _class_VisualServer_constant_INSTANCE_MESH:
  1146. .. _class_VisualServer_constant_INSTANCE_MULTIMESH:
  1147. .. _class_VisualServer_constant_INSTANCE_IMMEDIATE:
  1148. .. _class_VisualServer_constant_INSTANCE_PARTICLES:
  1149. .. _class_VisualServer_constant_INSTANCE_LIGHT:
  1150. .. _class_VisualServer_constant_INSTANCE_REFLECTION_PROBE:
  1151. .. _class_VisualServer_constant_INSTANCE_GI_PROBE:
  1152. .. _class_VisualServer_constant_INSTANCE_LIGHTMAP_CAPTURE:
  1153. .. _class_VisualServer_constant_INSTANCE_MAX:
  1154. .. _class_VisualServer_constant_INSTANCE_GEOMETRY_MASK:
  1155. enum **InstanceType**:
  1156. - **INSTANCE_NONE** = **0** --- The instance does not have a type.
  1157. - **INSTANCE_MESH** = **1** --- The instance is a mesh.
  1158. - **INSTANCE_MULTIMESH** = **2** --- The instance is a multimesh.
  1159. - **INSTANCE_IMMEDIATE** = **3** --- The instance is an immediate geometry.
  1160. - **INSTANCE_PARTICLES** = **4** --- The instance is a particle emitter.
  1161. - **INSTANCE_LIGHT** = **5** --- The instance is a light.
  1162. - **INSTANCE_REFLECTION_PROBE** = **6** --- The instance is a reflection probe.
  1163. - **INSTANCE_GI_PROBE** = **7** --- The instance is a GI probe.
  1164. - **INSTANCE_LIGHTMAP_CAPTURE** = **8** --- The instance is a lightmap capture.
  1165. - **INSTANCE_MAX** = **9** --- Represents the size of the :ref:`InstanceType<enum_VisualServer_InstanceType>` enum.
  1166. - **INSTANCE_GEOMETRY_MASK** = **30** --- A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
  1167. ----
  1168. .. _enum_VisualServer_InstanceFlags:
  1169. .. _class_VisualServer_constant_INSTANCE_FLAG_USE_BAKED_LIGHT:
  1170. .. _class_VisualServer_constant_INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE:
  1171. .. _class_VisualServer_constant_INSTANCE_FLAG_MAX:
  1172. enum **InstanceFlags**:
  1173. - **INSTANCE_FLAG_USE_BAKED_LIGHT** = **0** --- Allows the instance to be used in baked lighting.
  1174. - **INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE** = **1** --- When set, manually requests to draw geometry on next frame.
  1175. - **INSTANCE_FLAG_MAX** = **2** --- Represents the size of the :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` enum.
  1176. ----
  1177. .. _enum_VisualServer_ShadowCastingSetting:
  1178. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_OFF:
  1179. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_ON:
  1180. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_DOUBLE_SIDED:
  1181. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_SHADOWS_ONLY:
  1182. enum **ShadowCastingSetting**:
  1183. - **SHADOW_CASTING_SETTING_OFF** = **0** --- Disable shadows from this instance.
  1184. - **SHADOW_CASTING_SETTING_ON** = **1** --- Cast shadows from this instance.
  1185. - **SHADOW_CASTING_SETTING_DOUBLE_SIDED** = **2** --- Disable backface culling when rendering the shadow of the object. This is slightly slower but may result in more correct shadows.
  1186. - **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = **3** --- Only render the shadows from the object. The object itself will not be drawn.
  1187. ----
  1188. .. _enum_VisualServer_NinePatchAxisMode:
  1189. .. _class_VisualServer_constant_NINE_PATCH_STRETCH:
  1190. .. _class_VisualServer_constant_NINE_PATCH_TILE:
  1191. .. _class_VisualServer_constant_NINE_PATCH_TILE_FIT:
  1192. enum **NinePatchAxisMode**:
  1193. - **NINE_PATCH_STRETCH** = **0** --- The nine patch gets stretched where needed.
  1194. - **NINE_PATCH_TILE** = **1** --- The nine patch gets filled with tiles where needed.
  1195. - **NINE_PATCH_TILE_FIT** = **2** --- The nine patch gets filled with tiles where needed and stretches them a bit if needed.
  1196. ----
  1197. .. _enum_VisualServer_CanvasLightMode:
  1198. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_ADD:
  1199. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_SUB:
  1200. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MIX:
  1201. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MASK:
  1202. enum **CanvasLightMode**:
  1203. - **CANVAS_LIGHT_MODE_ADD** = **0** --- Adds light color additive to the canvas.
  1204. - **CANVAS_LIGHT_MODE_SUB** = **1** --- Adds light color subtractive to the canvas.
  1205. - **CANVAS_LIGHT_MODE_MIX** = **2** --- The light adds color depending on transparency.
  1206. - **CANVAS_LIGHT_MODE_MASK** = **3** --- The light adds color depending on mask.
  1207. ----
  1208. .. _enum_VisualServer_CanvasLightShadowFilter:
  1209. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_NONE:
  1210. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF3:
  1211. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF5:
  1212. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF7:
  1213. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF9:
  1214. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF13:
  1215. enum **CanvasLightShadowFilter**:
  1216. - **CANVAS_LIGHT_FILTER_NONE** = **0** --- Do not apply a filter to canvas light shadows.
  1217. - **CANVAS_LIGHT_FILTER_PCF3** = **1** --- Use PCF3 filtering to filter canvas light shadows.
  1218. - **CANVAS_LIGHT_FILTER_PCF5** = **2** --- Use PCF5 filtering to filter canvas light shadows.
  1219. - **CANVAS_LIGHT_FILTER_PCF7** = **3** --- Use PCF7 filtering to filter canvas light shadows.
  1220. - **CANVAS_LIGHT_FILTER_PCF9** = **4** --- Use PCF9 filtering to filter canvas light shadows.
  1221. - **CANVAS_LIGHT_FILTER_PCF13** = **5** --- Use PCF13 filtering to filter canvas light shadows.
  1222. ----
  1223. .. _enum_VisualServer_CanvasOccluderPolygonCullMode:
  1224. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_DISABLED:
  1225. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE:
  1226. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE:
  1227. enum **CanvasOccluderPolygonCullMode**:
  1228. - **CANVAS_OCCLUDER_POLYGON_CULL_DISABLED** = **0** --- Culling of the canvas occluder is disabled.
  1229. - **CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE** = **1** --- Culling of the canvas occluder is clockwise.
  1230. - **CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE** = **2** --- Culling of the canvas occluder is counterclockwise.
  1231. ----
  1232. .. _enum_VisualServer_RenderInfo:
  1233. .. _class_VisualServer_constant_INFO_OBJECTS_IN_FRAME:
  1234. .. _class_VisualServer_constant_INFO_VERTICES_IN_FRAME:
  1235. .. _class_VisualServer_constant_INFO_MATERIAL_CHANGES_IN_FRAME:
  1236. .. _class_VisualServer_constant_INFO_SHADER_CHANGES_IN_FRAME:
  1237. .. _class_VisualServer_constant_INFO_SHADER_COMPILES_IN_FRAME:
  1238. .. _class_VisualServer_constant_INFO_SURFACE_CHANGES_IN_FRAME:
  1239. .. _class_VisualServer_constant_INFO_DRAW_CALLS_IN_FRAME:
  1240. .. _class_VisualServer_constant_INFO_2D_ITEMS_IN_FRAME:
  1241. .. _class_VisualServer_constant_INFO_2D_DRAW_CALLS_IN_FRAME:
  1242. .. _class_VisualServer_constant_INFO_USAGE_VIDEO_MEM_TOTAL:
  1243. .. _class_VisualServer_constant_INFO_VIDEO_MEM_USED:
  1244. .. _class_VisualServer_constant_INFO_TEXTURE_MEM_USED:
  1245. .. _class_VisualServer_constant_INFO_VERTEX_MEM_USED:
  1246. enum **RenderInfo**:
  1247. - **INFO_OBJECTS_IN_FRAME** = **0** --- The amount of objects in the frame.
  1248. - **INFO_VERTICES_IN_FRAME** = **1** --- The amount of vertices in the frame.
  1249. - **INFO_MATERIAL_CHANGES_IN_FRAME** = **2** --- The amount of modified materials in the frame.
  1250. - **INFO_SHADER_CHANGES_IN_FRAME** = **3** --- The amount of shader rebinds in the frame.
  1251. - **INFO_SHADER_COMPILES_IN_FRAME** = **4** --- The peak amount of shaders that have been under compilation in the frame.
  1252. This is useful to know when asynchronous shader compilation has finished for the current shaders on screen.
  1253. \ **Note:** For complete certainty, only assume there are no outstanding compilations when this value is zero for at least two frames in a row.
  1254. Unimplemented in the GLES2 rendering backend, always returns 0.
  1255. - **INFO_SURFACE_CHANGES_IN_FRAME** = **5** --- The amount of surface changes in the frame.
  1256. - **INFO_DRAW_CALLS_IN_FRAME** = **6** --- The amount of draw calls in frame.
  1257. - **INFO_2D_ITEMS_IN_FRAME** = **7** --- The amount of 2d items in the frame.
  1258. - **INFO_2D_DRAW_CALLS_IN_FRAME** = **8** --- The amount of 2d draw calls in frame.
  1259. - **INFO_USAGE_VIDEO_MEM_TOTAL** = **9** --- Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
  1260. - **INFO_VIDEO_MEM_USED** = **10** --- The amount of video memory used, i.e. texture and vertex memory combined.
  1261. - **INFO_TEXTURE_MEM_USED** = **11** --- The amount of texture memory used.
  1262. - **INFO_VERTEX_MEM_USED** = **12** --- The amount of vertex memory used.
  1263. ----
  1264. .. _enum_VisualServer_Features:
  1265. .. _class_VisualServer_constant_FEATURE_SHADERS:
  1266. .. _class_VisualServer_constant_FEATURE_MULTITHREADED:
  1267. enum **Features**:
  1268. - **FEATURE_SHADERS** = **0** --- Hardware supports shaders. This enum is currently unused in Godot 3.x.
  1269. - **FEATURE_MULTITHREADED** = **1** --- Hardware supports multithreading. This enum is currently unused in Godot 3.x.
  1270. ----
  1271. .. _enum_VisualServer_MultimeshTransformFormat:
  1272. .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_2D:
  1273. .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_3D:
  1274. enum **MultimeshTransformFormat**:
  1275. - **MULTIMESH_TRANSFORM_2D** = **0** --- Use :ref:`Transform2D<class_Transform2D>` to store MultiMesh transform.
  1276. - **MULTIMESH_TRANSFORM_3D** = **1** --- Use :ref:`Transform<class_Transform>` to store MultiMesh transform.
  1277. ----
  1278. .. _enum_VisualServer_MultimeshColorFormat:
  1279. .. _class_VisualServer_constant_MULTIMESH_COLOR_NONE:
  1280. .. _class_VisualServer_constant_MULTIMESH_COLOR_8BIT:
  1281. .. _class_VisualServer_constant_MULTIMESH_COLOR_FLOAT:
  1282. enum **MultimeshColorFormat**:
  1283. - **MULTIMESH_COLOR_NONE** = **0** --- MultiMesh does not use per-instance color.
  1284. - **MULTIMESH_COLOR_8BIT** = **1** --- MultiMesh color uses 8 bits per component. This packs the color into a single float.
  1285. - **MULTIMESH_COLOR_FLOAT** = **2** --- MultiMesh color uses a float per channel.
  1286. ----
  1287. .. _enum_VisualServer_MultimeshCustomDataFormat:
  1288. .. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_NONE:
  1289. .. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_8BIT:
  1290. .. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_FLOAT:
  1291. enum **MultimeshCustomDataFormat**:
  1292. - **MULTIMESH_CUSTOM_DATA_NONE** = **0** --- MultiMesh does not use custom data.
  1293. - **MULTIMESH_CUSTOM_DATA_8BIT** = **1** --- MultiMesh custom data uses 8 bits per component. This packs the 4-component custom data into a single float.
  1294. - **MULTIMESH_CUSTOM_DATA_FLOAT** = **2** --- MultiMesh custom data uses a float per component.
  1295. ----
  1296. .. _enum_VisualServer_MultimeshPhysicsInterpolationQuality:
  1297. .. _class_VisualServer_constant_MULTIMESH_INTERP_QUALITY_FAST:
  1298. .. _class_VisualServer_constant_MULTIMESH_INTERP_QUALITY_HIGH:
  1299. enum **MultimeshPhysicsInterpolationQuality**:
  1300. - **MULTIMESH_INTERP_QUALITY_FAST** = **0** --- MultiMesh physics interpolation favours speed over quality.
  1301. - **MULTIMESH_INTERP_QUALITY_HIGH** = **1** --- MultiMesh physics interpolation favours quality over speed.
  1302. ----
  1303. .. _enum_VisualServer_ReflectionProbeUpdateMode:
  1304. .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ONCE:
  1305. .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ALWAYS:
  1306. enum **ReflectionProbeUpdateMode**:
  1307. - **REFLECTION_PROBE_UPDATE_ONCE** = **0** --- Reflection probe will update reflections once and then stop.
  1308. - **REFLECTION_PROBE_UPDATE_ALWAYS** = **1** --- Reflection probe will update each frame. This mode is necessary to capture moving objects.
  1309. ----
  1310. .. _enum_VisualServer_ParticlesDrawOrder:
  1311. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_INDEX:
  1312. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_LIFETIME:
  1313. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_VIEW_DEPTH:
  1314. enum **ParticlesDrawOrder**:
  1315. - **PARTICLES_DRAW_ORDER_INDEX** = **0** --- Draw particles in the order that they appear in the particles array.
  1316. - **PARTICLES_DRAW_ORDER_LIFETIME** = **1** --- Sort particles based on their lifetime.
  1317. - **PARTICLES_DRAW_ORDER_VIEW_DEPTH** = **2** --- Sort particles based on their distance to the camera.
  1318. ----
  1319. .. _enum_VisualServer_EnvironmentBG:
  1320. .. _class_VisualServer_constant_ENV_BG_CLEAR_COLOR:
  1321. .. _class_VisualServer_constant_ENV_BG_COLOR:
  1322. .. _class_VisualServer_constant_ENV_BG_SKY:
  1323. .. _class_VisualServer_constant_ENV_BG_COLOR_SKY:
  1324. .. _class_VisualServer_constant_ENV_BG_CANVAS:
  1325. .. _class_VisualServer_constant_ENV_BG_KEEP:
  1326. .. _class_VisualServer_constant_ENV_BG_MAX:
  1327. enum **EnvironmentBG**:
  1328. - **ENV_BG_CLEAR_COLOR** = **0** --- Use the clear color as background.
  1329. - **ENV_BG_COLOR** = **1** --- Use a specified color as the background.
  1330. - **ENV_BG_SKY** = **2** --- Use a sky resource for the background.
  1331. - **ENV_BG_COLOR_SKY** = **3** --- Use a custom color for background, but use a sky for shading and reflections.
  1332. - **ENV_BG_CANVAS** = **4** --- Use a specified canvas layer as the background. This can be useful for instantiating a 2D scene in a 3D world.
  1333. - **ENV_BG_KEEP** = **5** --- Do not clear the background, use whatever was rendered last frame as the background.
  1334. - **ENV_BG_MAX** = **7** --- Represents the size of the :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` enum.
  1335. ----
  1336. .. _enum_VisualServer_EnvironmentDOFBlurQuality:
  1337. .. _class_VisualServer_constant_ENV_DOF_BLUR_QUALITY_LOW:
  1338. .. _class_VisualServer_constant_ENV_DOF_BLUR_QUALITY_MEDIUM:
  1339. .. _class_VisualServer_constant_ENV_DOF_BLUR_QUALITY_HIGH:
  1340. enum **EnvironmentDOFBlurQuality**:
  1341. - **ENV_DOF_BLUR_QUALITY_LOW** = **0** --- Use lowest blur quality. Fastest, but may look bad.
  1342. - **ENV_DOF_BLUR_QUALITY_MEDIUM** = **1** --- Use medium blur quality.
  1343. - **ENV_DOF_BLUR_QUALITY_HIGH** = **2** --- Used highest blur quality. Looks the best, but is the slowest.
  1344. ----
  1345. .. _enum_VisualServer_EnvironmentGlowBlendMode:
  1346. .. _class_VisualServer_constant_GLOW_BLEND_MODE_ADDITIVE:
  1347. .. _class_VisualServer_constant_GLOW_BLEND_MODE_SCREEN:
  1348. .. _class_VisualServer_constant_GLOW_BLEND_MODE_SOFTLIGHT:
  1349. .. _class_VisualServer_constant_GLOW_BLEND_MODE_REPLACE:
  1350. enum **EnvironmentGlowBlendMode**:
  1351. - **GLOW_BLEND_MODE_ADDITIVE** = **0** --- Add the effect of the glow on top of the scene.
  1352. - **GLOW_BLEND_MODE_SCREEN** = **1** --- Blends the glow effect with the screen. Does not get as bright as additive.
  1353. - **GLOW_BLEND_MODE_SOFTLIGHT** = **2** --- Produces a subtle color disturbance around objects.
  1354. - **GLOW_BLEND_MODE_REPLACE** = **3** --- Shows the glow effect by itself without the underlying scene.
  1355. ----
  1356. .. _enum_VisualServer_EnvironmentToneMapper:
  1357. .. _class_VisualServer_constant_ENV_TONE_MAPPER_LINEAR:
  1358. .. _class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD:
  1359. .. _class_VisualServer_constant_ENV_TONE_MAPPER_FILMIC:
  1360. .. _class_VisualServer_constant_ENV_TONE_MAPPER_ACES:
  1361. .. _class_VisualServer_constant_ENV_TONE_MAPPER_ACES_FITTED:
  1362. enum **EnvironmentToneMapper**:
  1363. - **ENV_TONE_MAPPER_LINEAR** = **0** --- Output color as they came in. This can cause bright lighting to look blown out, with noticeable clipping in the output colors.
  1364. - **ENV_TONE_MAPPER_REINHARD** = **1** --- 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.
  1365. - **ENV_TONE_MAPPER_FILMIC** = **2** --- 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>`.
  1366. - **ENV_TONE_MAPPER_ACES** = **3** --- 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>`.
  1367. \ **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>`.
  1368. - **ENV_TONE_MAPPER_ACES_FITTED** = **4** --- 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>`.
  1369. ----
  1370. .. _enum_VisualServer_EnvironmentSSAOQuality:
  1371. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_LOW:
  1372. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_MEDIUM:
  1373. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_HIGH:
  1374. enum **EnvironmentSSAOQuality**:
  1375. - **ENV_SSAO_QUALITY_LOW** = **0** --- Lowest quality of screen space ambient occlusion.
  1376. - **ENV_SSAO_QUALITY_MEDIUM** = **1** --- Medium quality screen space ambient occlusion.
  1377. - **ENV_SSAO_QUALITY_HIGH** = **2** --- Highest quality screen space ambient occlusion.
  1378. ----
  1379. .. _enum_VisualServer_EnvironmentSSAOBlur:
  1380. .. _class_VisualServer_constant_ENV_SSAO_BLUR_DISABLED:
  1381. .. _class_VisualServer_constant_ENV_SSAO_BLUR_1x1:
  1382. .. _class_VisualServer_constant_ENV_SSAO_BLUR_2x2:
  1383. .. _class_VisualServer_constant_ENV_SSAO_BLUR_3x3:
  1384. enum **EnvironmentSSAOBlur**:
  1385. - **ENV_SSAO_BLUR_DISABLED** = **0** --- Disables the blur set for SSAO. Will make SSAO look noisier.
  1386. - **ENV_SSAO_BLUR_1x1** = **1** --- Perform a 1x1 blur on the SSAO output.
  1387. - **ENV_SSAO_BLUR_2x2** = **2** --- Performs a 2x2 blur on the SSAO output.
  1388. - **ENV_SSAO_BLUR_3x3** = **3** --- Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO.
  1389. ----
  1390. .. _enum_VisualServer_ChangedPriority:
  1391. .. _class_VisualServer_constant_CHANGED_PRIORITY_ANY:
  1392. .. _class_VisualServer_constant_CHANGED_PRIORITY_LOW:
  1393. .. _class_VisualServer_constant_CHANGED_PRIORITY_HIGH:
  1394. enum **ChangedPriority**:
  1395. - **CHANGED_PRIORITY_ANY** = **0** --- Used to query for any changes that request a redraw, whatever the priority.
  1396. - **CHANGED_PRIORITY_LOW** = **1** --- 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).
  1397. - **CHANGED_PRIORITY_HIGH** = **2** --- Registered changes which can cause a redraw default to high priority.
  1398. Constants
  1399. ---------
  1400. .. _class_VisualServer_constant_NO_INDEX_ARRAY:
  1401. .. _class_VisualServer_constant_ARRAY_WEIGHTS_SIZE:
  1402. .. _class_VisualServer_constant_CANVAS_ITEM_Z_MIN:
  1403. .. _class_VisualServer_constant_CANVAS_ITEM_Z_MAX:
  1404. .. _class_VisualServer_constant_MAX_GLOW_LEVELS:
  1405. .. _class_VisualServer_constant_MAX_CURSORS:
  1406. .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MIN:
  1407. .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MAX:
  1408. - **NO_INDEX_ARRAY** = **-1** --- Marks an error that shows that the index array is empty.
  1409. - **ARRAY_WEIGHTS_SIZE** = **4** --- Number of weights/bones per vertex.
  1410. - **CANVAS_ITEM_Z_MIN** = **-4096** --- The minimum Z-layer for canvas items.
  1411. - **CANVAS_ITEM_Z_MAX** = **4096** --- The maximum Z-layer for canvas items.
  1412. - **MAX_GLOW_LEVELS** = **7** --- Max number of glow levels that can be used with glow post-process effect.
  1413. - **MAX_CURSORS** = **8** --- Unused enum in Godot 3.x.
  1414. - **MATERIAL_RENDER_PRIORITY_MIN** = **-128** --- The minimum renderpriority of all materials.
  1415. - **MATERIAL_RENDER_PRIORITY_MAX** = **127** --- The maximum renderpriority of all materials.
  1416. Property Descriptions
  1417. ---------------------
  1418. .. _class_VisualServer_property_render_loop_enabled:
  1419. - :ref:`bool<class_bool>` **render_loop_enabled**
  1420. +----------+--------------------------------+
  1421. | *Setter* | set_render_loop_enabled(value) |
  1422. +----------+--------------------------------+
  1423. | *Getter* | is_render_loop_enabled() |
  1424. +----------+--------------------------------+
  1425. 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.
  1426. Method Descriptions
  1427. -------------------
  1428. .. _class_VisualServer_method_black_bars_set_images:
  1429. - 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 **)**
  1430. Sets images to be rendered in the window margin.
  1431. ----
  1432. .. _class_VisualServer_method_black_bars_set_margins:
  1433. - 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 **)**
  1434. 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.
  1435. ----
  1436. .. _class_VisualServer_method_camera_create:
  1437. - :ref:`RID<class_RID>` **camera_create** **(** **)**
  1438. 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.
  1439. 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.
  1440. ----
  1441. .. _class_VisualServer_method_camera_reset_physics_interpolation:
  1442. - void **camera_reset_physics_interpolation** **(** :ref:`RID<class_RID>` camera **)**
  1443. Prevents physics interpolation for the current physics tick.
  1444. This is useful when moving a :ref:`Camera<class_Camera>` to a new location, to give an instantaneous change rather than interpolation from the previous location.
  1445. ----
  1446. .. _class_VisualServer_method_camera_set_cull_mask:
  1447. - void **camera_set_cull_mask** **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)**
  1448. 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>`.
  1449. ----
  1450. .. _class_VisualServer_method_camera_set_environment:
  1451. - void **camera_set_environment** **(** :ref:`RID<class_RID>` camera, :ref:`RID<class_RID>` env **)**
  1452. Sets the environment used by this camera. Equivalent to :ref:`Camera.environment<class_Camera_property_environment>`.
  1453. ----
  1454. .. _class_VisualServer_method_camera_set_frustum:
  1455. - 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 **)**
  1456. Sets camera to use frustum projection. This mode allows adjusting the ``offset`` argument to create "tilted frustum" effects.
  1457. ----
  1458. .. _class_VisualServer_method_camera_set_interpolated:
  1459. - void **camera_set_interpolated** **(** :ref:`RID<class_RID>` camera, :ref:`bool<class_bool>` interpolated **)**
  1460. Turns on and off physics interpolation for the :ref:`Camera<class_Camera>`.
  1461. ----
  1462. .. _class_VisualServer_method_camera_set_orthogonal:
  1463. - 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 **)**
  1464. 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.
  1465. ----
  1466. .. _class_VisualServer_method_camera_set_perspective:
  1467. - 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 **)**
  1468. Sets camera to use perspective projection. Objects on the screen becomes smaller when they are far away.
  1469. ----
  1470. .. _class_VisualServer_method_camera_set_transform:
  1471. - void **camera_set_transform** **(** :ref:`RID<class_RID>` camera, :ref:`Transform<class_Transform>` transform **)**
  1472. Sets :ref:`Transform<class_Transform>` of camera.
  1473. ----
  1474. .. _class_VisualServer_method_camera_set_use_vertical_aspect:
  1475. - void **camera_set_use_vertical_aspect** **(** :ref:`RID<class_RID>` camera, :ref:`bool<class_bool>` enable **)**
  1476. 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>`.
  1477. ----
  1478. .. _class_VisualServer_method_canvas_create:
  1479. - :ref:`RID<class_RID>` **canvas_create** **(** **)**
  1480. 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.
  1481. 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.
  1482. ----
  1483. .. _class_VisualServer_method_canvas_item_add_circle:
  1484. - 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 **)**
  1485. Adds a circle command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1486. ----
  1487. .. _class_VisualServer_method_canvas_item_add_clip_ignore:
  1488. - void **canvas_item_add_clip_ignore** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` ignore **)**
  1489. If ignore is ``true``, the VisualServer does not perform clipping.
  1490. ----
  1491. .. _class_VisualServer_method_canvas_item_add_line:
  1492. - 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 **)**
  1493. Adds a line command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1494. ----
  1495. .. _class_VisualServer_method_canvas_item_add_mesh:
  1496. - 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 **)**
  1497. Adds a mesh command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1498. ----
  1499. .. _class_VisualServer_method_canvas_item_add_multimesh:
  1500. - 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 **)**
  1501. Adds a :ref:`MultiMesh<class_MultiMesh>` to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands. Only affects its aabb at the moment.
  1502. ----
  1503. .. _class_VisualServer_method_canvas_item_add_nine_patch:
  1504. - 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 **)**
  1505. Adds a nine patch image to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1506. See :ref:`NinePatchRect<class_NinePatchRect>` for more explanation.
  1507. ----
  1508. .. _class_VisualServer_method_canvas_item_add_particles:
  1509. - 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 **)**
  1510. Adds a particle system to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1511. ----
  1512. .. _class_VisualServer_method_canvas_item_add_polygon:
  1513. - 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 **)**
  1514. Adds a polygon to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1515. ----
  1516. .. _class_VisualServer_method_canvas_item_add_polyline:
  1517. - 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 **)**
  1518. Adds a polyline, which is a line from multiple points with a width, to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1519. ----
  1520. .. _class_VisualServer_method_canvas_item_add_primitive:
  1521. - 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 **)**
  1522. Adds a primitive to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1523. ----
  1524. .. _class_VisualServer_method_canvas_item_add_rect:
  1525. - void **canvas_item_add_rect** **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Color<class_Color>` color **)**
  1526. Adds a rectangle to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1527. ----
  1528. .. _class_VisualServer_method_canvas_item_add_set_transform:
  1529. - void **canvas_item_add_set_transform** **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)**
  1530. Adds a :ref:`Transform2D<class_Transform2D>` command to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1531. This sets the extra_matrix uniform when executed. This affects the later commands of the canvas item.
  1532. ----
  1533. .. _class_VisualServer_method_canvas_item_add_texture_rect:
  1534. - 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 **)**
  1535. Adds a textured rect to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1536. ----
  1537. .. _class_VisualServer_method_canvas_item_add_texture_rect_region:
  1538. - 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 **)**
  1539. Adds a texture rect with region setting to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1540. ----
  1541. .. _class_VisualServer_method_canvas_item_add_triangle_array:
  1542. - 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 **)**
  1543. Adds a triangle array to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
  1544. ----
  1545. .. _class_VisualServer_method_canvas_item_clear:
  1546. - void **canvas_item_clear** **(** :ref:`RID<class_RID>` item **)**
  1547. Clears the :ref:`CanvasItem<class_CanvasItem>` and removes all commands in it.
  1548. ----
  1549. .. _class_VisualServer_method_canvas_item_create:
  1550. - :ref:`RID<class_RID>` **canvas_item_create** **(** **)**
  1551. 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.
  1552. 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.
  1553. ----
  1554. .. _class_VisualServer_method_canvas_item_set_clip:
  1555. - void **canvas_item_set_clip** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` clip **)**
  1556. Sets clipping for the :ref:`CanvasItem<class_CanvasItem>`.
  1557. ----
  1558. .. _class_VisualServer_method_canvas_item_set_copy_to_backbuffer:
  1559. - void **canvas_item_set_copy_to_backbuffer** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled, :ref:`Rect2<class_Rect2>` rect **)**
  1560. Sets the :ref:`CanvasItem<class_CanvasItem>` to copy a rect to the backbuffer.
  1561. ----
  1562. .. _class_VisualServer_method_canvas_item_set_custom_rect:
  1563. - 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 ) **)**
  1564. Defines a custom drawing rectangle for the :ref:`CanvasItem<class_CanvasItem>`.
  1565. ----
  1566. .. _class_VisualServer_method_canvas_item_set_distance_field_mode:
  1567. - void **canvas_item_set_distance_field_mode** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1568. Enables the use of distance fields for GUI elements that are rendering distance field based fonts.
  1569. ----
  1570. .. _class_VisualServer_method_canvas_item_set_draw_behind_parent:
  1571. - void **canvas_item_set_draw_behind_parent** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1572. Sets :ref:`CanvasItem<class_CanvasItem>` to be drawn behind its parent.
  1573. ----
  1574. .. _class_VisualServer_method_canvas_item_set_draw_index:
  1575. - void **canvas_item_set_draw_index** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` index **)**
  1576. Sets the index for the :ref:`CanvasItem<class_CanvasItem>`.
  1577. ----
  1578. .. _class_VisualServer_method_canvas_item_set_light_mask:
  1579. - void **canvas_item_set_light_mask** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` mask **)**
  1580. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  1581. ----
  1582. .. _class_VisualServer_method_canvas_item_set_material:
  1583. - void **canvas_item_set_material** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` material **)**
  1584. Sets a new material to the :ref:`CanvasItem<class_CanvasItem>`.
  1585. ----
  1586. .. _class_VisualServer_method_canvas_item_set_modulate:
  1587. - void **canvas_item_set_modulate** **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)**
  1588. Sets the color that modulates the :ref:`CanvasItem<class_CanvasItem>` and its children.
  1589. ----
  1590. .. _class_VisualServer_method_canvas_item_set_parent:
  1591. - void **canvas_item_set_parent** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` parent **)**
  1592. 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.
  1593. ----
  1594. .. _class_VisualServer_method_canvas_item_set_self_modulate:
  1595. - void **canvas_item_set_self_modulate** **(** :ref:`RID<class_RID>` item, :ref:`Color<class_Color>` color **)**
  1596. Sets the color that modulates the :ref:`CanvasItem<class_CanvasItem>` without children.
  1597. ----
  1598. .. _class_VisualServer_method_canvas_item_set_sort_children_by_y:
  1599. - void **canvas_item_set_sort_children_by_y** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1600. Sets if :ref:`CanvasItem<class_CanvasItem>`'s children should be sorted by y-position.
  1601. ----
  1602. .. _class_VisualServer_method_canvas_item_set_transform:
  1603. - void **canvas_item_set_transform** **(** :ref:`RID<class_RID>` item, :ref:`Transform2D<class_Transform2D>` transform **)**
  1604. Sets the :ref:`CanvasItem<class_CanvasItem>`'s :ref:`Transform2D<class_Transform2D>`.
  1605. ----
  1606. .. _class_VisualServer_method_canvas_item_set_use_parent_material:
  1607. - void **canvas_item_set_use_parent_material** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1608. Sets if the :ref:`CanvasItem<class_CanvasItem>` uses its parent's material.
  1609. ----
  1610. .. _class_VisualServer_method_canvas_item_set_visible:
  1611. - void **canvas_item_set_visible** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` visible **)**
  1612. Sets if the canvas item (including its children) is visible.
  1613. ----
  1614. .. _class_VisualServer_method_canvas_item_set_z_as_relative_to_parent:
  1615. - void **canvas_item_set_z_as_relative_to_parent** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1616. If this is enabled, the Z index of the parent will be added to the children's Z index.
  1617. ----
  1618. .. _class_VisualServer_method_canvas_item_set_z_index:
  1619. - void **canvas_item_set_z_index** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` z_index **)**
  1620. Sets the :ref:`CanvasItem<class_CanvasItem>`'s Z index, i.e. its draw order (lower indexes are drawn first).
  1621. ----
  1622. .. _class_VisualServer_method_canvas_light_attach_to_canvas:
  1623. - void **canvas_light_attach_to_canvas** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` canvas **)**
  1624. Attaches the canvas light to the canvas. Removes it from its previous canvas.
  1625. ----
  1626. .. _class_VisualServer_method_canvas_light_create:
  1627. - :ref:`RID<class_RID>` **canvas_light_create** **(** **)**
  1628. 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.
  1629. 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.
  1630. ----
  1631. .. _class_VisualServer_method_canvas_light_occluder_attach_to_canvas:
  1632. - void **canvas_light_occluder_attach_to_canvas** **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` canvas **)**
  1633. Attaches a light occluder to the canvas. Removes it from its previous canvas.
  1634. ----
  1635. .. _class_VisualServer_method_canvas_light_occluder_create:
  1636. - :ref:`RID<class_RID>` **canvas_light_occluder_create** **(** **)**
  1637. 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.
  1638. 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.
  1639. ----
  1640. .. _class_VisualServer_method_canvas_light_occluder_set_enabled:
  1641. - void **canvas_light_occluder_set_enabled** **(** :ref:`RID<class_RID>` occluder, :ref:`bool<class_bool>` enabled **)**
  1642. Enables or disables light occluder.
  1643. ----
  1644. .. _class_VisualServer_method_canvas_light_occluder_set_light_mask:
  1645. - void **canvas_light_occluder_set_light_mask** **(** :ref:`RID<class_RID>` occluder, :ref:`int<class_int>` mask **)**
  1646. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  1647. ----
  1648. .. _class_VisualServer_method_canvas_light_occluder_set_polygon:
  1649. - void **canvas_light_occluder_set_polygon** **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` polygon **)**
  1650. Sets a light occluder's polygon.
  1651. ----
  1652. .. _class_VisualServer_method_canvas_light_occluder_set_transform:
  1653. - void **canvas_light_occluder_set_transform** **(** :ref:`RID<class_RID>` occluder, :ref:`Transform2D<class_Transform2D>` transform **)**
  1654. Sets a light occluder's :ref:`Transform2D<class_Transform2D>`.
  1655. ----
  1656. .. _class_VisualServer_method_canvas_light_set_color:
  1657. - void **canvas_light_set_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  1658. Sets the color for a light.
  1659. ----
  1660. .. _class_VisualServer_method_canvas_light_set_enabled:
  1661. - void **canvas_light_set_enabled** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1662. Enables or disables a canvas light.
  1663. ----
  1664. .. _class_VisualServer_method_canvas_light_set_energy:
  1665. - void **canvas_light_set_energy** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` energy **)**
  1666. Sets a canvas light's energy.
  1667. ----
  1668. .. _class_VisualServer_method_canvas_light_set_height:
  1669. - void **canvas_light_set_height** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` height **)**
  1670. Sets a canvas light's height.
  1671. ----
  1672. .. _class_VisualServer_method_canvas_light_set_item_cull_mask:
  1673. - void **canvas_light_set_item_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  1674. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  1675. ----
  1676. .. _class_VisualServer_method_canvas_light_set_item_shadow_cull_mask:
  1677. - void **canvas_light_set_item_shadow_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  1678. 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.
  1679. ----
  1680. .. _class_VisualServer_method_canvas_light_set_layer_range:
  1681. - void **canvas_light_set_layer_range** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_layer, :ref:`int<class_int>` max_layer **)**
  1682. The layer range that gets rendered with this light.
  1683. ----
  1684. .. _class_VisualServer_method_canvas_light_set_mode:
  1685. - void **canvas_light_set_mode** **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` mode **)**
  1686. The mode of the light, see :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` constants.
  1687. ----
  1688. .. _class_VisualServer_method_canvas_light_set_scale:
  1689. - void **canvas_light_set_scale** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` scale **)**
  1690. Sets the texture's scale factor of the light. Equivalent to :ref:`Light2D.texture_scale<class_Light2D_property_texture_scale>`.
  1691. ----
  1692. .. _class_VisualServer_method_canvas_light_set_shadow_buffer_size:
  1693. - void **canvas_light_set_shadow_buffer_size** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` size **)**
  1694. Sets the width of the shadow buffer, size gets scaled to the next power of two for this.
  1695. ----
  1696. .. _class_VisualServer_method_canvas_light_set_shadow_color:
  1697. - void **canvas_light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  1698. Sets the color of the canvas light's shadow.
  1699. ----
  1700. .. _class_VisualServer_method_canvas_light_set_shadow_enabled:
  1701. - void **canvas_light_set_shadow_enabled** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1702. Enables or disables the canvas light's shadow.
  1703. ----
  1704. .. _class_VisualServer_method_canvas_light_set_shadow_filter:
  1705. - void **canvas_light_set_shadow_filter** **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` filter **)**
  1706. Sets the canvas light's shadow's filter, see :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` constants.
  1707. ----
  1708. .. _class_VisualServer_method_canvas_light_set_shadow_gradient_length:
  1709. - void **canvas_light_set_shadow_gradient_length** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` length **)**
  1710. Sets the length of the shadow's gradient.
  1711. ----
  1712. .. _class_VisualServer_method_canvas_light_set_shadow_smooth:
  1713. - void **canvas_light_set_shadow_smooth** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` smooth **)**
  1714. Smoothens the shadow. The lower, the smoother.
  1715. ----
  1716. .. _class_VisualServer_method_canvas_light_set_texture:
  1717. - void **canvas_light_set_texture** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)**
  1718. Sets texture to be used by light. Equivalent to :ref:`Light2D.texture<class_Light2D_property_texture>`.
  1719. ----
  1720. .. _class_VisualServer_method_canvas_light_set_texture_offset:
  1721. - void **canvas_light_set_texture_offset** **(** :ref:`RID<class_RID>` light, :ref:`Vector2<class_Vector2>` offset **)**
  1722. Sets the offset of the light's texture. Equivalent to :ref:`Light2D.offset<class_Light2D_property_offset>`.
  1723. ----
  1724. .. _class_VisualServer_method_canvas_light_set_transform:
  1725. - void **canvas_light_set_transform** **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` transform **)**
  1726. Sets the canvas light's :ref:`Transform2D<class_Transform2D>`.
  1727. ----
  1728. .. _class_VisualServer_method_canvas_light_set_z_range:
  1729. - void **canvas_light_set_z_range** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_z, :ref:`int<class_int>` max_z **)**
  1730. 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>`.
  1731. ----
  1732. .. _class_VisualServer_method_canvas_occluder_polygon_create:
  1733. - :ref:`RID<class_RID>` **canvas_occluder_polygon_create** **(** **)**
  1734. 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.
  1735. 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.
  1736. ----
  1737. .. _class_VisualServer_method_canvas_occluder_polygon_set_cull_mode:
  1738. - void **canvas_occluder_polygon_set_cull_mode** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` mode **)**
  1739. Sets an occluder polygons cull mode. See :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` constants.
  1740. ----
  1741. .. _class_VisualServer_method_canvas_occluder_polygon_set_shape:
  1742. - void **canvas_occluder_polygon_set_shape** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PoolVector2Array<class_PoolVector2Array>` shape, :ref:`bool<class_bool>` closed **)**
  1743. Sets the shape of the occluder polygon.
  1744. ----
  1745. .. _class_VisualServer_method_canvas_occluder_polygon_set_shape_as_lines:
  1746. - void **canvas_occluder_polygon_set_shape_as_lines** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PoolVector2Array<class_PoolVector2Array>` shape **)**
  1747. Sets the shape of the occluder polygon as lines.
  1748. ----
  1749. .. _class_VisualServer_method_canvas_set_item_mirroring:
  1750. - void **canvas_set_item_mirroring** **(** :ref:`RID<class_RID>` canvas, :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` mirroring **)**
  1751. A copy of the canvas item will be drawn with a local offset of the mirroring :ref:`Vector2<class_Vector2>`.
  1752. ----
  1753. .. _class_VisualServer_method_canvas_set_modulate:
  1754. - void **canvas_set_modulate** **(** :ref:`RID<class_RID>` canvas, :ref:`Color<class_Color>` color **)**
  1755. Modulates all colors in the given canvas.
  1756. ----
  1757. .. _class_VisualServer_method_directional_light_create:
  1758. - :ref:`RID<class_RID>` **directional_light_create** **(** **)**
  1759. 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.
  1760. 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.
  1761. 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.
  1762. ----
  1763. .. _class_VisualServer_method_draw:
  1764. - void **draw** **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)**
  1765. Draws a frame. *This method is deprecated*, please use :ref:`force_draw<class_VisualServer_method_force_draw>` instead.
  1766. ----
  1767. .. _class_VisualServer_method_environment_create:
  1768. - :ref:`RID<class_RID>` **environment_create** **(** **)**
  1769. 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.
  1770. 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.
  1771. ----
  1772. .. _class_VisualServer_method_environment_set_adjustment:
  1773. - 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 **)**
  1774. Sets the values to be used with the "Adjustment" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1775. ----
  1776. .. _class_VisualServer_method_environment_set_ambient_light:
  1777. - 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 **)**
  1778. Sets the ambient light parameters. See :ref:`Environment<class_Environment>` for more details.
  1779. ----
  1780. .. _class_VisualServer_method_environment_set_background:
  1781. - void **environment_set_background** **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` bg **)**
  1782. Sets the *BGMode* of the environment. Equivalent to :ref:`Environment.background_mode<class_Environment_property_background_mode>`.
  1783. ----
  1784. .. _class_VisualServer_method_environment_set_bg_color:
  1785. - void **environment_set_bg_color** **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color **)**
  1786. Color displayed for clear areas of the scene (if using Custom color or Color+Sky background modes).
  1787. ----
  1788. .. _class_VisualServer_method_environment_set_bg_energy:
  1789. - void **environment_set_bg_energy** **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` energy **)**
  1790. Sets the intensity of the background color.
  1791. ----
  1792. .. _class_VisualServer_method_environment_set_canvas_max_layer:
  1793. - void **environment_set_canvas_max_layer** **(** :ref:`RID<class_RID>` env, :ref:`int<class_int>` max_layer **)**
  1794. Sets the maximum layer to use if using Canvas background mode.
  1795. ----
  1796. .. _class_VisualServer_method_environment_set_dof_blur_far:
  1797. - 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 **)**
  1798. Sets the values to be used with the "DoF Far Blur" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1799. ----
  1800. .. _class_VisualServer_method_environment_set_dof_blur_near:
  1801. - 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 **)**
  1802. Sets the values to be used with the "DoF Near Blur" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1803. ----
  1804. .. _class_VisualServer_method_environment_set_fog:
  1805. - 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 **)**
  1806. Sets the variables to be used with the scene fog. See :ref:`Environment<class_Environment>` for more details.
  1807. ----
  1808. .. _class_VisualServer_method_environment_set_fog_depth:
  1809. - 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 **)**
  1810. Sets the variables to be used with the fog depth effect. See :ref:`Environment<class_Environment>` for more details.
  1811. ----
  1812. .. _class_VisualServer_method_environment_set_fog_height:
  1813. - 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 **)**
  1814. Sets the variables to be used with the fog height effect. See :ref:`Environment<class_Environment>` for more details.
  1815. ----
  1816. .. _class_VisualServer_method_environment_set_glow:
  1817. - 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 **)**
  1818. Sets the variables to be used with the "glow" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1819. ----
  1820. .. _class_VisualServer_method_environment_set_sky:
  1821. - void **environment_set_sky** **(** :ref:`RID<class_RID>` env, :ref:`RID<class_RID>` sky **)**
  1822. 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>`.
  1823. ----
  1824. .. _class_VisualServer_method_environment_set_sky_custom_fov:
  1825. - void **environment_set_sky_custom_fov** **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` scale **)**
  1826. 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>`.
  1827. ----
  1828. .. _class_VisualServer_method_environment_set_sky_orientation:
  1829. - void **environment_set_sky_orientation** **(** :ref:`RID<class_RID>` env, :ref:`Basis<class_Basis>` orientation **)**
  1830. 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>`.
  1831. ----
  1832. .. _class_VisualServer_method_environment_set_ssao:
  1833. - 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 **)**
  1834. Sets the variables to be used with the "Screen Space Ambient Occlusion (SSAO)" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1835. ----
  1836. .. _class_VisualServer_method_environment_set_ssr:
  1837. - 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 **)**
  1838. Sets the variables to be used with the "screen space reflections" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1839. ----
  1840. .. _class_VisualServer_method_environment_set_tonemap:
  1841. - 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 **)**
  1842. Sets the variables to be used with the "tonemap" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1843. ----
  1844. .. _class_VisualServer_method_finish:
  1845. - void **finish** **(** **)**
  1846. Removes buffers and clears testcubes.
  1847. ----
  1848. .. _class_VisualServer_method_force_draw:
  1849. - void **force_draw** **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)**
  1850. 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.
  1851. ----
  1852. .. _class_VisualServer_method_force_sync:
  1853. - void **force_sync** **(** **)**
  1854. Synchronizes threads.
  1855. ----
  1856. .. _class_VisualServer_method_free_rid:
  1857. - void **free_rid** **(** :ref:`RID<class_RID>` rid **)**
  1858. 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.
  1859. \ **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.
  1860. ::
  1861. var r: RID = VisualServer.get_test_cube()
  1862. VisualServer.free_rid(r)
  1863. print("ID: ", r.get_id()) # It is not safe to access or free an invalid RID
  1864. r = RID() # Reset the RID so it is safe to use again.
  1865. print("ID: ", r.get_id())
  1866. # Output:
  1867. # ID: 157 # Freed RID has invalid data
  1868. # ID: 0 # RID has been properly reset
  1869. ----
  1870. .. _class_VisualServer_method_get_render_info:
  1871. - :ref:`int<class_int>` **get_render_info** **(** :ref:`RenderInfo<enum_VisualServer_RenderInfo>` info **)**
  1872. Returns a certain information, see :ref:`RenderInfo<enum_VisualServer_RenderInfo>` for options.
  1873. ----
  1874. .. _class_VisualServer_method_get_test_cube:
  1875. - :ref:`RID<class_RID>` **get_test_cube** **(** **)**
  1876. Returns the id of the test cube. Creates one if none exists.
  1877. ----
  1878. .. _class_VisualServer_method_get_test_texture:
  1879. - :ref:`RID<class_RID>` **get_test_texture** **(** **)**
  1880. Returns the id of the test texture. Creates one if none exists.
  1881. ----
  1882. .. _class_VisualServer_method_get_video_adapter_name:
  1883. - :ref:`String<class_String>` **get_video_adapter_name** **(** **)** |const|
  1884. Returns the name of the video adapter (e.g. "GeForce GTX 1080/PCIe/SSE2").
  1885. \ **Note:** When running a headless or server binary, this function returns an empty string.
  1886. ----
  1887. .. _class_VisualServer_method_get_video_adapter_vendor:
  1888. - :ref:`String<class_String>` **get_video_adapter_vendor** **(** **)** |const|
  1889. Returns the vendor of the video adapter (e.g. "NVIDIA Corporation").
  1890. \ **Note:** When running a headless or server binary, this function returns an empty string.
  1891. ----
  1892. .. _class_VisualServer_method_get_white_texture:
  1893. - :ref:`RID<class_RID>` **get_white_texture** **(** **)**
  1894. Returns the id of a white texture. Creates one if none exists.
  1895. ----
  1896. .. _class_VisualServer_method_gi_probe_create:
  1897. - :ref:`RID<class_RID>` **gi_probe_create** **(** **)**
  1898. 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.
  1899. 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.
  1900. 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.
  1901. ----
  1902. .. _class_VisualServer_method_gi_probe_get_bias:
  1903. - :ref:`float<class_float>` **gi_probe_get_bias** **(** :ref:`RID<class_RID>` probe **)** |const|
  1904. Returns the bias value for the GI probe. Bias is used to avoid self occlusion. Equivalent to :ref:`GIProbeData.bias<class_GIProbeData_property_bias>`.
  1905. ----
  1906. .. _class_VisualServer_method_gi_probe_get_bounds:
  1907. - :ref:`AABB<class_AABB>` **gi_probe_get_bounds** **(** :ref:`RID<class_RID>` probe **)** |const|
  1908. Returns the axis-aligned bounding box that covers the full extent of the GI probe.
  1909. ----
  1910. .. _class_VisualServer_method_gi_probe_get_cell_size:
  1911. - :ref:`float<class_float>` **gi_probe_get_cell_size** **(** :ref:`RID<class_RID>` probe **)** |const|
  1912. Returns the cell size set by :ref:`gi_probe_set_cell_size<class_VisualServer_method_gi_probe_set_cell_size>`.
  1913. ----
  1914. .. _class_VisualServer_method_gi_probe_get_dynamic_data:
  1915. - :ref:`PoolIntArray<class_PoolIntArray>` **gi_probe_get_dynamic_data** **(** :ref:`RID<class_RID>` probe **)** |const|
  1916. Returns the data used by the GI probe.
  1917. ----
  1918. .. _class_VisualServer_method_gi_probe_get_dynamic_range:
  1919. - :ref:`int<class_int>` **gi_probe_get_dynamic_range** **(** :ref:`RID<class_RID>` probe **)** |const|
  1920. Returns the dynamic range set for this GI probe. Equivalent to :ref:`GIProbe.dynamic_range<class_GIProbe_property_dynamic_range>`.
  1921. ----
  1922. .. _class_VisualServer_method_gi_probe_get_energy:
  1923. - :ref:`float<class_float>` **gi_probe_get_energy** **(** :ref:`RID<class_RID>` probe **)** |const|
  1924. Returns the energy multiplier for this GI probe. Equivalent to :ref:`GIProbe.energy<class_GIProbe_property_energy>`.
  1925. ----
  1926. .. _class_VisualServer_method_gi_probe_get_normal_bias:
  1927. - :ref:`float<class_float>` **gi_probe_get_normal_bias** **(** :ref:`RID<class_RID>` probe **)** |const|
  1928. Returns the normal bias for this GI probe. Equivalent to :ref:`GIProbe.normal_bias<class_GIProbe_property_normal_bias>`.
  1929. ----
  1930. .. _class_VisualServer_method_gi_probe_get_propagation:
  1931. - :ref:`float<class_float>` **gi_probe_get_propagation** **(** :ref:`RID<class_RID>` probe **)** |const|
  1932. Returns the propagation value for this GI probe. Equivalent to :ref:`GIProbe.propagation<class_GIProbe_property_propagation>`.
  1933. ----
  1934. .. _class_VisualServer_method_gi_probe_get_to_cell_xform:
  1935. - :ref:`Transform<class_Transform>` **gi_probe_get_to_cell_xform** **(** :ref:`RID<class_RID>` probe **)** |const|
  1936. Returns the Transform set by :ref:`gi_probe_set_to_cell_xform<class_VisualServer_method_gi_probe_set_to_cell_xform>`.
  1937. ----
  1938. .. _class_VisualServer_method_gi_probe_is_compressed:
  1939. - :ref:`bool<class_bool>` **gi_probe_is_compressed** **(** :ref:`RID<class_RID>` probe **)** |const|
  1940. Returns ``true`` if the GI probe data associated with this GI probe is compressed. Equivalent to :ref:`GIProbe.compress<class_GIProbe_property_compress>`.
  1941. ----
  1942. .. _class_VisualServer_method_gi_probe_is_interior:
  1943. - :ref:`bool<class_bool>` **gi_probe_is_interior** **(** :ref:`RID<class_RID>` probe **)** |const|
  1944. 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>`.
  1945. ----
  1946. .. _class_VisualServer_method_gi_probe_set_bias:
  1947. - void **gi_probe_set_bias** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)**
  1948. Sets the bias value to avoid self-occlusion. Equivalent to :ref:`GIProbe.bias<class_GIProbe_property_bias>`.
  1949. ----
  1950. .. _class_VisualServer_method_gi_probe_set_bounds:
  1951. - void **gi_probe_set_bounds** **(** :ref:`RID<class_RID>` probe, :ref:`AABB<class_AABB>` bounds **)**
  1952. Sets the axis-aligned bounding box that covers the extent of the GI probe.
  1953. ----
  1954. .. _class_VisualServer_method_gi_probe_set_cell_size:
  1955. - void **gi_probe_set_cell_size** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` range **)**
  1956. Sets the size of individual cells within the GI probe.
  1957. ----
  1958. .. _class_VisualServer_method_gi_probe_set_compress:
  1959. - void **gi_probe_set_compress** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  1960. 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>`.
  1961. ----
  1962. .. _class_VisualServer_method_gi_probe_set_dynamic_data:
  1963. - void **gi_probe_set_dynamic_data** **(** :ref:`RID<class_RID>` probe, :ref:`PoolIntArray<class_PoolIntArray>` data **)**
  1964. 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.
  1965. ----
  1966. .. _class_VisualServer_method_gi_probe_set_dynamic_range:
  1967. - void **gi_probe_set_dynamic_range** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` range **)**
  1968. 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>`.
  1969. ----
  1970. .. _class_VisualServer_method_gi_probe_set_energy:
  1971. - void **gi_probe_set_energy** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)**
  1972. 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>`.
  1973. ----
  1974. .. _class_VisualServer_method_gi_probe_set_interior:
  1975. - void **gi_probe_set_interior** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  1976. 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>`.
  1977. ----
  1978. .. _class_VisualServer_method_gi_probe_set_normal_bias:
  1979. - void **gi_probe_set_normal_bias** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` bias **)**
  1980. 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>`.
  1981. ----
  1982. .. _class_VisualServer_method_gi_probe_set_propagation:
  1983. - void **gi_probe_set_propagation** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` propagation **)**
  1984. Sets the propagation of light within this GI probe. Equivalent to :ref:`GIProbe.propagation<class_GIProbe_property_propagation>`.
  1985. ----
  1986. .. _class_VisualServer_method_gi_probe_set_to_cell_xform:
  1987. - void **gi_probe_set_to_cell_xform** **(** :ref:`RID<class_RID>` probe, :ref:`Transform<class_Transform>` xform **)**
  1988. Sets the to cell :ref:`Transform<class_Transform>` for this GI probe.
  1989. ----
  1990. .. _class_VisualServer_method_has_changed:
  1991. - :ref:`bool<class_bool>` **has_changed** **(** :ref:`ChangedPriority<enum_VisualServer_ChangedPriority>` queried_priority=0 **)** |const|
  1992. Returns ``true`` if changes have been made to the VisualServer's data. :ref:`draw<class_VisualServer_method_draw>` is usually called if this happens.
  1993. 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.
  1994. ----
  1995. .. _class_VisualServer_method_has_feature:
  1996. - :ref:`bool<class_bool>` **has_feature** **(** :ref:`Features<enum_VisualServer_Features>` feature **)** |const|
  1997. Not yet implemented. Always returns ``false``.
  1998. ----
  1999. .. _class_VisualServer_method_has_os_feature:
  2000. - :ref:`bool<class_bool>` **has_os_feature** **(** :ref:`String<class_String>` feature **)** |const|
  2001. Returns ``true`` if the OS supports a certain feature. Features might be ``s3tc``, ``etc``, ``etc2``, ``pvrtc`` and ``skinning_fallback``.
  2002. When rendering with GLES2, returns ``true`` with ``skinning_fallback`` in case the hardware doesn't support the default GPU skinning process.
  2003. ----
  2004. .. _class_VisualServer_method_immediate_begin:
  2005. - void **immediate_begin** **(** :ref:`RID<class_RID>` immediate, :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` primitive, :ref:`RID<class_RID>` texture **)**
  2006. Sets up :ref:`ImmediateGeometry<class_ImmediateGeometry>` internals to prepare for drawing. Equivalent to :ref:`ImmediateGeometry.begin<class_ImmediateGeometry_method_begin>`.
  2007. ----
  2008. .. _class_VisualServer_method_immediate_clear:
  2009. - void **immediate_clear** **(** :ref:`RID<class_RID>` immediate **)**
  2010. 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>`.
  2011. ----
  2012. .. _class_VisualServer_method_immediate_color:
  2013. - void **immediate_color** **(** :ref:`RID<class_RID>` immediate, :ref:`Color<class_Color>` color **)**
  2014. Sets the color to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_color<class_ImmediateGeometry_method_set_color>`.
  2015. ----
  2016. .. _class_VisualServer_method_immediate_create:
  2017. - :ref:`RID<class_RID>` **immediate_create** **(** **)**
  2018. 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.
  2019. 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.
  2020. 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.
  2021. ----
  2022. .. _class_VisualServer_method_immediate_end:
  2023. - void **immediate_end** **(** :ref:`RID<class_RID>` immediate **)**
  2024. Ends drawing the :ref:`ImmediateGeometry<class_ImmediateGeometry>` and displays it. Equivalent to :ref:`ImmediateGeometry.end<class_ImmediateGeometry_method_end>`.
  2025. ----
  2026. .. _class_VisualServer_method_immediate_get_material:
  2027. - :ref:`RID<class_RID>` **immediate_get_material** **(** :ref:`RID<class_RID>` immediate **)** |const|
  2028. Returns the material assigned to the :ref:`ImmediateGeometry<class_ImmediateGeometry>`.
  2029. ----
  2030. .. _class_VisualServer_method_immediate_normal:
  2031. - void **immediate_normal** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` normal **)**
  2032. Sets the normal to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_normal<class_ImmediateGeometry_method_set_normal>`.
  2033. ----
  2034. .. _class_VisualServer_method_immediate_set_material:
  2035. - void **immediate_set_material** **(** :ref:`RID<class_RID>` immediate, :ref:`RID<class_RID>` material **)**
  2036. Sets the material to be used to draw the :ref:`ImmediateGeometry<class_ImmediateGeometry>`.
  2037. ----
  2038. .. _class_VisualServer_method_immediate_tangent:
  2039. - void **immediate_tangent** **(** :ref:`RID<class_RID>` immediate, :ref:`Plane<class_Plane>` tangent **)**
  2040. Sets the tangent to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_tangent<class_ImmediateGeometry_method_set_tangent>`.
  2041. ----
  2042. .. _class_VisualServer_method_immediate_uv:
  2043. - void **immediate_uv** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)**
  2044. Sets the UV to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv<class_ImmediateGeometry_method_set_uv>`.
  2045. ----
  2046. .. _class_VisualServer_method_immediate_uv2:
  2047. - void **immediate_uv2** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)**
  2048. Sets the UV2 to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv2<class_ImmediateGeometry_method_set_uv2>`.
  2049. ----
  2050. .. _class_VisualServer_method_immediate_vertex:
  2051. - void **immediate_vertex** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` vertex **)**
  2052. Adds the next vertex using the information provided in advance. Equivalent to :ref:`ImmediateGeometry.add_vertex<class_ImmediateGeometry_method_add_vertex>`.
  2053. ----
  2054. .. _class_VisualServer_method_immediate_vertex_2d:
  2055. - void **immediate_vertex_2d** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` vertex **)**
  2056. 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>`.
  2057. ----
  2058. .. _class_VisualServer_method_init:
  2059. - void **init** **(** **)**
  2060. 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.
  2061. ----
  2062. .. _class_VisualServer_method_instance_attach_object_instance_id:
  2063. - void **instance_attach_object_instance_id** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` id **)**
  2064. 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>`.
  2065. ----
  2066. .. _class_VisualServer_method_instance_attach_skeleton:
  2067. - void **instance_attach_skeleton** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` skeleton **)**
  2068. Attaches a skeleton to an instance. Removes the previous skeleton from the instance.
  2069. ----
  2070. .. _class_VisualServer_method_instance_create:
  2071. - :ref:`RID<class_RID>` **instance_create** **(** **)**
  2072. 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.
  2073. 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.
  2074. 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>`.
  2075. ----
  2076. .. _class_VisualServer_method_instance_create2:
  2077. - :ref:`RID<class_RID>` **instance_create2** **(** :ref:`RID<class_RID>` base, :ref:`RID<class_RID>` scenario **)**
  2078. 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.
  2079. 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.
  2080. ----
  2081. .. _class_VisualServer_method_instance_geometry_set_as_instance_lod:
  2082. - void **instance_geometry_set_as_instance_lod** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` as_lod_of_instance **)**
  2083. Not implemented in Godot 3.x.
  2084. ----
  2085. .. _class_VisualServer_method_instance_geometry_set_cast_shadows_setting:
  2086. - void **instance_geometry_set_cast_shadows_setting** **(** :ref:`RID<class_RID>` instance, :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` shadow_casting_setting **)**
  2087. Sets the shadow casting setting to one of :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>`. Equivalent to :ref:`GeometryInstance.cast_shadow<class_GeometryInstance_property_cast_shadow>`.
  2088. ----
  2089. .. _class_VisualServer_method_instance_geometry_set_draw_range:
  2090. - void **instance_geometry_set_draw_range** **(** :ref:`RID<class_RID>` instance, :ref:`float<class_float>` min, :ref:`float<class_float>` max, :ref:`float<class_float>` min_margin, :ref:`float<class_float>` max_margin **)**
  2091. Not implemented in Godot 3.x.
  2092. ----
  2093. .. _class_VisualServer_method_instance_geometry_set_flag:
  2094. - void **instance_geometry_set_flag** **(** :ref:`RID<class_RID>` instance, :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` flag, :ref:`bool<class_bool>` enabled **)**
  2095. Sets the flag for a given :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>`. See :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` for more details.
  2096. ----
  2097. .. _class_VisualServer_method_instance_geometry_set_material_overlay:
  2098. - void **instance_geometry_set_material_overlay** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)**
  2099. 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>`.
  2100. ----
  2101. .. _class_VisualServer_method_instance_geometry_set_material_override:
  2102. - void **instance_geometry_set_material_override** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)**
  2103. 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>`.
  2104. ----
  2105. .. _class_VisualServer_method_instance_reset_physics_interpolation:
  2106. - void **instance_reset_physics_interpolation** **(** :ref:`RID<class_RID>` instance **)**
  2107. Prevents physics interpolation for the current physics tick.
  2108. This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location.
  2109. ----
  2110. .. _class_VisualServer_method_instance_set_base:
  2111. - void **instance_set_base** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` base **)**
  2112. 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.
  2113. ----
  2114. .. _class_VisualServer_method_instance_set_blend_shape_weight:
  2115. - void **instance_set_blend_shape_weight** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` shape, :ref:`float<class_float>` weight **)**
  2116. Sets the weight for a given blend shape associated with this instance.
  2117. ----
  2118. .. _class_VisualServer_method_instance_set_custom_aabb:
  2119. - void **instance_set_custom_aabb** **(** :ref:`RID<class_RID>` instance, :ref:`AABB<class_AABB>` aabb **)**
  2120. 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>`.
  2121. ----
  2122. .. _class_VisualServer_method_instance_set_exterior:
  2123. - void **instance_set_exterior** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` enabled **)**
  2124. Function not implemented in Godot 3.x.
  2125. ----
  2126. .. _class_VisualServer_method_instance_set_extra_visibility_margin:
  2127. - void **instance_set_extra_visibility_margin** **(** :ref:`RID<class_RID>` instance, :ref:`float<class_float>` margin **)**
  2128. 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>`.
  2129. ----
  2130. .. _class_VisualServer_method_instance_set_interpolated:
  2131. - void **instance_set_interpolated** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` interpolated **)**
  2132. Turns on and off physics interpolation for the instance.
  2133. ----
  2134. .. _class_VisualServer_method_instance_set_layer_mask:
  2135. - void **instance_set_layer_mask** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` mask **)**
  2136. Sets the render layers that this instance will be drawn to. Equivalent to :ref:`VisualInstance.layers<class_VisualInstance_property_layers>`.
  2137. ----
  2138. .. _class_VisualServer_method_instance_set_scenario:
  2139. - void **instance_set_scenario** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` scenario **)**
  2140. Sets the scenario that the instance is in. The scenario is the 3D world that the objects will be displayed in.
  2141. ----
  2142. .. _class_VisualServer_method_instance_set_surface_material:
  2143. - void **instance_set_surface_material** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)**
  2144. Sets the material of a specific surface. Equivalent to :ref:`MeshInstance.set_surface_material<class_MeshInstance_method_set_surface_material>`.
  2145. ----
  2146. .. _class_VisualServer_method_instance_set_transform:
  2147. - void **instance_set_transform** **(** :ref:`RID<class_RID>` instance, :ref:`Transform<class_Transform>` transform **)**
  2148. Sets the world space transform of the instance. Equivalent to :ref:`Spatial.transform<class_Spatial_property_transform>`.
  2149. ----
  2150. .. _class_VisualServer_method_instance_set_use_lightmap:
  2151. - 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 ) **)**
  2152. Sets the lightmap to use with this instance.
  2153. ----
  2154. .. _class_VisualServer_method_instance_set_visible:
  2155. - void **instance_set_visible** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` visible **)**
  2156. Sets whether an instance is drawn or not. Equivalent to :ref:`Spatial.visible<class_Spatial_property_visible>`.
  2157. ----
  2158. .. _class_VisualServer_method_instances_cull_aabb:
  2159. - :ref:`Array<class_Array>` **instances_cull_aabb** **(** :ref:`AABB<class_AABB>` aabb, :ref:`RID<class_RID>` scenario **)** |const|
  2160. 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.
  2161. \ **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  2162. ----
  2163. .. _class_VisualServer_method_instances_cull_convex:
  2164. - :ref:`Array<class_Array>` **instances_cull_convex** **(** :ref:`Array<class_Array>` convex, :ref:`RID<class_RID>` scenario **)** |const|
  2165. 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.
  2166. \ **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  2167. ----
  2168. .. _class_VisualServer_method_instances_cull_ray:
  2169. - :ref:`Array<class_Array>` **instances_cull_ray** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`RID<class_RID>` scenario **)** |const|
  2170. 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.
  2171. \ **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  2172. ----
  2173. .. _class_VisualServer_method_light_directional_set_blend_splits:
  2174. - void **light_directional_set_blend_splits** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**
  2175. 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>`.
  2176. ----
  2177. .. _class_VisualServer_method_light_directional_set_shadow_depth_range_mode:
  2178. - void **light_directional_set_shadow_depth_range_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` range_mode **)**
  2179. 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.
  2180. ----
  2181. .. _class_VisualServer_method_light_directional_set_shadow_mode:
  2182. - void **light_directional_set_shadow_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` mode **)**
  2183. 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.
  2184. ----
  2185. .. _class_VisualServer_method_light_omni_set_shadow_detail:
  2186. - void **light_omni_set_shadow_detail** **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowDetail<enum_VisualServer_LightOmniShadowDetail>` detail **)**
  2187. 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>`.
  2188. ----
  2189. .. _class_VisualServer_method_light_omni_set_shadow_mode:
  2190. - void **light_omni_set_shadow_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowMode<enum_VisualServer_LightOmniShadowMode>` mode **)**
  2191. 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>`.
  2192. ----
  2193. .. _class_VisualServer_method_light_set_bake_mode:
  2194. - void **light_set_bake_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightBakeMode<enum_VisualServer_LightBakeMode>` bake_mode **)**
  2195. 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.
  2196. ----
  2197. .. _class_VisualServer_method_light_set_color:
  2198. - void **light_set_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  2199. Sets the color of the light. Equivalent to :ref:`Light.light_color<class_Light_property_light_color>`.
  2200. ----
  2201. .. _class_VisualServer_method_light_set_cull_mask:
  2202. - void **light_set_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  2203. 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>`.
  2204. ----
  2205. .. _class_VisualServer_method_light_set_negative:
  2206. - void **light_set_negative** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**
  2207. If ``true``, light will subtract light instead of adding light. Equivalent to :ref:`Light.light_negative<class_Light_property_light_negative>`.
  2208. ----
  2209. .. _class_VisualServer_method_light_set_param:
  2210. - void **light_set_param** **(** :ref:`RID<class_RID>` light, :ref:`LightParam<enum_VisualServer_LightParam>` param, :ref:`float<class_float>` value **)**
  2211. Sets the specified light parameter. See :ref:`LightParam<enum_VisualServer_LightParam>` for options. Equivalent to :ref:`Light.set_param<class_Light_method_set_param>`.
  2212. ----
  2213. .. _class_VisualServer_method_light_set_projector:
  2214. - void **light_set_projector** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)**
  2215. Not implemented in Godot 3.x.
  2216. ----
  2217. .. _class_VisualServer_method_light_set_reverse_cull_face_mode:
  2218. - void **light_set_reverse_cull_face_mode** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  2219. 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>`.
  2220. ----
  2221. .. _class_VisualServer_method_light_set_shadow:
  2222. - void **light_set_shadow** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  2223. If ``true``, light will cast shadows. Equivalent to :ref:`Light.shadow_enabled<class_Light_property_shadow_enabled>`.
  2224. ----
  2225. .. _class_VisualServer_method_light_set_shadow_color:
  2226. - void **light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  2227. Sets the color of the shadow cast by the light. Equivalent to :ref:`Light.shadow_color<class_Light_property_shadow_color>`.
  2228. ----
  2229. .. _class_VisualServer_method_light_set_use_gi:
  2230. - void **light_set_use_gi** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  2231. 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.
  2232. ----
  2233. .. _class_VisualServer_method_lightmap_capture_create:
  2234. - :ref:`RID<class_RID>` **lightmap_capture_create** **(** **)**
  2235. 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.
  2236. 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.
  2237. 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.
  2238. ----
  2239. .. _class_VisualServer_method_lightmap_capture_get_bounds:
  2240. - :ref:`AABB<class_AABB>` **lightmap_capture_get_bounds** **(** :ref:`RID<class_RID>` capture **)** |const|
  2241. Returns the size of the lightmap capture area.
  2242. ----
  2243. .. _class_VisualServer_method_lightmap_capture_get_energy:
  2244. - :ref:`float<class_float>` **lightmap_capture_get_energy** **(** :ref:`RID<class_RID>` capture **)** |const|
  2245. Returns the energy multiplier used by the lightmap capture.
  2246. ----
  2247. .. _class_VisualServer_method_lightmap_capture_get_octree:
  2248. - :ref:`PoolByteArray<class_PoolByteArray>` **lightmap_capture_get_octree** **(** :ref:`RID<class_RID>` capture **)** |const|
  2249. Returns the octree used by the lightmap capture.
  2250. ----
  2251. .. _class_VisualServer_method_lightmap_capture_get_octree_cell_subdiv:
  2252. - :ref:`int<class_int>` **lightmap_capture_get_octree_cell_subdiv** **(** :ref:`RID<class_RID>` capture **)** |const|
  2253. Returns the cell subdivision amount used by this lightmap capture's octree.
  2254. ----
  2255. .. _class_VisualServer_method_lightmap_capture_get_octree_cell_transform:
  2256. - :ref:`Transform<class_Transform>` **lightmap_capture_get_octree_cell_transform** **(** :ref:`RID<class_RID>` capture **)** |const|
  2257. Returns the cell transform for this lightmap capture's octree.
  2258. ----
  2259. .. _class_VisualServer_method_lightmap_capture_is_interior:
  2260. - :ref:`bool<class_bool>` **lightmap_capture_is_interior** **(** :ref:`RID<class_RID>` capture **)** |const|
  2261. Returns ``true`` if capture is in "interior" mode.
  2262. ----
  2263. .. _class_VisualServer_method_lightmap_capture_set_bounds:
  2264. - void **lightmap_capture_set_bounds** **(** :ref:`RID<class_RID>` capture, :ref:`AABB<class_AABB>` bounds **)**
  2265. Sets the size of the area covered by the lightmap capture. Equivalent to :ref:`BakedLightmapData.bounds<class_BakedLightmapData_property_bounds>`.
  2266. ----
  2267. .. _class_VisualServer_method_lightmap_capture_set_energy:
  2268. - void **lightmap_capture_set_energy** **(** :ref:`RID<class_RID>` capture, :ref:`float<class_float>` energy **)**
  2269. Sets the energy multiplier for this lightmap capture. Equivalent to :ref:`BakedLightmapData.energy<class_BakedLightmapData_property_energy>`.
  2270. ----
  2271. .. _class_VisualServer_method_lightmap_capture_set_interior:
  2272. - void **lightmap_capture_set_interior** **(** :ref:`RID<class_RID>` capture, :ref:`bool<class_bool>` interior **)**
  2273. Sets the "interior" mode for this lightmap capture. Equivalent to :ref:`BakedLightmapData.interior<class_BakedLightmapData_property_interior>`.
  2274. ----
  2275. .. _class_VisualServer_method_lightmap_capture_set_octree:
  2276. - void **lightmap_capture_set_octree** **(** :ref:`RID<class_RID>` capture, :ref:`PoolByteArray<class_PoolByteArray>` octree **)**
  2277. 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>`.
  2278. ----
  2279. .. _class_VisualServer_method_lightmap_capture_set_octree_cell_subdiv:
  2280. - void **lightmap_capture_set_octree_cell_subdiv** **(** :ref:`RID<class_RID>` capture, :ref:`int<class_int>` subdiv **)**
  2281. Sets the subdivision level of this lightmap capture's octree. Equivalent to :ref:`BakedLightmapData.cell_subdiv<class_BakedLightmapData_property_cell_subdiv>`.
  2282. ----
  2283. .. _class_VisualServer_method_lightmap_capture_set_octree_cell_transform:
  2284. - void **lightmap_capture_set_octree_cell_transform** **(** :ref:`RID<class_RID>` capture, :ref:`Transform<class_Transform>` xform **)**
  2285. Sets the octree cell transform for this lightmap capture's octree. Equivalent to :ref:`BakedLightmapData.cell_space_transform<class_BakedLightmapData_property_cell_space_transform>`.
  2286. ----
  2287. .. _class_VisualServer_method_make_sphere_mesh:
  2288. - :ref:`RID<class_RID>` **make_sphere_mesh** **(** :ref:`int<class_int>` latitudes, :ref:`int<class_int>` longitudes, :ref:`float<class_float>` radius **)**
  2289. Returns a mesh of a sphere with the given amount of horizontal and vertical subdivisions.
  2290. ----
  2291. .. _class_VisualServer_method_material_create:
  2292. - :ref:`RID<class_RID>` **material_create** **(** **)**
  2293. 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.
  2294. 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.
  2295. ----
  2296. .. _class_VisualServer_method_material_get_param:
  2297. - :ref:`Variant<class_Variant>` **material_get_param** **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter **)** |const|
  2298. Returns the value of a certain material's parameter.
  2299. ----
  2300. .. _class_VisualServer_method_material_get_param_default:
  2301. - :ref:`Variant<class_Variant>` **material_get_param_default** **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter **)** |const|
  2302. Returns the default value for the param if available. Returns ``null`` otherwise.
  2303. ----
  2304. .. _class_VisualServer_method_material_get_shader:
  2305. - :ref:`RID<class_RID>` **material_get_shader** **(** :ref:`RID<class_RID>` shader_material **)** |const|
  2306. Returns the shader of a certain material's shader. Returns an empty RID if the material doesn't have a shader.
  2307. ----
  2308. .. _class_VisualServer_method_material_set_line_width:
  2309. - void **material_set_line_width** **(** :ref:`RID<class_RID>` material, :ref:`float<class_float>` width **)**
  2310. Sets a material's line width.
  2311. ----
  2312. .. _class_VisualServer_method_material_set_next_pass:
  2313. - void **material_set_next_pass** **(** :ref:`RID<class_RID>` material, :ref:`RID<class_RID>` next_material **)**
  2314. Sets an object's next material.
  2315. ----
  2316. .. _class_VisualServer_method_material_set_param:
  2317. - void **material_set_param** **(** :ref:`RID<class_RID>` material, :ref:`String<class_String>` parameter, :ref:`Variant<class_Variant>` value **)**
  2318. Sets a material's parameter.
  2319. ----
  2320. .. _class_VisualServer_method_material_set_render_priority:
  2321. - void **material_set_render_priority** **(** :ref:`RID<class_RID>` material, :ref:`int<class_int>` priority **)**
  2322. Sets a material's render priority.
  2323. ----
  2324. .. _class_VisualServer_method_material_set_shader:
  2325. - void **material_set_shader** **(** :ref:`RID<class_RID>` shader_material, :ref:`RID<class_RID>` shader **)**
  2326. Sets a shader material's shader.
  2327. ----
  2328. .. _class_VisualServer_method_mesh_add_surface_from_arrays:
  2329. - 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 **)**
  2330. Adds a surface generated from the Arrays to a mesh. See :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` constants for types.
  2331. ----
  2332. .. _class_VisualServer_method_mesh_clear:
  2333. - void **mesh_clear** **(** :ref:`RID<class_RID>` mesh **)**
  2334. Removes all surfaces from a mesh.
  2335. ----
  2336. .. _class_VisualServer_method_mesh_create:
  2337. - :ref:`RID<class_RID>` **mesh_create** **(** **)**
  2338. 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.
  2339. 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.
  2340. 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.
  2341. ----
  2342. .. _class_VisualServer_method_mesh_get_blend_shape_count:
  2343. - :ref:`int<class_int>` **mesh_get_blend_shape_count** **(** :ref:`RID<class_RID>` mesh **)** |const|
  2344. Returns a mesh's blend shape count.
  2345. ----
  2346. .. _class_VisualServer_method_mesh_get_blend_shape_mode:
  2347. - :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` **mesh_get_blend_shape_mode** **(** :ref:`RID<class_RID>` mesh **)** |const|
  2348. Returns a mesh's blend shape mode.
  2349. ----
  2350. .. _class_VisualServer_method_mesh_get_custom_aabb:
  2351. - :ref:`AABB<class_AABB>` **mesh_get_custom_aabb** **(** :ref:`RID<class_RID>` mesh **)** |const|
  2352. Returns a mesh's custom aabb.
  2353. ----
  2354. .. _class_VisualServer_method_mesh_get_surface_count:
  2355. - :ref:`int<class_int>` **mesh_get_surface_count** **(** :ref:`RID<class_RID>` mesh **)** |const|
  2356. Returns a mesh's number of surfaces.
  2357. ----
  2358. .. _class_VisualServer_method_mesh_remove_surface:
  2359. - void **mesh_remove_surface** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` index **)**
  2360. Removes a mesh's surface.
  2361. ----
  2362. .. _class_VisualServer_method_mesh_set_blend_shape_count:
  2363. - void **mesh_set_blend_shape_count** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` amount **)**
  2364. Sets a mesh's blend shape count.
  2365. ----
  2366. .. _class_VisualServer_method_mesh_set_blend_shape_mode:
  2367. - void **mesh_set_blend_shape_mode** **(** :ref:`RID<class_RID>` mesh, :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` mode **)**
  2368. Sets a mesh's blend shape mode.
  2369. ----
  2370. .. _class_VisualServer_method_mesh_set_custom_aabb:
  2371. - void **mesh_set_custom_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`AABB<class_AABB>` aabb **)**
  2372. Sets a mesh's custom aabb.
  2373. ----
  2374. .. _class_VisualServer_method_mesh_surface_get_aabb:
  2375. - :ref:`AABB<class_AABB>` **mesh_surface_get_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2376. Returns a mesh's surface's aabb.
  2377. ----
  2378. .. _class_VisualServer_method_mesh_surface_get_array:
  2379. - :ref:`PoolByteArray<class_PoolByteArray>` **mesh_surface_get_array** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2380. Returns a mesh's surface's vertex buffer.
  2381. ----
  2382. .. _class_VisualServer_method_mesh_surface_get_array_index_len:
  2383. - :ref:`int<class_int>` **mesh_surface_get_array_index_len** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2384. Returns a mesh's surface's amount of indices.
  2385. ----
  2386. .. _class_VisualServer_method_mesh_surface_get_array_len:
  2387. - :ref:`int<class_int>` **mesh_surface_get_array_len** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2388. Returns a mesh's surface's amount of vertices.
  2389. ----
  2390. .. _class_VisualServer_method_mesh_surface_get_arrays:
  2391. - :ref:`Array<class_Array>` **mesh_surface_get_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2392. Returns a mesh's surface's buffer arrays.
  2393. ----
  2394. .. _class_VisualServer_method_mesh_surface_get_blend_shape_arrays:
  2395. - :ref:`Array<class_Array>` **mesh_surface_get_blend_shape_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2396. Returns a mesh's surface's arrays for blend shapes.
  2397. ----
  2398. .. _class_VisualServer_method_mesh_surface_get_format:
  2399. - :ref:`int<class_int>` **mesh_surface_get_format** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2400. Returns the format of a mesh's surface.
  2401. ----
  2402. .. _class_VisualServer_method_mesh_surface_get_format_offset:
  2403. - :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|
  2404. Function is unused in Godot 3.x.
  2405. ----
  2406. .. _class_VisualServer_method_mesh_surface_get_format_stride:
  2407. - :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|
  2408. ----
  2409. .. _class_VisualServer_method_mesh_surface_get_index_array:
  2410. - :ref:`PoolByteArray<class_PoolByteArray>` **mesh_surface_get_index_array** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2411. Returns a mesh's surface's index buffer.
  2412. ----
  2413. .. _class_VisualServer_method_mesh_surface_get_material:
  2414. - :ref:`RID<class_RID>` **mesh_surface_get_material** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2415. Returns a mesh's surface's material.
  2416. ----
  2417. .. _class_VisualServer_method_mesh_surface_get_primitive_type:
  2418. - :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` **mesh_surface_get_primitive_type** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2419. Returns the primitive type of a mesh's surface.
  2420. ----
  2421. .. _class_VisualServer_method_mesh_surface_get_skeleton_aabb:
  2422. - :ref:`Array<class_Array>` **mesh_surface_get_skeleton_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** |const|
  2423. Returns the aabb of a mesh's surface's skeleton.
  2424. ----
  2425. .. _class_VisualServer_method_mesh_surface_set_material:
  2426. - void **mesh_surface_set_material** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)**
  2427. Sets a mesh's surface's material.
  2428. ----
  2429. .. _class_VisualServer_method_mesh_surface_update_region:
  2430. - 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 **)**
  2431. 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.
  2432. ----
  2433. .. _class_VisualServer_method_multimesh_allocate:
  2434. - 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 **)**
  2435. 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>`.
  2436. ----
  2437. .. _class_VisualServer_method_multimesh_create:
  2438. - :ref:`RID<class_RID>` **multimesh_create** **(** **)**
  2439. 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.
  2440. 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.
  2441. 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.
  2442. ----
  2443. .. _class_VisualServer_method_multimesh_get_aabb:
  2444. - :ref:`AABB<class_AABB>` **multimesh_get_aabb** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  2445. Calculates and returns the axis-aligned bounding box that encloses all instances within the multimesh.
  2446. ----
  2447. .. _class_VisualServer_method_multimesh_get_instance_count:
  2448. - :ref:`int<class_int>` **multimesh_get_instance_count** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  2449. Returns the number of instances allocated for this multimesh.
  2450. ----
  2451. .. _class_VisualServer_method_multimesh_get_mesh:
  2452. - :ref:`RID<class_RID>` **multimesh_get_mesh** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  2453. Returns the RID of the mesh that will be used in drawing this multimesh.
  2454. ----
  2455. .. _class_VisualServer_method_multimesh_get_visible_instances:
  2456. - :ref:`int<class_int>` **multimesh_get_visible_instances** **(** :ref:`RID<class_RID>` multimesh **)** |const|
  2457. Returns the number of visible instances for this multimesh.
  2458. ----
  2459. .. _class_VisualServer_method_multimesh_instance_get_color:
  2460. - :ref:`Color<class_Color>` **multimesh_instance_get_color** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  2461. Returns the color by which the specified instance will be modulated.
  2462. ----
  2463. .. _class_VisualServer_method_multimesh_instance_get_custom_data:
  2464. - :ref:`Color<class_Color>` **multimesh_instance_get_custom_data** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  2465. Returns the custom data associated with the specified instance.
  2466. ----
  2467. .. _class_VisualServer_method_multimesh_instance_get_transform:
  2468. - :ref:`Transform<class_Transform>` **multimesh_instance_get_transform** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  2469. Returns the :ref:`Transform<class_Transform>` of the specified instance.
  2470. ----
  2471. .. _class_VisualServer_method_multimesh_instance_get_transform_2d:
  2472. - :ref:`Transform2D<class_Transform2D>` **multimesh_instance_get_transform_2d** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** |const|
  2473. Returns the :ref:`Transform2D<class_Transform2D>` of the specified instance. For use when the multimesh is set to use 2D transforms.
  2474. ----
  2475. .. _class_VisualServer_method_multimesh_instance_reset_physics_interpolation:
  2476. - void **multimesh_instance_reset_physics_interpolation** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)**
  2477. Prevents physics interpolation for the specified instance during the current physics tick.
  2478. This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location.
  2479. ----
  2480. .. _class_VisualServer_method_multimesh_instance_set_color:
  2481. - void **multimesh_instance_set_color** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)**
  2482. Sets the color by which this instance will be modulated. Equivalent to :ref:`MultiMesh.set_instance_color<class_MultiMesh_method_set_instance_color>`.
  2483. ----
  2484. .. _class_VisualServer_method_multimesh_instance_set_custom_data:
  2485. - void **multimesh_instance_set_custom_data** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` custom_data **)**
  2486. 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>`.
  2487. ----
  2488. .. _class_VisualServer_method_multimesh_instance_set_transform:
  2489. - void **multimesh_instance_set_transform** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform<class_Transform>` transform **)**
  2490. Sets the :ref:`Transform<class_Transform>` for this instance. Equivalent to :ref:`MultiMesh.set_instance_transform<class_MultiMesh_method_set_instance_transform>`.
  2491. ----
  2492. .. _class_VisualServer_method_multimesh_instance_set_transform_2d:
  2493. - void **multimesh_instance_set_transform_2d** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform2D<class_Transform2D>` transform **)**
  2494. 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>`.
  2495. ----
  2496. .. _class_VisualServer_method_multimesh_set_as_bulk_array:
  2497. - void **multimesh_set_as_bulk_array** **(** :ref:`RID<class_RID>` multimesh, :ref:`PoolRealArray<class_PoolRealArray>` array **)**
  2498. 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.
  2499. 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.
  2500. \ :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.
  2501. ----
  2502. .. _class_VisualServer_method_multimesh_set_as_bulk_array_interpolated:
  2503. - void **multimesh_set_as_bulk_array_interpolated** **(** :ref:`RID<class_RID>` multimesh, :ref:`PoolRealArray<class_PoolRealArray>` array, :ref:`PoolRealArray<class_PoolRealArray>` array_previous **)**
  2504. Alternative version of :ref:`multimesh_set_as_bulk_array<class_VisualServer_method_multimesh_set_as_bulk_array>` for use with physics interpolation.
  2505. Takes both an array of current data and an array of data for the previous physics tick.
  2506. ----
  2507. .. _class_VisualServer_method_multimesh_set_mesh:
  2508. - void **multimesh_set_mesh** **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)**
  2509. Sets the mesh to be drawn by the multimesh. Equivalent to :ref:`MultiMesh.mesh<class_MultiMesh_property_mesh>`.
  2510. ----
  2511. .. _class_VisualServer_method_multimesh_set_physics_interpolated:
  2512. - void **multimesh_set_physics_interpolated** **(** :ref:`RID<class_RID>` multimesh, :ref:`bool<class_bool>` interpolated **)**
  2513. Turns on and off physics interpolation for the :ref:`MultiMesh<class_MultiMesh>`.
  2514. ----
  2515. .. _class_VisualServer_method_multimesh_set_physics_interpolation_quality:
  2516. - void **multimesh_set_physics_interpolation_quality** **(** :ref:`RID<class_RID>` multimesh, :ref:`MultimeshPhysicsInterpolationQuality<enum_VisualServer_MultimeshPhysicsInterpolationQuality>` quality **)**
  2517. Sets the physics interpolation quality for the :ref:`MultiMesh<class_MultiMesh>`.
  2518. A value of ``0`` gives fast but low quality interpolation, a value of ``1`` gives slower but higher quality interpolation.
  2519. ----
  2520. .. _class_VisualServer_method_multimesh_set_visible_instances:
  2521. - void **multimesh_set_visible_instances** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)**
  2522. 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>`.
  2523. ----
  2524. .. _class_VisualServer_method_omni_light_create:
  2525. - :ref:`RID<class_RID>` **omni_light_create** **(** **)**
  2526. 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.
  2527. 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.
  2528. 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.
  2529. ----
  2530. .. _class_VisualServer_method_particles_create:
  2531. - :ref:`RID<class_RID>` **particles_create** **(** **)**
  2532. 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.
  2533. 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.
  2534. 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.
  2535. ----
  2536. .. _class_VisualServer_method_particles_get_current_aabb:
  2537. - :ref:`AABB<class_AABB>` **particles_get_current_aabb** **(** :ref:`RID<class_RID>` particles **)**
  2538. Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to :ref:`Particles.capture_aabb<class_Particles_method_capture_aabb>`.
  2539. ----
  2540. .. _class_VisualServer_method_particles_get_emitting:
  2541. - :ref:`bool<class_bool>` **particles_get_emitting** **(** :ref:`RID<class_RID>` particles **)**
  2542. Returns ``true`` if particles are currently set to emitting.
  2543. ----
  2544. .. _class_VisualServer_method_particles_is_inactive:
  2545. - :ref:`bool<class_bool>` **particles_is_inactive** **(** :ref:`RID<class_RID>` particles **)**
  2546. Returns ``true`` if particles are not emitting and particles are set to inactive.
  2547. ----
  2548. .. _class_VisualServer_method_particles_request_process:
  2549. - void **particles_request_process** **(** :ref:`RID<class_RID>` particles **)**
  2550. 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>`.
  2551. ----
  2552. .. _class_VisualServer_method_particles_restart:
  2553. - void **particles_restart** **(** :ref:`RID<class_RID>` particles **)**
  2554. Reset the particles on the next update. Equivalent to :ref:`Particles.restart<class_Particles_method_restart>`.
  2555. ----
  2556. .. _class_VisualServer_method_particles_set_amount:
  2557. - void **particles_set_amount** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)**
  2558. Sets the number of particles to be drawn and allocates the memory for them. Equivalent to :ref:`Particles.amount<class_Particles_property_amount>`.
  2559. ----
  2560. .. _class_VisualServer_method_particles_set_custom_aabb:
  2561. - void **particles_set_custom_aabb** **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)**
  2562. Sets a custom axis-aligned bounding box for the particle system. Equivalent to :ref:`Particles.visibility_aabb<class_Particles_property_visibility_aabb>`.
  2563. ----
  2564. .. _class_VisualServer_method_particles_set_draw_order:
  2565. - void **particles_set_draw_order** **(** :ref:`RID<class_RID>` particles, :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` order **)**
  2566. 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>`.
  2567. ----
  2568. .. _class_VisualServer_method_particles_set_draw_pass_mesh:
  2569. - void **particles_set_draw_pass_mesh** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` pass, :ref:`RID<class_RID>` mesh **)**
  2570. 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>`.
  2571. ----
  2572. .. _class_VisualServer_method_particles_set_draw_passes:
  2573. - void **particles_set_draw_passes** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` count **)**
  2574. Sets the number of draw passes to use. Equivalent to :ref:`Particles.draw_passes<class_Particles_property_draw_passes>`.
  2575. ----
  2576. .. _class_VisualServer_method_particles_set_emission_transform:
  2577. - void **particles_set_emission_transform** **(** :ref:`RID<class_RID>` particles, :ref:`Transform<class_Transform>` transform **)**
  2578. Sets the :ref:`Transform<class_Transform>` that will be used by the particles when they first emit.
  2579. ----
  2580. .. _class_VisualServer_method_particles_set_emitting:
  2581. - void **particles_set_emitting** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)**
  2582. 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>`.
  2583. ----
  2584. .. _class_VisualServer_method_particles_set_explosiveness_ratio:
  2585. - void **particles_set_explosiveness_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
  2586. Sets the explosiveness ratio. Equivalent to :ref:`Particles.explosiveness<class_Particles_property_explosiveness>`.
  2587. ----
  2588. .. _class_VisualServer_method_particles_set_fixed_fps:
  2589. - void **particles_set_fixed_fps** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` fps **)**
  2590. Sets the frame rate that the particle system rendering will be fixed to. Equivalent to :ref:`Particles.fixed_fps<class_Particles_property_fixed_fps>`.
  2591. ----
  2592. .. _class_VisualServer_method_particles_set_fractional_delta:
  2593. - void **particles_set_fractional_delta** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**
  2594. If ``true``, uses fractional delta which smooths the movement of the particles. Equivalent to :ref:`Particles.fract_delta<class_Particles_property_fract_delta>`.
  2595. ----
  2596. .. _class_VisualServer_method_particles_set_lifetime:
  2597. - void **particles_set_lifetime** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)**
  2598. Sets the lifetime of each particle in the system. Equivalent to :ref:`Particles.lifetime<class_Particles_property_lifetime>`.
  2599. ----
  2600. .. _class_VisualServer_method_particles_set_one_shot:
  2601. - void **particles_set_one_shot** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` one_shot **)**
  2602. If ``true``, particles will emit once and then stop. Equivalent to :ref:`Particles.one_shot<class_Particles_property_one_shot>`.
  2603. ----
  2604. .. _class_VisualServer_method_particles_set_pre_process_time:
  2605. - void **particles_set_pre_process_time** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` time **)**
  2606. 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>`.
  2607. ----
  2608. .. _class_VisualServer_method_particles_set_process_material:
  2609. - void **particles_set_process_material** **(** :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` material **)**
  2610. Sets the material for processing the particles.
  2611. \ **Note:** This is not the material used to draw the materials. Equivalent to :ref:`Particles.process_material<class_Particles_property_process_material>`.
  2612. ----
  2613. .. _class_VisualServer_method_particles_set_randomness_ratio:
  2614. - void **particles_set_randomness_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
  2615. Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to :ref:`Particles.randomness<class_Particles_property_randomness>`.
  2616. ----
  2617. .. _class_VisualServer_method_particles_set_speed_scale:
  2618. - void **particles_set_speed_scale** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` scale **)**
  2619. Sets the speed scale of the particle system. Equivalent to :ref:`Particles.speed_scale<class_Particles_property_speed_scale>`.
  2620. ----
  2621. .. _class_VisualServer_method_particles_set_use_local_coordinates:
  2622. - void **particles_set_use_local_coordinates** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**
  2623. If ``true``, particles use local coordinates. If ``false`` they use global coordinates. Equivalent to :ref:`Particles.local_coords<class_Particles_property_local_coords>`.
  2624. ----
  2625. .. _class_VisualServer_method_reflection_probe_create:
  2626. - :ref:`RID<class_RID>` **reflection_probe_create** **(** **)**
  2627. 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.
  2628. 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.
  2629. 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.
  2630. ----
  2631. .. _class_VisualServer_method_reflection_probe_set_as_interior:
  2632. - void **reflection_probe_set_as_interior** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2633. If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`ReflectionProbe.interior_enable<class_ReflectionProbe_property_interior_enable>`.
  2634. ----
  2635. .. _class_VisualServer_method_reflection_probe_set_cull_mask:
  2636. - void **reflection_probe_set_cull_mask** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)**
  2637. 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>`.
  2638. ----
  2639. .. _class_VisualServer_method_reflection_probe_set_enable_box_projection:
  2640. - void **reflection_probe_set_enable_box_projection** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2641. 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>`.
  2642. ----
  2643. .. _class_VisualServer_method_reflection_probe_set_enable_shadows:
  2644. - void **reflection_probe_set_enable_shadows** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2645. 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>`.
  2646. ----
  2647. .. _class_VisualServer_method_reflection_probe_set_extents:
  2648. - void **reflection_probe_set_extents** **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` extents **)**
  2649. Sets the size of the area that the reflection probe will capture. Equivalent to :ref:`ReflectionProbe.extents<class_ReflectionProbe_property_extents>`.
  2650. ----
  2651. .. _class_VisualServer_method_reflection_probe_set_intensity:
  2652. - void **reflection_probe_set_intensity** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` intensity **)**
  2653. Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to :ref:`ReflectionProbe.intensity<class_ReflectionProbe_property_intensity>`.
  2654. ----
  2655. .. _class_VisualServer_method_reflection_probe_set_interior_ambient:
  2656. - void **reflection_probe_set_interior_ambient** **(** :ref:`RID<class_RID>` probe, :ref:`Color<class_Color>` color **)**
  2657. 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>`.
  2658. ----
  2659. .. _class_VisualServer_method_reflection_probe_set_interior_ambient_energy:
  2660. - void **reflection_probe_set_interior_ambient_energy** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)**
  2661. 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>`.
  2662. ----
  2663. .. _class_VisualServer_method_reflection_probe_set_interior_ambient_probe_contribution:
  2664. - void **reflection_probe_set_interior_ambient_probe_contribution** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` contrib **)**
  2665. 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>`.
  2666. ----
  2667. .. _class_VisualServer_method_reflection_probe_set_max_distance:
  2668. - void **reflection_probe_set_max_distance** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` distance **)**
  2669. 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>`.
  2670. ----
  2671. .. _class_VisualServer_method_reflection_probe_set_origin_offset:
  2672. - void **reflection_probe_set_origin_offset** **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` offset **)**
  2673. 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>`.
  2674. ----
  2675. .. _class_VisualServer_method_reflection_probe_set_update_mode:
  2676. - void **reflection_probe_set_update_mode** **(** :ref:`RID<class_RID>` probe, :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` mode **)**
  2677. Sets how often the reflection probe updates. Can either be once or every frame. See :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` for options.
  2678. ----
  2679. .. _class_VisualServer_method_request_frame_drawn_callback:
  2680. - void **request_frame_drawn_callback** **(** :ref:`Object<class_Object>` where, :ref:`String<class_String>` method, :ref:`Variant<class_Variant>` userdata **)**
  2681. Schedules a callback to the corresponding named ``method`` on ``where`` after a frame has been drawn.
  2682. The callback method must use only 1 argument which will be called with ``userdata``.
  2683. ----
  2684. .. _class_VisualServer_method_scenario_create:
  2685. - :ref:`RID<class_RID>` **scenario_create** **(** **)**
  2686. 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.
  2687. 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.
  2688. The scenario is the 3D world that all the visual instances exist in.
  2689. ----
  2690. .. _class_VisualServer_method_scenario_set_debug:
  2691. - void **scenario_set_debug** **(** :ref:`RID<class_RID>` scenario, :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` debug_mode **)**
  2692. Sets the :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` for this scenario. See :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` for options.
  2693. ----
  2694. .. _class_VisualServer_method_scenario_set_environment:
  2695. - void **scenario_set_environment** **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)**
  2696. Sets the environment that will be used with this scenario.
  2697. ----
  2698. .. _class_VisualServer_method_scenario_set_fallback_environment:
  2699. - void **scenario_set_fallback_environment** **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)**
  2700. 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.
  2701. ----
  2702. .. _class_VisualServer_method_scenario_set_reflection_atlas_size:
  2703. - void **scenario_set_reflection_atlas_size** **(** :ref:`RID<class_RID>` scenario, :ref:`int<class_int>` size, :ref:`int<class_int>` subdiv **)**
  2704. Sets the size of the reflection atlas shared by all reflection probes in this scenario.
  2705. ----
  2706. .. _class_VisualServer_method_set_boot_image:
  2707. - 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 **)**
  2708. 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.
  2709. ----
  2710. .. _class_VisualServer_method_set_debug_generate_wireframes:
  2711. - void **set_debug_generate_wireframes** **(** :ref:`bool<class_bool>` generate **)**
  2712. If ``true``, the engine will generate wireframes for use with the wireframe debug mode.
  2713. ----
  2714. .. _class_VisualServer_method_set_default_clear_color:
  2715. - void **set_default_clear_color** **(** :ref:`Color<class_Color>` color **)**
  2716. Sets the default clear color which is used when a specific clear color has not been selected.
  2717. ----
  2718. .. _class_VisualServer_method_set_shader_async_hidden_forbidden:
  2719. - void **set_shader_async_hidden_forbidden** **(** :ref:`bool<class_bool>` forbidden **)**
  2720. If asynchronous shader compilation is enabled, this controls whether :ref:`SpatialMaterial.ASYNC_MODE_HIDDEN<class_SpatialMaterial_constant_ASYNC_MODE_HIDDEN>` is obeyed.
  2721. 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.
  2722. Reflection probes use this internally to ensure they capture everything regardless the shaders are ready or not.
  2723. ----
  2724. .. _class_VisualServer_method_set_shader_time_scale:
  2725. - void **set_shader_time_scale** **(** :ref:`float<class_float>` scale **)**
  2726. Sets the scale to apply to the passage of time for the shaders' ``TIME`` builtin.
  2727. The default value is ``1.0``, which means ``TIME`` will count the real time as it goes by, without narrowing or stretching it.
  2728. ----
  2729. .. _class_VisualServer_method_set_use_occlusion_culling:
  2730. - void **set_use_occlusion_culling** **(** :ref:`bool<class_bool>` enable **)**
  2731. Enables or disables occlusion culling.
  2732. ----
  2733. .. _class_VisualServer_method_shader_create:
  2734. - :ref:`RID<class_RID>` **shader_create** **(** **)**
  2735. 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.
  2736. 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.
  2737. ----
  2738. .. _class_VisualServer_method_shader_get_code:
  2739. - :ref:`String<class_String>` **shader_get_code** **(** :ref:`RID<class_RID>` shader **)** |const|
  2740. Returns a shader's code.
  2741. ----
  2742. .. _class_VisualServer_method_shader_get_default_texture_param:
  2743. - :ref:`RID<class_RID>` **shader_get_default_texture_param** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` name **)** |const|
  2744. Returns a default texture from a shader searched by name.
  2745. ----
  2746. .. _class_VisualServer_method_shader_get_param_list:
  2747. - :ref:`Array<class_Array>` **shader_get_param_list** **(** :ref:`RID<class_RID>` shader **)** |const|
  2748. Returns the parameters of a shader.
  2749. ----
  2750. .. _class_VisualServer_method_shader_set_code:
  2751. - void **shader_set_code** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` code **)**
  2752. Sets a shader's code.
  2753. ----
  2754. .. _class_VisualServer_method_shader_set_default_texture_param:
  2755. - void **shader_set_default_texture_param** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` name, :ref:`RID<class_RID>` texture **)**
  2756. Sets a shader's default texture. Overwrites the texture given by name.
  2757. ----
  2758. .. _class_VisualServer_method_skeleton_allocate:
  2759. - void **skeleton_allocate** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bones, :ref:`bool<class_bool>` is_2d_skeleton=false **)**
  2760. Allocates the GPU buffers for this skeleton.
  2761. ----
  2762. .. _class_VisualServer_method_skeleton_bone_get_transform:
  2763. - :ref:`Transform<class_Transform>` **skeleton_bone_get_transform** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** |const|
  2764. Returns the :ref:`Transform<class_Transform>` set for a specific bone of this skeleton.
  2765. ----
  2766. .. _class_VisualServer_method_skeleton_bone_get_transform_2d:
  2767. - :ref:`Transform2D<class_Transform2D>` **skeleton_bone_get_transform_2d** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** |const|
  2768. Returns the :ref:`Transform2D<class_Transform2D>` set for a specific bone of this skeleton.
  2769. ----
  2770. .. _class_VisualServer_method_skeleton_bone_set_transform:
  2771. - void **skeleton_bone_set_transform** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform<class_Transform>` transform **)**
  2772. Sets the :ref:`Transform<class_Transform>` for a specific bone of this skeleton.
  2773. ----
  2774. .. _class_VisualServer_method_skeleton_bone_set_transform_2d:
  2775. - void **skeleton_bone_set_transform_2d** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform2D<class_Transform2D>` transform **)**
  2776. Sets the :ref:`Transform2D<class_Transform2D>` for a specific bone of this skeleton.
  2777. ----
  2778. .. _class_VisualServer_method_skeleton_create:
  2779. - :ref:`RID<class_RID>` **skeleton_create** **(** **)**
  2780. 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.
  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. ----
  2783. .. _class_VisualServer_method_skeleton_get_bone_count:
  2784. - :ref:`int<class_int>` **skeleton_get_bone_count** **(** :ref:`RID<class_RID>` skeleton **)** |const|
  2785. Returns the number of bones allocated for this skeleton.
  2786. ----
  2787. .. _class_VisualServer_method_sky_create:
  2788. - :ref:`RID<class_RID>` **sky_create** **(** **)**
  2789. 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.
  2790. 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.
  2791. ----
  2792. .. _class_VisualServer_method_sky_set_texture:
  2793. - void **sky_set_texture** **(** :ref:`RID<class_RID>` sky, :ref:`RID<class_RID>` cube_map, :ref:`int<class_int>` radiance_size **)**
  2794. Sets a sky's texture.
  2795. ----
  2796. .. _class_VisualServer_method_spot_light_create:
  2797. - :ref:`RID<class_RID>` **spot_light_create** **(** **)**
  2798. 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.
  2799. 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.
  2800. 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.
  2801. ----
  2802. .. _class_VisualServer_method_sync:
  2803. - void **sync** **(** **)**
  2804. Not implemented in Godot 3.x.
  2805. ----
  2806. .. _class_VisualServer_method_texture_allocate:
  2807. - 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 **)**
  2808. Allocates the GPU memory for the texture.
  2809. ----
  2810. .. _class_VisualServer_method_texture_bind:
  2811. - void **texture_bind** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` number **)**
  2812. Binds the texture to a texture slot.
  2813. ----
  2814. .. _class_VisualServer_method_texture_create:
  2815. - :ref:`RID<class_RID>` **texture_create** **(** **)**
  2816. 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.
  2817. 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.
  2818. ----
  2819. .. _class_VisualServer_method_texture_create_from_image:
  2820. - :ref:`RID<class_RID>` **texture_create_from_image** **(** :ref:`Image<class_Image>` image, :ref:`int<class_int>` flags=7 **)**
  2821. Creates a texture, allocates the space for an image, and fills in the image.
  2822. ----
  2823. .. _class_VisualServer_method_texture_debug_usage:
  2824. - :ref:`Array<class_Array>` **texture_debug_usage** **(** **)**
  2825. Returns a list of all the textures and their information.
  2826. ----
  2827. .. _class_VisualServer_method_texture_get_data:
  2828. - :ref:`Image<class_Image>` **texture_get_data** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` cube_side=0 **)** |const|
  2829. 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.
  2830. ----
  2831. .. _class_VisualServer_method_texture_get_depth:
  2832. - :ref:`int<class_int>` **texture_get_depth** **(** :ref:`RID<class_RID>` texture **)** |const|
  2833. Returns the depth of the texture.
  2834. ----
  2835. .. _class_VisualServer_method_texture_get_flags:
  2836. - :ref:`int<class_int>` **texture_get_flags** **(** :ref:`RID<class_RID>` texture **)** |const|
  2837. Returns the flags of a texture.
  2838. ----
  2839. .. _class_VisualServer_method_texture_get_format:
  2840. - :ref:`Format<enum_Image_Format>` **texture_get_format** **(** :ref:`RID<class_RID>` texture **)** |const|
  2841. Returns the format of the texture's image.
  2842. ----
  2843. .. _class_VisualServer_method_texture_get_height:
  2844. - :ref:`int<class_int>` **texture_get_height** **(** :ref:`RID<class_RID>` texture **)** |const|
  2845. Returns the texture's height.
  2846. ----
  2847. .. _class_VisualServer_method_texture_get_path:
  2848. - :ref:`String<class_String>` **texture_get_path** **(** :ref:`RID<class_RID>` texture **)** |const|
  2849. Returns the texture's path.
  2850. ----
  2851. .. _class_VisualServer_method_texture_get_texid:
  2852. - :ref:`int<class_int>` **texture_get_texid** **(** :ref:`RID<class_RID>` texture **)** |const|
  2853. Returns the opengl id of the texture's image.
  2854. ----
  2855. .. _class_VisualServer_method_texture_get_type:
  2856. - :ref:`TextureType<enum_VisualServer_TextureType>` **texture_get_type** **(** :ref:`RID<class_RID>` texture **)** |const|
  2857. Returns the type of the texture, can be any of the :ref:`TextureType<enum_VisualServer_TextureType>`.
  2858. ----
  2859. .. _class_VisualServer_method_texture_get_width:
  2860. - :ref:`int<class_int>` **texture_get_width** **(** :ref:`RID<class_RID>` texture **)** |const|
  2861. Returns the texture's width.
  2862. ----
  2863. .. _class_VisualServer_method_texture_set_data:
  2864. - void **texture_set_data** **(** :ref:`RID<class_RID>` texture, :ref:`Image<class_Image>` image, :ref:`int<class_int>` layer=0 **)**
  2865. Sets the texture's image data. If it's a CubeMap, it sets the image data at a cube side.
  2866. ----
  2867. .. _class_VisualServer_method_texture_set_data_partial:
  2868. - 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 **)**
  2869. 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.
  2870. ----
  2871. .. _class_VisualServer_method_texture_set_flags:
  2872. - void **texture_set_flags** **(** :ref:`RID<class_RID>` texture, :ref:`int<class_int>` flags **)**
  2873. Sets the texture's flags. See :ref:`TextureFlags<enum_VisualServer_TextureFlags>` for options.
  2874. ----
  2875. .. _class_VisualServer_method_texture_set_path:
  2876. - void **texture_set_path** **(** :ref:`RID<class_RID>` texture, :ref:`String<class_String>` path **)**
  2877. Sets the texture's path.
  2878. ----
  2879. .. _class_VisualServer_method_texture_set_proxy:
  2880. - void **texture_set_proxy** **(** :ref:`RID<class_RID>` proxy, :ref:`RID<class_RID>` base **)**
  2881. 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.
  2882. 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:
  2883. ::
  2884. func _ready():
  2885. var viewport_rid = get_viewport().get_viewport_rid()
  2886. var viewport_texture_rid = VisualServer.viewport_get_texture(viewport_rid)
  2887. var proxy_texture = ImageTexture.new()
  2888. var viewport_texture_image_data = VisualServer.texture_get_data(viewport_texture_rid)
  2889. proxy_texture.create_from_image(viewport_texture_image_data)
  2890. var proxy_texture_rid = proxy_texture.get_rid()
  2891. VisualServer.texture_set_proxy(proxy_texture_rid, viewport_texture_rid)
  2892. $TextureRect.texture = proxy_texture
  2893. ----
  2894. .. _class_VisualServer_method_texture_set_shrink_all_x2_on_set_data:
  2895. - void **texture_set_shrink_all_x2_on_set_data** **(** :ref:`bool<class_bool>` shrink **)**
  2896. If ``true``, sets internal processes to shrink all image data to half the size.
  2897. ----
  2898. .. _class_VisualServer_method_texture_set_size_override:
  2899. - 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 **)**
  2900. Resizes the texture to the specified dimensions.
  2901. ----
  2902. .. _class_VisualServer_method_textures_keep_original:
  2903. - void **textures_keep_original** **(** :ref:`bool<class_bool>` enable **)**
  2904. If ``true``, the image will be stored in the texture's images array if overwritten.
  2905. ----
  2906. .. _class_VisualServer_method_viewport_attach_camera:
  2907. - void **viewport_attach_camera** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` camera **)**
  2908. Sets a viewport's camera.
  2909. ----
  2910. .. _class_VisualServer_method_viewport_attach_canvas:
  2911. - void **viewport_attach_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)**
  2912. Sets a viewport's canvas.
  2913. ----
  2914. .. _class_VisualServer_method_viewport_attach_to_screen:
  2915. - 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 **)**
  2916. 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.
  2917. For example, you can set the root viewport to not render at all with the following code:
  2918. ::
  2919. func _ready():
  2920. get_viewport().set_attach_to_screen_rect(Rect2())
  2921. $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
  2922. 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>`.
  2923. ----
  2924. .. _class_VisualServer_method_viewport_create:
  2925. - :ref:`RID<class_RID>` **viewport_create** **(** **)**
  2926. 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.
  2927. 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.
  2928. ----
  2929. .. _class_VisualServer_method_viewport_detach:
  2930. - void **viewport_detach** **(** :ref:`RID<class_RID>` viewport **)**
  2931. Detaches the viewport from the screen.
  2932. ----
  2933. .. _class_VisualServer_method_viewport_get_render_info:
  2934. - :ref:`int<class_int>` **viewport_get_render_info** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` info **)**
  2935. Returns a viewport's render information. For options, see the :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` constants.
  2936. ----
  2937. .. _class_VisualServer_method_viewport_get_texture:
  2938. - :ref:`RID<class_RID>` **viewport_get_texture** **(** :ref:`RID<class_RID>` viewport **)** |const|
  2939. Returns the viewport's last rendered frame.
  2940. ----
  2941. .. _class_VisualServer_method_viewport_remove_canvas:
  2942. - void **viewport_remove_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)**
  2943. Detaches a viewport from a canvas and vice versa.
  2944. ----
  2945. .. _class_VisualServer_method_viewport_set_active:
  2946. - void **viewport_set_active** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)**
  2947. If ``true``, sets the viewport active, else sets it inactive.
  2948. ----
  2949. .. _class_VisualServer_method_viewport_set_canvas_stacking:
  2950. - 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 **)**
  2951. Sets the stacking order for a viewport's canvas.
  2952. \ ``layer`` is the actual canvas layer, while ``sublayer`` specifies the stacking order of the canvas among those in the same layer.
  2953. ----
  2954. .. _class_VisualServer_method_viewport_set_canvas_transform:
  2955. - void **viewport_set_canvas_transform** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`Transform2D<class_Transform2D>` offset **)**
  2956. Sets the transformation of a viewport's canvas.
  2957. ----
  2958. .. _class_VisualServer_method_viewport_set_clear_mode:
  2959. - void **viewport_set_clear_mode** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` clear_mode **)**
  2960. Sets the clear mode of a viewport. See :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` for options.
  2961. ----
  2962. .. _class_VisualServer_method_viewport_set_debug_draw:
  2963. - void **viewport_set_debug_draw** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` draw **)**
  2964. Sets the debug draw mode of a viewport. See :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` for options.
  2965. ----
  2966. .. _class_VisualServer_method_viewport_set_disable_3d:
  2967. - void **viewport_set_disable_3d** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)**
  2968. If ``true``, a viewport's 3D rendering is disabled.
  2969. ----
  2970. .. _class_VisualServer_method_viewport_set_disable_environment:
  2971. - void **viewport_set_disable_environment** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)**
  2972. If ``true``, rendering of a viewport's environment is disabled.
  2973. ----
  2974. .. _class_VisualServer_method_viewport_set_global_canvas_transform:
  2975. - void **viewport_set_global_canvas_transform** **(** :ref:`RID<class_RID>` viewport, :ref:`Transform2D<class_Transform2D>` transform **)**
  2976. Sets the viewport's global transformation matrix.
  2977. ----
  2978. .. _class_VisualServer_method_viewport_set_hdr:
  2979. - void **viewport_set_hdr** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  2980. 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>`.
  2981. \ **Note:** Only available on the GLES3 backend.
  2982. ----
  2983. .. _class_VisualServer_method_viewport_set_hide_canvas:
  2984. - void **viewport_set_hide_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)**
  2985. If ``true``, the viewport's canvas is not rendered.
  2986. ----
  2987. .. _class_VisualServer_method_viewport_set_hide_scenario:
  2988. - void **viewport_set_hide_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)**
  2989. Currently unimplemented in Godot 3.x.
  2990. ----
  2991. .. _class_VisualServer_method_viewport_set_msaa:
  2992. - void **viewport_set_msaa** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` msaa **)**
  2993. Sets the anti-aliasing mode. See :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` for options.
  2994. ----
  2995. .. _class_VisualServer_method_viewport_set_parent_viewport:
  2996. - void **viewport_set_parent_viewport** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)**
  2997. Sets the viewport's parent to another viewport.
  2998. ----
  2999. .. _class_VisualServer_method_viewport_set_render_direct_to_screen:
  3000. - void **viewport_set_render_direct_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  3001. 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.
  3002. ----
  3003. .. _class_VisualServer_method_viewport_set_scenario:
  3004. - void **viewport_set_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)**
  3005. Sets a viewport's scenario.
  3006. The scenario contains information about the :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>`, environment information, reflection atlas etc.
  3007. ----
  3008. .. _class_VisualServer_method_viewport_set_shadow_atlas_quadrant_subdivision:
  3009. - void **viewport_set_shadow_atlas_quadrant_subdivision** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` quadrant, :ref:`int<class_int>` subdivision **)**
  3010. Sets the shadow atlas quadrant's subdivision.
  3011. ----
  3012. .. _class_VisualServer_method_viewport_set_shadow_atlas_size:
  3013. - void **viewport_set_shadow_atlas_size** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` size **)**
  3014. 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.
  3015. ----
  3016. .. _class_VisualServer_method_viewport_set_sharpen_intensity:
  3017. - void **viewport_set_sharpen_intensity** **(** :ref:`RID<class_RID>` viewport, :ref:`float<class_float>` intensity **)**
  3018. 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>`.
  3019. ----
  3020. .. _class_VisualServer_method_viewport_set_size:
  3021. - void **viewport_set_size** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
  3022. Sets the viewport's width and height.
  3023. ----
  3024. .. _class_VisualServer_method_viewport_set_transparent_background:
  3025. - void **viewport_set_transparent_background** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  3026. If ``true``, the viewport renders its background as transparent.
  3027. ----
  3028. .. _class_VisualServer_method_viewport_set_update_mode:
  3029. - void **viewport_set_update_mode** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` update_mode **)**
  3030. Sets when the viewport should be updated. See :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` constants for options.
  3031. ----
  3032. .. _class_VisualServer_method_viewport_set_usage:
  3033. - void **viewport_set_usage** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` usage **)**
  3034. Sets the viewport's 2D/3D mode. See :ref:`ViewportUsage<enum_VisualServer_ViewportUsage>` constants for options.
  3035. ----
  3036. .. _class_VisualServer_method_viewport_set_use_32_bpc_depth:
  3037. - void **viewport_set_use_32_bpc_depth** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  3038. 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``.
  3039. \ **Note:** Only available on the GLES3 backend.
  3040. ----
  3041. .. _class_VisualServer_method_viewport_set_use_arvr:
  3042. - void **viewport_set_use_arvr** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` use_arvr **)**
  3043. If ``true``, the viewport uses augmented or virtual reality technologies. See :ref:`ARVRInterface<class_ARVRInterface>`.
  3044. ----
  3045. .. _class_VisualServer_method_viewport_set_use_debanding:
  3046. - void **viewport_set_use_debanding** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` debanding **)**
  3047. 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.
  3048. \ **Note:** Only available on the GLES3 backend. :ref:`Viewport.hdr<class_Viewport_property_hdr>` must also be ``true`` for debanding to be effective.
  3049. ----
  3050. .. _class_VisualServer_method_viewport_set_use_fxaa:
  3051. - void **viewport_set_use_fxaa** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` fxaa **)**
  3052. 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>`).
  3053. ----
  3054. .. _class_VisualServer_method_viewport_set_vflip:
  3055. - void **viewport_set_vflip** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  3056. If ``true``, the viewport's rendering is flipped vertically.
  3057. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  3058. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  3059. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`