class_visualserver.rst 479 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the VisualServer.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_VisualServer:
  6. VisualServer
  7. ============
  8. **Inherits:** :ref:`Object<class_Object>`
  9. Server for anything visible.
  10. Description
  11. -----------
  12. Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display.
  13. The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
  14. The visual server can be used to bypass the scene system entirely.
  15. Resources are created using the ``*_create`` functions.
  16. 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>`.
  17. 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>`.
  18. Similarly in 2D, a canvas is needed to draw all canvas items.
  19. 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.
  20. 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.
  21. Tutorials
  22. ---------
  23. - :doc:`../tutorials/performance/using_servers`
  24. Methods
  25. -------
  26. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | 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 **)** |
  28. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | 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 **)** |
  30. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  31. | :ref:`RID<class_RID>` | :ref:`camera_create<class_VisualServer_method_camera_create>` **(** **)** |
  32. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  33. | void | :ref:`camera_set_cull_mask<class_VisualServer_method_camera_set_cull_mask>` **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)** |
  34. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  35. | void | :ref:`camera_set_environment<class_VisualServer_method_camera_set_environment>` **(** :ref:`RID<class_RID>` camera, :ref:`RID<class_RID>` env **)** |
  36. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  37. | 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 **)** |
  38. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | 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 **)** |
  40. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | 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 **)** |
  42. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | void | :ref:`camera_set_transform<class_VisualServer_method_camera_set_transform>` **(** :ref:`RID<class_RID>` camera, :ref:`Transform<class_Transform>` transform **)** |
  44. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | 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 **)** |
  46. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | :ref:`RID<class_RID>` | :ref:`canvas_create<class_VisualServer_method_canvas_create>` **(** **)** |
  48. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | void | :ref:`canvas_item_clear<class_VisualServer_method_canvas_item_clear>` **(** :ref:`RID<class_RID>` item **)** |
  50. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | 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 **)** |
  52. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | 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 **)** |
  54. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | void | :ref:`canvas_item_set_material<class_VisualServer_method_canvas_item_set_material>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` material **)** |
  56. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | 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 **)** |
  58. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | 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 **)** |
  60. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | 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 **)** |
  62. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | 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 **)** |
  64. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | :ref:`RID<class_RID>` | :ref:`canvas_light_create<class_VisualServer_method_canvas_light_create>` **(** **)** |
  66. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | 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 **)** |
  68. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`RID<class_RID>` | :ref:`canvas_light_occluder_create<class_VisualServer_method_canvas_light_occluder_create>` **(** **)** |
  70. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | 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 **)** |
  72. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | 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 **)** |
  74. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | 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 **)** |
  76. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | 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 **)** |
  78. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | void | :ref:`canvas_light_set_color<class_VisualServer_method_canvas_light_set_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  80. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | void | :ref:`canvas_light_set_enabled<class_VisualServer_method_canvas_light_set_enabled>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  82. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | void | :ref:`canvas_light_set_energy<class_VisualServer_method_canvas_light_set_energy>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` energy **)** |
  84. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | void | :ref:`canvas_light_set_height<class_VisualServer_method_canvas_light_set_height>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` height **)** |
  86. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | 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 **)** |
  88. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | 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 **)** |
  90. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | 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 **)** |
  92. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`canvas_light_set_mode<class_VisualServer_method_canvas_light_set_mode>` **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` mode **)** |
  94. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | void | :ref:`canvas_light_set_scale<class_VisualServer_method_canvas_light_set_scale>` **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` scale **)** |
  96. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | 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 **)** |
  98. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | 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 **)** |
  100. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | 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 **)** |
  102. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | 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 **)** |
  104. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | 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 **)** |
  106. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | void | :ref:`canvas_light_set_texture<class_VisualServer_method_canvas_light_set_texture>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)** |
  108. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | 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 **)** |
  110. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | void | :ref:`canvas_light_set_transform<class_VisualServer_method_canvas_light_set_transform>` **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` transform **)** |
  112. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | 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 **)** |
  114. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | :ref:`RID<class_RID>` | :ref:`canvas_occluder_polygon_create<class_VisualServer_method_canvas_occluder_polygon_create>` **(** **)** |
  116. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | 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 **)** |
  118. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | void | :ref:`canvas_occluder_polygon_set_shape<class_VisualServer_method_canvas_occluder_polygon_set_shape>` **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PackedVector2Array<class_PackedVector2Array>` shape, :ref:`bool<class_bool>` closed **)** |
  120. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | 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:`PackedVector2Array<class_PackedVector2Array>` shape **)** |
  122. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | 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 **)** |
  124. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | void | :ref:`canvas_set_modulate<class_VisualServer_method_canvas_set_modulate>` **(** :ref:`RID<class_RID>` canvas, :ref:`Color<class_Color>` color **)** |
  126. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | :ref:`RID<class_RID>` | :ref:`directional_light_create<class_VisualServer_method_directional_light_create>` **(** **)** |
  128. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | :ref:`RID<class_RID>` | :ref:`environment_create<class_VisualServer_method_environment_create>` **(** **)** |
  130. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | 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 **)** |
  132. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | void | :ref:`environment_set_ambient_light<class_VisualServer_method_environment_set_ambient_light>` **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color, :ref:`EnvironmentAmbientSource<enum_VisualServer_EnvironmentAmbientSource>` ambient=0, :ref:`float<class_float>` energy=1.0, :ref:`float<class_float>` sky_contibution=0.0, :ref:`EnvironmentReflectionSource<enum_VisualServer_EnvironmentReflectionSource>` reflection_source=0, :ref:`Color<class_Color>` ao_color=Color( 0, 0, 0, 1 ) **)** |
  134. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | void | :ref:`environment_set_background<class_VisualServer_method_environment_set_background>` **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` bg **)** |
  136. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | void | :ref:`environment_set_bg_color<class_VisualServer_method_environment_set_bg_color>` **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color **)** |
  138. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | void | :ref:`environment_set_bg_energy<class_VisualServer_method_environment_set_bg_energy>` **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` energy **)** |
  140. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | 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 **)** |
  142. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | 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 **)** |
  144. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | 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 **)** |
  146. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. | 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 **)** |
  148. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  149. | 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>` mix, :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 **)** |
  150. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  151. | void | :ref:`environment_set_sky<class_VisualServer_method_environment_set_sky>` **(** :ref:`RID<class_RID>` env, :ref:`RID<class_RID>` sky **)** |
  152. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  153. | 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 **)** |
  154. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  155. | void | :ref:`environment_set_sky_orientation<class_VisualServer_method_environment_set_sky_orientation>` **(** :ref:`RID<class_RID>` env, :ref:`Basis<class_Basis>` orientation **)** |
  156. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  157. | 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>` bias, :ref:`float<class_float>` light_affect, :ref:`float<class_float>` ao_channel_affect, :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` blur, :ref:`float<class_float>` bilateral_sharpness **)** |
  158. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  159. | 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 **)** |
  160. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  161. | 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 **)** |
  162. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  163. | void | :ref:`finish<class_VisualServer_method_finish>` **(** **)** |
  164. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  165. | void | :ref:`force_draw<class_VisualServer_method_force_draw>` **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)** |
  166. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  167. | void | :ref:`force_sync<class_VisualServer_method_force_sync>` **(** **)** |
  168. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  169. | void | :ref:`free_rid<class_VisualServer_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)** |
  170. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  171. | :ref:`int<class_int>` | :ref:`get_render_info<class_VisualServer_method_get_render_info>` **(** :ref:`RenderInfo<enum_VisualServer_RenderInfo>` info **)** |
  172. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  173. | :ref:`RID<class_RID>` | :ref:`get_test_cube<class_VisualServer_method_get_test_cube>` **(** **)** |
  174. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  175. | :ref:`RID<class_RID>` | :ref:`get_test_texture<class_VisualServer_method_get_test_texture>` **(** **)** |
  176. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  177. | :ref:`String<class_String>` | :ref:`get_video_adapter_name<class_VisualServer_method_get_video_adapter_name>` **(** **)** const |
  178. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  179. | :ref:`String<class_String>` | :ref:`get_video_adapter_vendor<class_VisualServer_method_get_video_adapter_vendor>` **(** **)** const |
  180. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  181. | :ref:`RID<class_RID>` | :ref:`get_white_texture<class_VisualServer_method_get_white_texture>` **(** **)** |
  182. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  183. | :ref:`bool<class_bool>` | :ref:`has_changed<class_VisualServer_method_has_changed>` **(** **)** const |
  184. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  185. | :ref:`bool<class_bool>` | :ref:`has_feature<class_VisualServer_method_has_feature>` **(** :ref:`Features<enum_VisualServer_Features>` feature **)** const |
  186. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  187. | :ref:`bool<class_bool>` | :ref:`has_os_feature<class_VisualServer_method_has_os_feature>` **(** :ref:`String<class_String>` feature **)** const |
  188. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  189. | 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 **)** |
  190. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  191. | void | :ref:`immediate_clear<class_VisualServer_method_immediate_clear>` **(** :ref:`RID<class_RID>` immediate **)** |
  192. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  193. | void | :ref:`immediate_color<class_VisualServer_method_immediate_color>` **(** :ref:`RID<class_RID>` immediate, :ref:`Color<class_Color>` color **)** |
  194. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  195. | :ref:`RID<class_RID>` | :ref:`immediate_create<class_VisualServer_method_immediate_create>` **(** **)** |
  196. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  197. | void | :ref:`immediate_end<class_VisualServer_method_immediate_end>` **(** :ref:`RID<class_RID>` immediate **)** |
  198. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  199. | :ref:`RID<class_RID>` | :ref:`immediate_get_material<class_VisualServer_method_immediate_get_material>` **(** :ref:`RID<class_RID>` immediate **)** const |
  200. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  201. | void | :ref:`immediate_normal<class_VisualServer_method_immediate_normal>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` normal **)** |
  202. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  203. | void | :ref:`immediate_set_material<class_VisualServer_method_immediate_set_material>` **(** :ref:`RID<class_RID>` immediate, :ref:`RID<class_RID>` material **)** |
  204. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  205. | void | :ref:`immediate_tangent<class_VisualServer_method_immediate_tangent>` **(** :ref:`RID<class_RID>` immediate, :ref:`Plane<class_Plane>` tangent **)** |
  206. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  207. | void | :ref:`immediate_uv<class_VisualServer_method_immediate_uv>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)** |
  208. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  209. | void | :ref:`immediate_uv2<class_VisualServer_method_immediate_uv2>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)** |
  210. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  211. | void | :ref:`immediate_vertex<class_VisualServer_method_immediate_vertex>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` vertex **)** |
  212. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  213. | void | :ref:`immediate_vertex_2d<class_VisualServer_method_immediate_vertex_2d>` **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` vertex **)** |
  214. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  215. | void | :ref:`init<class_VisualServer_method_init>` **(** **)** |
  216. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  217. | 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 **)** |
  218. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  219. | void | :ref:`instance_attach_skeleton<class_VisualServer_method_instance_attach_skeleton>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` skeleton **)** |
  220. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  221. | :ref:`RID<class_RID>` | :ref:`instance_create<class_VisualServer_method_instance_create>` **(** **)** |
  222. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  223. | :ref:`RID<class_RID>` | :ref:`instance_create2<class_VisualServer_method_instance_create2>` **(** :ref:`RID<class_RID>` base, :ref:`RID<class_RID>` scenario **)** |
  224. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  225. | 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 **)** |
  226. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  227. | 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 **)** |
  228. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  229. | 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 **)** |
  230. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  231. | 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 **)** |
  232. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  233. | 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 **)** |
  234. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  235. | void | :ref:`instance_set_base<class_VisualServer_method_instance_set_base>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` base **)** |
  236. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  237. | 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 **)** |
  238. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  239. | void | :ref:`instance_set_custom_aabb<class_VisualServer_method_instance_set_custom_aabb>` **(** :ref:`RID<class_RID>` instance, :ref:`AABB<class_AABB>` aabb **)** |
  240. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  241. | void | :ref:`instance_set_exterior<class_VisualServer_method_instance_set_exterior>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` enabled **)** |
  242. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  243. | 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 **)** |
  244. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  245. | void | :ref:`instance_set_layer_mask<class_VisualServer_method_instance_set_layer_mask>` **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` mask **)** |
  246. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  247. | void | :ref:`instance_set_scenario<class_VisualServer_method_instance_set_scenario>` **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` scenario **)** |
  248. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  249. | 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 **)** |
  250. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  251. | void | :ref:`instance_set_transform<class_VisualServer_method_instance_set_transform>` **(** :ref:`RID<class_RID>` instance, :ref:`Transform<class_Transform>` transform **)** |
  252. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  253. | 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 **)** |
  254. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  255. | void | :ref:`instance_set_visible<class_VisualServer_method_instance_set_visible>` **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` visible **)** |
  256. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  257. | :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 |
  258. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  259. | :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 |
  260. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  261. | :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 |
  262. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  263. | 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 **)** |
  264. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  265. | 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 **)** |
  266. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  267. | 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 **)** |
  268. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  269. | 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 **)** |
  270. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  271. | void | :ref:`light_set_color<class_VisualServer_method_light_set_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  272. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  273. | void | :ref:`light_set_cull_mask<class_VisualServer_method_light_set_cull_mask>` **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)** |
  274. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  275. | void | :ref:`light_set_negative<class_VisualServer_method_light_set_negative>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)** |
  276. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  277. | 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 **)** |
  278. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  279. | void | :ref:`light_set_projector<class_VisualServer_method_light_set_projector>` **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)** |
  280. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  281. | 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 **)** |
  282. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  283. | void | :ref:`light_set_shadow<class_VisualServer_method_light_set_shadow>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  284. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  285. | void | :ref:`light_set_shadow_color<class_VisualServer_method_light_set_shadow_color>` **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)** |
  286. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  287. | void | :ref:`light_set_use_gi<class_VisualServer_method_light_set_use_gi>` **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)** |
  288. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  289. | :ref:`RID<class_RID>` | :ref:`lightmap_capture_create<class_VisualServer_method_lightmap_capture_create>` **(** **)** |
  290. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  291. | :ref:`AABB<class_AABB>` | :ref:`lightmap_capture_get_bounds<class_VisualServer_method_lightmap_capture_get_bounds>` **(** :ref:`RID<class_RID>` capture **)** const |
  292. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  293. | :ref:`float<class_float>` | :ref:`lightmap_capture_get_energy<class_VisualServer_method_lightmap_capture_get_energy>` **(** :ref:`RID<class_RID>` capture **)** const |
  294. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  295. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`lightmap_capture_get_octree<class_VisualServer_method_lightmap_capture_get_octree>` **(** :ref:`RID<class_RID>` capture **)** const |
  296. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  297. | :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 |
  298. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  299. | :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 |
  300. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  301. | void | :ref:`lightmap_capture_set_bounds<class_VisualServer_method_lightmap_capture_set_bounds>` **(** :ref:`RID<class_RID>` capture, :ref:`AABB<class_AABB>` bounds **)** |
  302. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  303. | void | :ref:`lightmap_capture_set_energy<class_VisualServer_method_lightmap_capture_set_energy>` **(** :ref:`RID<class_RID>` capture, :ref:`float<class_float>` energy **)** |
  304. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  305. | void | :ref:`lightmap_capture_set_octree<class_VisualServer_method_lightmap_capture_set_octree>` **(** :ref:`RID<class_RID>` capture, :ref:`PackedByteArray<class_PackedByteArray>` octree **)** |
  306. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  307. | 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 **)** |
  308. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  309. | 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 **)** |
  310. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  311. | :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 **)** |
  312. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  313. | :ref:`RID<class_RID>` | :ref:`material_create<class_VisualServer_method_material_create>` **(** **)** |
  314. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  315. | :ref:`Variant<class_Variant>` | :ref:`material_get_param<class_VisualServer_method_material_get_param>` **(** :ref:`RID<class_RID>` material, :ref:`StringName<class_StringName>` parameter **)** const |
  316. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  317. | void | :ref:`material_set_next_pass<class_VisualServer_method_material_set_next_pass>` **(** :ref:`RID<class_RID>` material, :ref:`RID<class_RID>` next_material **)** |
  318. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  319. | void | :ref:`material_set_param<class_VisualServer_method_material_set_param>` **(** :ref:`RID<class_RID>` material, :ref:`StringName<class_StringName>` parameter, :ref:`Variant<class_Variant>` value **)** |
  320. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  321. | void | :ref:`material_set_render_priority<class_VisualServer_method_material_set_render_priority>` **(** :ref:`RID<class_RID>` material, :ref:`int<class_int>` priority **)** |
  322. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  323. | void | :ref:`material_set_shader<class_VisualServer_method_material_set_shader>` **(** :ref:`RID<class_RID>` shader_material, :ref:`RID<class_RID>` shader **)** |
  324. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  325. | 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:`Dictionary<class_Dictionary>` lods={ }, :ref:`int<class_int>` compress_format=31744 **)** |
  326. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  327. | void | :ref:`mesh_clear<class_VisualServer_method_mesh_clear>` **(** :ref:`RID<class_RID>` mesh **)** |
  328. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  329. | :ref:`RID<class_RID>` | :ref:`mesh_create<class_VisualServer_method_mesh_create>` **(** **)** |
  330. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  331. | :ref:`int<class_int>` | :ref:`mesh_get_blend_shape_count<class_VisualServer_method_mesh_get_blend_shape_count>` **(** :ref:`RID<class_RID>` mesh **)** const |
  332. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  333. | :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 |
  334. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  335. | :ref:`AABB<class_AABB>` | :ref:`mesh_get_custom_aabb<class_VisualServer_method_mesh_get_custom_aabb>` **(** :ref:`RID<class_RID>` mesh **)** const |
  336. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  337. | :ref:`int<class_int>` | :ref:`mesh_get_surface_count<class_VisualServer_method_mesh_get_surface_count>` **(** :ref:`RID<class_RID>` mesh **)** const |
  338. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  339. | 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 **)** |
  340. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  341. | void | :ref:`mesh_set_custom_aabb<class_VisualServer_method_mesh_set_custom_aabb>` **(** :ref:`RID<class_RID>` mesh, :ref:`AABB<class_AABB>` aabb **)** |
  342. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  343. | :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 |
  344. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  345. | :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 |
  346. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  347. | :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 |
  348. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  349. | :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 **)** const |
  350. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  351. | :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 |
  352. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  353. | 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 **)** |
  354. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  355. | 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:`PackedByteArray<class_PackedByteArray>` data **)** |
  356. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  357. | 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:`bool<class_bool>` color_format=false, :ref:`bool<class_bool>` custom_data_format=false **)** |
  358. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  359. | :ref:`RID<class_RID>` | :ref:`multimesh_create<class_VisualServer_method_multimesh_create>` **(** **)** |
  360. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  361. | :ref:`AABB<class_AABB>` | :ref:`multimesh_get_aabb<class_VisualServer_method_multimesh_get_aabb>` **(** :ref:`RID<class_RID>` multimesh **)** const |
  362. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  363. | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`multimesh_get_buffer<class_VisualServer_method_multimesh_get_buffer>` **(** :ref:`RID<class_RID>` multimesh **)** const |
  364. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  365. | :ref:`int<class_int>` | :ref:`multimesh_get_instance_count<class_VisualServer_method_multimesh_get_instance_count>` **(** :ref:`RID<class_RID>` multimesh **)** const |
  366. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  367. | :ref:`RID<class_RID>` | :ref:`multimesh_get_mesh<class_VisualServer_method_multimesh_get_mesh>` **(** :ref:`RID<class_RID>` multimesh **)** const |
  368. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  369. | :ref:`int<class_int>` | :ref:`multimesh_get_visible_instances<class_VisualServer_method_multimesh_get_visible_instances>` **(** :ref:`RID<class_RID>` multimesh **)** const |
  370. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  371. | :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 |
  372. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  373. | :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 |
  374. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  375. | :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 |
  376. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  377. | :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 |
  378. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  379. | 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 **)** |
  380. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  381. | 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 **)** |
  382. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  383. | 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 **)** |
  384. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  385. | 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 **)** |
  386. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  387. | void | :ref:`multimesh_set_buffer<class_VisualServer_method_multimesh_set_buffer>` **(** :ref:`RID<class_RID>` multimesh, :ref:`PackedFloat32Array<class_PackedFloat32Array>` buffer **)** |
  388. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  389. | void | :ref:`multimesh_set_mesh<class_VisualServer_method_multimesh_set_mesh>` **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)** |
  390. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  391. | void | :ref:`multimesh_set_visible_instances<class_VisualServer_method_multimesh_set_visible_instances>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)** |
  392. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  393. | :ref:`RID<class_RID>` | :ref:`omni_light_create<class_VisualServer_method_omni_light_create>` **(** **)** |
  394. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  395. | :ref:`RID<class_RID>` | :ref:`particles_create<class_VisualServer_method_particles_create>` **(** **)** |
  396. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  397. | :ref:`AABB<class_AABB>` | :ref:`particles_get_current_aabb<class_VisualServer_method_particles_get_current_aabb>` **(** :ref:`RID<class_RID>` particles **)** |
  398. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  399. | :ref:`bool<class_bool>` | :ref:`particles_get_emitting<class_VisualServer_method_particles_get_emitting>` **(** :ref:`RID<class_RID>` particles **)** |
  400. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  401. | :ref:`bool<class_bool>` | :ref:`particles_is_inactive<class_VisualServer_method_particles_is_inactive>` **(** :ref:`RID<class_RID>` particles **)** |
  402. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  403. | void | :ref:`particles_request_process<class_VisualServer_method_particles_request_process>` **(** :ref:`RID<class_RID>` particles **)** |
  404. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  405. | void | :ref:`particles_restart<class_VisualServer_method_particles_restart>` **(** :ref:`RID<class_RID>` particles **)** |
  406. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  407. | void | :ref:`particles_set_amount<class_VisualServer_method_particles_set_amount>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)** |
  408. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  409. | void | :ref:`particles_set_custom_aabb<class_VisualServer_method_particles_set_custom_aabb>` **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)** |
  410. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  411. | void | :ref:`particles_set_draw_order<class_VisualServer_method_particles_set_draw_order>` **(** :ref:`RID<class_RID>` particles, :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` order **)** |
  412. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  413. | 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 **)** |
  414. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  415. | void | :ref:`particles_set_draw_passes<class_VisualServer_method_particles_set_draw_passes>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` count **)** |
  416. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  417. | void | :ref:`particles_set_emission_transform<class_VisualServer_method_particles_set_emission_transform>` **(** :ref:`RID<class_RID>` particles, :ref:`Transform<class_Transform>` transform **)** |
  418. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  419. | void | :ref:`particles_set_emitting<class_VisualServer_method_particles_set_emitting>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)** |
  420. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  421. | void | :ref:`particles_set_explosiveness_ratio<class_VisualServer_method_particles_set_explosiveness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)** |
  422. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  423. | void | :ref:`particles_set_fixed_fps<class_VisualServer_method_particles_set_fixed_fps>` **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` fps **)** |
  424. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  425. | void | :ref:`particles_set_fractional_delta<class_VisualServer_method_particles_set_fractional_delta>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)** |
  426. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  427. | void | :ref:`particles_set_lifetime<class_VisualServer_method_particles_set_lifetime>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)** |
  428. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  429. | void | :ref:`particles_set_one_shot<class_VisualServer_method_particles_set_one_shot>` **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` one_shot **)** |
  430. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  431. | 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 **)** |
  432. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  433. | void | :ref:`particles_set_process_material<class_VisualServer_method_particles_set_process_material>` **(** :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` material **)** |
  434. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  435. | void | :ref:`particles_set_randomness_ratio<class_VisualServer_method_particles_set_randomness_ratio>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)** |
  436. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  437. | void | :ref:`particles_set_speed_scale<class_VisualServer_method_particles_set_speed_scale>` **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` scale **)** |
  438. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  439. | 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 **)** |
  440. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  441. | :ref:`RID<class_RID>` | :ref:`reflection_probe_create<class_VisualServer_method_reflection_probe_create>` **(** **)** |
  442. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  443. | 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 **)** |
  444. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  445. | 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 **)** |
  446. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  447. | 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 **)** |
  448. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  449. | 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 **)** |
  450. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  451. | void | :ref:`reflection_probe_set_extents<class_VisualServer_method_reflection_probe_set_extents>` **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` extents **)** |
  452. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  453. | void | :ref:`reflection_probe_set_intensity<class_VisualServer_method_reflection_probe_set_intensity>` **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` intensity **)** |
  454. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  455. | 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 **)** |
  456. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  457. | 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 **)** |
  458. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  459. | 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 **)** |
  460. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  461. | 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 **)** |
  462. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  463. | 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 **)** |
  464. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  465. | 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 **)** |
  466. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  467. | void | :ref:`request_frame_drawn_callback<class_VisualServer_method_request_frame_drawn_callback>` **(** :ref:`Object<class_Object>` where, :ref:`StringName<class_StringName>` method, :ref:`Variant<class_Variant>` userdata **)** |
  468. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  469. | :ref:`RID<class_RID>` | :ref:`scenario_create<class_VisualServer_method_scenario_create>` **(** **)** |
  470. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  471. | void | :ref:`scenario_set_debug<class_VisualServer_method_scenario_set_debug>` **(** :ref:`RID<class_RID>` scenario, :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` debug_mode **)** |
  472. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  473. | void | :ref:`scenario_set_environment<class_VisualServer_method_scenario_set_environment>` **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)** |
  474. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  475. | void | :ref:`scenario_set_fallback_environment<class_VisualServer_method_scenario_set_fallback_environment>` **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)** |
  476. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  477. | 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 **)** |
  478. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  479. | void | :ref:`set_debug_generate_wireframes<class_VisualServer_method_set_debug_generate_wireframes>` **(** :ref:`bool<class_bool>` generate **)** |
  480. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  481. | void | :ref:`set_default_clear_color<class_VisualServer_method_set_default_clear_color>` **(** :ref:`Color<class_Color>` color **)** |
  482. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  483. | :ref:`RID<class_RID>` | :ref:`shader_create<class_VisualServer_method_shader_create>` **(** **)** |
  484. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  485. | :ref:`String<class_String>` | :ref:`shader_get_code<class_VisualServer_method_shader_get_code>` **(** :ref:`RID<class_RID>` shader **)** const |
  486. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  487. | :ref:`RID<class_RID>` | :ref:`shader_get_default_texture_param<class_VisualServer_method_shader_get_default_texture_param>` **(** :ref:`RID<class_RID>` shader, :ref:`StringName<class_StringName>` name **)** const |
  488. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  489. | :ref:`Variant<class_Variant>` | :ref:`shader_get_param_default<class_VisualServer_method_shader_get_param_default>` **(** :ref:`RID<class_RID>` material, :ref:`StringName<class_StringName>` parameter **)** const |
  490. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  491. | :ref:`Array<class_Array>` | :ref:`shader_get_param_list<class_VisualServer_method_shader_get_param_list>` **(** :ref:`RID<class_RID>` shader **)** const |
  492. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  493. | void | :ref:`shader_set_code<class_VisualServer_method_shader_set_code>` **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` code **)** |
  494. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  495. | void | :ref:`shader_set_default_texture_param<class_VisualServer_method_shader_set_default_texture_param>` **(** :ref:`RID<class_RID>` shader, :ref:`StringName<class_StringName>` name, :ref:`RID<class_RID>` texture **)** |
  496. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  497. | 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 **)** |
  498. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  499. | :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 |
  500. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  501. | :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 |
  502. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  503. | 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 **)** |
  504. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  505. | 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 **)** |
  506. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  507. | :ref:`RID<class_RID>` | :ref:`skeleton_create<class_VisualServer_method_skeleton_create>` **(** **)** |
  508. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  509. | :ref:`int<class_int>` | :ref:`skeleton_get_bone_count<class_VisualServer_method_skeleton_get_bone_count>` **(** :ref:`RID<class_RID>` skeleton **)** const |
  510. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  511. | :ref:`RID<class_RID>` | :ref:`sky_create<class_VisualServer_method_sky_create>` **(** **)** |
  512. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  513. | void | :ref:`sky_set_material<class_VisualServer_method_sky_set_material>` **(** :ref:`RID<class_RID>` sky, :ref:`RID<class_RID>` material **)** |
  514. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  515. | :ref:`RID<class_RID>` | :ref:`spot_light_create<class_VisualServer_method_spot_light_create>` **(** **)** |
  516. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  517. | :ref:`RID<class_RID>` | :ref:`texture_2d_create<class_VisualServer_method_texture_2d_create>` **(** :ref:`Image<class_Image>` image **)** |
  518. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  519. | :ref:`Image<class_Image>` | :ref:`texture_2d_get<class_VisualServer_method_texture_2d_get>` **(** :ref:`RID<class_RID>` texture **)** const |
  520. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  521. | void | :ref:`viewport_attach_camera<class_VisualServer_method_viewport_attach_camera>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` camera **)** |
  522. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  523. | void | :ref:`viewport_attach_canvas<class_VisualServer_method_viewport_attach_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)** |
  524. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  525. | 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 **)** |
  526. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  527. | :ref:`RID<class_RID>` | :ref:`viewport_create<class_VisualServer_method_viewport_create>` **(** **)** |
  528. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  529. | void | :ref:`viewport_detach<class_VisualServer_method_viewport_detach>` **(** :ref:`RID<class_RID>` viewport **)** |
  530. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  531. | :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 **)** |
  532. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  533. | :ref:`RID<class_RID>` | :ref:`viewport_get_texture<class_VisualServer_method_viewport_get_texture>` **(** :ref:`RID<class_RID>` viewport **)** const |
  534. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  535. | void | :ref:`viewport_remove_canvas<class_VisualServer_method_viewport_remove_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)** |
  536. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  537. | void | :ref:`viewport_set_active<class_VisualServer_method_viewport_set_active>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)** |
  538. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  539. | 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 **)** |
  540. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  541. | 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 **)** |
  542. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  543. | 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 **)** |
  544. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  545. | void | :ref:`viewport_set_debug_draw<class_VisualServer_method_viewport_set_debug_draw>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` draw **)** |
  546. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  547. | void | :ref:`viewport_set_disable_environment<class_VisualServer_method_viewport_set_disable_environment>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)** |
  548. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  549. | 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 **)** |
  550. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  551. | void | :ref:`viewport_set_hide_canvas<class_VisualServer_method_viewport_set_hide_canvas>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)** |
  552. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  553. | void | :ref:`viewport_set_hide_scenario<class_VisualServer_method_viewport_set_hide_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)** |
  554. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  555. | void | :ref:`viewport_set_msaa<class_VisualServer_method_viewport_set_msaa>` **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` msaa **)** |
  556. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  557. | void | :ref:`viewport_set_parent_viewport<class_VisualServer_method_viewport_set_parent_viewport>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)** |
  558. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  559. | 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 **)** |
  560. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  561. | void | :ref:`viewport_set_scenario<class_VisualServer_method_viewport_set_scenario>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)** |
  562. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  563. | 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 **)** |
  564. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  565. | 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 **)** |
  566. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  567. | 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 **)** |
  568. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  569. | void | :ref:`viewport_set_transparent_background<class_VisualServer_method_viewport_set_transparent_background>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)** |
  570. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  571. | 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 **)** |
  572. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  573. | void | :ref:`viewport_set_use_arvr<class_VisualServer_method_viewport_set_use_arvr>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` use_arvr **)** |
  574. +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  575. Signals
  576. -------
  577. .. _class_VisualServer_signal_frame_post_draw:
  578. - **frame_post_draw** **(** **)**
  579. Emitted at the end of the frame, after the VisualServer has finished updating all the Viewports.
  580. ----
  581. .. _class_VisualServer_signal_frame_pre_draw:
  582. - **frame_pre_draw** **(** **)**
  583. Emitted at the beginning of the frame, before the VisualServer updates all the Viewports.
  584. Enumerations
  585. ------------
  586. .. _enum_VisualServer_TextureLayeredType:
  587. .. _class_VisualServer_constant_TEXTURE_LAYERED_2D_ARRAY:
  588. .. _class_VisualServer_constant_TEXTURE_LAYERED_CUBEMAP:
  589. .. _class_VisualServer_constant_TEXTURE_LAYERED_CUBEMAP_ARRAY:
  590. enum **TextureLayeredType**:
  591. - **TEXTURE_LAYERED_2D_ARRAY** = **0**
  592. - **TEXTURE_LAYERED_CUBEMAP** = **1**
  593. - **TEXTURE_LAYERED_CUBEMAP_ARRAY** = **2**
  594. ----
  595. .. _enum_VisualServer_CubeMapLayer:
  596. .. _class_VisualServer_constant_CUBEMAP_LAYER_LEFT:
  597. .. _class_VisualServer_constant_CUBEMAP_LAYER_RIGHT:
  598. .. _class_VisualServer_constant_CUBEMAP_LAYER_BOTTOM:
  599. .. _class_VisualServer_constant_CUBEMAP_LAYER_TOP:
  600. .. _class_VisualServer_constant_CUBEMAP_LAYER_FRONT:
  601. .. _class_VisualServer_constant_CUBEMAP_LAYER_BACK:
  602. enum **CubeMapLayer**:
  603. - **CUBEMAP_LAYER_LEFT** = **0**
  604. - **CUBEMAP_LAYER_RIGHT** = **1**
  605. - **CUBEMAP_LAYER_BOTTOM** = **2**
  606. - **CUBEMAP_LAYER_TOP** = **3**
  607. - **CUBEMAP_LAYER_FRONT** = **4**
  608. - **CUBEMAP_LAYER_BACK** = **5**
  609. ----
  610. .. _enum_VisualServer_ShaderMode:
  611. .. _class_VisualServer_constant_SHADER_SPATIAL:
  612. .. _class_VisualServer_constant_SHADER_CANVAS_ITEM:
  613. .. _class_VisualServer_constant_SHADER_PARTICLES:
  614. .. _class_VisualServer_constant_SHADER_SKY:
  615. .. _class_VisualServer_constant_SHADER_MAX:
  616. enum **ShaderMode**:
  617. - **SHADER_SPATIAL** = **0** --- Shader is a 3D shader.
  618. - **SHADER_CANVAS_ITEM** = **1** --- Shader is a 2D shader.
  619. - **SHADER_PARTICLES** = **2** --- Shader is a particle shader.
  620. - **SHADER_SKY** = **3** --- Shader is a sky shader.
  621. - **SHADER_MAX** = **4** --- Represents the size of the :ref:`ShaderMode<enum_VisualServer_ShaderMode>` enum.
  622. ----
  623. .. _enum_VisualServer_ArrayType:
  624. .. _class_VisualServer_constant_ARRAY_VERTEX:
  625. .. _class_VisualServer_constant_ARRAY_NORMAL:
  626. .. _class_VisualServer_constant_ARRAY_TANGENT:
  627. .. _class_VisualServer_constant_ARRAY_COLOR:
  628. .. _class_VisualServer_constant_ARRAY_TEX_UV:
  629. .. _class_VisualServer_constant_ARRAY_TEX_UV2:
  630. .. _class_VisualServer_constant_ARRAY_BONES:
  631. .. _class_VisualServer_constant_ARRAY_WEIGHTS:
  632. .. _class_VisualServer_constant_ARRAY_INDEX:
  633. .. _class_VisualServer_constant_ARRAY_MAX:
  634. enum **ArrayType**:
  635. - **ARRAY_VERTEX** = **0** --- Array is a vertex array.
  636. - **ARRAY_NORMAL** = **1** --- Array is a normal array.
  637. - **ARRAY_TANGENT** = **2** --- Array is a tangent array.
  638. - **ARRAY_COLOR** = **3** --- Array is a color array.
  639. - **ARRAY_TEX_UV** = **4** --- Array is an UV coordinates array.
  640. - **ARRAY_TEX_UV2** = **5** --- Array is an UV coordinates array for the second UV coordinates.
  641. - **ARRAY_BONES** = **6** --- Array contains bone information.
  642. - **ARRAY_WEIGHTS** = **7** --- Array is weight information.
  643. - **ARRAY_INDEX** = **8** --- Array is index array.
  644. - **ARRAY_MAX** = **9** --- Represents the size of the :ref:`ArrayType<enum_VisualServer_ArrayType>` enum.
  645. ----
  646. .. _enum_VisualServer_ArrayFormat:
  647. .. _class_VisualServer_constant_ARRAY_FORMAT_VERTEX:
  648. .. _class_VisualServer_constant_ARRAY_FORMAT_NORMAL:
  649. .. _class_VisualServer_constant_ARRAY_FORMAT_TANGENT:
  650. .. _class_VisualServer_constant_ARRAY_FORMAT_COLOR:
  651. .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV:
  652. .. _class_VisualServer_constant_ARRAY_FORMAT_TEX_UV2:
  653. .. _class_VisualServer_constant_ARRAY_FORMAT_BONES:
  654. .. _class_VisualServer_constant_ARRAY_FORMAT_WEIGHTS:
  655. .. _class_VisualServer_constant_ARRAY_FORMAT_INDEX:
  656. .. _class_VisualServer_constant_ARRAY_COMPRESS_NORMAL:
  657. .. _class_VisualServer_constant_ARRAY_COMPRESS_TANGENT:
  658. .. _class_VisualServer_constant_ARRAY_COMPRESS_COLOR:
  659. .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV:
  660. .. _class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV2:
  661. .. _class_VisualServer_constant_ARRAY_COMPRESS_INDEX:
  662. .. _class_VisualServer_constant_ARRAY_FLAG_USE_2D_VERTICES:
  663. .. _class_VisualServer_constant_ARRAY_FLAG_USE_DYNAMIC_UPDATE:
  664. .. _class_VisualServer_constant_ARRAY_COMPRESS_DEFAULT:
  665. enum **ArrayFormat**:
  666. - **ARRAY_FORMAT_VERTEX** = **1** --- Flag used to mark a vertex array.
  667. - **ARRAY_FORMAT_NORMAL** = **2** --- Flag used to mark a normal array.
  668. - **ARRAY_FORMAT_TANGENT** = **4** --- Flag used to mark a tangent array.
  669. - **ARRAY_FORMAT_COLOR** = **8** --- Flag used to mark a color array.
  670. - **ARRAY_FORMAT_TEX_UV** = **16** --- Flag used to mark an UV coordinates array.
  671. - **ARRAY_FORMAT_TEX_UV2** = **32** --- Flag used to mark an UV coordinates array for the second UV coordinates.
  672. - **ARRAY_FORMAT_BONES** = **64** --- Flag used to mark a bone information array.
  673. - **ARRAY_FORMAT_WEIGHTS** = **128** --- Flag used to mark a weights array.
  674. - **ARRAY_FORMAT_INDEX** = **256** --- Flag used to mark an index array.
  675. - **ARRAY_COMPRESS_NORMAL** = **1024** --- Flag used to mark a compressed (half float) normal array.
  676. - **ARRAY_COMPRESS_TANGENT** = **2048** --- Flag used to mark a compressed (half float) tangent array.
  677. - **ARRAY_COMPRESS_COLOR** = **4096** --- Flag used to mark a compressed (half float) color array.
  678. - **ARRAY_COMPRESS_TEX_UV** = **8192** --- Flag used to mark a compressed (half float) UV coordinates array.
  679. - **ARRAY_COMPRESS_TEX_UV2** = **16384** --- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
  680. - **ARRAY_COMPRESS_INDEX** = **131072** --- Flag used to mark a compressed index array.
  681. - **ARRAY_FLAG_USE_2D_VERTICES** = **262144** --- Flag used to mark that the array contains 2D vertices.
  682. - **ARRAY_FLAG_USE_DYNAMIC_UPDATE** = **1048576**
  683. - **ARRAY_COMPRESS_DEFAULT** = **31744** --- 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>` and :ref:`ARRAY_COMPRESS_TEX_UV2<class_VisualServer_constant_ARRAY_COMPRESS_TEX_UV2>` quickly.
  684. ----
  685. .. _enum_VisualServer_PrimitiveType:
  686. .. _class_VisualServer_constant_PRIMITIVE_POINTS:
  687. .. _class_VisualServer_constant_PRIMITIVE_LINES:
  688. .. _class_VisualServer_constant_PRIMITIVE_LINE_STRIP:
  689. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLES:
  690. .. _class_VisualServer_constant_PRIMITIVE_TRIANGLE_STRIP:
  691. .. _class_VisualServer_constant_PRIMITIVE_MAX:
  692. enum **PrimitiveType**:
  693. - **PRIMITIVE_POINTS** = **0** --- Primitive to draw consists of points.
  694. - **PRIMITIVE_LINES** = **1** --- Primitive to draw consists of lines.
  695. - **PRIMITIVE_LINE_STRIP** = **2** --- Primitive to draw consists of a line strip from start to end.
  696. - **PRIMITIVE_TRIANGLES** = **3** --- Primitive to draw consists of triangles.
  697. - **PRIMITIVE_TRIANGLE_STRIP** = **4** --- Primitive to draw consists of a triangle strip (the last 3 vertices are always combined to make a triangle).
  698. - **PRIMITIVE_MAX** = **5** --- Represents the size of the :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` enum.
  699. ----
  700. .. _enum_VisualServer_BlendShapeMode:
  701. .. _class_VisualServer_constant_BLEND_SHAPE_MODE_NORMALIZED:
  702. .. _class_VisualServer_constant_BLEND_SHAPE_MODE_RELATIVE:
  703. enum **BlendShapeMode**:
  704. - **BLEND_SHAPE_MODE_NORMALIZED** = **0** --- Blend shapes are normalized.
  705. - **BLEND_SHAPE_MODE_RELATIVE** = **1** --- Blend shapes are relative to base weight.
  706. ----
  707. .. _enum_VisualServer_MultimeshTransformFormat:
  708. .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_2D:
  709. .. _class_VisualServer_constant_MULTIMESH_TRANSFORM_3D:
  710. enum **MultimeshTransformFormat**:
  711. - **MULTIMESH_TRANSFORM_2D** = **0** --- Use :ref:`Transform2D<class_Transform2D>` to store MultiMesh transform.
  712. - **MULTIMESH_TRANSFORM_3D** = **1** --- Use :ref:`Transform<class_Transform>` to store MultiMesh transform.
  713. ----
  714. .. _enum_VisualServer_LightType:
  715. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL:
  716. .. _class_VisualServer_constant_LIGHT_OMNI:
  717. .. _class_VisualServer_constant_LIGHT_SPOT:
  718. enum **LightType**:
  719. - **LIGHT_DIRECTIONAL** = **0** --- Is a directional (sun) light.
  720. - **LIGHT_OMNI** = **1** --- Is an omni light.
  721. - **LIGHT_SPOT** = **2** --- Is a spot light.
  722. ----
  723. .. _enum_VisualServer_LightParam:
  724. .. _class_VisualServer_constant_LIGHT_PARAM_ENERGY:
  725. .. _class_VisualServer_constant_LIGHT_PARAM_INDIRECT_ENERGY:
  726. .. _class_VisualServer_constant_LIGHT_PARAM_SPECULAR:
  727. .. _class_VisualServer_constant_LIGHT_PARAM_RANGE:
  728. .. _class_VisualServer_constant_LIGHT_PARAM_ATTENUATION:
  729. .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ANGLE:
  730. .. _class_VisualServer_constant_LIGHT_PARAM_SPOT_ATTENUATION:
  731. .. _class_VisualServer_constant_LIGHT_PARAM_CONTACT_SHADOW_SIZE:
  732. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_MAX_DISTANCE:
  733. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET:
  734. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET:
  735. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET:
  736. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_FADE_START:
  737. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_NORMAL_BIAS:
  738. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS:
  739. .. _class_VisualServer_constant_LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE:
  740. .. _class_VisualServer_constant_LIGHT_PARAM_MAX:
  741. enum **LightParam**:
  742. - **LIGHT_PARAM_ENERGY** = **0** --- The light's energy.
  743. - **LIGHT_PARAM_INDIRECT_ENERGY** = **1**
  744. - **LIGHT_PARAM_SPECULAR** = **2** --- The light's influence on specularity.
  745. - **LIGHT_PARAM_RANGE** = **3** --- The light's range.
  746. - **LIGHT_PARAM_ATTENUATION** = **4** --- The light's attenuation.
  747. - **LIGHT_PARAM_SPOT_ANGLE** = **5** --- The spotlight's angle.
  748. - **LIGHT_PARAM_SPOT_ATTENUATION** = **6** --- The spotlight's attenuation.
  749. - **LIGHT_PARAM_CONTACT_SHADOW_SIZE** = **7** --- Scales the shadow color.
  750. - **LIGHT_PARAM_SHADOW_MAX_DISTANCE** = **8** --- Max distance that shadows will be rendered.
  751. - **LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET** = **9** --- Proportion of shadow atlas occupied by the first split.
  752. - **LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET** = **10** --- Proportion of shadow atlas occupied by the second split.
  753. - **LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET** = **11** --- Proportion of shadow atlas occupied by the third split. The fourth split occupies the rest.
  754. - **LIGHT_PARAM_SHADOW_FADE_START** = **12**
  755. - **LIGHT_PARAM_SHADOW_NORMAL_BIAS** = **13** --- Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts.
  756. - **LIGHT_PARAM_SHADOW_BIAS** = **14** --- Bias the shadow lookup to fix self-shadowing artifacts.
  757. - **LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE** = **15** --- Increases bias on further splits to fix self-shadowing that only occurs far away from the camera.
  758. - **LIGHT_PARAM_MAX** = **16** --- Represents the size of the :ref:`LightParam<enum_VisualServer_LightParam>` enum.
  759. ----
  760. .. _enum_VisualServer_LightOmniShadowMode:
  761. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_DUAL_PARABOLOID:
  762. .. _class_VisualServer_constant_LIGHT_OMNI_SHADOW_CUBE:
  763. enum **LightOmniShadowMode**:
  764. - **LIGHT_OMNI_SHADOW_DUAL_PARABOLOID** = **0** --- Use a dual paraboloid shadow map for omni lights.
  765. - **LIGHT_OMNI_SHADOW_CUBE** = **1** --- Use a cubemap shadow map for omni lights. Slower but better quality than dual paraboloid.
  766. ----
  767. .. _enum_VisualServer_LightDirectionalShadowMode:
  768. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL:
  769. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS:
  770. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS:
  771. enum **LightDirectionalShadowMode**:
  772. - **LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL** = **0** --- Use orthogonal shadow projection for directional light.
  773. - **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS** = **1** --- Use 2 splits for shadow projection when using directional light.
  774. - **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS** = **2** --- Use 4 splits for shadow projection when using directional light.
  775. ----
  776. .. _enum_VisualServer_LightDirectionalShadowDepthRangeMode:
  777. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE:
  778. .. _class_VisualServer_constant_LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED:
  779. enum **LightDirectionalShadowDepthRangeMode**:
  780. - **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE** = **0** --- Keeps shadows stable as camera moves but has lower effective resolution.
  781. - **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.
  782. ----
  783. .. _enum_VisualServer_ReflectionProbeUpdateMode:
  784. .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ONCE:
  785. .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ALWAYS:
  786. enum **ReflectionProbeUpdateMode**:
  787. - **REFLECTION_PROBE_UPDATE_ONCE** = **0** --- Reflection probe will update reflections once and then stop.
  788. - **REFLECTION_PROBE_UPDATE_ALWAYS** = **1** --- Reflection probe will update each frame. This mode is necessary to capture moving objects.
  789. ----
  790. .. _enum_VisualServer_ParticlesDrawOrder:
  791. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_INDEX:
  792. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_LIFETIME:
  793. .. _class_VisualServer_constant_PARTICLES_DRAW_ORDER_VIEW_DEPTH:
  794. enum **ParticlesDrawOrder**:
  795. - **PARTICLES_DRAW_ORDER_INDEX** = **0** --- Draw particles in the order that they appear in the particles array.
  796. - **PARTICLES_DRAW_ORDER_LIFETIME** = **1** --- Sort particles based on their lifetime.
  797. - **PARTICLES_DRAW_ORDER_VIEW_DEPTH** = **2** --- Sort particles based on their distance to the camera.
  798. ----
  799. .. _enum_VisualServer_ViewportUpdateMode:
  800. .. _class_VisualServer_constant_VIEWPORT_UPDATE_DISABLED:
  801. .. _class_VisualServer_constant_VIEWPORT_UPDATE_ONCE:
  802. .. _class_VisualServer_constant_VIEWPORT_UPDATE_WHEN_VISIBLE:
  803. .. _class_VisualServer_constant_VIEWPORT_UPDATE_ALWAYS:
  804. enum **ViewportUpdateMode**:
  805. - **VIEWPORT_UPDATE_DISABLED** = **0** --- Do not update the viewport.
  806. - **VIEWPORT_UPDATE_ONCE** = **1** --- Update the viewport once then set to disabled.
  807. - **VIEWPORT_UPDATE_WHEN_VISIBLE** = **2** --- Update the viewport whenever it is visible.
  808. - **VIEWPORT_UPDATE_ALWAYS** = **3** --- Always update the viewport.
  809. ----
  810. .. _enum_VisualServer_ViewportClearMode:
  811. .. _class_VisualServer_constant_VIEWPORT_CLEAR_ALWAYS:
  812. .. _class_VisualServer_constant_VIEWPORT_CLEAR_NEVER:
  813. .. _class_VisualServer_constant_VIEWPORT_CLEAR_ONLY_NEXT_FRAME:
  814. enum **ViewportClearMode**:
  815. - **VIEWPORT_CLEAR_ALWAYS** = **0** --- The viewport is always cleared before drawing.
  816. - **VIEWPORT_CLEAR_NEVER** = **1** --- The viewport is never cleared before drawing.
  817. - **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>`.
  818. ----
  819. .. _enum_VisualServer_ViewportMSAA:
  820. .. _class_VisualServer_constant_VIEWPORT_MSAA_DISABLED:
  821. .. _class_VisualServer_constant_VIEWPORT_MSAA_2X:
  822. .. _class_VisualServer_constant_VIEWPORT_MSAA_4X:
  823. .. _class_VisualServer_constant_VIEWPORT_MSAA_8X:
  824. .. _class_VisualServer_constant_VIEWPORT_MSAA_16X:
  825. .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_2X:
  826. .. _class_VisualServer_constant_VIEWPORT_MSAA_EXT_4X:
  827. enum **ViewportMSAA**:
  828. - **VIEWPORT_MSAA_DISABLED** = **0** --- Multisample antialiasing is disabled.
  829. - **VIEWPORT_MSAA_2X** = **1** --- Multisample antialiasing is set to 2×.
  830. - **VIEWPORT_MSAA_4X** = **2** --- Multisample antialiasing is set to 4×.
  831. - **VIEWPORT_MSAA_8X** = **3** --- Multisample antialiasing is set to 8×.
  832. - **VIEWPORT_MSAA_16X** = **4** --- Multisample antialiasing is set to 16×.
  833. - **VIEWPORT_MSAA_EXT_2X** = **5** --- Multisample antialiasing is set to 2× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
  834. - **VIEWPORT_MSAA_EXT_4X** = **6** --- Multisample antialiasing is set to 4× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go).
  835. ----
  836. .. _enum_VisualServer_ViewportRenderInfo:
  837. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME:
  838. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME:
  839. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME:
  840. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME:
  841. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME:
  842. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME:
  843. .. _class_VisualServer_constant_VIEWPORT_RENDER_INFO_MAX:
  844. enum **ViewportRenderInfo**:
  845. - **VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME** = **0** --- Number of objects drawn in a single frame.
  846. - **VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME** = **1** --- Number of vertices drawn in a single frame.
  847. - **VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME** = **2** --- Number of material changes during this frame.
  848. - **VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME** = **3** --- Number of shader changes during this frame.
  849. - **VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME** = **4** --- Number of surface changes during this frame.
  850. - **VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME** = **5** --- Number of draw calls during this frame.
  851. - **VIEWPORT_RENDER_INFO_MAX** = **6** --- Represents the size of the :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` enum.
  852. ----
  853. .. _enum_VisualServer_ViewportDebugDraw:
  854. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_DISABLED:
  855. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_UNSHADED:
  856. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_LIGHTING:
  857. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_OVERDRAW:
  858. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_WIREFRAME:
  859. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_NORMAL_BUFFER:
  860. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_GI_PROBE_ALBEDO:
  861. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_GI_PROBE_LIGHTING:
  862. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_GI_PROBE_EMISSION:
  863. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_SHADOW_ATLAS:
  864. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS:
  865. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE:
  866. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_SSAO:
  867. .. _class_VisualServer_constant_VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER:
  868. enum **ViewportDebugDraw**:
  869. - **VIEWPORT_DEBUG_DRAW_DISABLED** = **0** --- Debug draw is disabled. Default setting.
  870. - **VIEWPORT_DEBUG_DRAW_UNSHADED** = **1** --- Debug draw sets objects to unshaded.
  871. - **VIEWPORT_DEBUG_DRAW_LIGHTING** = **2**
  872. - **VIEWPORT_DEBUG_DRAW_OVERDRAW** = **3** --- Overwrites clear color to ``(0,0,0,0)``.
  873. - **VIEWPORT_DEBUG_DRAW_WIREFRAME** = **4** --- Debug draw draws objects in wireframe.
  874. - **VIEWPORT_DEBUG_DRAW_NORMAL_BUFFER** = **5**
  875. - **VIEWPORT_DEBUG_DRAW_GI_PROBE_ALBEDO** = **6**
  876. - **VIEWPORT_DEBUG_DRAW_GI_PROBE_LIGHTING** = **7**
  877. - **VIEWPORT_DEBUG_DRAW_GI_PROBE_EMISSION** = **8**
  878. - **VIEWPORT_DEBUG_DRAW_SHADOW_ATLAS** = **9**
  879. - **VIEWPORT_DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS** = **10**
  880. - **VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE** = **11**
  881. - **VIEWPORT_DEBUG_DRAW_SSAO** = **12**
  882. - **VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER** = **13**
  883. ----
  884. .. _enum_VisualServer_SkyMode:
  885. .. _class_VisualServer_constant_SKY_MODE_QUALITY:
  886. .. _class_VisualServer_constant_SKY_MODE_REALTIME:
  887. enum **SkyMode**:
  888. - **SKY_MODE_QUALITY** = **0**
  889. - **SKY_MODE_REALTIME** = **1**
  890. ----
  891. .. _enum_VisualServer_EnvironmentBG:
  892. .. _class_VisualServer_constant_ENV_BG_CLEAR_COLOR:
  893. .. _class_VisualServer_constant_ENV_BG_COLOR:
  894. .. _class_VisualServer_constant_ENV_BG_SKY:
  895. .. _class_VisualServer_constant_ENV_BG_CANVAS:
  896. .. _class_VisualServer_constant_ENV_BG_KEEP:
  897. .. _class_VisualServer_constant_ENV_BG_CAMERA_FEED:
  898. .. _class_VisualServer_constant_ENV_BG_MAX:
  899. enum **EnvironmentBG**:
  900. - **ENV_BG_CLEAR_COLOR** = **0** --- Use the clear color as background.
  901. - **ENV_BG_COLOR** = **1** --- Use a specified color as the background.
  902. - **ENV_BG_SKY** = **2** --- Use a sky resource for the background.
  903. - **ENV_BG_CANVAS** = **3** --- Use a specified canvas layer as the background. This can be useful for instantiating a 2D scene in a 3D world.
  904. - **ENV_BG_KEEP** = **4** --- Do not clear the background, use whatever was rendered last frame as the background.
  905. - **ENV_BG_CAMERA_FEED** = **5** --- Displays a camera feed in the background.
  906. - **ENV_BG_MAX** = **6** --- Represents the size of the :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` enum.
  907. ----
  908. .. _enum_VisualServer_EnvironmentAmbientSource:
  909. .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_BG:
  910. .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_DISABLED:
  911. .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_COLOR:
  912. .. _class_VisualServer_constant_ENV_AMBIENT_SOURCE_SKY:
  913. enum **EnvironmentAmbientSource**:
  914. - **ENV_AMBIENT_SOURCE_BG** = **0**
  915. - **ENV_AMBIENT_SOURCE_DISABLED** = **1**
  916. - **ENV_AMBIENT_SOURCE_COLOR** = **2**
  917. - **ENV_AMBIENT_SOURCE_SKY** = **3**
  918. ----
  919. .. _enum_VisualServer_EnvironmentReflectionSource:
  920. .. _class_VisualServer_constant_ENV_REFLECTION_SOURCE_BG:
  921. .. _class_VisualServer_constant_ENV_REFLECTION_SOURCE_DISABLED:
  922. .. _class_VisualServer_constant_ENV_REFLECTION_SOURCE_SKY:
  923. enum **EnvironmentReflectionSource**:
  924. - **ENV_REFLECTION_SOURCE_BG** = **0**
  925. - **ENV_REFLECTION_SOURCE_DISABLED** = **1**
  926. - **ENV_REFLECTION_SOURCE_SKY** = **2**
  927. ----
  928. .. _enum_VisualServer_EnvironmentGlowBlendMode:
  929. .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_ADDITIVE:
  930. .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_SCREEN:
  931. .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_SOFTLIGHT:
  932. .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_REPLACE:
  933. .. _class_VisualServer_constant_ENV_GLOW_BLEND_MODE_MIX:
  934. enum **EnvironmentGlowBlendMode**:
  935. - **ENV_GLOW_BLEND_MODE_ADDITIVE** = **0**
  936. - **ENV_GLOW_BLEND_MODE_SCREEN** = **1**
  937. - **ENV_GLOW_BLEND_MODE_SOFTLIGHT** = **2**
  938. - **ENV_GLOW_BLEND_MODE_REPLACE** = **3**
  939. - **ENV_GLOW_BLEND_MODE_MIX** = **4**
  940. ----
  941. .. _enum_VisualServer_EnvironmentToneMapper:
  942. .. _class_VisualServer_constant_ENV_TONE_MAPPER_LINEAR:
  943. .. _class_VisualServer_constant_ENV_TONE_MAPPER_REINHARD:
  944. .. _class_VisualServer_constant_ENV_TONE_MAPPER_FILMIC:
  945. .. _class_VisualServer_constant_ENV_TONE_MAPPER_ACES:
  946. enum **EnvironmentToneMapper**:
  947. - **ENV_TONE_MAPPER_LINEAR** = **0** --- Output color as they came in.
  948. - **ENV_TONE_MAPPER_REINHARD** = **1** --- Use the Reinhard tonemapper.
  949. - **ENV_TONE_MAPPER_FILMIC** = **2** --- Use the filmic tonemapper.
  950. - **ENV_TONE_MAPPER_ACES** = **3** --- Use the ACES tonemapper.
  951. ----
  952. .. _enum_VisualServer_EnvironmentSSAOBlur:
  953. .. _class_VisualServer_constant_ENV_SSAO_BLUR_DISABLED:
  954. .. _class_VisualServer_constant_ENV_SSAO_BLUR_1x1:
  955. .. _class_VisualServer_constant_ENV_SSAO_BLUR_2x2:
  956. .. _class_VisualServer_constant_ENV_SSAO_BLUR_3x3:
  957. enum **EnvironmentSSAOBlur**:
  958. - **ENV_SSAO_BLUR_DISABLED** = **0** --- Disables the blur set for SSAO. Will make SSAO look noisier.
  959. - **ENV_SSAO_BLUR_1x1** = **1** --- Perform a 1x1 blur on the SSAO output.
  960. - **ENV_SSAO_BLUR_2x2** = **2** --- Performs a 2x2 blur on the SSAO output.
  961. - **ENV_SSAO_BLUR_3x3** = **3** --- Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO.
  962. ----
  963. .. _enum_VisualServer_EnvironmentSSAOQuality:
  964. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_LOW:
  965. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_MEDIUM:
  966. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_HIGH:
  967. .. _class_VisualServer_constant_ENV_SSAO_QUALITY_ULTRA:
  968. enum **EnvironmentSSAOQuality**:
  969. - **ENV_SSAO_QUALITY_LOW** = **0** --- Lowest quality of screen space ambient occlusion.
  970. - **ENV_SSAO_QUALITY_MEDIUM** = **1** --- Medium quality screen space ambient occlusion.
  971. - **ENV_SSAO_QUALITY_HIGH** = **2** --- Highest quality screen space ambient occlusion.
  972. - **ENV_SSAO_QUALITY_ULTRA** = **3**
  973. ----
  974. .. _enum_VisualServer_DOFBlurQuality:
  975. .. _class_VisualServer_constant_DOF_BLUR_QUALITY_VERY_LOW:
  976. .. _class_VisualServer_constant_DOF_BLUR_QUALITY_LOW:
  977. .. _class_VisualServer_constant_DOF_BLUR_QUALITY_MEDIUM:
  978. .. _class_VisualServer_constant_DOF_BLUR_QUALITY_HIGH:
  979. enum **DOFBlurQuality**:
  980. - **DOF_BLUR_QUALITY_VERY_LOW** = **0**
  981. - **DOF_BLUR_QUALITY_LOW** = **1**
  982. - **DOF_BLUR_QUALITY_MEDIUM** = **2**
  983. - **DOF_BLUR_QUALITY_HIGH** = **3**
  984. ----
  985. .. _enum_VisualServer_DOFBokehShape:
  986. .. _class_VisualServer_constant_DOF_BOKEH_BOX:
  987. .. _class_VisualServer_constant_DOF_BOKEH_HEXAGON:
  988. .. _class_VisualServer_constant_DOF_BOKEH_CIRCLE:
  989. enum **DOFBokehShape**:
  990. - **DOF_BOKEH_BOX** = **0**
  991. - **DOF_BOKEH_HEXAGON** = **1**
  992. - **DOF_BOKEH_CIRCLE** = **2**
  993. ----
  994. .. _enum_VisualServer_ScenarioDebugMode:
  995. .. _class_VisualServer_constant_SCENARIO_DEBUG_DISABLED:
  996. .. _class_VisualServer_constant_SCENARIO_DEBUG_WIREFRAME:
  997. .. _class_VisualServer_constant_SCENARIO_DEBUG_OVERDRAW:
  998. .. _class_VisualServer_constant_SCENARIO_DEBUG_SHADELESS:
  999. enum **ScenarioDebugMode**:
  1000. - **SCENARIO_DEBUG_DISABLED** = **0** --- Do not use a debug mode.
  1001. - **SCENARIO_DEBUG_WIREFRAME** = **1** --- Draw all objects as wireframe models.
  1002. - **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.
  1003. - **SCENARIO_DEBUG_SHADELESS** = **3** --- Draw all objects without shading. Equivalent to setting all objects shaders to ``unshaded``.
  1004. ----
  1005. .. _enum_VisualServer_InstanceType:
  1006. .. _class_VisualServer_constant_INSTANCE_NONE:
  1007. .. _class_VisualServer_constant_INSTANCE_MESH:
  1008. .. _class_VisualServer_constant_INSTANCE_MULTIMESH:
  1009. .. _class_VisualServer_constant_INSTANCE_IMMEDIATE:
  1010. .. _class_VisualServer_constant_INSTANCE_PARTICLES:
  1011. .. _class_VisualServer_constant_INSTANCE_LIGHT:
  1012. .. _class_VisualServer_constant_INSTANCE_REFLECTION_PROBE:
  1013. .. _class_VisualServer_constant_INSTANCE_GI_PROBE:
  1014. .. _class_VisualServer_constant_INSTANCE_LIGHTMAP_CAPTURE:
  1015. .. _class_VisualServer_constant_INSTANCE_MAX:
  1016. .. _class_VisualServer_constant_INSTANCE_GEOMETRY_MASK:
  1017. enum **InstanceType**:
  1018. - **INSTANCE_NONE** = **0** --- The instance does not have a type.
  1019. - **INSTANCE_MESH** = **1** --- The instance is a mesh.
  1020. - **INSTANCE_MULTIMESH** = **2** --- The instance is a multimesh.
  1021. - **INSTANCE_IMMEDIATE** = **3** --- The instance is an immediate geometry.
  1022. - **INSTANCE_PARTICLES** = **4** --- The instance is a particle emitter.
  1023. - **INSTANCE_LIGHT** = **5** --- The instance is a light.
  1024. - **INSTANCE_REFLECTION_PROBE** = **6** --- The instance is a reflection probe.
  1025. - **INSTANCE_GI_PROBE** = **7** --- The instance is a GI probe.
  1026. - **INSTANCE_LIGHTMAP_CAPTURE** = **8** --- The instance is a lightmap capture.
  1027. - **INSTANCE_MAX** = **9** --- Represents the size of the :ref:`InstanceType<enum_VisualServer_InstanceType>` enum.
  1028. - **INSTANCE_GEOMETRY_MASK** = **30** --- A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
  1029. ----
  1030. .. _enum_VisualServer_InstanceFlags:
  1031. .. _class_VisualServer_constant_INSTANCE_FLAG_USE_BAKED_LIGHT:
  1032. .. _class_VisualServer_constant_INSTANCE_FLAG_USE_DYNAMIC_GI:
  1033. .. _class_VisualServer_constant_INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE:
  1034. .. _class_VisualServer_constant_INSTANCE_FLAG_MAX:
  1035. enum **InstanceFlags**:
  1036. - **INSTANCE_FLAG_USE_BAKED_LIGHT** = **0** --- Allows the instance to be used in baked lighting.
  1037. - **INSTANCE_FLAG_USE_DYNAMIC_GI** = **1**
  1038. - **INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE** = **2** --- When set, manually requests to draw geometry on next frame.
  1039. - **INSTANCE_FLAG_MAX** = **3** --- Represents the size of the :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` enum.
  1040. ----
  1041. .. _enum_VisualServer_ShadowCastingSetting:
  1042. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_OFF:
  1043. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_ON:
  1044. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_DOUBLE_SIDED:
  1045. .. _class_VisualServer_constant_SHADOW_CASTING_SETTING_SHADOWS_ONLY:
  1046. enum **ShadowCastingSetting**:
  1047. - **SHADOW_CASTING_SETTING_OFF** = **0** --- Disable shadows from this instance.
  1048. - **SHADOW_CASTING_SETTING_ON** = **1** --- Cast shadows from this instance.
  1049. - **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.
  1050. - **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = **3** --- Only render the shadows from the object. The object itself will not be drawn.
  1051. ----
  1052. .. _enum_VisualServer_NinePatchAxisMode:
  1053. .. _class_VisualServer_constant_NINE_PATCH_STRETCH:
  1054. .. _class_VisualServer_constant_NINE_PATCH_TILE:
  1055. .. _class_VisualServer_constant_NINE_PATCH_TILE_FIT:
  1056. enum **NinePatchAxisMode**:
  1057. - **NINE_PATCH_STRETCH** = **0** --- The nine patch gets stretched where needed.
  1058. - **NINE_PATCH_TILE** = **1** --- The nine patch gets filled with tiles where needed.
  1059. - **NINE_PATCH_TILE_FIT** = **2** --- The nine patch gets filled with tiles where needed and stretches them a bit if needed.
  1060. ----
  1061. .. _enum_VisualServer_CanvasItemTextureFilter:
  1062. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_DEFAULT:
  1063. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_NEAREST:
  1064. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_LINEAR:
  1065. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS:
  1066. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS:
  1067. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC:
  1068. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC:
  1069. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_FILTER_MAX:
  1070. enum **CanvasItemTextureFilter**:
  1071. - **CANVAS_ITEM_TEXTURE_FILTER_DEFAULT** = **0**
  1072. - **CANVAS_ITEM_TEXTURE_FILTER_NEAREST** = **1**
  1073. - **CANVAS_ITEM_TEXTURE_FILTER_LINEAR** = **2**
  1074. - **CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS** = **3**
  1075. - **CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS** = **4**
  1076. - **CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC** = **5**
  1077. - **CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC** = **6**
  1078. - **CANVAS_ITEM_TEXTURE_FILTER_MAX** = **7**
  1079. ----
  1080. .. _enum_VisualServer_CanvasItemTextureRepeat:
  1081. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_DEFAULT:
  1082. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_DISABLED:
  1083. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_ENABLED:
  1084. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_MIRROR:
  1085. .. _class_VisualServer_constant_CANVAS_ITEM_TEXTURE_REPEAT_MAX:
  1086. enum **CanvasItemTextureRepeat**:
  1087. - **CANVAS_ITEM_TEXTURE_REPEAT_DEFAULT** = **0**
  1088. - **CANVAS_ITEM_TEXTURE_REPEAT_DISABLED** = **1**
  1089. - **CANVAS_ITEM_TEXTURE_REPEAT_ENABLED** = **2**
  1090. - **CANVAS_ITEM_TEXTURE_REPEAT_MIRROR** = **3**
  1091. - **CANVAS_ITEM_TEXTURE_REPEAT_MAX** = **4**
  1092. ----
  1093. .. _enum_VisualServer_CanvasLightMode:
  1094. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_ADD:
  1095. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_SUB:
  1096. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MIX:
  1097. .. _class_VisualServer_constant_CANVAS_LIGHT_MODE_MASK:
  1098. enum **CanvasLightMode**:
  1099. - **CANVAS_LIGHT_MODE_ADD** = **0** --- Adds light color additive to the canvas.
  1100. - **CANVAS_LIGHT_MODE_SUB** = **1** --- Adds light color subtractive to the canvas.
  1101. - **CANVAS_LIGHT_MODE_MIX** = **2** --- The light adds color depending on transparency.
  1102. - **CANVAS_LIGHT_MODE_MASK** = **3** --- The light adds color depending on mask.
  1103. ----
  1104. .. _enum_VisualServer_CanvasLightShadowFilter:
  1105. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_NONE:
  1106. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF5:
  1107. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_PCF13:
  1108. .. _class_VisualServer_constant_CANVAS_LIGHT_FILTER_MAX:
  1109. enum **CanvasLightShadowFilter**:
  1110. - **CANVAS_LIGHT_FILTER_NONE** = **0** --- Do not apply a filter to canvas light shadows.
  1111. - **CANVAS_LIGHT_FILTER_PCF5** = **1** --- Use PCF5 filtering to filter canvas light shadows.
  1112. - **CANVAS_LIGHT_FILTER_PCF13** = **2** --- Use PCF13 filtering to filter canvas light shadows.
  1113. - **CANVAS_LIGHT_FILTER_MAX** = **3**
  1114. ----
  1115. .. _enum_VisualServer_CanvasOccluderPolygonCullMode:
  1116. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_DISABLED:
  1117. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE:
  1118. .. _class_VisualServer_constant_CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE:
  1119. enum **CanvasOccluderPolygonCullMode**:
  1120. - **CANVAS_OCCLUDER_POLYGON_CULL_DISABLED** = **0** --- Culling of the canvas occluder is disabled.
  1121. - **CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE** = **1** --- Culling of the canvas occluder is clockwise.
  1122. - **CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE** = **2** --- Culling of the canvas occluder is counterclockwise.
  1123. ----
  1124. .. _enum_VisualServer_RenderInfo:
  1125. .. _class_VisualServer_constant_INFO_OBJECTS_IN_FRAME:
  1126. .. _class_VisualServer_constant_INFO_VERTICES_IN_FRAME:
  1127. .. _class_VisualServer_constant_INFO_MATERIAL_CHANGES_IN_FRAME:
  1128. .. _class_VisualServer_constant_INFO_SHADER_CHANGES_IN_FRAME:
  1129. .. _class_VisualServer_constant_INFO_SURFACE_CHANGES_IN_FRAME:
  1130. .. _class_VisualServer_constant_INFO_DRAW_CALLS_IN_FRAME:
  1131. .. _class_VisualServer_constant_INFO_USAGE_VIDEO_MEM_TOTAL:
  1132. .. _class_VisualServer_constant_INFO_VIDEO_MEM_USED:
  1133. .. _class_VisualServer_constant_INFO_TEXTURE_MEM_USED:
  1134. .. _class_VisualServer_constant_INFO_VERTEX_MEM_USED:
  1135. enum **RenderInfo**:
  1136. - **INFO_OBJECTS_IN_FRAME** = **0** --- The amount of objects in the frame.
  1137. - **INFO_VERTICES_IN_FRAME** = **1** --- The amount of vertices in the frame.
  1138. - **INFO_MATERIAL_CHANGES_IN_FRAME** = **2** --- The amount of modified materials in the frame.
  1139. - **INFO_SHADER_CHANGES_IN_FRAME** = **3** --- The amount of shader rebinds in the frame.
  1140. - **INFO_SURFACE_CHANGES_IN_FRAME** = **4** --- The amount of surface changes in the frame.
  1141. - **INFO_DRAW_CALLS_IN_FRAME** = **5** --- The amount of draw calls in frame.
  1142. - **INFO_USAGE_VIDEO_MEM_TOTAL** = **6** --- Unimplemented in the GLES2 rendering backend, always returns 0.
  1143. - **INFO_VIDEO_MEM_USED** = **7** --- The amount of video memory used, i.e. texture and vertex memory combined.
  1144. - **INFO_TEXTURE_MEM_USED** = **8** --- The amount of texture memory used.
  1145. - **INFO_VERTEX_MEM_USED** = **9** --- The amount of vertex memory used.
  1146. ----
  1147. .. _enum_VisualServer_Features:
  1148. .. _class_VisualServer_constant_FEATURE_SHADERS:
  1149. .. _class_VisualServer_constant_FEATURE_MULTITHREADED:
  1150. enum **Features**:
  1151. - **FEATURE_SHADERS** = **0** --- Hardware supports shaders. This enum is currently unused in Godot 3.x.
  1152. - **FEATURE_MULTITHREADED** = **1** --- Hardware supports multithreading. This enum is currently unused in Godot 3.x.
  1153. Constants
  1154. ---------
  1155. .. _class_VisualServer_constant_NO_INDEX_ARRAY:
  1156. .. _class_VisualServer_constant_ARRAY_WEIGHTS_SIZE:
  1157. .. _class_VisualServer_constant_CANVAS_ITEM_Z_MIN:
  1158. .. _class_VisualServer_constant_CANVAS_ITEM_Z_MAX:
  1159. .. _class_VisualServer_constant_MAX_GLOW_LEVELS:
  1160. .. _class_VisualServer_constant_MAX_CURSORS:
  1161. .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MIN:
  1162. .. _class_VisualServer_constant_MATERIAL_RENDER_PRIORITY_MAX:
  1163. - **NO_INDEX_ARRAY** = **-1** --- Marks an error that shows that the index array is empty.
  1164. - **ARRAY_WEIGHTS_SIZE** = **4** --- Number of weights/bones per vertex.
  1165. - **CANVAS_ITEM_Z_MIN** = **-4096** --- The minimum Z-layer for canvas items.
  1166. - **CANVAS_ITEM_Z_MAX** = **4096** --- The maximum Z-layer for canvas items.
  1167. - **MAX_GLOW_LEVELS** = **7** --- Max number of glow levels that can be used with glow post-process effect.
  1168. - **MAX_CURSORS** = **8** --- Unused enum in Godot 3.x.
  1169. - **MATERIAL_RENDER_PRIORITY_MIN** = **-128** --- The minimum renderpriority of all materials.
  1170. - **MATERIAL_RENDER_PRIORITY_MAX** = **127** --- The maximum renderpriority of all materials.
  1171. Method Descriptions
  1172. -------------------
  1173. .. _class_VisualServer_method_black_bars_set_images:
  1174. - 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 **)**
  1175. Sets images to be rendered in the window margin.
  1176. ----
  1177. .. _class_VisualServer_method_black_bars_set_margins:
  1178. - 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 **)**
  1179. 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.
  1180. ----
  1181. .. _class_VisualServer_method_camera_create:
  1182. - :ref:`RID<class_RID>` **camera_create** **(** **)**
  1183. 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.
  1184. 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.
  1185. ----
  1186. .. _class_VisualServer_method_camera_set_cull_mask:
  1187. - void **camera_set_cull_mask** **(** :ref:`RID<class_RID>` camera, :ref:`int<class_int>` layers **)**
  1188. 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>`.
  1189. ----
  1190. .. _class_VisualServer_method_camera_set_environment:
  1191. - void **camera_set_environment** **(** :ref:`RID<class_RID>` camera, :ref:`RID<class_RID>` env **)**
  1192. Sets the environment used by this camera. Equivalent to :ref:`Camera.environment<class_Camera_property_environment>`.
  1193. ----
  1194. .. _class_VisualServer_method_camera_set_frustum:
  1195. - 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 **)**
  1196. Sets camera to use frustum projection. This mode allows adjusting the ``offset`` argument to create "tilted frustum" effects.
  1197. ----
  1198. .. _class_VisualServer_method_camera_set_orthogonal:
  1199. - 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 **)**
  1200. 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.
  1201. ----
  1202. .. _class_VisualServer_method_camera_set_perspective:
  1203. - 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 **)**
  1204. Sets camera to use perspective projection. Objects on the screen becomes smaller when they are far away.
  1205. ----
  1206. .. _class_VisualServer_method_camera_set_transform:
  1207. - void **camera_set_transform** **(** :ref:`RID<class_RID>` camera, :ref:`Transform<class_Transform>` transform **)**
  1208. Sets :ref:`Transform<class_Transform>` of camera.
  1209. ----
  1210. .. _class_VisualServer_method_camera_set_use_vertical_aspect:
  1211. - void **camera_set_use_vertical_aspect** **(** :ref:`RID<class_RID>` camera, :ref:`bool<class_bool>` enable **)**
  1212. 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>`.
  1213. ----
  1214. .. _class_VisualServer_method_canvas_create:
  1215. - :ref:`RID<class_RID>` **canvas_create** **(** **)**
  1216. 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.
  1217. 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.
  1218. ----
  1219. .. _class_VisualServer_method_canvas_item_clear:
  1220. - void **canvas_item_clear** **(** :ref:`RID<class_RID>` item **)**
  1221. Clears the :ref:`CanvasItem<class_CanvasItem>` and removes all commands in it.
  1222. ----
  1223. .. _class_VisualServer_method_canvas_item_set_copy_to_backbuffer:
  1224. - void **canvas_item_set_copy_to_backbuffer** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled, :ref:`Rect2<class_Rect2>` rect **)**
  1225. Sets the :ref:`CanvasItem<class_CanvasItem>` to copy a rect to the backbuffer.
  1226. ----
  1227. .. _class_VisualServer_method_canvas_item_set_draw_index:
  1228. - void **canvas_item_set_draw_index** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` index **)**
  1229. Sets the index for the :ref:`CanvasItem<class_CanvasItem>`.
  1230. ----
  1231. .. _class_VisualServer_method_canvas_item_set_material:
  1232. - void **canvas_item_set_material** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` material **)**
  1233. Sets a new material to the :ref:`CanvasItem<class_CanvasItem>`.
  1234. ----
  1235. .. _class_VisualServer_method_canvas_item_set_use_parent_material:
  1236. - void **canvas_item_set_use_parent_material** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1237. Sets if the :ref:`CanvasItem<class_CanvasItem>` uses its parent's material.
  1238. ----
  1239. .. _class_VisualServer_method_canvas_item_set_z_as_relative_to_parent:
  1240. - void **canvas_item_set_z_as_relative_to_parent** **(** :ref:`RID<class_RID>` item, :ref:`bool<class_bool>` enabled **)**
  1241. If this is enabled, the Z index of the parent will be added to the children's Z index.
  1242. ----
  1243. .. _class_VisualServer_method_canvas_item_set_z_index:
  1244. - void **canvas_item_set_z_index** **(** :ref:`RID<class_RID>` item, :ref:`int<class_int>` z_index **)**
  1245. Sets the :ref:`CanvasItem<class_CanvasItem>`'s Z index, i.e. its draw order (lower indexes are drawn first).
  1246. ----
  1247. .. _class_VisualServer_method_canvas_light_attach_to_canvas:
  1248. - void **canvas_light_attach_to_canvas** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` canvas **)**
  1249. Attaches the canvas light to the canvas. Removes it from its previous canvas.
  1250. ----
  1251. .. _class_VisualServer_method_canvas_light_create:
  1252. - :ref:`RID<class_RID>` **canvas_light_create** **(** **)**
  1253. 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.
  1254. 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.
  1255. ----
  1256. .. _class_VisualServer_method_canvas_light_occluder_attach_to_canvas:
  1257. - void **canvas_light_occluder_attach_to_canvas** **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` canvas **)**
  1258. Attaches a light occluder to the canvas. Removes it from its previous canvas.
  1259. ----
  1260. .. _class_VisualServer_method_canvas_light_occluder_create:
  1261. - :ref:`RID<class_RID>` **canvas_light_occluder_create** **(** **)**
  1262. 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.
  1263. 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.
  1264. ----
  1265. .. _class_VisualServer_method_canvas_light_occluder_set_enabled:
  1266. - void **canvas_light_occluder_set_enabled** **(** :ref:`RID<class_RID>` occluder, :ref:`bool<class_bool>` enabled **)**
  1267. Enables or disables light occluder.
  1268. ----
  1269. .. _class_VisualServer_method_canvas_light_occluder_set_light_mask:
  1270. - void **canvas_light_occluder_set_light_mask** **(** :ref:`RID<class_RID>` occluder, :ref:`int<class_int>` mask **)**
  1271. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  1272. ----
  1273. .. _class_VisualServer_method_canvas_light_occluder_set_polygon:
  1274. - void **canvas_light_occluder_set_polygon** **(** :ref:`RID<class_RID>` occluder, :ref:`RID<class_RID>` polygon **)**
  1275. Sets a light occluder's polygon.
  1276. ----
  1277. .. _class_VisualServer_method_canvas_light_occluder_set_transform:
  1278. - void **canvas_light_occluder_set_transform** **(** :ref:`RID<class_RID>` occluder, :ref:`Transform2D<class_Transform2D>` transform **)**
  1279. Sets a light occluder's :ref:`Transform2D<class_Transform2D>`.
  1280. ----
  1281. .. _class_VisualServer_method_canvas_light_set_color:
  1282. - void **canvas_light_set_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  1283. Sets the color for a light.
  1284. ----
  1285. .. _class_VisualServer_method_canvas_light_set_enabled:
  1286. - void **canvas_light_set_enabled** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1287. Enables or disables a canvas light.
  1288. ----
  1289. .. _class_VisualServer_method_canvas_light_set_energy:
  1290. - void **canvas_light_set_energy** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` energy **)**
  1291. Sets a canvas light's energy.
  1292. ----
  1293. .. _class_VisualServer_method_canvas_light_set_height:
  1294. - void **canvas_light_set_height** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` height **)**
  1295. Sets a canvas light's height.
  1296. ----
  1297. .. _class_VisualServer_method_canvas_light_set_item_cull_mask:
  1298. - void **canvas_light_set_item_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  1299. The light mask. See :ref:`LightOccluder2D<class_LightOccluder2D>` for more information on light masks.
  1300. ----
  1301. .. _class_VisualServer_method_canvas_light_set_item_shadow_cull_mask:
  1302. - void **canvas_light_set_item_shadow_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  1303. 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.
  1304. ----
  1305. .. _class_VisualServer_method_canvas_light_set_layer_range:
  1306. - void **canvas_light_set_layer_range** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_layer, :ref:`int<class_int>` max_layer **)**
  1307. The layer range that gets rendered with this light.
  1308. ----
  1309. .. _class_VisualServer_method_canvas_light_set_mode:
  1310. - void **canvas_light_set_mode** **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` mode **)**
  1311. The mode of the light, see :ref:`CanvasLightMode<enum_VisualServer_CanvasLightMode>` constants.
  1312. ----
  1313. .. _class_VisualServer_method_canvas_light_set_scale:
  1314. - void **canvas_light_set_scale** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` scale **)**
  1315. Sets the texture's scale factor of the light. Equivalent to :ref:`Light2D.texture_scale<class_Light2D_property_texture_scale>`.
  1316. ----
  1317. .. _class_VisualServer_method_canvas_light_set_shadow_buffer_size:
  1318. - void **canvas_light_set_shadow_buffer_size** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` size **)**
  1319. Sets the width of the shadow buffer, size gets scaled to the next power of two for this.
  1320. ----
  1321. .. _class_VisualServer_method_canvas_light_set_shadow_color:
  1322. - void **canvas_light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  1323. Sets the color of the canvas light's shadow.
  1324. ----
  1325. .. _class_VisualServer_method_canvas_light_set_shadow_enabled:
  1326. - void **canvas_light_set_shadow_enabled** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1327. Enables or disables the canvas light's shadow.
  1328. ----
  1329. .. _class_VisualServer_method_canvas_light_set_shadow_filter:
  1330. - void **canvas_light_set_shadow_filter** **(** :ref:`RID<class_RID>` light, :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` filter **)**
  1331. Sets the canvas light's shadow's filter, see :ref:`CanvasLightShadowFilter<enum_VisualServer_CanvasLightShadowFilter>` constants.
  1332. ----
  1333. .. _class_VisualServer_method_canvas_light_set_shadow_smooth:
  1334. - void **canvas_light_set_shadow_smooth** **(** :ref:`RID<class_RID>` light, :ref:`float<class_float>` smooth **)**
  1335. Smoothens the shadow. The lower, the smoother.
  1336. ----
  1337. .. _class_VisualServer_method_canvas_light_set_texture:
  1338. - void **canvas_light_set_texture** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)**
  1339. Sets texture to be used by light. Equivalent to :ref:`Light2D.texture<class_Light2D_property_texture>`.
  1340. ----
  1341. .. _class_VisualServer_method_canvas_light_set_texture_offset:
  1342. - void **canvas_light_set_texture_offset** **(** :ref:`RID<class_RID>` light, :ref:`Vector2<class_Vector2>` offset **)**
  1343. Sets the offset of the light's texture. Equivalent to :ref:`Light2D.offset<class_Light2D_property_offset>`.
  1344. ----
  1345. .. _class_VisualServer_method_canvas_light_set_transform:
  1346. - void **canvas_light_set_transform** **(** :ref:`RID<class_RID>` light, :ref:`Transform2D<class_Transform2D>` transform **)**
  1347. Sets the canvas light's :ref:`Transform2D<class_Transform2D>`.
  1348. ----
  1349. .. _class_VisualServer_method_canvas_light_set_z_range:
  1350. - void **canvas_light_set_z_range** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` min_z, :ref:`int<class_int>` max_z **)**
  1351. 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>`.
  1352. ----
  1353. .. _class_VisualServer_method_canvas_occluder_polygon_create:
  1354. - :ref:`RID<class_RID>` **canvas_occluder_polygon_create** **(** **)**
  1355. 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.
  1356. 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.
  1357. ----
  1358. .. _class_VisualServer_method_canvas_occluder_polygon_set_cull_mode:
  1359. - void **canvas_occluder_polygon_set_cull_mode** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` mode **)**
  1360. Sets an occluder polygons cull mode. See :ref:`CanvasOccluderPolygonCullMode<enum_VisualServer_CanvasOccluderPolygonCullMode>` constants.
  1361. ----
  1362. .. _class_VisualServer_method_canvas_occluder_polygon_set_shape:
  1363. - void **canvas_occluder_polygon_set_shape** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PackedVector2Array<class_PackedVector2Array>` shape, :ref:`bool<class_bool>` closed **)**
  1364. Sets the shape of the occluder polygon.
  1365. ----
  1366. .. _class_VisualServer_method_canvas_occluder_polygon_set_shape_as_lines:
  1367. - void **canvas_occluder_polygon_set_shape_as_lines** **(** :ref:`RID<class_RID>` occluder_polygon, :ref:`PackedVector2Array<class_PackedVector2Array>` shape **)**
  1368. Sets the shape of the occluder polygon as lines.
  1369. ----
  1370. .. _class_VisualServer_method_canvas_set_item_mirroring:
  1371. - void **canvas_set_item_mirroring** **(** :ref:`RID<class_RID>` canvas, :ref:`RID<class_RID>` item, :ref:`Vector2<class_Vector2>` mirroring **)**
  1372. A copy of the canvas item will be drawn with a local offset of the mirroring :ref:`Vector2<class_Vector2>`.
  1373. ----
  1374. .. _class_VisualServer_method_canvas_set_modulate:
  1375. - void **canvas_set_modulate** **(** :ref:`RID<class_RID>` canvas, :ref:`Color<class_Color>` color **)**
  1376. Modulates all colors in the given canvas.
  1377. ----
  1378. .. _class_VisualServer_method_directional_light_create:
  1379. - :ref:`RID<class_RID>` **directional_light_create** **(** **)**
  1380. 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.
  1381. 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.
  1382. 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.
  1383. ----
  1384. .. _class_VisualServer_method_environment_create:
  1385. - :ref:`RID<class_RID>` **environment_create** **(** **)**
  1386. 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.
  1387. 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.
  1388. ----
  1389. .. _class_VisualServer_method_environment_set_adjustment:
  1390. - 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 **)**
  1391. Sets the values to be used with the "Adjustment" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1392. ----
  1393. .. _class_VisualServer_method_environment_set_ambient_light:
  1394. - void **environment_set_ambient_light** **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color, :ref:`EnvironmentAmbientSource<enum_VisualServer_EnvironmentAmbientSource>` ambient=0, :ref:`float<class_float>` energy=1.0, :ref:`float<class_float>` sky_contibution=0.0, :ref:`EnvironmentReflectionSource<enum_VisualServer_EnvironmentReflectionSource>` reflection_source=0, :ref:`Color<class_Color>` ao_color=Color( 0, 0, 0, 1 ) **)**
  1395. ----
  1396. .. _class_VisualServer_method_environment_set_background:
  1397. - void **environment_set_background** **(** :ref:`RID<class_RID>` env, :ref:`EnvironmentBG<enum_VisualServer_EnvironmentBG>` bg **)**
  1398. Sets the *BGMode* of the environment. Equivalent to :ref:`Environment.background_mode<class_Environment_property_background_mode>`.
  1399. ----
  1400. .. _class_VisualServer_method_environment_set_bg_color:
  1401. - void **environment_set_bg_color** **(** :ref:`RID<class_RID>` env, :ref:`Color<class_Color>` color **)**
  1402. Color displayed for clear areas of the scene (if using Custom color or Color+Sky background modes).
  1403. ----
  1404. .. _class_VisualServer_method_environment_set_bg_energy:
  1405. - void **environment_set_bg_energy** **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` energy **)**
  1406. Sets the intensity of the background color.
  1407. ----
  1408. .. _class_VisualServer_method_environment_set_canvas_max_layer:
  1409. - void **environment_set_canvas_max_layer** **(** :ref:`RID<class_RID>` env, :ref:`int<class_int>` max_layer **)**
  1410. Sets the maximum layer to use if using Canvas background mode.
  1411. ----
  1412. .. _class_VisualServer_method_environment_set_fog:
  1413. - 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 **)**
  1414. Sets the variables to be used with the scene fog. See :ref:`Environment<class_Environment>` for more details.
  1415. ----
  1416. .. _class_VisualServer_method_environment_set_fog_depth:
  1417. - 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 **)**
  1418. Sets the variables to be used with the fog depth effect. See :ref:`Environment<class_Environment>` for more details.
  1419. ----
  1420. .. _class_VisualServer_method_environment_set_fog_height:
  1421. - 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 **)**
  1422. Sets the variables to be used with the fog height effect. See :ref:`Environment<class_Environment>` for more details.
  1423. ----
  1424. .. _class_VisualServer_method_environment_set_glow:
  1425. - 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>` mix, :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 **)**
  1426. ----
  1427. .. _class_VisualServer_method_environment_set_sky:
  1428. - void **environment_set_sky** **(** :ref:`RID<class_RID>` env, :ref:`RID<class_RID>` sky **)**
  1429. Sets the :ref:`Sky<class_Sky>` to be used as the environment's background when using *BGMode* sky. Equivalent to :ref:`Environment.sky<class_Environment_property_sky>`.
  1430. ----
  1431. .. _class_VisualServer_method_environment_set_sky_custom_fov:
  1432. - void **environment_set_sky_custom_fov** **(** :ref:`RID<class_RID>` env, :ref:`float<class_float>` scale **)**
  1433. Sets a custom field of view for the background :ref:`Sky<class_Sky>`. Equivalent to :ref:`Environment.sky_custom_fov<class_Environment_property_sky_custom_fov>`.
  1434. ----
  1435. .. _class_VisualServer_method_environment_set_sky_orientation:
  1436. - void **environment_set_sky_orientation** **(** :ref:`RID<class_RID>` env, :ref:`Basis<class_Basis>` orientation **)**
  1437. Sets the rotation of the background :ref:`Sky<class_Sky>` expressed as a :ref:`Basis<class_Basis>`. Equivalent to :ref:`Environment.sky_rotation<class_Environment_property_sky_rotation>`, where the rotation vector is used to construct the :ref:`Basis<class_Basis>`.
  1438. ----
  1439. .. _class_VisualServer_method_environment_set_ssao:
  1440. - 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>` bias, :ref:`float<class_float>` light_affect, :ref:`float<class_float>` ao_channel_affect, :ref:`EnvironmentSSAOBlur<enum_VisualServer_EnvironmentSSAOBlur>` blur, :ref:`float<class_float>` bilateral_sharpness **)**
  1441. ----
  1442. .. _class_VisualServer_method_environment_set_ssr:
  1443. - 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 **)**
  1444. Sets the variables to be used with the "screen space reflections" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1445. ----
  1446. .. _class_VisualServer_method_environment_set_tonemap:
  1447. - 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 **)**
  1448. Sets the variables to be used with the "tonemap" post-process effect. See :ref:`Environment<class_Environment>` for more details.
  1449. ----
  1450. .. _class_VisualServer_method_finish:
  1451. - void **finish** **(** **)**
  1452. Removes buffers and clears testcubes.
  1453. ----
  1454. .. _class_VisualServer_method_force_draw:
  1455. - void **force_draw** **(** :ref:`bool<class_bool>` swap_buffers=true, :ref:`float<class_float>` frame_step=0.0 **)**
  1456. 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.
  1457. ----
  1458. .. _class_VisualServer_method_force_sync:
  1459. - void **force_sync** **(** **)**
  1460. Synchronizes threads.
  1461. ----
  1462. .. _class_VisualServer_method_free_rid:
  1463. - void **free_rid** **(** :ref:`RID<class_RID>` rid **)**
  1464. Tries to free an object in the VisualServer.
  1465. ----
  1466. .. _class_VisualServer_method_get_render_info:
  1467. - :ref:`int<class_int>` **get_render_info** **(** :ref:`RenderInfo<enum_VisualServer_RenderInfo>` info **)**
  1468. Returns a certain information, see :ref:`RenderInfo<enum_VisualServer_RenderInfo>` for options.
  1469. ----
  1470. .. _class_VisualServer_method_get_test_cube:
  1471. - :ref:`RID<class_RID>` **get_test_cube** **(** **)**
  1472. Returns the id of the test cube. Creates one if none exists.
  1473. ----
  1474. .. _class_VisualServer_method_get_test_texture:
  1475. - :ref:`RID<class_RID>` **get_test_texture** **(** **)**
  1476. Returns the id of the test texture. Creates one if none exists.
  1477. ----
  1478. .. _class_VisualServer_method_get_video_adapter_name:
  1479. - :ref:`String<class_String>` **get_video_adapter_name** **(** **)** const
  1480. Returns the name of the video adapter (e.g. "GeForce GTX 1080/PCIe/SSE2").
  1481. **Note:** When running a headless or server binary, this function returns an empty string.
  1482. ----
  1483. .. _class_VisualServer_method_get_video_adapter_vendor:
  1484. - :ref:`String<class_String>` **get_video_adapter_vendor** **(** **)** const
  1485. Returns the vendor of the video adapter (e.g. "NVIDIA Corporation").
  1486. **Note:** When running a headless or server binary, this function returns an empty string.
  1487. ----
  1488. .. _class_VisualServer_method_get_white_texture:
  1489. - :ref:`RID<class_RID>` **get_white_texture** **(** **)**
  1490. Returns the id of a white texture. Creates one if none exists.
  1491. ----
  1492. .. _class_VisualServer_method_has_changed:
  1493. - :ref:`bool<class_bool>` **has_changed** **(** **)** const
  1494. Returns ``true`` if changes have been made to the VisualServer's data. :ref:`force_draw<class_VisualServer_method_force_draw>` is usually called if this happens.
  1495. ----
  1496. .. _class_VisualServer_method_has_feature:
  1497. - :ref:`bool<class_bool>` **has_feature** **(** :ref:`Features<enum_VisualServer_Features>` feature **)** const
  1498. Not yet implemented. Always returns ``false``.
  1499. ----
  1500. .. _class_VisualServer_method_has_os_feature:
  1501. - :ref:`bool<class_bool>` **has_os_feature** **(** :ref:`String<class_String>` feature **)** const
  1502. Returns ``true`` if the OS supports a certain feature. Features might be ``s3tc``, ``etc``, ``etc2`` and ``pvrtc``.
  1503. ----
  1504. .. _class_VisualServer_method_immediate_begin:
  1505. - void **immediate_begin** **(** :ref:`RID<class_RID>` immediate, :ref:`PrimitiveType<enum_VisualServer_PrimitiveType>` primitive, :ref:`RID<class_RID>` texture **)**
  1506. Sets up :ref:`ImmediateGeometry<class_ImmediateGeometry>` internals to prepare for drawing. Equivalent to :ref:`ImmediateGeometry.begin<class_ImmediateGeometry_method_begin>`.
  1507. ----
  1508. .. _class_VisualServer_method_immediate_clear:
  1509. - void **immediate_clear** **(** :ref:`RID<class_RID>` immediate **)**
  1510. 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>`.
  1511. ----
  1512. .. _class_VisualServer_method_immediate_color:
  1513. - void **immediate_color** **(** :ref:`RID<class_RID>` immediate, :ref:`Color<class_Color>` color **)**
  1514. Sets the color to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_color<class_ImmediateGeometry_method_set_color>`.
  1515. ----
  1516. .. _class_VisualServer_method_immediate_create:
  1517. - :ref:`RID<class_RID>` **immediate_create** **(** **)**
  1518. 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.
  1519. 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.
  1520. 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.
  1521. ----
  1522. .. _class_VisualServer_method_immediate_end:
  1523. - void **immediate_end** **(** :ref:`RID<class_RID>` immediate **)**
  1524. Ends drawing the :ref:`ImmediateGeometry<class_ImmediateGeometry>` and displays it. Equivalent to :ref:`ImmediateGeometry.end<class_ImmediateGeometry_method_end>`.
  1525. ----
  1526. .. _class_VisualServer_method_immediate_get_material:
  1527. - :ref:`RID<class_RID>` **immediate_get_material** **(** :ref:`RID<class_RID>` immediate **)** const
  1528. Returns the material assigned to the :ref:`ImmediateGeometry<class_ImmediateGeometry>`.
  1529. ----
  1530. .. _class_VisualServer_method_immediate_normal:
  1531. - void **immediate_normal** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` normal **)**
  1532. Sets the normal to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_normal<class_ImmediateGeometry_method_set_normal>`.
  1533. ----
  1534. .. _class_VisualServer_method_immediate_set_material:
  1535. - void **immediate_set_material** **(** :ref:`RID<class_RID>` immediate, :ref:`RID<class_RID>` material **)**
  1536. Sets the material to be used to draw the :ref:`ImmediateGeometry<class_ImmediateGeometry>`.
  1537. ----
  1538. .. _class_VisualServer_method_immediate_tangent:
  1539. - void **immediate_tangent** **(** :ref:`RID<class_RID>` immediate, :ref:`Plane<class_Plane>` tangent **)**
  1540. Sets the tangent to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_tangent<class_ImmediateGeometry_method_set_tangent>`.
  1541. ----
  1542. .. _class_VisualServer_method_immediate_uv:
  1543. - void **immediate_uv** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)**
  1544. Sets the UV to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv<class_ImmediateGeometry_method_set_uv>`.
  1545. ----
  1546. .. _class_VisualServer_method_immediate_uv2:
  1547. - void **immediate_uv2** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` tex_uv **)**
  1548. Sets the UV2 to be used with next vertex. Equivalent to :ref:`ImmediateGeometry.set_uv2<class_ImmediateGeometry_method_set_uv2>`.
  1549. ----
  1550. .. _class_VisualServer_method_immediate_vertex:
  1551. - void **immediate_vertex** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector3<class_Vector3>` vertex **)**
  1552. Adds the next vertex using the information provided in advance. Equivalent to :ref:`ImmediateGeometry.add_vertex<class_ImmediateGeometry_method_add_vertex>`.
  1553. ----
  1554. .. _class_VisualServer_method_immediate_vertex_2d:
  1555. - void **immediate_vertex_2d** **(** :ref:`RID<class_RID>` immediate, :ref:`Vector2<class_Vector2>` vertex **)**
  1556. 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>`.
  1557. ----
  1558. .. _class_VisualServer_method_init:
  1559. - void **init** **(** **)**
  1560. 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.
  1561. ----
  1562. .. _class_VisualServer_method_instance_attach_object_instance_id:
  1563. - void **instance_attach_object_instance_id** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` id **)**
  1564. 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>`.
  1565. ----
  1566. .. _class_VisualServer_method_instance_attach_skeleton:
  1567. - void **instance_attach_skeleton** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` skeleton **)**
  1568. Attaches a skeleton to an instance. Removes the previous skeleton from the instance.
  1569. ----
  1570. .. _class_VisualServer_method_instance_create:
  1571. - :ref:`RID<class_RID>` **instance_create** **(** **)**
  1572. 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.
  1573. 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.
  1574. 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>`.
  1575. ----
  1576. .. _class_VisualServer_method_instance_create2:
  1577. - :ref:`RID<class_RID>` **instance_create2** **(** :ref:`RID<class_RID>` base, :ref:`RID<class_RID>` scenario **)**
  1578. 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.
  1579. 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.
  1580. ----
  1581. .. _class_VisualServer_method_instance_geometry_set_as_instance_lod:
  1582. - void **instance_geometry_set_as_instance_lod** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` as_lod_of_instance **)**
  1583. Not implemented in Godot 3.x.
  1584. ----
  1585. .. _class_VisualServer_method_instance_geometry_set_cast_shadows_setting:
  1586. - void **instance_geometry_set_cast_shadows_setting** **(** :ref:`RID<class_RID>` instance, :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>` shadow_casting_setting **)**
  1587. Sets the shadow casting setting to one of :ref:`ShadowCastingSetting<enum_VisualServer_ShadowCastingSetting>`. Equivalent to :ref:`GeometryInstance.cast_shadow<class_GeometryInstance_property_cast_shadow>`.
  1588. ----
  1589. .. _class_VisualServer_method_instance_geometry_set_draw_range:
  1590. - 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 **)**
  1591. Not implemented in Godot 3.x.
  1592. ----
  1593. .. _class_VisualServer_method_instance_geometry_set_flag:
  1594. - void **instance_geometry_set_flag** **(** :ref:`RID<class_RID>` instance, :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` flag, :ref:`bool<class_bool>` enabled **)**
  1595. Sets the flag for a given :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>`. See :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>` for more details.
  1596. ----
  1597. .. _class_VisualServer_method_instance_geometry_set_material_override:
  1598. - void **instance_geometry_set_material_override** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` material **)**
  1599. 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>`.
  1600. ----
  1601. .. _class_VisualServer_method_instance_set_base:
  1602. - void **instance_set_base** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` base **)**
  1603. 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.
  1604. ----
  1605. .. _class_VisualServer_method_instance_set_blend_shape_weight:
  1606. - void **instance_set_blend_shape_weight** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` shape, :ref:`float<class_float>` weight **)**
  1607. Sets the weight for a given blend shape associated with this instance.
  1608. ----
  1609. .. _class_VisualServer_method_instance_set_custom_aabb:
  1610. - void **instance_set_custom_aabb** **(** :ref:`RID<class_RID>` instance, :ref:`AABB<class_AABB>` aabb **)**
  1611. 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>`.
  1612. ----
  1613. .. _class_VisualServer_method_instance_set_exterior:
  1614. - void **instance_set_exterior** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` enabled **)**
  1615. Function not implemented in Godot 3.x.
  1616. ----
  1617. .. _class_VisualServer_method_instance_set_extra_visibility_margin:
  1618. - void **instance_set_extra_visibility_margin** **(** :ref:`RID<class_RID>` instance, :ref:`float<class_float>` margin **)**
  1619. Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you avoid culling objects that fall outside the view frustum. Equivalent to :ref:`GeometryInstance.extra_cull_margin<class_GeometryInstance_property_extra_cull_margin>`.
  1620. ----
  1621. .. _class_VisualServer_method_instance_set_layer_mask:
  1622. - void **instance_set_layer_mask** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` mask **)**
  1623. Sets the render layers that this instance will be drawn to. Equivalent to :ref:`VisualInstance.layers<class_VisualInstance_property_layers>`.
  1624. ----
  1625. .. _class_VisualServer_method_instance_set_scenario:
  1626. - void **instance_set_scenario** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` scenario **)**
  1627. Sets the scenario that the instance is in. The scenario is the 3D world that the objects will be displayed in.
  1628. ----
  1629. .. _class_VisualServer_method_instance_set_surface_material:
  1630. - void **instance_set_surface_material** **(** :ref:`RID<class_RID>` instance, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)**
  1631. Sets the material of a specific surface. Equivalent to :ref:`MeshInstance.set_surface_material<class_MeshInstance_method_set_surface_material>`.
  1632. ----
  1633. .. _class_VisualServer_method_instance_set_transform:
  1634. - void **instance_set_transform** **(** :ref:`RID<class_RID>` instance, :ref:`Transform<class_Transform>` transform **)**
  1635. Sets the world space transform of the instance. Equivalent to :ref:`Spatial.transform<class_Spatial_property_transform>`.
  1636. ----
  1637. .. _class_VisualServer_method_instance_set_use_lightmap:
  1638. - void **instance_set_use_lightmap** **(** :ref:`RID<class_RID>` instance, :ref:`RID<class_RID>` lightmap_instance, :ref:`RID<class_RID>` lightmap **)**
  1639. Sets the lightmap to use with this instance.
  1640. ----
  1641. .. _class_VisualServer_method_instance_set_visible:
  1642. - void **instance_set_visible** **(** :ref:`RID<class_RID>` instance, :ref:`bool<class_bool>` visible **)**
  1643. Sets whether an instance is drawn or not. Equivalent to :ref:`Spatial.visible<class_Spatial_property_visible>`.
  1644. ----
  1645. .. _class_VisualServer_method_instances_cull_aabb:
  1646. - :ref:`Array<class_Array>` **instances_cull_aabb** **(** :ref:`AABB<class_AABB>` aabb, :ref:`RID<class_RID>` scenario **)** const
  1647. 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.
  1648. **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  1649. ----
  1650. .. _class_VisualServer_method_instances_cull_convex:
  1651. - :ref:`Array<class_Array>` **instances_cull_convex** **(** :ref:`Array<class_Array>` convex, :ref:`RID<class_RID>` scenario **)** const
  1652. 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.
  1653. **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  1654. ----
  1655. .. _class_VisualServer_method_instances_cull_ray:
  1656. - :ref:`Array<class_Array>` **instances_cull_ray** **(** :ref:`Vector3<class_Vector3>` from, :ref:`Vector3<class_Vector3>` to, :ref:`RID<class_RID>` scenario **)** const
  1657. 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.
  1658. **Warning:** This function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
  1659. ----
  1660. .. _class_VisualServer_method_light_directional_set_blend_splits:
  1661. - void **light_directional_set_blend_splits** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**
  1662. 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>`.
  1663. ----
  1664. .. _class_VisualServer_method_light_directional_set_shadow_depth_range_mode:
  1665. - void **light_directional_set_shadow_depth_range_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowDepthRangeMode<enum_VisualServer_LightDirectionalShadowDepthRangeMode>` range_mode **)**
  1666. 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.
  1667. ----
  1668. .. _class_VisualServer_method_light_directional_set_shadow_mode:
  1669. - void **light_directional_set_shadow_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightDirectionalShadowMode<enum_VisualServer_LightDirectionalShadowMode>` mode **)**
  1670. 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.
  1671. ----
  1672. .. _class_VisualServer_method_light_omni_set_shadow_mode:
  1673. - void **light_omni_set_shadow_mode** **(** :ref:`RID<class_RID>` light, :ref:`LightOmniShadowMode<enum_VisualServer_LightOmniShadowMode>` mode **)**
  1674. 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>`.
  1675. ----
  1676. .. _class_VisualServer_method_light_set_color:
  1677. - void **light_set_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  1678. Sets the color of the light. Equivalent to :ref:`Light.light_color<class_Light_property_light_color>`.
  1679. ----
  1680. .. _class_VisualServer_method_light_set_cull_mask:
  1681. - void **light_set_cull_mask** **(** :ref:`RID<class_RID>` light, :ref:`int<class_int>` mask **)**
  1682. 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>`.
  1683. ----
  1684. .. _class_VisualServer_method_light_set_negative:
  1685. - void **light_set_negative** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enable **)**
  1686. If ``true``, light will subtract light instead of adding light. Equivalent to :ref:`Light.light_negative<class_Light_property_light_negative>`.
  1687. ----
  1688. .. _class_VisualServer_method_light_set_param:
  1689. - void **light_set_param** **(** :ref:`RID<class_RID>` light, :ref:`LightParam<enum_VisualServer_LightParam>` param, :ref:`float<class_float>` value **)**
  1690. Sets the specified light parameter. See :ref:`LightParam<enum_VisualServer_LightParam>` for options. Equivalent to :ref:`Light.set_param<class_Light_method_set_param>`.
  1691. ----
  1692. .. _class_VisualServer_method_light_set_projector:
  1693. - void **light_set_projector** **(** :ref:`RID<class_RID>` light, :ref:`RID<class_RID>` texture **)**
  1694. Not implemented in Godot 3.x.
  1695. ----
  1696. .. _class_VisualServer_method_light_set_reverse_cull_face_mode:
  1697. - void **light_set_reverse_cull_face_mode** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1698. 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>`.
  1699. ----
  1700. .. _class_VisualServer_method_light_set_shadow:
  1701. - void **light_set_shadow** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1702. If ``true``, light will cast shadows. Equivalent to :ref:`Light.shadow_enabled<class_Light_property_shadow_enabled>`.
  1703. ----
  1704. .. _class_VisualServer_method_light_set_shadow_color:
  1705. - void **light_set_shadow_color** **(** :ref:`RID<class_RID>` light, :ref:`Color<class_Color>` color **)**
  1706. Sets the color of the shadow cast by the light. Equivalent to :ref:`Light.shadow_color<class_Light_property_shadow_color>`.
  1707. ----
  1708. .. _class_VisualServer_method_light_set_use_gi:
  1709. - void **light_set_use_gi** **(** :ref:`RID<class_RID>` light, :ref:`bool<class_bool>` enabled **)**
  1710. Sets whether GI probes capture light information from this light.
  1711. ----
  1712. .. _class_VisualServer_method_lightmap_capture_create:
  1713. - :ref:`RID<class_RID>` **lightmap_capture_create** **(** **)**
  1714. 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.
  1715. 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.
  1716. 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.
  1717. ----
  1718. .. _class_VisualServer_method_lightmap_capture_get_bounds:
  1719. - :ref:`AABB<class_AABB>` **lightmap_capture_get_bounds** **(** :ref:`RID<class_RID>` capture **)** const
  1720. Returns the size of the lightmap capture area.
  1721. ----
  1722. .. _class_VisualServer_method_lightmap_capture_get_energy:
  1723. - :ref:`float<class_float>` **lightmap_capture_get_energy** **(** :ref:`RID<class_RID>` capture **)** const
  1724. Returns the energy multiplier used by the lightmap capture.
  1725. ----
  1726. .. _class_VisualServer_method_lightmap_capture_get_octree:
  1727. - :ref:`PackedByteArray<class_PackedByteArray>` **lightmap_capture_get_octree** **(** :ref:`RID<class_RID>` capture **)** const
  1728. Returns the octree used by the lightmap capture.
  1729. ----
  1730. .. _class_VisualServer_method_lightmap_capture_get_octree_cell_subdiv:
  1731. - :ref:`int<class_int>` **lightmap_capture_get_octree_cell_subdiv** **(** :ref:`RID<class_RID>` capture **)** const
  1732. Returns the cell subdivision amount used by this lightmap capture's octree.
  1733. ----
  1734. .. _class_VisualServer_method_lightmap_capture_get_octree_cell_transform:
  1735. - :ref:`Transform<class_Transform>` **lightmap_capture_get_octree_cell_transform** **(** :ref:`RID<class_RID>` capture **)** const
  1736. Returns the cell transform for this lightmap capture's octree.
  1737. ----
  1738. .. _class_VisualServer_method_lightmap_capture_set_bounds:
  1739. - void **lightmap_capture_set_bounds** **(** :ref:`RID<class_RID>` capture, :ref:`AABB<class_AABB>` bounds **)**
  1740. Sets the size of the area covered by the lightmap capture.
  1741. ----
  1742. .. _class_VisualServer_method_lightmap_capture_set_energy:
  1743. - void **lightmap_capture_set_energy** **(** :ref:`RID<class_RID>` capture, :ref:`float<class_float>` energy **)**
  1744. Sets the energy multiplier for this lightmap capture.
  1745. ----
  1746. .. _class_VisualServer_method_lightmap_capture_set_octree:
  1747. - void **lightmap_capture_set_octree** **(** :ref:`RID<class_RID>` capture, :ref:`PackedByteArray<class_PackedByteArray>` octree **)**
  1748. Sets the octree to be used by this lightmap capture.
  1749. ----
  1750. .. _class_VisualServer_method_lightmap_capture_set_octree_cell_subdiv:
  1751. - void **lightmap_capture_set_octree_cell_subdiv** **(** :ref:`RID<class_RID>` capture, :ref:`int<class_int>` subdiv **)**
  1752. Sets the subdivision level of this lightmap capture's octree.
  1753. ----
  1754. .. _class_VisualServer_method_lightmap_capture_set_octree_cell_transform:
  1755. - void **lightmap_capture_set_octree_cell_transform** **(** :ref:`RID<class_RID>` capture, :ref:`Transform<class_Transform>` xform **)**
  1756. Sets the octree cell transform for this lightmap capture's octree.
  1757. ----
  1758. .. _class_VisualServer_method_make_sphere_mesh:
  1759. - :ref:`RID<class_RID>` **make_sphere_mesh** **(** :ref:`int<class_int>` latitudes, :ref:`int<class_int>` longitudes, :ref:`float<class_float>` radius **)**
  1760. Returns a mesh of a sphere with the given amount of horizontal and vertical subdivisions.
  1761. ----
  1762. .. _class_VisualServer_method_material_create:
  1763. - :ref:`RID<class_RID>` **material_create** **(** **)**
  1764. 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.
  1765. 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.
  1766. ----
  1767. .. _class_VisualServer_method_material_get_param:
  1768. - :ref:`Variant<class_Variant>` **material_get_param** **(** :ref:`RID<class_RID>` material, :ref:`StringName<class_StringName>` parameter **)** const
  1769. Returns the value of a certain material's parameter.
  1770. ----
  1771. .. _class_VisualServer_method_material_set_next_pass:
  1772. - void **material_set_next_pass** **(** :ref:`RID<class_RID>` material, :ref:`RID<class_RID>` next_material **)**
  1773. Sets an object's next material.
  1774. ----
  1775. .. _class_VisualServer_method_material_set_param:
  1776. - void **material_set_param** **(** :ref:`RID<class_RID>` material, :ref:`StringName<class_StringName>` parameter, :ref:`Variant<class_Variant>` value **)**
  1777. Sets a material's parameter.
  1778. ----
  1779. .. _class_VisualServer_method_material_set_render_priority:
  1780. - void **material_set_render_priority** **(** :ref:`RID<class_RID>` material, :ref:`int<class_int>` priority **)**
  1781. Sets a material's render priority.
  1782. ----
  1783. .. _class_VisualServer_method_material_set_shader:
  1784. - void **material_set_shader** **(** :ref:`RID<class_RID>` shader_material, :ref:`RID<class_RID>` shader **)**
  1785. Sets a shader material's shader.
  1786. ----
  1787. .. _class_VisualServer_method_mesh_add_surface_from_arrays:
  1788. - 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:`Dictionary<class_Dictionary>` lods={ }, :ref:`int<class_int>` compress_format=31744 **)**
  1789. ----
  1790. .. _class_VisualServer_method_mesh_clear:
  1791. - void **mesh_clear** **(** :ref:`RID<class_RID>` mesh **)**
  1792. Removes all surfaces from a mesh.
  1793. ----
  1794. .. _class_VisualServer_method_mesh_create:
  1795. - :ref:`RID<class_RID>` **mesh_create** **(** **)**
  1796. 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.
  1797. 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.
  1798. 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.
  1799. ----
  1800. .. _class_VisualServer_method_mesh_get_blend_shape_count:
  1801. - :ref:`int<class_int>` **mesh_get_blend_shape_count** **(** :ref:`RID<class_RID>` mesh **)** const
  1802. Returns a mesh's blend shape count.
  1803. ----
  1804. .. _class_VisualServer_method_mesh_get_blend_shape_mode:
  1805. - :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` **mesh_get_blend_shape_mode** **(** :ref:`RID<class_RID>` mesh **)** const
  1806. Returns a mesh's blend shape mode.
  1807. ----
  1808. .. _class_VisualServer_method_mesh_get_custom_aabb:
  1809. - :ref:`AABB<class_AABB>` **mesh_get_custom_aabb** **(** :ref:`RID<class_RID>` mesh **)** const
  1810. Returns a mesh's custom aabb.
  1811. ----
  1812. .. _class_VisualServer_method_mesh_get_surface_count:
  1813. - :ref:`int<class_int>` **mesh_get_surface_count** **(** :ref:`RID<class_RID>` mesh **)** const
  1814. Returns a mesh's number of surfaces.
  1815. ----
  1816. .. _class_VisualServer_method_mesh_set_blend_shape_mode:
  1817. - void **mesh_set_blend_shape_mode** **(** :ref:`RID<class_RID>` mesh, :ref:`BlendShapeMode<enum_VisualServer_BlendShapeMode>` mode **)**
  1818. Sets a mesh's blend shape mode.
  1819. ----
  1820. .. _class_VisualServer_method_mesh_set_custom_aabb:
  1821. - void **mesh_set_custom_aabb** **(** :ref:`RID<class_RID>` mesh, :ref:`AABB<class_AABB>` aabb **)**
  1822. Sets a mesh's custom aabb.
  1823. ----
  1824. .. _class_VisualServer_method_mesh_surface_get_arrays:
  1825. - :ref:`Array<class_Array>` **mesh_surface_get_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** const
  1826. Returns a mesh's surface's buffer arrays.
  1827. ----
  1828. .. _class_VisualServer_method_mesh_surface_get_blend_shape_arrays:
  1829. - :ref:`Array<class_Array>` **mesh_surface_get_blend_shape_arrays** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** const
  1830. Returns a mesh's surface's arrays for blend shapes.
  1831. ----
  1832. .. _class_VisualServer_method_mesh_surface_get_format_offset:
  1833. - :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
  1834. Function is unused in Godot 3.x.
  1835. ----
  1836. .. _class_VisualServer_method_mesh_surface_get_format_stride:
  1837. - :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 **)** const
  1838. Function is unused in Godot 3.x.
  1839. ----
  1840. .. _class_VisualServer_method_mesh_surface_get_material:
  1841. - :ref:`RID<class_RID>` **mesh_surface_get_material** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface **)** const
  1842. Returns a mesh's surface's material.
  1843. ----
  1844. .. _class_VisualServer_method_mesh_surface_set_material:
  1845. - void **mesh_surface_set_material** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`RID<class_RID>` material **)**
  1846. Sets a mesh's surface's material.
  1847. ----
  1848. .. _class_VisualServer_method_mesh_surface_update_region:
  1849. - void **mesh_surface_update_region** **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`int<class_int>` offset, :ref:`PackedByteArray<class_PackedByteArray>` data **)**
  1850. 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.
  1851. ----
  1852. .. _class_VisualServer_method_multimesh_allocate:
  1853. - void **multimesh_allocate** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`bool<class_bool>` color_format=false, :ref:`bool<class_bool>` custom_data_format=false **)**
  1854. ----
  1855. .. _class_VisualServer_method_multimesh_create:
  1856. - :ref:`RID<class_RID>` **multimesh_create** **(** **)**
  1857. 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.
  1858. 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.
  1859. 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.
  1860. ----
  1861. .. _class_VisualServer_method_multimesh_get_aabb:
  1862. - :ref:`AABB<class_AABB>` **multimesh_get_aabb** **(** :ref:`RID<class_RID>` multimesh **)** const
  1863. Calculates and returns the axis-aligned bounding box that encloses all instances within the multimesh.
  1864. ----
  1865. .. _class_VisualServer_method_multimesh_get_buffer:
  1866. - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **multimesh_get_buffer** **(** :ref:`RID<class_RID>` multimesh **)** const
  1867. ----
  1868. .. _class_VisualServer_method_multimesh_get_instance_count:
  1869. - :ref:`int<class_int>` **multimesh_get_instance_count** **(** :ref:`RID<class_RID>` multimesh **)** const
  1870. Returns the number of instances allocated for this multimesh.
  1871. ----
  1872. .. _class_VisualServer_method_multimesh_get_mesh:
  1873. - :ref:`RID<class_RID>` **multimesh_get_mesh** **(** :ref:`RID<class_RID>` multimesh **)** const
  1874. Returns the RID of the mesh that will be used in drawing this multimesh.
  1875. ----
  1876. .. _class_VisualServer_method_multimesh_get_visible_instances:
  1877. - :ref:`int<class_int>` **multimesh_get_visible_instances** **(** :ref:`RID<class_RID>` multimesh **)** const
  1878. Returns the number of visible instances for this multimesh.
  1879. ----
  1880. .. _class_VisualServer_method_multimesh_instance_get_color:
  1881. - :ref:`Color<class_Color>` **multimesh_instance_get_color** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** const
  1882. Returns the color by which the specified instance will be modulated.
  1883. ----
  1884. .. _class_VisualServer_method_multimesh_instance_get_custom_data:
  1885. - :ref:`Color<class_Color>` **multimesh_instance_get_custom_data** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** const
  1886. Returns the custom data associated with the specified instance.
  1887. ----
  1888. .. _class_VisualServer_method_multimesh_instance_get_transform:
  1889. - :ref:`Transform<class_Transform>` **multimesh_instance_get_transform** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** const
  1890. Returns the :ref:`Transform<class_Transform>` of the specified instance.
  1891. ----
  1892. .. _class_VisualServer_method_multimesh_instance_get_transform_2d:
  1893. - :ref:`Transform2D<class_Transform2D>` **multimesh_instance_get_transform_2d** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index **)** const
  1894. Returns the :ref:`Transform2D<class_Transform2D>` of the specified instance. For use when the multimesh is set to use 2D transforms.
  1895. ----
  1896. .. _class_VisualServer_method_multimesh_instance_set_color:
  1897. - void **multimesh_instance_set_color** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)**
  1898. Sets the color by which this instance will be modulated. Equivalent to :ref:`MultiMesh.set_instance_color<class_MultiMesh_method_set_instance_color>`.
  1899. ----
  1900. .. _class_VisualServer_method_multimesh_instance_set_custom_data:
  1901. - void **multimesh_instance_set_custom_data** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Color<class_Color>` custom_data **)**
  1902. 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>`.
  1903. ----
  1904. .. _class_VisualServer_method_multimesh_instance_set_transform:
  1905. - void **multimesh_instance_set_transform** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform<class_Transform>` transform **)**
  1906. Sets the :ref:`Transform<class_Transform>` for this instance. Equivalent to :ref:`MultiMesh.set_instance_transform<class_MultiMesh_method_set_instance_transform>`.
  1907. ----
  1908. .. _class_VisualServer_method_multimesh_instance_set_transform_2d:
  1909. - void **multimesh_instance_set_transform_2d** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` index, :ref:`Transform2D<class_Transform2D>` transform **)**
  1910. 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>`.
  1911. ----
  1912. .. _class_VisualServer_method_multimesh_set_buffer:
  1913. - void **multimesh_set_buffer** **(** :ref:`RID<class_RID>` multimesh, :ref:`PackedFloat32Array<class_PackedFloat32Array>` buffer **)**
  1914. ----
  1915. .. _class_VisualServer_method_multimesh_set_mesh:
  1916. - void **multimesh_set_mesh** **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)**
  1917. Sets the mesh to be drawn by the multimesh. Equivalent to :ref:`MultiMesh.mesh<class_MultiMesh_property_mesh>`.
  1918. ----
  1919. .. _class_VisualServer_method_multimesh_set_visible_instances:
  1920. - void **multimesh_set_visible_instances** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)**
  1921. 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>`.
  1922. ----
  1923. .. _class_VisualServer_method_omni_light_create:
  1924. - :ref:`RID<class_RID>` **omni_light_create** **(** **)**
  1925. 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.
  1926. 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.
  1927. 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.
  1928. ----
  1929. .. _class_VisualServer_method_particles_create:
  1930. - :ref:`RID<class_RID>` **particles_create** **(** **)**
  1931. 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.
  1932. 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.
  1933. 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.
  1934. ----
  1935. .. _class_VisualServer_method_particles_get_current_aabb:
  1936. - :ref:`AABB<class_AABB>` **particles_get_current_aabb** **(** :ref:`RID<class_RID>` particles **)**
  1937. Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to :ref:`Particles.capture_aabb<class_Particles_method_capture_aabb>`.
  1938. ----
  1939. .. _class_VisualServer_method_particles_get_emitting:
  1940. - :ref:`bool<class_bool>` **particles_get_emitting** **(** :ref:`RID<class_RID>` particles **)**
  1941. Returns ``true`` if particles are currently set to emitting.
  1942. ----
  1943. .. _class_VisualServer_method_particles_is_inactive:
  1944. - :ref:`bool<class_bool>` **particles_is_inactive** **(** :ref:`RID<class_RID>` particles **)**
  1945. Returns ``true`` if particles are not emitting and particles are set to inactive.
  1946. ----
  1947. .. _class_VisualServer_method_particles_request_process:
  1948. - void **particles_request_process** **(** :ref:`RID<class_RID>` particles **)**
  1949. 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>`.
  1950. ----
  1951. .. _class_VisualServer_method_particles_restart:
  1952. - void **particles_restart** **(** :ref:`RID<class_RID>` particles **)**
  1953. Reset the particles on the next update. Equivalent to :ref:`Particles.restart<class_Particles_method_restart>`.
  1954. ----
  1955. .. _class_VisualServer_method_particles_set_amount:
  1956. - void **particles_set_amount** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` amount **)**
  1957. Sets the number of particles to be drawn and allocates the memory for them. Equivalent to :ref:`Particles.amount<class_Particles_property_amount>`.
  1958. ----
  1959. .. _class_VisualServer_method_particles_set_custom_aabb:
  1960. - void **particles_set_custom_aabb** **(** :ref:`RID<class_RID>` particles, :ref:`AABB<class_AABB>` aabb **)**
  1961. Sets a custom axis-aligned bounding box for the particle system. Equivalent to :ref:`Particles.visibility_aabb<class_Particles_property_visibility_aabb>`.
  1962. ----
  1963. .. _class_VisualServer_method_particles_set_draw_order:
  1964. - void **particles_set_draw_order** **(** :ref:`RID<class_RID>` particles, :ref:`ParticlesDrawOrder<enum_VisualServer_ParticlesDrawOrder>` order **)**
  1965. 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>`.
  1966. ----
  1967. .. _class_VisualServer_method_particles_set_draw_pass_mesh:
  1968. - void **particles_set_draw_pass_mesh** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` pass, :ref:`RID<class_RID>` mesh **)**
  1969. 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>`.
  1970. ----
  1971. .. _class_VisualServer_method_particles_set_draw_passes:
  1972. - void **particles_set_draw_passes** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` count **)**
  1973. Sets the number of draw passes to use. Equivalent to :ref:`Particles.draw_passes<class_Particles_property_draw_passes>`.
  1974. ----
  1975. .. _class_VisualServer_method_particles_set_emission_transform:
  1976. - void **particles_set_emission_transform** **(** :ref:`RID<class_RID>` particles, :ref:`Transform<class_Transform>` transform **)**
  1977. Sets the :ref:`Transform<class_Transform>` that will be used by the particles when they first emit.
  1978. ----
  1979. .. _class_VisualServer_method_particles_set_emitting:
  1980. - void **particles_set_emitting** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` emitting **)**
  1981. 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>`.
  1982. ----
  1983. .. _class_VisualServer_method_particles_set_explosiveness_ratio:
  1984. - void **particles_set_explosiveness_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
  1985. Sets the explosiveness ratio. Equivalent to :ref:`Particles.explosiveness<class_Particles_property_explosiveness>`.
  1986. ----
  1987. .. _class_VisualServer_method_particles_set_fixed_fps:
  1988. - void **particles_set_fixed_fps** **(** :ref:`RID<class_RID>` particles, :ref:`int<class_int>` fps **)**
  1989. Sets the frame rate that the particle system rendering will be fixed to. Equivalent to :ref:`Particles.fixed_fps<class_Particles_property_fixed_fps>`.
  1990. ----
  1991. .. _class_VisualServer_method_particles_set_fractional_delta:
  1992. - void **particles_set_fractional_delta** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**
  1993. If ``true``, uses fractional delta which smooths the movement of the particles. Equivalent to :ref:`Particles.fract_delta<class_Particles_property_fract_delta>`.
  1994. ----
  1995. .. _class_VisualServer_method_particles_set_lifetime:
  1996. - void **particles_set_lifetime** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` lifetime **)**
  1997. Sets the lifetime of each particle in the system. Equivalent to :ref:`Particles.lifetime<class_Particles_property_lifetime>`.
  1998. ----
  1999. .. _class_VisualServer_method_particles_set_one_shot:
  2000. - void **particles_set_one_shot** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` one_shot **)**
  2001. If ``true``, particles will emit once and then stop. Equivalent to :ref:`Particles.one_shot<class_Particles_property_one_shot>`.
  2002. ----
  2003. .. _class_VisualServer_method_particles_set_pre_process_time:
  2004. - void **particles_set_pre_process_time** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` time **)**
  2005. 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>`.
  2006. ----
  2007. .. _class_VisualServer_method_particles_set_process_material:
  2008. - void **particles_set_process_material** **(** :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` material **)**
  2009. Sets the material for processing the particles. Note: this is not the material used to draw the materials. Equivalent to :ref:`Particles.process_material<class_Particles_property_process_material>`.
  2010. ----
  2011. .. _class_VisualServer_method_particles_set_randomness_ratio:
  2012. - void **particles_set_randomness_ratio** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` ratio **)**
  2013. Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to :ref:`Particles.randomness<class_Particles_property_randomness>`.
  2014. ----
  2015. .. _class_VisualServer_method_particles_set_speed_scale:
  2016. - void **particles_set_speed_scale** **(** :ref:`RID<class_RID>` particles, :ref:`float<class_float>` scale **)**
  2017. Sets the speed scale of the particle system. Equivalent to :ref:`Particles.speed_scale<class_Particles_property_speed_scale>`.
  2018. ----
  2019. .. _class_VisualServer_method_particles_set_use_local_coordinates:
  2020. - void **particles_set_use_local_coordinates** **(** :ref:`RID<class_RID>` particles, :ref:`bool<class_bool>` enable **)**
  2021. If ``true``, particles use local coordinates. If ``false`` they use global coordinates. Equivalent to :ref:`Particles.local_coords<class_Particles_property_local_coords>`.
  2022. ----
  2023. .. _class_VisualServer_method_reflection_probe_create:
  2024. - :ref:`RID<class_RID>` **reflection_probe_create** **(** **)**
  2025. 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.
  2026. 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.
  2027. 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.
  2028. ----
  2029. .. _class_VisualServer_method_reflection_probe_set_as_interior:
  2030. - void **reflection_probe_set_as_interior** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2031. If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`ReflectionProbe.interior_enable<class_ReflectionProbe_property_interior_enable>`.
  2032. ----
  2033. .. _class_VisualServer_method_reflection_probe_set_cull_mask:
  2034. - void **reflection_probe_set_cull_mask** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)**
  2035. 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>`.
  2036. ----
  2037. .. _class_VisualServer_method_reflection_probe_set_enable_box_projection:
  2038. - void **reflection_probe_set_enable_box_projection** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2039. 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>`.
  2040. ----
  2041. .. _class_VisualServer_method_reflection_probe_set_enable_shadows:
  2042. - void **reflection_probe_set_enable_shadows** **(** :ref:`RID<class_RID>` probe, :ref:`bool<class_bool>` enable **)**
  2043. 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>`.
  2044. ----
  2045. .. _class_VisualServer_method_reflection_probe_set_extents:
  2046. - void **reflection_probe_set_extents** **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` extents **)**
  2047. Sets the size of the area that the reflection probe will capture. Equivalent to :ref:`ReflectionProbe.extents<class_ReflectionProbe_property_extents>`.
  2048. ----
  2049. .. _class_VisualServer_method_reflection_probe_set_intensity:
  2050. - void **reflection_probe_set_intensity** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` intensity **)**
  2051. Sets the intensity of the reflection probe. Intensity modulates the strength of the reflection. Equivalent to :ref:`ReflectionProbe.intensity<class_ReflectionProbe_property_intensity>`.
  2052. ----
  2053. .. _class_VisualServer_method_reflection_probe_set_interior_ambient:
  2054. - void **reflection_probe_set_interior_ambient** **(** :ref:`RID<class_RID>` probe, :ref:`Color<class_Color>` color **)**
  2055. 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>`.
  2056. ----
  2057. .. _class_VisualServer_method_reflection_probe_set_interior_ambient_energy:
  2058. - void **reflection_probe_set_interior_ambient_energy** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` energy **)**
  2059. 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>`.
  2060. ----
  2061. .. _class_VisualServer_method_reflection_probe_set_interior_ambient_probe_contribution:
  2062. - void **reflection_probe_set_interior_ambient_probe_contribution** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` contrib **)**
  2063. 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>`.
  2064. ----
  2065. .. _class_VisualServer_method_reflection_probe_set_max_distance:
  2066. - void **reflection_probe_set_max_distance** **(** :ref:`RID<class_RID>` probe, :ref:`float<class_float>` distance **)**
  2067. 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>`.
  2068. ----
  2069. .. _class_VisualServer_method_reflection_probe_set_origin_offset:
  2070. - void **reflection_probe_set_origin_offset** **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` offset **)**
  2071. 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>`.
  2072. ----
  2073. .. _class_VisualServer_method_reflection_probe_set_update_mode:
  2074. - void **reflection_probe_set_update_mode** **(** :ref:`RID<class_RID>` probe, :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` mode **)**
  2075. Sets how often the reflection probe updates. Can either be once or every frame. See :ref:`ReflectionProbeUpdateMode<enum_VisualServer_ReflectionProbeUpdateMode>` for options.
  2076. ----
  2077. .. _class_VisualServer_method_request_frame_drawn_callback:
  2078. - void **request_frame_drawn_callback** **(** :ref:`Object<class_Object>` where, :ref:`StringName<class_StringName>` method, :ref:`Variant<class_Variant>` userdata **)**
  2079. Schedules a callback to the corresponding named ``method`` on ``where`` after a frame has been drawn.
  2080. The callback method must use only 1 argument which will be called with ``userdata``.
  2081. ----
  2082. .. _class_VisualServer_method_scenario_create:
  2083. - :ref:`RID<class_RID>` **scenario_create** **(** **)**
  2084. 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.
  2085. 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.
  2086. The scenario is the 3D world that all the visual instances exist in.
  2087. ----
  2088. .. _class_VisualServer_method_scenario_set_debug:
  2089. - void **scenario_set_debug** **(** :ref:`RID<class_RID>` scenario, :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` debug_mode **)**
  2090. Sets the :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` for this scenario. See :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>` for options.
  2091. ----
  2092. .. _class_VisualServer_method_scenario_set_environment:
  2093. - void **scenario_set_environment** **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)**
  2094. Sets the environment that will be used with this scenario.
  2095. ----
  2096. .. _class_VisualServer_method_scenario_set_fallback_environment:
  2097. - void **scenario_set_fallback_environment** **(** :ref:`RID<class_RID>` scenario, :ref:`RID<class_RID>` environment **)**
  2098. 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.
  2099. ----
  2100. .. _class_VisualServer_method_set_boot_image:
  2101. - 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 **)**
  2102. 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.
  2103. ----
  2104. .. _class_VisualServer_method_set_debug_generate_wireframes:
  2105. - void **set_debug_generate_wireframes** **(** :ref:`bool<class_bool>` generate **)**
  2106. If ``true``, the engine will generate wireframes for use with the wireframe debug mode.
  2107. ----
  2108. .. _class_VisualServer_method_set_default_clear_color:
  2109. - void **set_default_clear_color** **(** :ref:`Color<class_Color>` color **)**
  2110. Sets the default clear color which is used when a specific clear color has not been selected.
  2111. ----
  2112. .. _class_VisualServer_method_shader_create:
  2113. - :ref:`RID<class_RID>` **shader_create** **(** **)**
  2114. 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.
  2115. 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.
  2116. ----
  2117. .. _class_VisualServer_method_shader_get_code:
  2118. - :ref:`String<class_String>` **shader_get_code** **(** :ref:`RID<class_RID>` shader **)** const
  2119. Returns a shader's code.
  2120. ----
  2121. .. _class_VisualServer_method_shader_get_default_texture_param:
  2122. - :ref:`RID<class_RID>` **shader_get_default_texture_param** **(** :ref:`RID<class_RID>` shader, :ref:`StringName<class_StringName>` name **)** const
  2123. Returns a default texture from a shader searched by name.
  2124. ----
  2125. .. _class_VisualServer_method_shader_get_param_default:
  2126. - :ref:`Variant<class_Variant>` **shader_get_param_default** **(** :ref:`RID<class_RID>` material, :ref:`StringName<class_StringName>` parameter **)** const
  2127. ----
  2128. .. _class_VisualServer_method_shader_get_param_list:
  2129. - :ref:`Array<class_Array>` **shader_get_param_list** **(** :ref:`RID<class_RID>` shader **)** const
  2130. Returns the parameters of a shader.
  2131. ----
  2132. .. _class_VisualServer_method_shader_set_code:
  2133. - void **shader_set_code** **(** :ref:`RID<class_RID>` shader, :ref:`String<class_String>` code **)**
  2134. Sets a shader's code.
  2135. ----
  2136. .. _class_VisualServer_method_shader_set_default_texture_param:
  2137. - void **shader_set_default_texture_param** **(** :ref:`RID<class_RID>` shader, :ref:`StringName<class_StringName>` name, :ref:`RID<class_RID>` texture **)**
  2138. Sets a shader's default texture. Overwrites the texture given by name.
  2139. ----
  2140. .. _class_VisualServer_method_skeleton_allocate:
  2141. - void **skeleton_allocate** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bones, :ref:`bool<class_bool>` is_2d_skeleton=false **)**
  2142. Allocates the GPU buffers for this skeleton.
  2143. ----
  2144. .. _class_VisualServer_method_skeleton_bone_get_transform:
  2145. - :ref:`Transform<class_Transform>` **skeleton_bone_get_transform** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** const
  2146. Returns the :ref:`Transform<class_Transform>` set for a specific bone of this skeleton.
  2147. ----
  2148. .. _class_VisualServer_method_skeleton_bone_get_transform_2d:
  2149. - :ref:`Transform2D<class_Transform2D>` **skeleton_bone_get_transform_2d** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone **)** const
  2150. Returns the :ref:`Transform2D<class_Transform2D>` set for a specific bone of this skeleton.
  2151. ----
  2152. .. _class_VisualServer_method_skeleton_bone_set_transform:
  2153. - void **skeleton_bone_set_transform** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform<class_Transform>` transform **)**
  2154. Sets the :ref:`Transform<class_Transform>` for a specific bone of this skeleton.
  2155. ----
  2156. .. _class_VisualServer_method_skeleton_bone_set_transform_2d:
  2157. - void **skeleton_bone_set_transform_2d** **(** :ref:`RID<class_RID>` skeleton, :ref:`int<class_int>` bone, :ref:`Transform2D<class_Transform2D>` transform **)**
  2158. Sets the :ref:`Transform2D<class_Transform2D>` for a specific bone of this skeleton.
  2159. ----
  2160. .. _class_VisualServer_method_skeleton_create:
  2161. - :ref:`RID<class_RID>` **skeleton_create** **(** **)**
  2162. 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.
  2163. 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.
  2164. ----
  2165. .. _class_VisualServer_method_skeleton_get_bone_count:
  2166. - :ref:`int<class_int>` **skeleton_get_bone_count** **(** :ref:`RID<class_RID>` skeleton **)** const
  2167. Returns the number of bones allocated for this skeleton.
  2168. ----
  2169. .. _class_VisualServer_method_sky_create:
  2170. - :ref:`RID<class_RID>` **sky_create** **(** **)**
  2171. 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.
  2172. 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.
  2173. ----
  2174. .. _class_VisualServer_method_sky_set_material:
  2175. - void **sky_set_material** **(** :ref:`RID<class_RID>` sky, :ref:`RID<class_RID>` material **)**
  2176. Sets the material that the sky uses to render the background and reflection maps.
  2177. ----
  2178. .. _class_VisualServer_method_spot_light_create:
  2179. - :ref:`RID<class_RID>` **spot_light_create** **(** **)**
  2180. 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.
  2181. 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.
  2182. 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.
  2183. ----
  2184. .. _class_VisualServer_method_texture_2d_create:
  2185. - :ref:`RID<class_RID>` **texture_2d_create** **(** :ref:`Image<class_Image>` image **)**
  2186. ----
  2187. .. _class_VisualServer_method_texture_2d_get:
  2188. - :ref:`Image<class_Image>` **texture_2d_get** **(** :ref:`RID<class_RID>` texture **)** const
  2189. ----
  2190. .. _class_VisualServer_method_viewport_attach_camera:
  2191. - void **viewport_attach_camera** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` camera **)**
  2192. Sets a viewport's camera.
  2193. ----
  2194. .. _class_VisualServer_method_viewport_attach_canvas:
  2195. - void **viewport_attach_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)**
  2196. Sets a viewport's canvas.
  2197. ----
  2198. .. _class_VisualServer_method_viewport_attach_to_screen:
  2199. - 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 **)**
  2200. 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.
  2201. For example, you can set the root viewport to not render at all with the following code:
  2202. ::
  2203. func _ready():
  2204. get_viewport().set_attach_to_screen_rect(Rect2())
  2205. $Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))
  2206. 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 a further optimization see, :ref:`viewport_set_render_direct_to_screen<class_VisualServer_method_viewport_set_render_direct_to_screen>`.
  2207. ----
  2208. .. _class_VisualServer_method_viewport_create:
  2209. - :ref:`RID<class_RID>` **viewport_create** **(** **)**
  2210. 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.
  2211. 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.
  2212. ----
  2213. .. _class_VisualServer_method_viewport_detach:
  2214. - void **viewport_detach** **(** :ref:`RID<class_RID>` viewport **)**
  2215. Detaches the viewport from the screen.
  2216. ----
  2217. .. _class_VisualServer_method_viewport_get_render_info:
  2218. - :ref:`int<class_int>` **viewport_get_render_info** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` info **)**
  2219. Returns a viewport's render information. For options, see the :ref:`ViewportRenderInfo<enum_VisualServer_ViewportRenderInfo>` constants.
  2220. ----
  2221. .. _class_VisualServer_method_viewport_get_texture:
  2222. - :ref:`RID<class_RID>` **viewport_get_texture** **(** :ref:`RID<class_RID>` viewport **)** const
  2223. Returns the viewport's last rendered frame.
  2224. ----
  2225. .. _class_VisualServer_method_viewport_remove_canvas:
  2226. - void **viewport_remove_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas **)**
  2227. Detaches a viewport from a canvas and vice versa.
  2228. ----
  2229. .. _class_VisualServer_method_viewport_set_active:
  2230. - void **viewport_set_active** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)**
  2231. If ``true``, sets the viewport active, else sets it inactive.
  2232. ----
  2233. .. _class_VisualServer_method_viewport_set_canvas_stacking:
  2234. - 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 **)**
  2235. Sets the stacking order for a viewport's canvas.
  2236. ``layer`` is the actual canvas layer, while ``sublayer`` specifies the stacking order of the canvas among those in the same layer.
  2237. ----
  2238. .. _class_VisualServer_method_viewport_set_canvas_transform:
  2239. - void **viewport_set_canvas_transform** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`Transform2D<class_Transform2D>` offset **)**
  2240. Sets the transformation of a viewport's canvas.
  2241. ----
  2242. .. _class_VisualServer_method_viewport_set_clear_mode:
  2243. - void **viewport_set_clear_mode** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` clear_mode **)**
  2244. Sets the clear mode of a viewport. See :ref:`ViewportClearMode<enum_VisualServer_ViewportClearMode>` for options.
  2245. ----
  2246. .. _class_VisualServer_method_viewport_set_debug_draw:
  2247. - void **viewport_set_debug_draw** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` draw **)**
  2248. Sets the debug draw mode of a viewport. See :ref:`ViewportDebugDraw<enum_VisualServer_ViewportDebugDraw>` for options.
  2249. ----
  2250. .. _class_VisualServer_method_viewport_set_disable_environment:
  2251. - void **viewport_set_disable_environment** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` disabled **)**
  2252. If ``true``, rendering of a viewport's environment is disabled.
  2253. ----
  2254. .. _class_VisualServer_method_viewport_set_global_canvas_transform:
  2255. - void **viewport_set_global_canvas_transform** **(** :ref:`RID<class_RID>` viewport, :ref:`Transform2D<class_Transform2D>` transform **)**
  2256. Sets the viewport's global transformation matrix.
  2257. ----
  2258. .. _class_VisualServer_method_viewport_set_hide_canvas:
  2259. - void **viewport_set_hide_canvas** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)**
  2260. If ``true``, the viewport's canvas is not rendered.
  2261. ----
  2262. .. _class_VisualServer_method_viewport_set_hide_scenario:
  2263. - void **viewport_set_hide_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` hidden **)**
  2264. Currently unimplemented in Godot 3.x.
  2265. ----
  2266. .. _class_VisualServer_method_viewport_set_msaa:
  2267. - void **viewport_set_msaa** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` msaa **)**
  2268. Sets the anti-aliasing mode. See :ref:`ViewportMSAA<enum_VisualServer_ViewportMSAA>` for options.
  2269. ----
  2270. .. _class_VisualServer_method_viewport_set_parent_viewport:
  2271. - void **viewport_set_parent_viewport** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` parent_viewport **)**
  2272. Sets the viewport's parent to another viewport.
  2273. ----
  2274. .. _class_VisualServer_method_viewport_set_render_direct_to_screen:
  2275. - void **viewport_set_render_direct_to_screen** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  2276. 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.
  2277. ----
  2278. .. _class_VisualServer_method_viewport_set_scenario:
  2279. - void **viewport_set_scenario** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` scenario **)**
  2280. Sets a viewport's scenario.
  2281. The scenario contains information about the :ref:`ScenarioDebugMode<enum_VisualServer_ScenarioDebugMode>`, environment information, reflection atlas etc.
  2282. ----
  2283. .. _class_VisualServer_method_viewport_set_shadow_atlas_quadrant_subdivision:
  2284. - void **viewport_set_shadow_atlas_quadrant_subdivision** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` quadrant, :ref:`int<class_int>` subdivision **)**
  2285. Sets the shadow atlas quadrant's subdivision.
  2286. ----
  2287. .. _class_VisualServer_method_viewport_set_shadow_atlas_size:
  2288. - void **viewport_set_shadow_atlas_size** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` size **)**
  2289. 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.
  2290. ----
  2291. .. _class_VisualServer_method_viewport_set_size:
  2292. - void **viewport_set_size** **(** :ref:`RID<class_RID>` viewport, :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
  2293. Sets the viewport's width and height.
  2294. ----
  2295. .. _class_VisualServer_method_viewport_set_transparent_background:
  2296. - void **viewport_set_transparent_background** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` enabled **)**
  2297. If ``true``, the viewport renders its background as transparent.
  2298. ----
  2299. .. _class_VisualServer_method_viewport_set_update_mode:
  2300. - void **viewport_set_update_mode** **(** :ref:`RID<class_RID>` viewport, :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` update_mode **)**
  2301. Sets when the viewport should be updated. See :ref:`ViewportUpdateMode<enum_VisualServer_ViewportUpdateMode>` constants for options.
  2302. ----
  2303. .. _class_VisualServer_method_viewport_set_use_arvr:
  2304. - void **viewport_set_use_arvr** **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` use_arvr **)**
  2305. If ``true``, the viewport uses augmented or virtual reality technologies. See :ref:`ARVRInterface<class_ARVRInterface>`.