| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>TSL - Three.js Docs</title>
- <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
- <script src="../scripts/highlight.min.js"></script>
- <link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
- <link type="text/css" rel="stylesheet" href="../styles/page.css">
- </head>
- <body>
- <h1 translate="no">TSL</h1>
- <section>
- <header>
- </header>
- <article>
- <div class="container-overview">
- </div>
- <h2 class="subsection-title">Properties</h2>
- <div class="member">
- <h3 class="name" id="EPSILON" translate="no">.<a href="#EPSILON">EPSILON</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>A small value used to handle floating-point precision errors.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="HALF_PI" translate="no">.<a href="#HALF_PI">HALF_PI</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents PI / 2.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="INFINITY" translate="no">.<a href="#INFINITY">INFINITY</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents infinity.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="PI" translate="no">.<a href="#PI">PI</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents PI.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="PI2" translate="no">.<a href="#PI2">PI2</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents PI * 2. Please use the non-deprecated version <code>TWO_PI</code>.</p>
- </div>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> Yes</dt>
- </dl>
- </div>
- <div class="member">
- <h3 class="name" id="TBNViewMatrix" translate="no">.<a href="#TBNViewMatrix">TBNViewMatrix</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the TBN matrix in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="TWO_PI" translate="no">.<a href="#TWO_PI">TWO_PI</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents PI * 2.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="alphaT" translate="no">.<a href="#alphaT">alphaT</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>AlphaT</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="anisotropy" translate="no">.<a href="#anisotropy">anisotropy</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Anisotropy</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="anisotropyB" translate="no">.<a href="#anisotropyB">anisotropyB</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>AnisotropyB</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="anisotropyT" translate="no">.<a href="#anisotropyT">anisotropyT</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>AnisotropyT</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="attenuationColor" translate="no">.<a href="#attenuationColor">attenuationColor</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<color></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>AttenuationColor</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="attenuationDistance" translate="no">.<a href="#attenuationDistance">attenuationDistance</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>AttenuationDistance</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="backgroundBlurriness" translate="no">.<a href="#backgroundBlurriness">backgroundBlurriness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the scene's background blurriness.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="backgroundIntensity" translate="no">.<a href="#backgroundIntensity">backgroundIntensity</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the scene's background intensity.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="backgroundRotation" translate="no">.<a href="#backgroundRotation">backgroundRotation</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the scene's background rotation.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="bitangentGeometry" translate="no">.<a href="#bitangentGeometry">bitangentGeometry</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the bitangent attribute of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="bitangentLocal" translate="no">.<a href="#bitangentLocal">bitangentLocal</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex bitangent in local space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="bitangentView" translate="no">.<a href="#bitangentView">bitangentView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex bitangent in view space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="bitangentViewFrame" translate="no">.<a href="#bitangentViewFrame">bitangentViewFrame</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Bitangent vector in view space, computed dynamically from geometry and UV derivatives.
- Complements the tangentViewFrame for constructing the tangent space basis.</p>
- <p>Reference: http://www.thetenthplanet.de/archives/1180</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="bitangentWorld" translate="no">.<a href="#bitangentWorld">bitangentWorld</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex bitangent in world space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraFar" translate="no">.<a href="#cameraFar">cameraFar</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the <code>far</code> value of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraIndex" translate="no">.<a href="#cameraIndex">cameraIndex</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<uint></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the current <code>index</code> value of the camera if used ArrayCamera.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraNear" translate="no">.<a href="#cameraNear">cameraNear</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the <code>near</code> value of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraNormalMatrix" translate="no">.<a href="#cameraNormalMatrix">cameraNormalMatrix</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the normal matrix of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraPosition" translate="no">.<a href="#cameraPosition">cameraPosition</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the position in world space of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraProjectionMatrix" translate="no">.<a href="#cameraProjectionMatrix">cameraProjectionMatrix</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the projection matrix of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraProjectionMatrixInverse" translate="no">.<a href="#cameraProjectionMatrixInverse">cameraProjectionMatrixInverse</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the inverse projection matrix of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraViewMatrix" translate="no">.<a href="#cameraViewMatrix">cameraViewMatrix</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the view matrix of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraViewport" translate="no">.<a href="#cameraViewport">cameraViewport</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the viewport of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="cameraWorldMatrix" translate="no">.<a href="#cameraWorldMatrix">cameraWorldMatrix</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the world matrix of the camera used for the current render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="clearcoat" translate="no">.<a href="#clearcoat">clearcoat</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Clearcoat</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="clearcoatNormalView" translate="no">.<a href="#clearcoatNormalView">clearcoatNormalView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the clearcoat vertex normal of the current rendered object in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="clearcoatRoughness" translate="no">.<a href="#clearcoatRoughness">clearcoatRoughness</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>ClearcoatRoughness</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="clipSpace" translate="no">.<a href="#clipSpace">clipSpace</a><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the clip space position of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="dashSize" translate="no">.<a href="#dashSize">dashSize</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>dashSize</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="deltaTime" translate="no">.<a href="#deltaTime">deltaTime</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents the delta time in seconds.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="depth" translate="no">.<a href="#depth">depth</a><span class="type-signature"> : <a href="ViewportDepthNode.html">ViewportDepthNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the depth value for the current fragment.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="diffuseColor" translate="no">.<a href="#diffuseColor">diffuseColor</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>DiffuseColor</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="diffuseContribution" translate="no">.<a href="#diffuseContribution">diffuseContribution</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>DiffuseContribution</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="directionToFaceDirection" translate="no">.<a href="#directionToFaceDirection">directionToFaceDirection</a> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Converts a direction vector to a face direction vector based on the material's side.</p>
- <p>If the material is set to <code>BackSide</code>, the direction is inverted.
- If the material is set to <code>DoubleSide</code>, the direction is multiplied by <code>faceDirection</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="dispersion" translate="no">.<a href="#dispersion">dispersion</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Dispersion</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="drawIndex" translate="no">.<a href="#drawIndex">drawIndex</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the index of a draw call.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="emissive" translate="no">.<a href="#emissive">emissive</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>EmissiveColor</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="faceDirection" translate="no">.<a href="#faceDirection">faceDirection</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the front facing status as a number instead of a bool.
- <code>1</code> means front facing, <code>-1</code> means back facing.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="frameGroup" translate="no">.<a href="#frameGroup">frameGroup</a><span class="type-signature"> : <a href="UniformGroupNode.html">UniformGroupNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents a shared uniform group node which is updated once per frame.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="frameId" translate="no">.<a href="#frameId">frameId</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<uint></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents the current frame ID.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="frontFacing" translate="no">.<a href="#frontFacing">frontFacing</a><span class="type-signature"> : <a href="FrontFacingNode.html">FrontFacingNode</a>.<bool></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents whether a primitive is front or back facing</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="gapSize" translate="no">.<a href="#gapSize">gapSize</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>gapSize</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="globalId" translate="no">.<a href="#globalId">globalId</a><span class="type-signature"> : <a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a>.<uvec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>A non-linearized 3-dimensional representation of the current invocation's position within a 3D global grid.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="highpModelNormalViewMatrix" translate="no">.<a href="#highpModelNormalViewMatrix">highpModelNormalViewMatrix</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's model normal view in <code>highp</code> precision
- which is achieved by computing the matrix in JS and not in the shader.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="highpModelViewMatrix" translate="no">.<a href="#highpModelViewMatrix">highpModelViewMatrix</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's model view in <code>highp</code> precision
- which is achieved by computing the matrix in JS and not in the shader.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="instanceIndex" translate="no">.<a href="#instanceIndex">instanceIndex</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the index of either a mesh instance or an invocation of a compute shader.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="invocationLocalIndex" translate="no">.<a href="#invocationLocalIndex">invocationLocalIndex</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the index of a compute invocation within the scope of a workgroup load.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="invocationSubgroupIndex" translate="no">.<a href="#invocationSubgroupIndex">invocationSubgroupIndex</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the index of a compute invocation within the scope of a subgroup.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="ior" translate="no">.<a href="#ior">ior</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>IOR</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="iridescence" translate="no">.<a href="#iridescence">iridescence</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Iridescence</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="iridescenceIOR" translate="no">.<a href="#iridescenceIOR">iridescenceIOR</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>IridescenceIOR</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="iridescenceThickness" translate="no">.<a href="#iridescenceThickness">iridescenceThickness</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>IridescenceThickness</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="localId" translate="no">.<a href="#localId">localId</a><span class="type-signature"> : <a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a>.<uvec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>A non-linearized 3-dimensional representation of the current invocation's position within a 3D workgroup grid.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialAO" translate="no">.<a href="#materialAO">materialAO</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the ambient occlusion map of the current material.
- The value is composed via <code>aoMap.r</code> - 1 * <code>aoMapIntensity</code> + 1.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialAlphaTest" translate="no">.<a href="#materialAlphaTest">materialAlphaTest</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents alpha test of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialAnisotropy" translate="no">.<a href="#materialAnisotropy">materialAnisotropy</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the anisotropy of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialAnisotropyVector" translate="no">.<a href="#materialAnisotropyVector">materialAnisotropyVector</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the anisotropy vector of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialAttenuationColor" translate="no">.<a href="#materialAttenuationColor">materialAttenuationColor</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the attenuation color of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialAttenuationDistance" translate="no">.<a href="#materialAttenuationDistance">materialAttenuationDistance</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the attenuation distance of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialClearcoat" translate="no">.<a href="#materialClearcoat">materialClearcoat</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the clearcoat of the current material.
- The value is composed via <code>clearcoat</code> * <code>clearcoatMap.r</code></p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialClearcoatNormal" translate="no">.<a href="#materialClearcoatNormal">materialClearcoatNormal</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the clearcoat normal of the current material.
- The value will be either <code>clearcoatNormalMap</code> or <code>normalView</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialClearcoatRoughness" translate="no">.<a href="#materialClearcoatRoughness">materialClearcoatRoughness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the clearcoat roughness of the current material.
- The value is composed via <code>clearcoatRoughness</code> * <code>clearcoatRoughnessMap.r</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialColor" translate="no">.<a href="#materialColor">materialColor</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the diffuse color of the current material.
- The value is composed via <code>color</code> * <code>map</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialDispersion" translate="no">.<a href="#materialDispersion">materialDispersion</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the dispersion of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialEmissive" translate="no">.<a href="#materialEmissive">materialEmissive</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the emissive color of the current material.
- The value is composed via <code>emissive</code> * <code>emissiveIntensity</code> * <code>emissiveMap</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialEnvIntensity" translate="no">.<a href="#materialEnvIntensity">materialEnvIntensity</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the intensity of environment maps of PBR materials.
- When <code>material.envMap</code> is set, the value is <code>material.envMapIntensity</code> otherwise <code>scene.environmentIntensity</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialEnvRotation" translate="no">.<a href="#materialEnvRotation">materialEnvRotation</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the rotation of environment maps.
- When <code>material.envMap</code> is set, the value is <code>material.envMapRotation</code>. <code>scene.environmentRotation</code> controls the
- rotation of <code>scene.environment</code> instead.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialIOR" translate="no">.<a href="#materialIOR">materialIOR</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the IOR of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialIridescence" translate="no">.<a href="#materialIridescence">materialIridescence</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the iridescence of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialIridescenceIOR" translate="no">.<a href="#materialIridescenceIOR">materialIridescenceIOR</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the iridescence IOR of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialIridescenceThickness" translate="no">.<a href="#materialIridescenceThickness">materialIridescenceThickness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the iridescence thickness of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialLightMap" translate="no">.<a href="#materialLightMap">materialLightMap</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the light map of the current material.
- The value is composed via <code>lightMapIntensity</code> * <code>lightMap.rgb</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialLineDashOffset" translate="no">.<a href="#materialLineDashOffset">materialLineDashOffset</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the dash offset of the current line material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialLineDashSize" translate="no">.<a href="#materialLineDashSize">materialLineDashSize</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the dash size of the current dashed line material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialLineGapSize" translate="no">.<a href="#materialLineGapSize">materialLineGapSize</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the gap size of the current dashed line material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialLineScale" translate="no">.<a href="#materialLineScale">materialLineScale</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the scale of the current dashed line material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialLineWidth" translate="no">.<a href="#materialLineWidth">materialLineWidth</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the line width of the current line material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialMetalness" translate="no">.<a href="#materialMetalness">materialMetalness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the metalness of the current material.
- The value is composed via <code>metalness</code> * <code>metalnessMap.b</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialNormal" translate="no">.<a href="#materialNormal">materialNormal</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the normal of the current material.
- The value will be either <code>normalMap</code> * <code>normalScale</code>, <code>bumpMap</code> * <code>bumpScale</code> or <code>normalView</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialOpacity" translate="no">.<a href="#materialOpacity">materialOpacity</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the opacity of the current material.
- The value is composed via <code>opacity</code> * <code>alphaMap</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialPointSize" translate="no">.<a href="#materialPointSize">materialPointSize</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the point size of the current points material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialReflectivity" translate="no">.<a href="#materialReflectivity">materialReflectivity</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the reflectivity of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialRefractionRatio" translate="no">.<a href="#materialRefractionRatio">materialRefractionRatio</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the refraction ratio of the material used for rendering the current object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialRotation" translate="no">.<a href="#materialRotation">materialRotation</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the rotation of the current sprite material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialRoughness" translate="no">.<a href="#materialRoughness">materialRoughness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the roughness of the current material.
- The value is composed via <code>roughness</code> * <code>roughnessMap.g</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialSheen" translate="no">.<a href="#materialSheen">materialSheen</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the sheen color of the current material.
- The value is composed via <code>sheen</code> * <code>sheenColor</code> * <code>sheenColorMap</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialSheenRoughness" translate="no">.<a href="#materialSheenRoughness">materialSheenRoughness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the sheen roughness of the current material.
- The value is composed via <code>sheenRoughness</code> * <code>sheenRoughnessMap.a</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialShininess" translate="no">.<a href="#materialShininess">materialShininess</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shininess of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialSpecular" translate="no">.<a href="#materialSpecular">materialSpecular</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the specular of the current material.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialSpecularColor" translate="no">.<a href="#materialSpecularColor">materialSpecularColor</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the specular color of the current material.
- The value is composed via <code>specularColor</code> * <code>specularMap.rgb</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialSpecularIntensity" translate="no">.<a href="#materialSpecularIntensity">materialSpecularIntensity</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the specular intensity of the current material.
- The value is composed via <code>specularIntensity</code> * <code>specularMap.a</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialSpecularStrength" translate="no">.<a href="#materialSpecularStrength">materialSpecularStrength</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the specular strength of the current material.
- The value is composed via <code>specularMap.r</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialThickness" translate="no">.<a href="#materialThickness">materialThickness</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the thickness of the current material.
- The value is composed via <code>thickness</code> * <code>thicknessMap.g</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="materialTransmission" translate="no">.<a href="#materialTransmission">materialTransmission</a><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the transmission of the current material.
- The value is composed via <code>transmission</code> * <code>transmissionMap.r</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="mediumpModelViewMatrix" translate="no">.<a href="#mediumpModelViewMatrix">mediumpModelViewMatrix</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's model view in <code>mediump</code> precision.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="metalness" translate="no">.<a href="#metalness">metalness</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Metalness</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelDirection" translate="no">.<a href="#modelDirection">modelDirection</a><span class="type-signature"> : <a href="ModelNode.html">ModelNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's direction in world space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelNormalMatrix" translate="no">.<a href="#modelNormalMatrix">modelNormalMatrix</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's normal matrix.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelPosition" translate="no">.<a href="#modelPosition">modelPosition</a><span class="type-signature"> : <a href="ModelNode.html">ModelNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's position in world space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelRadius" translate="no">.<a href="#modelRadius">modelRadius</a><span class="type-signature"> : <a href="ModelNode.html">ModelNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's radius.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelScale" translate="no">.<a href="#modelScale">modelScale</a><span class="type-signature"> : <a href="ModelNode.html">ModelNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's scale in world space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelViewMatrix" translate="no">.<a href="#modelViewMatrix">modelViewMatrix</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's model view matrix.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelViewPosition" translate="no">.<a href="#modelViewPosition">modelViewPosition</a><span class="type-signature"> : <a href="ModelNode.html">ModelNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's position in view/camera space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelViewProjection" translate="no">.<a href="#modelViewProjection">modelViewProjection</a><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the position in clip space after the model-view-projection transform of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelWorldMatrix" translate="no">.<a href="#modelWorldMatrix">modelWorldMatrix</a><span class="type-signature"> : <a href="ModelNode.html">ModelNode</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's world matrix.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="modelWorldMatrixInverse" translate="no">.<a href="#modelWorldMatrixInverse">modelWorldMatrixInverse</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the object's inverse world matrix.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalFlat" translate="no">.<a href="#normalFlat">normalFlat</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the flat vertex normal of the current rendered object in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalGeometry" translate="no">.<a href="#normalGeometry">normalGeometry</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the normal attribute of the current rendered object in local space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalLocal" translate="no">.<a href="#normalLocal">normalLocal</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex normal of the current rendered object in local space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalView" translate="no">.<a href="#normalView">normalView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex normal of the current rendered object in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalViewGeometry" translate="no">.<a href="#normalViewGeometry">normalViewGeometry</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex normal of the current rendered object in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalWorld" translate="no">.<a href="#normalWorld">normalWorld</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex normal of the current rendered object in world space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="normalWorldGeometry" translate="no">.<a href="#normalWorldGeometry">normalWorldGeometry</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex normal of the current rendered object in world space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="numWorkgroups" translate="no">.<a href="#numWorkgroups">numWorkgroups</a><span class="type-signature"> : <a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a>.<uvec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents the number of workgroups dispatched by the compute shader.</p>
- <pre><code class="language-js">// Run 512 invocations/threads with a workgroup size of 128.
- const computeFn = Fn(() => {
- // numWorkgroups.x = 4
- storageBuffer.element(0).assign(numWorkgroups.x)
- })().compute(512, [128]);
- // Run 512 invocations/threads with the default workgroup size of 64.
- const computeFn = Fn(() => {
- // numWorkgroups.x = 8
- storageBuffer.element(0).assign(numWorkgroups.x)
- })().compute(512);
- </code></pre>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="objectGroup" translate="no">.<a href="#objectGroup">objectGroup</a><span class="type-signature"> : <a href="UniformGroupNode.html">UniformGroupNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents a uniform group node which is updated once per object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="output" translate="no">.<a href="#output">output</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Output</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="parallaxDirection" translate="no">.<a href="#parallaxDirection">parallaxDirection</a><span class="type-signature"> : <a href="Node.html">Node</a>.<mat3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the parallax direction.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="pointUV" translate="no">.<a href="#pointUV">pointUV</a><span class="type-signature"> : <a href="PointUVNode.html">PointUVNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the uv coordinates of points.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="pointWidth" translate="no">.<a href="#pointWidth">pointWidth</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>pointWidth</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionGeometry" translate="no">.<a href="#positionGeometry">positionGeometry</a><span class="type-signature"> : <a href="AttributeNode.html">AttributeNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the position attribute of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionLocal" translate="no">.<a href="#positionLocal">positionLocal</a><span class="type-signature"> : <a href="AttributeNode.html">AttributeNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex position in local space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionPrevious" translate="no">.<a href="#positionPrevious">positionPrevious</a><span class="type-signature"> : <a href="AttributeNode.html">AttributeNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the previous vertex position in local space of the current rendered object.
- Used in context of <a href="VelocityNode.html">VelocityNode</a> for rendering motion vectors.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionView" translate="no">.<a href="#positionView">positionView</a><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex position in view space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionViewDirection" translate="no">.<a href="#positionViewDirection">positionViewDirection</a><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the position view direction of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionWorld" translate="no">.<a href="#positionWorld">positionWorld</a><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex position in world space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="positionWorldDirection" translate="no">.<a href="#positionWorldDirection">positionWorldDirection</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the position world direction of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="reflectVector" translate="no">.<a href="#reflectVector">reflectVector</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Used for sampling cube maps when using cube reflection mapping.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="reflectView" translate="no">.<a href="#reflectView">reflectView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>The reflect vector in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="refractVector" translate="no">.<a href="#refractVector">refractVector</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Used for sampling cube maps when using cube refraction mapping.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="refractView" translate="no">.<a href="#refractView">refractView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>The refract vector in view space.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="renderGroup" translate="no">.<a href="#renderGroup">renderGroup</a><span class="type-signature"> : <a href="UniformGroupNode.html">UniformGroupNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents a shared uniform group node which is updated once per render.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="roughness" translate="no">.<a href="#roughness">roughness</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Roughness</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="screenCoordinate" translate="no">.<a href="#screenCoordinate">screenCoordinate</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the current <code>x</code>/<code>y</code> pixel position on the screen in physical pixel units.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="screenDPR" translate="no">.<a href="#screenDPR">screenDPR</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the current DPR.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="screenSize" translate="no">.<a href="#screenSize">screenSize</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the screen resolution in physical pixel units.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="screenUV" translate="no">.<a href="#screenUV">screenUV</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents normalized screen coordinates, unitless in <code>[0, 1]</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="shadowPositionWorld" translate="no">.<a href="#shadowPositionWorld">shadowPositionWorld</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex position in world space during the shadow pass.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="sheen" translate="no">.<a href="#sheen">sheen</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Sheen</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="sheenRoughness" translate="no">.<a href="#sheenRoughness">sheenRoughness</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>SheenRoughness</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="shininess" translate="no">.<a href="#shininess">shininess</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Shininess</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="specularColor" translate="no">.<a href="#specularColor">specularColor</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<color></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>SpecularColor</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="specularColorBlended" translate="no">.<a href="#specularColorBlended">specularColorBlended</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<color></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>SpecularColorBlended</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="specularF90" translate="no">.<a href="#specularF90">specularF90</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>SpecularF90</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="subgroupIndex" translate="no">.<a href="#subgroupIndex">subgroupIndex</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the index of the subgroup the current compute invocation belongs to.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="subgroupSize" translate="no">.<a href="#subgroupSize">subgroupSize</a><span class="type-signature"> : <a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a>.<uint></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>A device dependent variable that exposes the size of the current invocation's subgroup.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="tangentGeometry" translate="no">.<a href="#tangentGeometry">tangentGeometry</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the tangent attribute of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="tangentLocal" translate="no">.<a href="#tangentLocal">tangentLocal</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex tangent in local space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="tangentView" translate="no">.<a href="#tangentView">tangentView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex tangent in view space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="tangentViewFrame" translate="no">.<a href="#tangentViewFrame">tangentViewFrame</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Tangent vector in view space, computed dynamically from geometry and UV derivatives.
- Useful for normal mapping without precomputed tangents.</p>
- <p>Reference: http://www.thetenthplanet.de/archives/1180</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="tangentWorld" translate="no">.<a href="#tangentWorld">tangentWorld</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the vertex tangent in world space of the current rendered object.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="thickness" translate="no">.<a href="#thickness">thickness</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Thickness</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="time" translate="no">.<a href="#time">time</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents the elapsed time in seconds.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="toneMappingExposure" translate="no">.<a href="#toneMappingExposure">toneMappingExposure</a><span class="type-signature"> : <a href="RendererReferenceNode.html">RendererReferenceNode</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the global tone mapping exposure of the renderer.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="transformedClearcoatNormalView" translate="no">.<a href="#transformedClearcoatNormalView">transformedClearcoatNormalView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the transformed clearcoat vertex normal of the current rendered object in view space.</p>
- </div>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r178. Use `clearcoatNormalView` instead.</dt>
- </dl>
- </div>
- <div class="member">
- <h3 class="name" id="transformedNormalView" translate="no">.<a href="#transformedNormalView">transformedNormalView</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the transformed vertex normal of the current rendered object in view space.</p>
- </div>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r178. Use `normalView` instead.</dt>
- </dl>
- </div>
- <div class="member">
- <h3 class="name" id="transformedNormalWorld" translate="no">.<a href="#transformedNormalWorld">transformedNormalWorld</a><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the transformed vertex normal of the current rendered object in world space.</p>
- </div>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r178. Use `normalWorld` instead.</dt>
- </dl>
- </div>
- <div class="member">
- <h3 class="name" id="transmission" translate="no">.<a href="#transmission">transmission</a><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a>.<float></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the shader variable <code>Transmission</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="velocity" translate="no">.<a href="#velocity">velocity</a><span class="type-signature"> : <a href="VelocityNode.html">VelocityNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the velocity of a render pass.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="vertexIndex" translate="no">.<a href="#vertexIndex">vertexIndex</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the index of a vertex within a mesh.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="viewport" translate="no">.<a href="#viewport">viewport</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec4></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the viewport rectangle as <code>x</code>, <code>y</code>, <code>width</code> and <code>height</code> in physical pixel units.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="viewportCoordinate" translate="no">.<a href="#viewportCoordinate">viewportCoordinate</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the current <code>x</code>/<code>y</code> pixel position on the viewport in physical pixel units.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="viewportLinearDepth" translate="no">.<a href="#viewportLinearDepth">viewportLinearDepth</a><span class="type-signature"> : <a href="ViewportDepthNode.html">ViewportDepthNode</a></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the linear (orthographic) depth value of the current fragment</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="viewportSize" translate="no">.<a href="#viewportSize">viewportSize</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents the viewport resolution in physical pixel units.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="viewportUV" translate="no">.<a href="#viewportUV">viewportUV</a><span class="type-signature"> : <a href="ScreenNode.html">ScreenNode</a>.<vec2></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>TSL object that represents normalized viewport coordinates, unitless in <code>[0, 1]</code>.</p>
- </div>
- </div>
- <div class="member">
- <h3 class="name" id="workgroupId" translate="no">.<a href="#workgroupId">workgroupId</a><span class="type-signature"> : <a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a>.<uvec3></span> <span class="type-signature">(constant) </span></h3>
- <div class="description">
- <p>Represents the 3-dimensional index of the workgroup the current compute invocation belongs to.</p>
- <pre><code class="language-js">// Execute 12 compute threads with a workgroup size of 3.
- const computeFn = Fn( () => {
- If( workgroupId.x.mod( 2 ).equal( 0 ), () => {
- storageBuffer.element( instanceIndex ).assign( instanceIndex );
- } ).Else( () => {
- storageBuffer.element( instanceIndex ).assign( 0 );
- } );
- } )().compute( 12, [ 3 ] );
- // workgroupId.x = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3];
- // Buffer Output = [0, 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0];
- </code></pre>
- </div>
- </div>
- <h2 class="subsection-title">Methods</h2>
- <h3 class="name name-method" id="Break" translate="no">.<a href="#Break">Break</a><span class="signature">()</span><span class="type-signature"> : <a href="ExpressionNode.html">ExpressionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a <code>Break()</code> expression.</p>
- </div>
- </div>
- <h3 class="name name-method" id="Const" translate="no">.<a href="#Const">Const</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="VarNode.html">VarNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a const node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node for which a constant should be created.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the constant in the shader.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="Continue" translate="no">.<a href="#Continue">Continue</a><span class="signature">()</span><span class="type-signature"> : <a href="ExpressionNode.html">ExpressionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a <code>Continue()</code> expression.</p>
- </div>
- </div>
- <h3 class="name name-method" id="Discard" translate="no">.<a href="#Discard">Discard</a><span class="signature">( conditional : <span class="param-type"><a href="ConditionalNode.html">ConditionalNode</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents a <code>discard</code> shader operation in TSL.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">conditional</strong>
- </td>
- <td class="description last">
- <p>An optional conditional node. It allows to decide whether the discard should be executed or not.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The <code>discard</code> expression.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="If" translate="no">.<a href="#If">If</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : <a href="StackNode.html">StackNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represent a conditional node using if/else statements.</p>
- <pre><code class="language-js">If( condition, function )
- .ElseIf( condition, function )
- .Else( function )
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>The parameters for the conditional node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The conditional node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="Loop" translate="no">.<a href="#Loop">Loop</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : <a href="LoopNode.html">LoopNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a loop node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>A list of parameters.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="Return" translate="no">.<a href="#Return">Return</a><span class="signature">()</span><span class="type-signature"> : <a href="ExpressionNode.html">ExpressionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents a <code>return</code> shader operation in TSL.</p>
- </div>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The <code>return</code> expression.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="Switch" translate="no">.<a href="#Switch">Switch</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : <a href="StackNode.html">StackNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represent a conditional node using switch/case statements.</p>
- <pre><code class="language-js">Switch( value )
- .Case( 1, function )
- .Case( 2, 3, 4, function )
- .Default( function )
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>The parameters for the conditional node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The conditional node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="Var" translate="no">.<a href="#Var">Var</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="VarNode.html">VarNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a var node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node for which a variable should be created.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the variable in the shader.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="VarIntent" translate="no">.<a href="#VarIntent">VarIntent</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="VarNode.html">VarNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a var intent node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node for which a variable should be created.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the variable in the shader.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="abs" translate="no">.<a href="#abs">abs</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the absolute value of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="acesFilmicToneMapping" translate="no">.<a href="#acesFilmicToneMapping">acesFilmicToneMapping</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>ACESFilmic tone mapping.</p>
- <p>Reference: <a href="https://github.com/selfshadow/ltc_code/blob/master/webgl/shaders/ltc/ltc_blit.fs" target="_blank" rel="noopener">https://github.com/selfshadow/ltc_code/blob/master/webgl/shaders/ltc/ltc_blit.fs</a></p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The exposure.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tone mapped color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="acos" translate="no">.<a href="#acos">acos</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the arccosine of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="add" translate="no">.<a href="#add">add</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span>, …params : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the addition of two or more value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>Additional input parameters.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="afterImage" translate="no">.<a href="#afterImage">afterImage</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, damp : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span> )</span><span class="type-signature"> : <a href="AfterImageNode.html">AfterImageNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an after image node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">damp</strong>
- </td>
- <td class="description last">
- <p>The damping intensity. A higher value means a stronger after image effect.</p>
- <p>Default is <code>0.96</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="agxToneMapping" translate="no">.<a href="#agxToneMapping">agxToneMapping</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>AgX tone mapping.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The exposure.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tone mapped color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="all" translate="no">.<a href="#all">all</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<bool></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns <code>true</code> if all components of <code>x</code> are <code>true</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="anaglyphPass" translate="no">.<a href="#anaglyphPass">anaglyphPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="AnaglyphPassNode.html">AnaglyphPassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an anaglyph pass node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render the scene with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="anamorphic" translate="no">.<a href="#anamorphic">anamorphic</a><span class="signature">( node : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, threshold : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, scale : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, samples : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnamorphicNode.html">AnamorphicNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an anamorphic flare effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">threshold</strong>
- </td>
- <td class="description last">
- <p>The threshold is one option to control the intensity and size of the effect.</p>
- <p>Default is <code>0.9</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scale</strong>
- </td>
- <td class="description last">
- <p>Defines the vertical scale of the flares.</p>
- <p>Default is <code>3</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">samples</strong>
- </td>
- <td class="description last">
- <p>More samples result in larger flares and a more expensive runtime behavior.</p>
- <p>Default is <code>32</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="and" translate="no">.<a href="#and">and</a><span class="signature">( …nodes : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs a logical AND operation on multiple nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">nodes</strong>
- </td>
- <td class="description last">
- <p>The input nodes to be combined using AND.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="any" translate="no">.<a href="#any">any</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<bool></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns <code>true</code> if any components of <code>x</code> are <code>true</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="ao" translate="no">.<a href="#ao">ao</a><span class="signature">( depthNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, normalNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="GTAONode.html">GTAONode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a Ground Truth Ambient Occlusion (GTAO) effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's normals.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="append" translate="no">.<a href="#append">append</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node to add.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r176. Use <a href="global.html#Stack">Stack</a> instead.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="array" translate="no">.<a href="#array">array</a><span class="signature">( nodeTypeOrValues : <span class="param-type">string | Array.<<a href="Node.html">Node</a>></span>, count : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="ArrayNode.html">ArrayNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an array node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">nodeTypeOrValues</strong>
- </td>
- <td class="description last">
- <p>A string representing the element type (e.g., 'vec3')
- or an array containing the default values (e.g., [ vec3() ]).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>Size of the array.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="asin" translate="no">.<a href="#asin">asin</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the arcsine of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="assign" translate="no">.<a href="#assign">assign</a><span class="signature">( targetNode : <span class="param-type"><a href="Node.html">Node</a></span>, sourceNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AssignNode.html">AssignNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an assign node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">targetNode</strong>
- </td>
- <td class="description last">
- <p>The target node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sourceNode</strong>
- </td>
- <td class="description last">
- <p>The source type.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atan" translate="no">.<a href="#atan">atan</a><span class="signature">( y : <span class="param-type"><a href="Node.html">Node</a> | number</span>, x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the arc-tangent of the parameter.
- If two parameters are provided, the result is <code>atan2(y/x)</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The y parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The x parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicAdd" translate="no">.<a href="#atomicAdd">atomicAdd</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Increments the value stored in the atomic variable.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicAnd" translate="no">.<a href="#atomicAnd">atomicAnd</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Stores in an atomic variable the bitwise AND of its value with a parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicFunc" translate="no">.<a href="#atomicFunc">atomicFunc</a><span class="signature">( method : <span class="param-type">string</span>, pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for appending an atomic function call into the programmatic flow of a compute shader.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">method</strong>
- </td>
- <td class="description last">
- <p>The signature of the atomic function to construct.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicLoad" translate="no">.<a href="#atomicLoad">atomicLoad</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Loads the value stored in the atomic variable.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicMax" translate="no">.<a href="#atomicMax">atomicMax</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Stores in an atomic variable the maximum between its current value and a parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicMin" translate="no">.<a href="#atomicMin">atomicMin</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Stores in an atomic variable the minimum between its current value and a parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicNode" translate="no">.<a href="#atomicNode">atomicNode</a><span class="signature">( method : <span class="param-type">string</span>, pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an atomic function node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">method</strong>
- </td>
- <td class="description last">
- <p>The signature of the atomic function to construct.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicOr" translate="no">.<a href="#atomicOr">atomicOr</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Stores in an atomic variable the bitwise OR of its value with a parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicStore" translate="no">.<a href="#atomicStore">atomicStore</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Stores a value in the atomic variable.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicSub" translate="no">.<a href="#atomicSub">atomicSub</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Decrements the value stored in the atomic variable.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="atomicXor" translate="no">.<a href="#atomicXor">atomicXor</a><span class="signature">( pointerNode : <span class="param-type"><a href="Node.html">Node</a></span>, valueNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Stores in an atomic variable the bitwise XOR of its value with a parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pointerNode</strong>
- </td>
- <td class="description last">
- <p>An atomic variable or element of an atomic buffer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">valueNode</strong>
- </td>
- <td class="description last">
- <p>The value that mutates the atomic variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="attribute" translate="no">.<a href="#attribute">attribute</a><span class="signature">( name : <span class="param-type">string</span>, nodeType : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="AttributeNode.html">AttributeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an attribute node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the attribute.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">nodeType</strong>
- </td>
- <td class="description last">
- <p>The node type.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="attributeArray" translate="no">.<a href="#attributeArray">attributeArray</a><span class="signature">( count : <span class="param-type">number | TypedArray</span>, type : <span class="param-type">string | Struct</span> )</span><span class="type-signature"> : <a href="StorageBufferNode.html">StorageBufferNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a storage buffer node with a configured <code>StorageBufferAttribute</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The data count. It is also valid to pass a typed array as an argument.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The data type.</p>
- <p>Default is <code>'float'</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="barrelMask" translate="no">.<a href="#barrelMask">barrelMask</a><span class="signature">( coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if UV coordinates are inside the valid 0-1 range.
- Useful for masking areas inside the distorted screen.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The UV coordinates to check.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> 1.0 if inside bounds, 0.0 if outside.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="barrelUV" translate="no">.<a href="#barrelUV">barrelUV</a><span class="signature">( curvature : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>Creates barrel-distorted UV coordinates.
- The center of the screen appears to bulge outward (convex distortion).</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">curvature</strong>
- </td>
- <td class="description last">
- <p>The amount of curvature (0 = flat, 0.5 = very curved).</p>
- <p>Default is <code>0.1</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The input UV coordinates.</p>
- <p>Default is <code>uv()</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The distorted UV coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="barrier" translate="no">.<a href="#barrier">barrier</a><span class="signature">( scope : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="BarrierNode.html">BarrierNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a barrier node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scope</strong>
- </td>
- <td class="description last">
- <p>The scope defines the behavior of the node..</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="batch" translate="no">.<a href="#batch">batch</a><span class="signature">( batchMesh : <span class="param-type"><a href="BatchedMesh.html">BatchedMesh</a></span> )</span><span class="type-signature"> : <a href="BatchNode.html">BatchNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a batch node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">batchMesh</strong>
- </td>
- <td class="description last">
- <p>A reference to batched mesh.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bentNormalView" translate="no">.<a href="#bentNormalView">bentNormalView</a><span class="signature">()</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for computing bent normals.</p>
- </div>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> Bent normals.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="bilateralBlur" translate="no">.<a href="#bilateralBlur">bilateralBlur</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, directionNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|float)></span>, sigma : <span class="param-type">number</span>, sigmaColor : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BilateralBlurNode.html">BilateralBlurNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a bilateral blur node for post processing.</p>
- <p>Bilateral blur smooths an image while preserving sharp edges by considering
- both spatial distance and color/intensity differences between pixels.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">directionNode</strong>
- </td>
- <td class="description last">
- <p>Defines the direction and radius of the blur.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sigma</strong>
- </td>
- <td class="description last">
- <p>Controls the spatial kernel of the blur filter. Higher values mean a wider blur radius.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sigmaColor</strong>
- </td>
- <td class="description last">
- <p>Controls the intensity kernel. Higher values allow more color difference to be blurred together.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="billboarding" translate="no">.<a href="#billboarding">billboarding</a><span class="signature">( config : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>This can be used to achieve a billboarding behavior for flat meshes. That means they are
- oriented always towards the camera.</p>
- <pre><code class="language-js">material.vertexNode = billboarding();
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">config</strong>
- </td>
- <td class="description last">
- <p>The configuration object.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">position</strong>
- </td>
- <td class="description last">
- <p>Can be used to define the vertex positions in world space.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">horizontal</strong>
- </td>
- <td class="description last">
- <p>Whether to follow the camera rotation horizontally or not.</p>
- <p>Default is <code>true</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">vertical</strong>
- </td>
- <td class="description last">
- <p>Whether to follow the camera rotation vertically or not.</p>
- <p>Default is <code>false</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The updated vertex position in clip space.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="bitAnd" translate="no">.<a href="#bitAnd">bitAnd</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs bitwise AND on two nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bitNot" translate="no">.<a href="#bitNot">bitNot</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs bitwise NOT on a node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bitOr" translate="no">.<a href="#bitOr">bitOr</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs bitwise OR on two nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bitXor" translate="no">.<a href="#bitXor">bitXor</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs bitwise XOR on two nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bitcast" translate="no">.<a href="#bitcast">bitcast</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span>, y : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Reinterpret the bit representation of a value in one type as a value in another type.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The new type.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bleach" translate="no">.<a href="#bleach">bleach</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, opacity : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies a bleach bypass effect to the given color node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color node to apply the sepia for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">opacity</strong>
- </td>
- <td class="description last">
- <p>Influences how strong the effect is blended with the original color.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The updated color node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="blendBurn" translate="no">.<a href="#blendBurn">blendBurn</a><span class="signature">( base : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, blend : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents a "Color Burn" blend mode.</p>
- <p>It's designed to darken the base layer's colors based on the color of the blend layer.
- It significantly increases the contrast of the base layer, making the colors more vibrant and saturated.
- The darker the color in the blend layer, the stronger the darkening and contrast effect on the base layer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">blend</strong>
- </td>
- <td class="description last">
- <p>The blend color. A white (#ffffff) blend color does not alter the base color.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="blendColor" translate="no">.<a href="#blendColor">blendColor</a><span class="signature">( base : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, blend : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>This function blends two color based on their alpha values by replicating the behavior of <code>THREE.NormalBlending</code>.
- It assumes both input colors have non-premultiplied alpha.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">blend</strong>
- </td>
- <td class="description last">
- <p>The blend color</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="blendDodge" translate="no">.<a href="#blendDodge">blendDodge</a><span class="signature">( base : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, blend : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents a "Color Dodge" blend mode.</p>
- <p>It's designed to lighten the base layer's colors based on the color of the blend layer.
- It significantly increases the brightness of the base layer, making the colors lighter and more vibrant.
- The brighter the color in the blend layer, the stronger the lightening and contrast effect on the base layer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">blend</strong>
- </td>
- <td class="description last">
- <p>The blend color. A black (#000000) blend color does not alter the base color.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="blendOverlay" translate="no">.<a href="#blendOverlay">blendOverlay</a><span class="signature">( base : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, blend : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents a "Overlay" blend mode.</p>
- <p>It's designed to increase the contrast of the base layer based on the color of the blend layer.
- It amplifies the existing colors and contrast in the base layer, making lighter areas lighter and darker areas darker.
- The color of the blend layer significantly influences the resulting contrast and color shift in the base layer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">blend</strong>
- </td>
- <td class="description last">
- <p>The blend color</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="blendScreen" translate="no">.<a href="#blendScreen">blendScreen</a><span class="signature">( base : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, blend : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents a "Screen" blend mode.</p>
- <p>Similar to <code>blendDodge()</code>, this mode also lightens the base layer's colors based on the color of the blend layer.
- The "Screen" blend mode is better for general brightening whereas the "Dodge" results in more subtle and nuanced
- effects.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">blend</strong>
- </td>
- <td class="description last">
- <p>The blend color. A black (#000000) blend color does not alter the base color.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="bloom" translate="no">.<a href="#bloom">bloom</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, strength : <span class="param-type">number</span>, radius : <span class="param-type">number</span>, threshold : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BloomNode.html">BloomNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a bloom effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">strength</strong>
- </td>
- <td class="description last">
- <p>The strength of the bloom.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">radius</strong>
- </td>
- <td class="description last">
- <p>The radius of the bloom.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">threshold</strong>
- </td>
- <td class="description last">
- <p>The luminance threshold limits which bright areas contribute to the bloom effect.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="boxBlur" translate="no">.<a href="#boxBlur">boxBlur</a><span class="signature">( textureNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies a box blur effect to the given texture node.</p>
- <p>Compared to Gaussian blur, box blur produces a more blocky result but with better performance when correctly
- configured. It is intended for mobile devices or performance restricted use cases where Gaussian is too heavy.</p>
- <p>The (kernel) <code>size</code> parameter should be small (1, 2 or 3) since it determines the number of samples based on (size * 2 + 1)^2.
- This implementation uses a single pass approach so the kernel is not applied as a separable filter. That means larger
- kernels won't perform well. Use Gaussian instead if you need a more high-quality blur.</p>
- <p>To produce wider blurs, increase the <code>separation</code> parameter instead which has no influence on the performance.</p>
- <p>Reference: <a href="https://github.com/lettier/3d-game-shaders-for-beginners/blob/master/demonstration/shaders/fragment/box-blur.frag" target="_blank" rel="noopener">https://github.com/lettier/3d-game-shaders-for-beginners/blob/master/demonstration/shaders/fragment/box-blur.frag</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be blurred.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Additional options for the hash blur effect.</p>
- <p>Default is <code>{}</code>.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">size</strong>
- </td>
- <td class="description last">
- <p>Controls the blur's kernel. For performant results, the range should within [1, 3].</p>
- <p>Default is <code>int(1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">separation</strong>
- </td>
- <td class="description last">
- <p>Spreads out the blur without having to sample additional fragments. Ranges from [1, Infinity].</p>
- <p>Default is <code>int(1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">premultipliedAlpha</strong>
- </td>
- <td class="description last">
- <p>Whether to use premultiplied alpha for the blur effect.</p>
- <p>Default is <code>false</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The blurred texture node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="buffer" translate="no">.<a href="#buffer">buffer</a><span class="signature">( value : <span class="param-type">Array.<number></span>, type : <span class="param-type">string</span>, count : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferNode.html">BufferNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a buffer node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>Array-like buffer data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The data type of a buffer element.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The count of buffer elements.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bufferAttribute" translate="no">.<a href="#bufferAttribute">bufferAttribute</a><span class="signature">( array : <span class="param-type"><a href="BufferAttribute.html">BufferAttribute</a> | <a href="InterleavedBuffer.html">InterleavedBuffer</a> | TypedArray</span>, type : <span class="param-type">string</span>, stride : <span class="param-type">number</span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttributeNode.html">BufferAttributeNode</a> | <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a buffer attribute node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The buffer type (e.g. <code>'vec3'</code>).</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">stride</strong>
- </td>
- <td class="description last">
- <p>The buffer stride.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">offset</strong>
- </td>
- <td class="description last">
- <p>The buffer offset.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="builtin" translate="no">.<a href="#builtin">builtin</a><span class="signature">( name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="BuiltinNode.html">BuiltinNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a builtin node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the built-in shader variable.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="builtinAOContext" translate="no">.<a href="#builtinAOContext">builtinAOContext</a><span class="signature">( aoNode : <span class="param-type"><a href="Node.html">Node</a></span>, node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for defining a built-in ambient occlusion context for a given node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">aoNode</strong>
- </td>
- <td class="description last">
- <p>The ambient occlusion value node to apply.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="builtinShadowContext" translate="no">.<a href="#builtinShadowContext">builtinShadowContext</a><span class="signature">( shadowNode : <span class="param-type"><a href="ShadowNode.html">ShadowNode</a></span>, light : <span class="param-type"><a href="Light.html">Light</a></span>, node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for defining a built-in shadow context for a given node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">shadowNode</strong>
- </td>
- <td class="description last">
- <p>The shadow node representing the light's shadow.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light associated with the shadow.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bumpMap" translate="no">.<a href="#bumpMap">bumpMap</a><span class="signature">( textureNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, scaleNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="BumpMapNode.html">BumpMapNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a bump map node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>Represents the bump map data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scaleNode</strong>
- </td>
- <td class="description last">
- <p>Controls the intensity of the bump effect.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="bypass" translate="no">.<a href="#bypass">bypass</a><span class="signature">( outputNode : <span class="param-type"><a href="Node.html">Node</a></span>, callNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="BypassNode.html">BypassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a bypass node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">outputNode</strong>
- </td>
- <td class="description last">
- <p>The output node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">callNode</strong>
- </td>
- <td class="description last">
- <p>The call node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cache" translate="no">.<a href="#cache">cache</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, parent : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="IsolateNode.html">IsolateNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a cache node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that should be cached.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">parent</strong>
- </td>
- <td class="description last">
- <p>Whether this node refers to a shared parent cache or not.</p>
- <p>Default is <code>true</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> Yes</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="cbrt" translate="no">.<a href="#cbrt">cbrt</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the cube root of a number.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cdl" translate="no">.<a href="#cdl">cdl</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, slope : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, offset : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, power : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, saturation : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, luminanceCoefficients : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Color Decision List (CDL) v1.2</p>
- <p>Compact representation of color grading information, defined by slope, offset, power, and
- saturation. The CDL should be typically be given input in a log space (such as LogC, ACEScc,
- or AgX Log), and will return output in the same space. Output may require clamping >=0.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>Input (-Infinity < input < +Infinity)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">slope</strong>
- </td>
- <td class="description last">
- <p>Slope (0 ≤ slope < +Infinity)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">offset</strong>
- </td>
- <td class="description last">
- <p>Offset (-Infinity < offset < +Infinity; typically -1 < offset < 1)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">power</strong>
- </td>
- <td class="description last">
- <p>Power (0 < power < +Infinity)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">saturation</strong>
- </td>
- <td class="description last">
- <p>Saturation (0 ≤ saturation < +Infinity; typically 0 ≤ saturation < 4)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">luminanceCoefficients</strong>
- </td>
- <td class="description last">
- <p>Luminance coefficients for saturation term, typically Rec. 709</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> <p>Output, -Infinity < output < +Infinity</p>
- <p>References:</p>
- <ul>
- <li>ASC CDL v1.2</li>
- <li><a href="https://blender.stackexchange.com/a/55239/43930" target="_blank" rel="noopener">https://blender.stackexchange.com/a/55239/43930</a></li>
- <li><a href="https://docs.acescentral.com/specifications/acescc/" target="_blank" rel="noopener">https://docs.acescentral.com/specifications/acescc/</a></li>
- </ul></dt>
- </dl>
- </div>
- <h3 class="name name-method" id="ceil" translate="no">.<a href="#ceil">ceil</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Finds the nearest integer that is greater than or equal to the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="checker" translate="no">.<a href="#checker">checker</a><span class="signature">( coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Creates a 2x2 checkerboard pattern that can be used as procedural texture data.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The uv coordinates.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result data.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="chromaticAberration" translate="no">.<a href="#chromaticAberration">chromaticAberration</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, strength : <span class="param-type"><a href="Node.html">Node</a> | number</span>, center : <span class="param-type"><a href="Node.html">Node</a> | <a href="Vector2.html">Vector2</a></span>, scale : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="ChromaticAberrationNode.html">ChromaticAberrationNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a chromatic aberration node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">strength</strong>
- </td>
- <td class="description last">
- <p>The strength of the chromatic aberration effect as a node or value.</p>
- <p>Default is <code>1.0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">center</strong>
- </td>
- <td class="description last">
- <p>The center point of the effect as a node or value. If null, uses screen center (0.5, 0.5).</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scale</strong>
- </td>
- <td class="description last">
- <p>The scale factor for stepped scaling from center as a node or value.</p>
- <p>Default is <code>1.1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cineonToneMapping" translate="no">.<a href="#cineonToneMapping">cineonToneMapping</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Cineon tone mapping.</p>
- <p>Reference: <a href="http://filmicworlds.com/blog/filmic-tonemapping-operators/" target="_blank" rel="noopener">http://filmicworlds.com/blog/filmic-tonemapping-operators/</a></p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The exposure.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tone mapped color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="circle" translate="no">.<a href="#circle">circle</a><span class="signature">( scale : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, softness : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns a radial gradient from center (white) to edges (black).
- Useful for masking effects based on distance from center.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scale</strong>
- </td>
- <td class="description last">
- <p>Controls the size of the gradient (0 = all black, 1 = full circle).</p>
- <p>Default is <code>1.0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">softness</strong>
- </td>
- <td class="description last">
- <p>Controls the edge softness (0 = hard edge, 1 = soft gradient).</p>
- <p>Default is <code>0.5</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The input UV coordinates.</p>
- <p>Default is <code>uv()</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> 1.0 at center, 0.0 at edges.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="circleIntersectsAABB" translate="no">.<a href="#circleIntersectsAABB">circleIntersectsAABB</a><span class="signature">( circleCenter : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, radius : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, minBounds : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, maxBounds : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<bool></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function that checks if a circle intersects with an axis-aligned bounding box (AABB).</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">circleCenter</strong>
- </td>
- <td class="description last">
- <p>The center of the circle.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">radius</strong>
- </td>
- <td class="description last">
- <p>The radius of the circle.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">minBounds</strong>
- </td>
- <td class="description last">
- <p>The minimum bounds of the AABB.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">maxBounds</strong>
- </td>
- <td class="description last">
- <p>The maximum bounds of the AABB.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> True if the circle intersects the AABB.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="clamp" translate="no">.<a href="#clamp">clamp</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a> | number</span>, low : <span class="param-type"><a href="Node.html">Node</a> | number</span>, high : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Constrains a value to lie between two further values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The value to constrain.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">low</strong>
- </td>
- <td class="description last">
- <p>The lower bound.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">high</strong>
- </td>
- <td class="description last">
- <p>The upper bound.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="clipping" translate="no">.<a href="#clipping">clipping</a><span class="signature">()</span><span class="type-signature"> : <a href="ClippingNode.html">ClippingNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for setting up the default clipping logic.</p>
- </div>
- </div>
- <h3 class="name name-method" id="clippingAlpha" translate="no">.<a href="#clippingAlpha">clippingAlpha</a><span class="signature">()</span><span class="type-signature"> : <a href="ClippingNode.html">ClippingNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for setting up alpha to coverage.</p>
- </div>
- </div>
- <h3 class="name name-method" id="code" translate="no">.<a href="#code">code</a><span class="signature">( code : <span class="param-type">string</span>, includes : <span class="param-type">Array.<<a href="Node.html">Node</a>></span>, language : <span class="param-type">'js' | 'wgsl' | 'glsl'</span> )</span><span class="type-signature"> : <a href="CodeNode.html">CodeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a code node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">code</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">includes</strong>
- </td>
- <td class="description last">
- <p>An array of includes.</p>
- <p>Default is <code>[]</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">language</strong>
- </td>
- <td class="description last">
- <p>The used language.</p>
- <p>Default is <code>''</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="colorBleeding" translate="no">.<a href="#colorBleeding">colorBleeding</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a></span>, amount : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies color bleeding effect to simulate horizontal color smearing.
- Simulates the analog signal bleeding in CRT displays where colors
- "leak" into adjacent pixels horizontally.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">amount</strong>
- </td>
- <td class="description last">
- <p>The amount of color bleeding (0-0.01).</p>
- <p>Default is <code>0.002</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The color with bleeding effect applied.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="colorSpaceToWorking" translate="no">.<a href="#colorSpaceToWorking">colorSpaceToWorking</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, sourceColorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ColorSpaceNode.html">ColorSpaceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a given color node from the given color space to the current working color space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>Represents the node to convert.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sourceColorSpace</strong>
- </td>
- <td class="description last">
- <p>The source color space.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="colorToDirection" translate="no">.<a href="#colorToDirection">colorToDirection</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Unpacks a color value into a direction vector.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The color to unpack.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The direction.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="compute" translate="no">.<a href="#compute">compute</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, count : <span class="param-type">number | Array.<number></span>, workgroupSize : <span class="param-type">Array.<number></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a compute node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>TODO</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>TODO.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">workgroupSize</strong>
- </td>
- <td class="description last">
- <p>TODO.</p>
- <p>Default is <code>[64]</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="computeBuiltin" translate="no">.<a href="#computeBuiltin">computeBuiltin</a><span class="signature">( name : <span class="param-type">string</span>, nodeType : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a compute builtin node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The built-in name.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">nodeType</strong>
- </td>
- <td class="description last">
- <p>The node type.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="computeKernel" translate="no">.<a href="#computeKernel">computeKernel</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, workgroupSize : <span class="param-type">Array.<number></span> )</span><span class="type-signature"> : <a href="AtomicFunctionNode.html">AtomicFunctionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a compute kernel node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>TODO</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">workgroupSize</strong>
- </td>
- <td class="description last">
- <p>TODO.</p>
- <p>Default is <code>[64]</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="computeSkinning" translate="no">.<a href="#computeSkinning">computeSkinning</a><span class="signature">( skinnedMesh : <span class="param-type"><a href="SkinnedMesh.html">SkinnedMesh</a></span>, toPosition : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="SkinningNode.html">SkinningNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for computing skinning.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">skinnedMesh</strong>
- </td>
- <td class="description last">
- <p>The skinned mesh.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">toPosition</strong>
- </td>
- <td class="description last">
- <p>The target position.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="context" translate="no">.<a href="#context">context</a><span class="signature">( nodeOrValue : <span class="param-type"><a href="Node.html">Node</a> | Object</span>, value : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a context node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">nodeOrValue</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified or the modified context data.</p>
- <p>Default is <code>{}</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The modified context data.</p>
- <p>Default is <code>{}</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="convertColorSpace" translate="no">.<a href="#convertColorSpace">convertColorSpace</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, sourceColorSpace : <span class="param-type">string</span>, targetColorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ColorSpaceNode.html">ColorSpaceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a given color node from one color space to another one.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>Represents the node to convert.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sourceColorSpace</strong>
- </td>
- <td class="description last">
- <p>The source color space.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">targetColorSpace</strong>
- </td>
- <td class="description last">
- <p>The target color space.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="convertToTexture" translate="no">.<a href="#convertToTexture">convertToTexture</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="RTTNode.html">RTTNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting nodes to textures nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node to render a texture with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">width</strong>
- </td>
- <td class="description last">
- <p>The width of the internal render target. If not width is applied, the render target is automatically resized.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">height</strong>
- </td>
- <td class="description last">
- <p>The height of the internal render target.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>The options for the internal render target.</p>
- <p>Default is <code>{type:HalfFloatType}</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cos" translate="no">.<a href="#cos">cos</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the cosine of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="countLeadingZeros" translate="no">.<a href="#countLeadingZeros">countLeadingZeros</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Finds the number of consecutive 0 bits starting from the most significant bit of the input value.</p>
- <p>Can only be used with <a href="WebGPURenderer.html">WebGPURenderer</a> and a WebGPU backend.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The input value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="countOneBits" translate="no">.<a href="#countOneBits">countOneBits</a><span class="signature">()</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Finds the number of '1' bits set in the input value</p>
- <p>Can only be used with <a href="WebGPURenderer.html">WebGPURenderer</a> and a WebGPU backend.</p>
- </div>
- </div>
- <h3 class="name name-method" id="countTrailingZeros" translate="no">.<a href="#countTrailingZeros">countTrailingZeros</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Finds the number of consecutive 0 bits from the least significant bit of the input value,
- which is also the index of the least significant bit of the input value.</p>
- <p>Can only be used with <a href="WebGPURenderer.html">WebGPURenderer</a> and a WebGPU backend.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The input value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="createVar" translate="no">.<a href="#createVar">createVar</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="VarNode.html">VarNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a var node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node for which a variable should be created.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the variable in the shader.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cross" translate="no">.<a href="#cross">cross</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span>, y : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<(float|vec3)></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the cross product of two vectors.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The second vector.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cubeMapNode" translate="no">.<a href="#cubeMapNode">cubeMapNode</a><span class="signature">( envNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="CubeMapNode.html">CubeMapNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a cube map node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">envNode</strong>
- </td>
- <td class="description last">
- <p>The node representing the environment map.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cubeTexture" translate="no">.<a href="#cubeTexture">cubeTexture</a><span class="signature">( value : <span class="param-type"><a href="CubeTexture.html">CubeTexture</a> | <a href="CubeTextureNode.html">CubeTextureNode</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, biasNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="CubeTextureNode.html">CubeTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a cube texture uniform node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The cube texture.</p>
- <p>Default is <code>EmptyTexture</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">biasNode</strong>
- </td>
- <td class="description last">
- <p>The bias node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="cubeTextureBase" translate="no">.<a href="#cubeTextureBase">cubeTextureBase</a><span class="signature">( value : <span class="param-type"><a href="CubeTexture.html">CubeTexture</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, biasNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="CubeTextureNode.html">CubeTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a cube texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The cube texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">biasNode</strong>
- </td>
- <td class="description last">
- <p>The bias node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="dFdx" translate="no">.<a href="#dFdx">dFdx</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the partial derivative of the parameter with respect to x.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="dFdy" translate="no">.<a href="#dFdy">dFdy</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the partial derivative of the parameter with respect to y.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="debug" translate="no">.<a href="#debug">debug</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, callback : <span class="param-type">function</span> )</span><span class="type-signature"> : DebugNode</span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a debug node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node to debug.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">callback</strong>
- </td>
- <td class="description last">
- <p>Optional callback function to handle the debug output.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="decrement" translate="no">.<a href="#decrement">decrement</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Decrements a node by 1 and returns the previous value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The node to decrement.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="decrementBefore" translate="no">.<a href="#decrementBefore">decrementBefore</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Decrements a node by 1.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The node to decrement.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="degrees" translate="no">.<a href="#degrees">degrees</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Convert a quantity in radians to degrees.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The input in radians.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="denoise" translate="no">.<a href="#denoise">denoise</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, depthNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, normalNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="DenoiseNode.html">DenoiseNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a denoise effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect (e.g. AO).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's normals.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="densityFogFactor" translate="no">.<a href="#densityFogFactor">densityFogFactor</a><span class="signature">( density : <span class="param-type"><a href="Node.html">Node</a></span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Represents an exponential squared fog. This type of fog gives
- a clear view near the camera and a faster than exponentially
- densening fog farther from the camera.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">density</strong>
- </td>
- <td class="description last">
- <p>Defines the fog density.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="depthBase" translate="no">.<a href="#depthBase">depthBase</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="ViewportDepthNode.html">ViewportDepthNode</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for defining a value for the current fragment's depth.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The depth value to set.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="depthPass" translate="no">.<a href="#depthPass">depthPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="PassNode.html">PassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a depth pass node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>A reference to the camera.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Options for the internal render target.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="determinant" translate="no">.<a href="#determinant">determinant</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<(mat2|mat3|mat4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the determinant of a matrix.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="difference" translate="no">.<a href="#difference">difference</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span>, y : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the absolute difference between two values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The second parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="directionToColor" translate="no">.<a href="#directionToColor">directionToColor</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Packs a direction vector into a color value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The direction to pack.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="distance" translate="no">.<a href="#distance">distance</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, y : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the distance between two points.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first point.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The second point.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="div" translate="no">.<a href="#div">div</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span>, …params : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the division of two or more value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>Additional input parameters.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="dof" translate="no">.<a href="#dof">dof</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, viewZNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, focusDistance : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, focalLength : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, bokehScale : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span> )</span><span class="type-signature"> : <a href="DepthOfFieldNode.html">DepthOfFieldNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a depth-of-field effect (DOF) for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">viewZNode</strong>
- </td>
- <td class="description last">
- <p>Represents the viewZ depth values of the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">focusDistance</strong>
- </td>
- <td class="description last">
- <p>Defines the effect's focus which is the distance along the camera's look direction in world units.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">focalLength</strong>
- </td>
- <td class="description last">
- <p>How far an object can be from the focal plane before it goes completely out-of-focus in world units.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">bokehScale</strong>
- </td>
- <td class="description last">
- <p>A unitless value for artistic purposes to adjust the size of the bokeh.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="dot" translate="no">.<a href="#dot">dot</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, y : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the dot product of two vectors.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The second vector.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="dotScreen" translate="no">.<a href="#dotScreen">dotScreen</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, angle : <span class="param-type">number</span>, scale : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="DotScreenNode.html">DotScreenNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a dot-screen node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">angle</strong>
- </td>
- <td class="description last">
- <p>The rotation of the effect in radians.</p>
- <p>Default is <code>1.57</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scale</strong>
- </td>
- <td class="description last">
- <p>The scale of the effect. A higher value means smaller dots.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="dynamicBufferAttribute" translate="no">.<a href="#dynamicBufferAttribute">dynamicBufferAttribute</a><span class="signature">( array : <span class="param-type"><a href="BufferAttribute.html">BufferAttribute</a> | <a href="InterleavedBuffer.html">InterleavedBuffer</a> | TypedArray</span>, type : <span class="param-type">string</span>, stride : <span class="param-type">number</span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttributeNode.html">BufferAttributeNode</a> | <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a buffer attribute node but with dynamic draw usage.
- Use this function if attribute data are updated per frame.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The buffer type (e.g. <code>'vec3'</code>).</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">stride</strong>
- </td>
- <td class="description last">
- <p>The buffer stride.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">offset</strong>
- </td>
- <td class="description last">
- <p>The buffer offset.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="equal" translate="no">.<a href="#equal">equal</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if two nodes are equal.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="equirectUV" translate="no">.<a href="#equirectUV">equirectUV</a><span class="signature">( dirNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an equirect uv node.</p>
- <p>Can be used to compute texture coordinates for projecting an
- equirectangular texture onto a mesh for using it as the scene's
- background.</p>
- <pre><code class="language-js">scene.backgroundNode = texture( equirectTexture, equirectUV() );
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">dirNode</strong>
- </td>
- <td class="description last">
- <p>A direction vector for sampling which is by default <code>positionWorldDirection</code>.</p>
- <p>Default is <code>positionWorldDirection</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="exp" translate="no">.<a href="#exp">exp</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the natural exponentiation of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="exp2" translate="no">.<a href="#exp2">exp2</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns 2 raised to the power of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="exponentialHeightFogFactor" translate="no">.<a href="#exponentialHeightFogFactor">exponentialHeightFogFactor</a><span class="signature">( density : <span class="param-type"><a href="Node.html">Node</a></span>, height : <span class="param-type"><a href="Node.html">Node</a></span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Constructs a new height fog factor node. This fog factor requires a Y-up coordinate system.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">density</strong>
- </td>
- <td class="description last">
- <p>Defines the fog density.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">height</strong>
- </td>
- <td class="description last">
- <p>The height threshold in world space. Everything below this y-coordinate is affected by fog.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="expression" translate="no">.<a href="#expression">expression</a><span class="signature">( snippet : <span class="param-type">string</span>, nodeType : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ExpressionNode.html">ExpressionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an expression node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">snippet</strong>
- </td>
- <td class="description last">
- <p>The native code snippet.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">nodeType</strong>
- </td>
- <td class="description last">
- <p>The node type.</p>
- <p>Default is <code>'void'</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="faceForward" translate="no">.<a href="#faceForward">faceForward</a><span class="signature">( N : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, I : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, Nref : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns a vector pointing in the same direction as another.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">N</strong>
- </td>
- <td class="description last">
- <p>The vector to orient.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">I</strong>
- </td>
- <td class="description last">
- <p>The incident vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">Nref</strong>
- </td>
- <td class="description last">
- <p>The reference vector.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="film" translate="no">.<a href="#film">film</a><span class="signature">( inputNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, intensityNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="FilmNode.html">FilmNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a film node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">inputNode</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">intensityNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the effect's intensity.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>A node that allows to pass custom (e.g. animated) uv data.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="floatBitsToInt" translate="no">.<a href="#floatBitsToInt">floatBitsToInt</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="BitcastNode.html">BitcastNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Bitcasts a float or a vector of floats to a corresponding integer type with the same element size.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The float or vector of floats to bitcast.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="floatBitsToUint" translate="no">.<a href="#floatBitsToUint">floatBitsToUint</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="BitcastNode.html">BitcastNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Bitcasts a float or a vector of floats to a corresponding unsigned integer type with the same element size.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The float or vector of floats to bitcast.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="floor" translate="no">.<a href="#floor">floor</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Finds the nearest integer less than or equal to the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="fog" translate="no">.<a href="#fog">fog</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a></span>, factor : <span class="param-type"><a href="Node.html">Node</a></span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>This class can be used to configure a fog for the scene.
- Nodes of this type are assigned to <code>Scene.fogNode</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>Defines the color of the fog.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">factor</strong>
- </td>
- <td class="description last">
- <p>Defines how the fog is factored in the scene.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="fract" translate="no">.<a href="#fract">fract</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes the fractional part of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="fwidth" translate="no">.<a href="#fwidth">fwidth</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the sum of the absolute derivatives in x and y.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="fxaa" translate="no">.<a href="#fxaa">fxaa</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="FXAANode.html">FXAANode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a FXAA node for anti-aliasing via post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="gain" translate="no">.<a href="#gain">gain</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, k : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>A function that remaps the <code>[0,1]</code> interval into the <code>[0,1]</code> interval.
- Expands the sides and compresses the center, and keeps <code>0.5</code> mapped to <code>0.5</code>.
- Reference: <a href="https://iquilezles.org/articles/functions/" target="_blank" rel="noopener">https://iquilezles.org/articles/functions/</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The value to remap.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">k</strong>
- </td>
- <td class="description last">
- <p><code>k=1</code> is the identity curve,<code>k<1</code> produces the classic <code>gain()</code> shape, and <code>k>1</code> produces "s" shaped curves.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The remapped value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="gaussianBlur" translate="no">.<a href="#gaussianBlur">gaussianBlur</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, directionNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|float)></span>, sigma : <span class="param-type">number</span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="GaussianBlurNode.html">GaussianBlurNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a gaussian blur node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">directionNode</strong>
- </td>
- <td class="description last">
- <p>Defines the direction and radius of the blur.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sigma</strong>
- </td>
- <td class="description last">
- <p>Controls the kernel of the blur filter. Higher values mean a wider blur radius.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Additional options for the gaussian blur effect.</p>
- <p>Default is <code>{}</code>.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">premultipliedAlpha</strong>
- </td>
- <td class="description last">
- <p>Whether to use premultiplied alpha for the blur effect.</p>
- <p>Default is <code>false</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">resolutionScale</strong>
- </td>
- <td class="description last">
- <p>The resolution of the effect. 0.5 means half the resolution of the texture node.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="getNormalFromDepth" translate="no">.<a href="#getNormalFromDepth">getNormalFromDepth</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, depthTexture : <span class="param-type"><a href="DepthTexture.html">DepthTexture</a></span>, projectionMatrixInverse : <span class="param-type"><a href="Node.html">Node</a>.<mat4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes a normal vector based on depth data. Can be used as a fallback when no normal render
- target is available or if flat surface normals are required.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>The texture coordinate.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depthTexture</strong>
- </td>
- <td class="description last">
- <p>The depth texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">projectionMatrixInverse</strong>
- </td>
- <td class="description last">
- <p>The camera's inverse projection matrix.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The computed normal vector.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="getParallaxCorrectNormal" translate="no">.<a href="#getParallaxCorrectNormal">getParallaxCorrectNormal</a><span class="signature">( normal : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, cubeSize : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, cubePos : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>This computes a parallax corrected normal which is used for box-projected cube mapping (BPCEM).</p>
- <p>Reference: <a href="https://devlog-martinsh.blogspot.com/2011/09/box-projected-cube-environment-mapping.html" target="_blank" rel="noopener">https://devlog-martinsh.blogspot.com/2011/09/box-projected-cube-environment-mapping.html</a></p>
- <pre><code class="language-js">const uvNode = getParallaxCorrectNormal( reflectVector, vec3( 200, 100, 100 ), vec3( 0, - 50, 0 ) );
- material.envNode = pmremTexture( renderTarget.texture, uvNode );
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">normal</strong>
- </td>
- <td class="description last">
- <p>The normal to correct.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">cubeSize</strong>
- </td>
- <td class="description last">
- <p>The cube size should reflect the size of the environment (BPCEM is usually applied in closed environments like rooms).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">cubePos</strong>
- </td>
- <td class="description last">
- <p>The cube position.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The parallax corrected normal.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="getScreenPosition" translate="no">.<a href="#getScreenPosition">getScreenPosition</a><span class="signature">( viewPosition : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, projectionMatrix : <span class="param-type"><a href="Node.html">Node</a>.<mat4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes a screen position expressed as uv coordinates based on a fragment's position in view space
- and the camera's projection matrix</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">viewPosition</strong>
- </td>
- <td class="description last">
- <p>The fragments position in view space.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">projectionMatrix</strong>
- </td>
- <td class="description last">
- <p>The camera's projection matrix.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The fragment's screen position expressed as uv coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="getShadowMaterial" translate="no">.<a href="#getShadowMaterial">getShadowMaterial</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span> )</span><span class="type-signature"> : <a href="NodeMaterial.html">NodeMaterial</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Retrieves or creates a shadow material for the given light source.</p>
- <p>This function checks if a shadow material already exists for the provided light.
- If not, it creates a new <code>NodeMaterial</code> configured for shadow rendering and stores it
- in the <code>shadowMaterialLib</code> for future use.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source for which the shadow material is needed.
- If the light is a point light, a depth node is calculated
- using the linear shadow distance.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The shadow material associated with the given light.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="getShadowRenderObjectFunction" translate="no">.<a href="#getShadowRenderObjectFunction">getShadowRenderObjectFunction</a><span class="signature">( renderer : <span class="param-type"><a href="Renderer.html">Renderer</a></span>, shadow : <span class="param-type"><a href="LightShadow.html">LightShadow</a></span>, shadowType : <span class="param-type">number</span>, useVelocity : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="global.html#shadowRenderObjectFunction">shadowRenderObjectFunction</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Creates a function to render shadow objects in a scene.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">renderer</strong>
- </td>
- <td class="description last">
- <p>The renderer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">shadow</strong>
- </td>
- <td class="description last">
- <p>The light shadow object containing shadow properties.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">shadowType</strong>
- </td>
- <td class="description last">
- <p>The type of shadow map (e.g., BasicShadowMap).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">useVelocity</strong>
- </td>
- <td class="description last">
- <p>Whether to use velocity data for rendering.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> A function that renders shadow objects.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="getViewPosition" translate="no">.<a href="#getViewPosition">getViewPosition</a><span class="signature">( screenPosition : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, depth : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, projectionMatrixInverse : <span class="param-type"><a href="Node.html">Node</a>.<mat4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes a position in view space based on a fragment's screen position expressed as uv coordinates, the fragments
- depth value and the camera's inverse projection matrix.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">screenPosition</strong>
- </td>
- <td class="description last">
- <p>The fragment's screen position expressed as uv coordinates.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depth</strong>
- </td>
- <td class="description last">
- <p>The fragment's depth value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">projectionMatrixInverse</strong>
- </td>
- <td class="description last">
- <p>The camera's inverse projection matrix.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The fragments position in view space.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="glsl" translate="no">.<a href="#glsl">glsl</a><span class="signature">( src : <span class="param-type">string</span>, includes : <span class="param-type">Array.<<a href="Node.html">Node</a>></span> )</span><span class="type-signature"> : <a href="CodeNode.html">CodeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a GLSL code node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">src</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">includes</strong>
- </td>
- <td class="description last">
- <p>An array of includes.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="godrays" translate="no">.<a href="#godrays">godrays</a><span class="signature">( depthNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, light : <span class="param-type"><a href="DirectionalLight.html">DirectionalLight</a> | <a href="PointLight.html">PointLight</a></span> )</span><span class="type-signature"> : <a href="GodraysNode.html">GodraysNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a Godrays effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light the godrays are rendered for.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="grayscale" translate="no">.<a href="#grayscale">grayscale</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes a grayscale value for the given RGB color value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color value to compute the grayscale for.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The grayscale color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="greaterThan" translate="no">.<a href="#greaterThan">greaterThan</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if the first node is greater than the second.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="greaterThanEqual" translate="no">.<a href="#greaterThanEqual">greaterThanEqual</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if the first node is greater than or equal to the second.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="hardwareClipping" translate="no">.<a href="#hardwareClipping">hardwareClipping</a><span class="signature">()</span><span class="type-signature"> : <a href="ClippingNode.html">ClippingNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for setting up hardware-based clipping.</p>
- </div>
- </div>
- <h3 class="name name-method" id="hash" translate="no">.<a href="#hash">hash</a><span class="signature">( seed : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a hash value in the range <code>[0, 1]</code> from the given seed.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">seed</strong>
- </td>
- <td class="description last">
- <p>The seed.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The hash value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="hashBlur" translate="no">.<a href="#hashBlur">hashBlur</a><span class="signature">( textureNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, bluramount : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies a hash blur effect to the given texture node.</p>
- <p>The approach of this blur is different compared to Gaussian and box blur since
- it does not rely on a kernel to apply a convolution. Instead, it reads the base
- texture multiple times in a random pattern and then averages the samples. A
- typical artifact of this technique is a slightly noisy appearance of the blur which
- can be mitigated by increasing the number of iterations (see <code>repeats</code> parameter).
- Compared to Gaussian blur, hash blur requires just a single pass.</p>
- <p>Reference: <a href="https://www.shadertoy.com/view/4lXXWn" target="_blank" rel="noopener">https://www.shadertoy.com/view/4lXXWn</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be blurred.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">bluramount</strong>
- </td>
- <td class="description last">
- <p>This node determines the amount of blur.</p>
- <p>Default is <code>float(0.1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Additional options for the hash blur effect.</p>
- <p>Default is <code>{}</code>.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">repeats</strong>
- </td>
- <td class="description last">
- <p>The number of iterations for the blur effect.</p>
- <p>Default is <code>float(45)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">premultipliedAlpha</strong>
- </td>
- <td class="description last">
- <p>Whether to use premultiplied alpha for the blur effect.</p>
- <p>Default is <code>false</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The blurred texture node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="hue" translate="no">.<a href="#hue">hue</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, adjustment : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Updates the hue component of the given RGB color while preserving its luminance and saturation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">adjustment</strong>
- </td>
- <td class="description last">
- <p>Defines the degree of hue rotation in radians. A positive value rotates the hue clockwise, while a negative value rotates it counterclockwise.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The updated color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="increment" translate="no">.<a href="#increment">increment</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Increments a node by 1 and returns the previous value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The node to increment.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="incrementBefore" translate="no">.<a href="#incrementBefore">incrementBefore</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Increments a node by 1.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The node to increment.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="inspector" translate="no">.<a href="#inspector">inspector</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span>, callback : <span class="param-type">function | null</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Creates an inspector node to wrap around a given node for inspection purposes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node to inspect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>Optional name for the inspector node.</p>
- <p>Default is <code>''</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">callback</strong>
- </td>
- <td class="description last">
- <p>Optional callback to modify the node during setup.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The inspector node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="instance" translate="no">.<a href="#instance">instance</a><span class="signature">( count : <span class="param-type">number</span>, instanceMatrix : <span class="param-type"><a href="InstancedBufferAttribute.html">InstancedBufferAttribute</a> | <a href="StorageInstancedBufferAttribute.html">StorageInstancedBufferAttribute</a></span>, instanceColor : <span class="param-type"><a href="InstancedBufferAttribute.html">InstancedBufferAttribute</a> | <a href="StorageInstancedBufferAttribute.html">StorageInstancedBufferAttribute</a></span> )</span><span class="type-signature"> : <a href="InstanceNode.html">InstanceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an instance node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The number of instances.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">instanceMatrix</strong>
- </td>
- <td class="description last">
- <p>Instanced buffer attribute representing the instance transformations.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">instanceColor</strong>
- </td>
- <td class="description last">
- <p>Instanced buffer attribute representing the instance colors.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="instancedArray" translate="no">.<a href="#instancedArray">instancedArray</a><span class="signature">( count : <span class="param-type">number | TypedArray</span>, type : <span class="param-type">string | Struct</span> )</span><span class="type-signature"> : <a href="StorageBufferNode.html">StorageBufferNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a storage buffer node with a configured <code>StorageInstancedBufferAttribute</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The data count. It is also valid to pass a typed array as an argument.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The data type.</p>
- <p>Default is <code>'float'</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="instancedBufferAttribute" translate="no">.<a href="#instancedBufferAttribute">instancedBufferAttribute</a><span class="signature">( array : <span class="param-type"><a href="BufferAttribute.html">BufferAttribute</a> | <a href="InterleavedBuffer.html">InterleavedBuffer</a> | TypedArray</span>, type : <span class="param-type">string</span>, stride : <span class="param-type">number</span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttributeNode.html">BufferAttributeNode</a> | <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a buffer attribute node but with enabled instancing</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The buffer type (e.g. <code>'vec3'</code>).</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">stride</strong>
- </td>
- <td class="description last">
- <p>The buffer stride.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">offset</strong>
- </td>
- <td class="description last">
- <p>The buffer offset.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="instancedDynamicBufferAttribute" translate="no">.<a href="#instancedDynamicBufferAttribute">instancedDynamicBufferAttribute</a><span class="signature">( array : <span class="param-type"><a href="BufferAttribute.html">BufferAttribute</a> | <a href="InterleavedBuffer.html">InterleavedBuffer</a> | TypedArray</span>, type : <span class="param-type">string</span>, stride : <span class="param-type">number</span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttributeNode.html">BufferAttributeNode</a> | <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a buffer attribute node but with dynamic draw usage and enabled instancing</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The buffer type (e.g. <code>'vec3'</code>).</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">stride</strong>
- </td>
- <td class="description last">
- <p>The buffer stride.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">offset</strong>
- </td>
- <td class="description last">
- <p>The buffer offset.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="instancedMesh" translate="no">.<a href="#instancedMesh">instancedMesh</a><span class="signature">( instancedMesh : <span class="param-type"><a href="InstancedMesh.html">InstancedMesh</a></span> )</span><span class="type-signature"> : <a href="InstancedMeshNode.html">InstancedMeshNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an instanced mesh node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">instancedMesh</strong>
- </td>
- <td class="description last">
- <p>The instancedMesh.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="intBitsToFloat" translate="no">.<a href="#intBitsToFloat">intBitsToFloat</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<int></span> )</span><span class="type-signature"> : <a href="BitcastNode.html">BitcastNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Bitcasts an integer or a vector of integers to a corresponding float type with the same element size.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The integer or vector of integers to bitcast.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="interleavedGradientNoise" translate="no">.<a href="#interleavedGradientNoise">interleavedGradientNoise</a><span class="signature">( position : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Interleaved Gradient Noise (IGN) from Jimenez 2014.</p>
- <p>IGN has "low discrepancy" resulting in evenly distributed samples. It's superior compared to
- default white noise, blue noise or Bayer.</p>
- <p>References:</p>
- <ul>
- <li><a href="https://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare/" target="_blank" rel="noopener">https://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare/</a></li>
- <li><a href="https://blog.demofox.org/2022/01/01/interleaved-gradient-noise-a-different-kind-of-low-discrepancy-sequence/" target="_blank" rel="noopener">https://blog.demofox.org/2022/01/01/interleaved-gradient-noise-a-different-kind-of-low-discrepancy-sequence/</a></li>
- </ul>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">position</strong>
- </td>
- <td class="description last">
- <p>The input position, usually screen coordinates.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The noise value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="inverse" translate="no">.<a href="#inverse">inverse</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<(mat2|mat3|mat4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<(mat2|mat3|mat4)></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the inverse of a matrix.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="inverseSqrt" translate="no">.<a href="#inverseSqrt">inverseSqrt</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the inverse of the square root of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="isolate" translate="no">.<a href="#isolate">isolate</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="IsolateNode.html">IsolateNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a cache node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that should be cached.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="js" translate="no">.<a href="#js">js</a><span class="signature">( src : <span class="param-type">string</span>, includes : <span class="param-type">Array.<<a href="Node.html">Node</a>></span> )</span><span class="type-signature"> : <a href="CodeNode.html">CodeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a JS code node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">src</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">includes</strong>
- </td>
- <td class="description last">
- <p>An array of includes.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="label" translate="no">.<a href="#label">label</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for defining a label context value for a given node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name/label to set.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> Yes</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="length" translate="no">.<a href="#length">length</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the length of a vector.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="lengthSq" translate="no">.<a href="#lengthSq">lengthSq</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculate the squared length of a vector.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The vector.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="lensflare" translate="no">.<a href="#lensflare">lensflare</a><span class="signature">( node : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, params : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="LensflareNode.html">LensflareNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a bloom-based lens flare effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the scene's bloom.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>The parameter object for configuring the effect.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">ghostTint</strong>
- </td>
- <td class="description last">
- <p>Defines the tint of the flare/ghosts.</p>
- <p>Default is <code>vec3(1, 1, 1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">threshold</strong>
- </td>
- <td class="description last">
- <p>Controls the size and strength of the effect. A higher threshold results in smaller flares.</p>
- <p>Default is <code>float(0.5)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">ghostSamples</strong>
- </td>
- <td class="description last">
- <p>Represents the number of flares/ghosts per bright spot which pivot around the center.</p>
- <p>Default is <code>float(4)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">ghostSpacing</strong>
- </td>
- <td class="description last">
- <p>Defines the spacing of the flares/ghosts.</p>
- <p>Default is <code>float(0.25)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">ghostAttenuationFactor</strong>
- </td>
- <td class="description last">
- <p>Defines the attenuation factor of flares/ghosts.</p>
- <p>Default is <code>float(25)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">downSampleRatio</strong>
- </td>
- <td class="description last">
- <p>Defines how downsampling since the effect is usually not rendered at full resolution.</p>
- <p>Default is <code>4</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="lessThan" translate="no">.<a href="#lessThan">lessThan</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if the first node is less than the second.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="lessThanEqual" translate="no">.<a href="#lessThanEqual">lessThanEqual</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if the first node is less than or equal to the second.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="lightPosition" translate="no">.<a href="#lightPosition">lightPosition</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span> )</span><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for getting the position in world space for the given light.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The light's position in world space.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lightProjectionUV" translate="no">.<a href="#lightProjectionUV">lightProjectionUV</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span>, position : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for getting projected uv coordinates for the given light.
- Relevant when using maps with spot lights.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">position</strong>
- </td>
- <td class="description last">
- <p>The position to project.</p>
- <p>Default is <code>positionWorld</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The projected uvs.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lightShadowMatrix" translate="no">.<a href="#lightShadowMatrix">lightShadowMatrix</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span> )</span><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<mat4></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for getting a shadow matrix uniform node for the given light.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The shadow matrix uniform node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lightTargetDirection" translate="no">.<a href="#lightTargetDirection">lightTargetDirection</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for getting the light target direction for the given light.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The light's target direction.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lightTargetPosition" translate="no">.<a href="#lightTargetPosition">lightTargetPosition</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span> )</span><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for getting the light target position in world space for the given light.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The light target position in world space.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lightViewPosition" translate="no">.<a href="#lightViewPosition">lightViewPosition</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span> )</span><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for getting the position in view space for the given light.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The light's position in view space.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lights" translate="no">.<a href="#lights">lights</a><span class="signature">( lights : <span class="param-type">Array.<<a href="Light.html">Light</a>></span> )</span><span class="type-signature"> : <a href="LightsNode.html">LightsNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an instance of <code>LightsNode</code> and configuring
- it with the given array of lights.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">lights</strong>
- </td>
- <td class="description last">
- <p>An array of lights.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The created lights node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="linearDepth" translate="no">.<a href="#linearDepth">linearDepth</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="ViewportDepthNode.html">ViewportDepthNode</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a perspective depth value to linear depth.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The perspective depth. If <code>null</code> is provided, the current fragment's depth is used.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="linearToneMapping" translate="no">.<a href="#linearToneMapping">linearToneMapping</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Linear tone mapping, exposure only.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The exposure.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tone mapped color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="log" translate="no">.<a href="#log">log</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the natural logarithm of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="log2" translate="no">.<a href="#log2">log2</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the base 2 logarithm of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="logarithmicDepthToViewZ" translate="no">.<a href="#logarithmicDepthToViewZ">logarithmicDepthToViewZ</a><span class="signature">( depth : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a logarithmic depth value to a viewZ value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">depth</strong>
- </td>
- <td class="description last">
- <p>The logarithmic depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="luminance" translate="no">.<a href="#luminance">luminance</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, luminanceCoefficients : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes the luminance for the given RGB color value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color value to compute the luminance for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">luminanceCoefficients</strong>
- </td>
- <td class="description last">
- <p>The luminance coefficients. By default predefined values of the current working color space are used.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The luminance.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="lut3D" translate="no">.<a href="#lut3D">lut3D</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, lut : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, size : <span class="param-type">number</span>, intensity : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span> )</span><span class="type-signature"> : <a href="Lut3DNode.html">Lut3DNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a LUT node for color grading via post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">lut</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the lookup table.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">size</strong>
- </td>
- <td class="description last">
- <p>The size of the lookup table.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">intensity</strong>
- </td>
- <td class="description last">
- <p>Controls the intensity of the effect.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="matcapUV" translate="no">.<a href="#matcapUV">matcapUV</a><span class="signature">()</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a matcap uv node.</p>
- <p>Can be used to compute texture coordinates for projecting a
- matcap onto a mesh. Used by <a href="MeshMatcapNodeMaterial.html">MeshMatcapNodeMaterial</a>.</p>
- </div>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The matcap UV coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="materialReference" translate="no">.<a href="#materialReference">materialReference</a><span class="signature">( name : <span class="param-type">string</span>, type : <span class="param-type">string</span>, material : <span class="param-type"><a href="Material.html">Material</a></span> )</span><span class="type-signature"> : <a href="MaterialReferenceNode.html">MaterialReferenceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a material reference node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property the node refers to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The uniform type that should be used to represent the property value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">material</strong>
- </td>
- <td class="description last">
- <p>The material the property belongs to.
- When no material is set, the node refers to the material of the current rendered object.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="max" translate="no">.<a href="#max">max</a><span class="signature">( …values : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the greatest of the given values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">values</strong>
- </td>
- <td class="description last">
- <p>The values to compare.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="maxMipLevel" translate="no">.<a href="#maxMipLevel">maxMipLevel</a><span class="signature">( textureNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span> )</span><span class="type-signature"> : <a href="MaxMipLevelNode.html">MaxMipLevelNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a max mip level node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node to compute the max mip level for.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="min" translate="no">.<a href="#min">min</a><span class="signature">( …values : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the least of the given values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">values</strong>
- </td>
- <td class="description last">
- <p>The values to compare.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="mix" translate="no">.<a href="#mix">mix</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a> | number</span>, b : <span class="param-type"><a href="Node.html">Node</a> | number</span>, t : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Linearly interpolates between two values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">t</strong>
- </td>
- <td class="description last">
- <p>The interpolation value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="mixElement" translate="no">.<a href="#mixElement">mixElement</a><span class="signature">( t : <span class="param-type"><a href="Node.html">Node</a> | number</span>, e1 : <span class="param-type"><a href="Node.html">Node</a> | number</span>, e2 : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Alias for <code>mix()</code> with a different parameter order.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">t</strong>
- </td>
- <td class="description last">
- <p>The interpolation value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">e1</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">e2</strong>
- </td>
- <td class="description last">
- <p>The second parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="mod" translate="no">.<a href="#mod">mod</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes the remainder of dividing the first node by the second one.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="modInt" translate="no">.<a href="#modInt">modInt</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r175. Use <a href="TSL.html#mod">mod</a> instead.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="morphReference" translate="no">.<a href="#morphReference">morphReference</a><span class="signature">( mesh : <span class="param-type"><a href="Mesh.html">Mesh</a></span> )</span><span class="type-signature"> : <a href="MorphNode.html">MorphNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a morph node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">mesh</strong>
- </td>
- <td class="description last">
- <p>The mesh holding the morph targets.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="motionBlur" translate="no">.<a href="#motionBlur">motionBlur</a><span class="signature">( inputNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, velocity : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, numSamples : <span class="param-type"><a href="Node.html">Node</a>.<int></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies a motion blur effect to the given input node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">inputNode</strong>
- </td>
- <td class="description last">
- <p>The input node to apply the motion blur for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">velocity</strong>
- </td>
- <td class="description last">
- <p>The motion vectors of the beauty pass.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">numSamples</strong>
- </td>
- <td class="description last">
- <p>How many samples the effect should use. A higher value results in better quality but is also more expensive.</p>
- <p>Default is <code>int(16)</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The input node with the motion blur effect applied.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="mrt" translate="no">.<a href="#mrt">mrt</a><span class="signature">( outputNodes : <span class="param-type">Object.<string, <a href="Node.html">Node</a>></span> )</span><span class="type-signature"> : <a href="MRTNode.html">MRTNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a MRT node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">outputNodes</strong>
- </td>
- <td class="description last">
- <p>The MRT outputs.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="mul" translate="no">.<a href="#mul">mul</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span>, …params : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the multiplication of two or more value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>Additional input parameters.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="negate" translate="no">.<a href="#negate">negate</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Negates the value of the parameter (-x).</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="neutralToneMapping" translate="no">.<a href="#neutralToneMapping">neutralToneMapping</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Neutral tone mapping.</p>
- <p>Reference: <a href="https://modelviewer.dev/examples/tone-mapping" target="_blank" rel="noopener">https://modelviewer.dev/examples/tone-mapping</a></p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The exposure.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tone mapped color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="normalMap" translate="no">.<a href="#normalMap">normalMap</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, scaleNode : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="NormalMapNode.html">NormalMapNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a normal map node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>Represents the normal map data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scaleNode</strong>
- </td>
- <td class="description last">
- <p>Controls the intensity of the effect.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="normalize" translate="no">.<a href="#normalize">normalize</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the unit vector in the same direction as the original vector.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The input vector.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="not" translate="no">.<a href="#not">not</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs logical NOT on a node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="notEqual" translate="no">.<a href="#notEqual">notEqual</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Checks if two nodes are not equal.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="objectDirection" translate="no">.<a href="#objectDirection">objectDirection</a><span class="signature">( object3d : <span class="param-type"><a href="Object3D.html">Object3D</a></span> )</span><span class="type-signature"> : <a href="Object3DNode.html">Object3DNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an object 3D node that represents the object's direction in world space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object3d</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="objectPosition" translate="no">.<a href="#objectPosition">objectPosition</a><span class="signature">( object3d : <span class="param-type"><a href="Object3D.html">Object3D</a></span> )</span><span class="type-signature"> : <a href="Object3DNode.html">Object3DNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an object 3D node that represents the object's position in world space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object3d</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="objectRadius" translate="no">.<a href="#objectRadius">objectRadius</a><span class="signature">( object3d : <span class="param-type"><a href="Object3D.html">Object3D</a></span> )</span><span class="type-signature"> : <a href="Object3DNode.html">Object3DNode</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an object 3D node that represents the object's radius.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object3d</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="objectScale" translate="no">.<a href="#objectScale">objectScale</a><span class="signature">( object3d : <span class="param-type"><a href="Object3D.html">Object3D</a></span> )</span><span class="type-signature"> : <a href="Object3DNode.html">Object3DNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an object 3D node that represents the object's scale in world space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object3d</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="objectViewPosition" translate="no">.<a href="#objectViewPosition">objectViewPosition</a><span class="signature">( object3d : <span class="param-type"><a href="Object3D.html">Object3D</a></span> )</span><span class="type-signature"> : <a href="Object3DNode.html">Object3DNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an object 3D node that represents the object's position in view/camera space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object3d</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="objectWorldMatrix" translate="no">.<a href="#objectWorldMatrix">objectWorldMatrix</a><span class="signature">( object3d : <span class="param-type"><a href="Object3D.html">Object3D</a></span> )</span><span class="type-signature"> : <a href="Object3DNode.html">Object3DNode</a>.<mat4></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an object 3D node that represents the object's world matrix.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object3d</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="oneMinus" translate="no">.<a href="#oneMinus">oneMinus</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Return <code>1</code> minus the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="or" translate="no">.<a href="#or">or</a><span class="signature">( …nodes : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs a logical OR operation on multiple nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">nodes</strong>
- </td>
- <td class="description last">
- <p>The input nodes to be combined using OR.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="orthographicDepthToViewZ" translate="no">.<a href="#orthographicDepthToViewZ">orthographicDepthToViewZ</a><span class="signature">( depth : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting an orthographic depth value to a viewZ value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">depth</strong>
- </td>
- <td class="description last">
- <p>The orthographic depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="oscSawtooth" translate="no">.<a href="#oscSawtooth">oscSawtooth</a><span class="signature">( t : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a sawtooth wave oscillation based on a timer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">t</strong>
- </td>
- <td class="description last">
- <p>The timer to generate the oscillation with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The oscillation node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="oscSine" translate="no">.<a href="#oscSine">oscSine</a><span class="signature">( t : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a sine wave oscillation based on a timer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">t</strong>
- </td>
- <td class="description last">
- <p>The timer to generate the oscillation with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The oscillation node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="oscSquare" translate="no">.<a href="#oscSquare">oscSquare</a><span class="signature">( t : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a square wave oscillation based on a timer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">t</strong>
- </td>
- <td class="description last">
- <p>The timer to generate the oscillation with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The oscillation node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="oscTriangle" translate="no">.<a href="#oscTriangle">oscTriangle</a><span class="signature">( t : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a triangle wave oscillation based on a timer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">t</strong>
- </td>
- <td class="description last">
- <p>The timer to generate the oscillation with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The oscillation node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="outline" translate="no">.<a href="#outline">outline</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, params : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="OutlineNode.html">OutlineNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an outline effect around selected objects.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>The configuration parameters.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">selectedObjects</strong>
- </td>
- <td class="description last">
- <p>An array of selected objects.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">edgeThickness</strong>
- </td>
- <td class="description last">
- <p>The thickness of the edges.</p>
- <p>Default is <code>float(1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">edgeGlow</strong>
- </td>
- <td class="description last">
- <p>Can be used for animated glow/pulse effects.</p>
- <p>Default is <code>float(0)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">downSampleRatio</strong>
- </td>
- <td class="description last">
- <p>The downsample ratio.</p>
- <p>Default is <code>2</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="outputStruct" translate="no">.<a href="#outputStruct">outputStruct</a><span class="signature">( …members : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OutputStructNode.html">OutputStructNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an output struct node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">members</strong>
- </td>
- <td class="description last">
- <p>A parameter list of nodes.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="overloadingFn" translate="no">.<a href="#overloadingFn">overloadingFn</a><span class="signature">( functionNodes : <span class="param-type">Array.<function()></span> )</span><span class="type-signature"> : <a href="FunctionOverloadingNode.html">FunctionOverloadingNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a function overloading node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">functionNodes</strong>
- </td>
- <td class="description last">
- <p>Array of <code>Fn</code> function definitions.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="packHalf2x16" translate="no">.<a href="#packHalf2x16">packHalf2x16</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts each component of the vec2 to 16-bit floating-point values. The results are packed into a single unsigned integer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The 2-component vector to be packed</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="packSnorm2x16" translate="no">.<a href="#packSnorm2x16">packSnorm2x16</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts each component of the normalized float to 16-bit integer values. The results are packed into a single unsigned integer.
- round(clamp(c, -1, +1) * 32767.0)</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The 2-component vector to be packed</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="packUnorm2x16" translate="no">.<a href="#packUnorm2x16">packUnorm2x16</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts each component of the normalized float to 16-bit integer values. The results are packed into a single unsigned integer.
- round(clamp(c, 0, +1) * 65535.0)</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The 2-component vector to be packed</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="parabola" translate="no">.<a href="#parabola">parabola</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, k : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>A function that remaps the <code>[0,1]</code> interval into the <code>[0,1]</code> interval.
- The corners are mapped to <code>0</code> and the center to <code>1</code>.
- Reference: <a href="https://iquilezles.org/articles/functions/" target="_blank" rel="noopener">https://iquilezles.org/articles/functions/</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The value to remap.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">k</strong>
- </td>
- <td class="description last">
- <p>Allows to control the remapping functions shape by rising the parabola to a power <code>k</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The remapped value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="parallaxBarrierPass" translate="no">.<a href="#parallaxBarrierPass">parallaxBarrierPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="ParallaxBarrierPassNode.html">ParallaxBarrierPassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an parallax barrier pass node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render the scene with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="parallaxUV" translate="no">.<a href="#parallaxUV">parallaxUV</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, scale : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for computing parallax uv coordinates.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>A uv node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scale</strong>
- </td>
- <td class="description last">
- <p>A scale node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> Parallax uv coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="parameter" translate="no">.<a href="#parameter">parameter</a><span class="signature">( type : <span class="param-type">string</span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ParameterNode.html">ParameterNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a parameter node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The type of the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the parameter in the shader.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pass" translate="no">.<a href="#pass">pass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="PassNode.html">PassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a pass node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>A reference to the camera.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Options for the internal render target.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="passTexture" translate="no">.<a href="#passTexture">passTexture</a><span class="signature">( pass : <span class="param-type"><a href="PassNode.html">PassNode</a></span>, texture : <span class="param-type"><a href="Texture.html">Texture</a></span> )</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a pass texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pass</strong>
- </td>
- <td class="description last">
- <p>The pass node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">texture</strong>
- </td>
- <td class="description last">
- <p>The output texture.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pcurve" translate="no">.<a href="#pcurve">pcurve</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, a : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, b : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>A function that remaps the <code>[0,1]</code> interval into the <code>[0,1]</code> interval.
- A generalization of the <code>parabola()</code>. Keeps the corners mapped to 0 but allows the control of the shape one either side of the curve.
- Reference: <a href="https://iquilezles.org/articles/functions/" target="_blank" rel="noopener">https://iquilezles.org/articles/functions/</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The value to remap.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>First control parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>Second control parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The remapped value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="perspectiveDepthToViewZ" translate="no">.<a href="#perspectiveDepthToViewZ">perspectiveDepthToViewZ</a><span class="signature">( depth : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a perspective depth value to a viewZ value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">depth</strong>
- </td>
- <td class="description last">
- <p>The perspective depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pixelationPass" translate="no">.<a href="#pixelationPass">pixelationPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, pixelSize : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, normalEdgeStrength : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, depthEdgeStrength : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span> )</span><span class="type-signature"> : <a href="PixelationPassNode.html">PixelationPassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a pixelation render pass node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render the scene with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">pixelSize</strong>
- </td>
- <td class="description last">
- <p>The pixel size.</p>
- <p>Default is <code>6</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalEdgeStrength</strong>
- </td>
- <td class="description last">
- <p>The normal edge strength.</p>
- <p>Default is <code>0.3</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depthEdgeStrength</strong>
- </td>
- <td class="description last">
- <p>The depth edge strength.</p>
- <p>Default is <code>0.4</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pmremTexture" translate="no">.<a href="#pmremTexture">pmremTexture</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="PMREMNode.html">PMREMNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a PMREM node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The input texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pointShadow" translate="no">.<a href="#pointShadow">pointShadow</a><span class="signature">( light : <span class="param-type"><a href="PointLight.html">PointLight</a></span>, shadow : <span class="param-type"><a href="PointLightShadow.html">PointLightShadow</a></span> )</span><span class="type-signature"> : <a href="PointShadowNode.html">PointShadowNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an instance of <code>PointShadowNode</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The shadow casting point light.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">shadow</strong>
- </td>
- <td class="description last">
- <p>An optional point light shadow.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The created point shadow node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="posterize" translate="no">.<a href="#posterize">posterize</a><span class="signature">( sourceNode : <span class="param-type"><a href="Node.html">Node</a></span>, stepsNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a posterize effect which reduces the number of colors
- in an image, resulting in a more blocky and stylized appearance.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">sourceNode</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">stepsNode</strong>
- </td>
- <td class="description last">
- <p>Controls the intensity of the posterization effect. A lower number results in a more blocky appearance.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The posterized color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="pow" translate="no">.<a href="#pow">pow</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span>, y : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Return the value of the first parameter raised to the power of the second one.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The second parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pow2" translate="no">.<a href="#pow2">pow2</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the square of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pow3" translate="no">.<a href="#pow3">pow3</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the cube of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="pow4" translate="no">.<a href="#pow4">pow4</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the fourth power of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="premultipliedGaussianBlur" translate="no">.<a href="#premultipliedGaussianBlur">premultipliedGaussianBlur</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, directionNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|float)></span>, sigma : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="GaussianBlurNode.html">GaussianBlurNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a gaussian blur node for post processing with enabled premultiplied alpha.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">directionNode</strong>
- </td>
- <td class="description last">
- <p>Defines the direction and radius of the blur.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">sigma</strong>
- </td>
- <td class="description last">
- <p>Controls the kernel of the blur filter. Higher values mean a wider blur radius.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r180. Use `gaussianBlur()` with `premultipliedAlpha: true` option instead.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="premultiplyAlpha" translate="no">.<a href="#premultiplyAlpha">premultiplyAlpha</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Premultiplies the RGB channels of a color by its alpha channel.</p>
- <p>This function is useful for converting a non-premultiplied alpha color
- into a premultiplied alpha format, where the RGB values are scaled
- by the alpha value. Premultiplied alpha is often used in graphics
- rendering for certain operations, such as compositing and image processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color with non-premultiplied alpha.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The color with premultiplied alpha.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="property" translate="no">.<a href="#property">property</a><span class="signature">( type : <span class="param-type">string</span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a property node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The type of the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property in the shader.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="quadBroadcast" translate="no">.<a href="#quadBroadcast">quadBroadcast</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Broadcasts e from the quad invocation with id equal to id.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value to broadcast.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="quadSwapDiagonal" translate="no">.<a href="#quadSwapDiagonal">quadSwapDiagonal</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Swaps e between invocations in the quad diagonally.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value to swap from the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The value received from the swap operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="quadSwapX" translate="no">.<a href="#quadSwapX">quadSwapX</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Swaps e between invocations in the quad in the X direction.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value to swap from the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The value received from the swap operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="quadSwapY" translate="no">.<a href="#quadSwapY">quadSwapY</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Swaps e between invocations in the quad in the Y direction.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value to swap from the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The value received from the swap operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="radialBlur" translate="no">.<a href="#radialBlur">radialBlur</a><span class="signature">( textureNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>This TSL function blurs an image in a circular pattern, radiating from a configurable center point in screen space.</p>
- <p>Radial blurs can be used for different kind of effects like producing simple faked lighting effects also known as
- "light shafts". The major limitation of this specific usage is the center point can only be defined in 2D so the
- effect does not honor the depth of 3D objects. Consequently, it is not intended for physically correct lit scenes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be blurred.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Additional options for the radial blur effect.</p>
- <p>Default is <code>{}</code>.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">center</strong>
- </td>
- <td class="description last">
- <p>The center of the light in screen uvs.</p>
- <p>Default is <code>vec2(0.5, 0.5)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">weight</strong>
- </td>
- <td class="description last">
- <p>Base weight factor for each sample in the range <code>[0,1]</code>.</p>
- <p>Default is <code>float(0.9)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">decay</strong>
- </td>
- <td class="description last">
- <p>Decreases the weight factor so each iteration adds less to the sum. Must be in the range <code>[0,1]</code>.
- If you increase the sample count, you have to increase this option as well to avoid a darking effect.</p>
- <p>Default is <code>float(0.95)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The number if iterations. Should be in the range <code>[16,64]</code>.</p>
- <p>Default is <code>int(32)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>Exposure control of the blur.</p>
- <p>Default is <code>float(5)</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The blurred texture node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="radians" translate="no">.<a href="#radians">radians</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts a quantity in degrees to radians.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The input in degrees.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="rand" translate="no">.<a href="#rand">rand</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns a random value for the given uv.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="range" translate="no">.<a href="#range">range</a><span class="signature">( minNode : <span class="param-type"><a href="Node.html">Node</a>.<<a href="global.html#any">any</a>></span>, maxNode : <span class="param-type"><a href="Node.html">Node</a>.<<a href="global.html#any">any</a>></span> )</span><span class="type-signature"> : <a href="RangeNode.html">RangeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a range node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">minNode</strong>
- </td>
- <td class="description last">
- <p>A node defining the lower bound of the range.</p>
- <p>Default is <code>float()</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">maxNode</strong>
- </td>
- <td class="description last">
- <p>A node defining the upper bound of the range.</p>
- <p>Default is <code>float()</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="rangeFogFactor" translate="no">.<a href="#rangeFogFactor">rangeFogFactor</a><span class="signature">( near : <span class="param-type"><a href="Node.html">Node</a></span>, far : <span class="param-type"><a href="Node.html">Node</a></span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Constructs a new range factor node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>Defines the near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>Defines the far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="reciprocal" translate="no">.<a href="#reciprocal">reciprocal</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the reciprocal of the parameter <code>(1/x)</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="reference" translate="no">.<a href="#reference">reference</a><span class="signature">( name : <span class="param-type">string</span>, type : <span class="param-type">string</span>, object : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ReferenceBaseNode.html">ReferenceBaseNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a reference base node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property the node refers to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The uniform type that should be used to represent the property value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">object</strong>
- </td>
- <td class="description last">
- <p>The object the property belongs to.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="reference" translate="no">.<a href="#reference">reference</a><span class="signature">( name : <span class="param-type">string</span>, type : <span class="param-type">string</span>, object : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ReferenceNode.html">ReferenceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a reference node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property the node refers to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The uniform type that should be used to represent the property value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">object</strong>
- </td>
- <td class="description last">
- <p>The object the property belongs to.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="referenceBuffer" translate="no">.<a href="#referenceBuffer">referenceBuffer</a><span class="signature">( name : <span class="param-type">string</span>, type : <span class="param-type">string</span>, count : <span class="param-type">number</span>, object : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ReferenceBaseNode.html">ReferenceBaseNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a reference base node. Use this function if you want need a reference
- to an array-like property that should be represented as a uniform buffer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property the node refers to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The uniform type that should be used to represent the property value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The number of value inside the array-like object.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">object</strong>
- </td>
- <td class="description last">
- <p>An array-like object the property belongs to.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="referenceBuffer" translate="no">.<a href="#referenceBuffer">referenceBuffer</a><span class="signature">( name : <span class="param-type">string</span>, type : <span class="param-type">string</span>, count : <span class="param-type">number</span>, object : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ReferenceNode.html">ReferenceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a reference node. Use this function if you want need a reference
- to an array-like property that should be represented as a uniform buffer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property the node refers to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The uniform type that should be used to represent the property value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The number of value inside the array-like object.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">object</strong>
- </td>
- <td class="description last">
- <p>An array-like object the property belongs to.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="reflect" translate="no">.<a href="#reflect">reflect</a><span class="signature">( I : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, N : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the reflection direction for an incident vector.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">I</strong>
- </td>
- <td class="description last">
- <p>The incident vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">N</strong>
- </td>
- <td class="description last">
- <p>The normal vector.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="reflector" translate="no">.<a href="#reflector">reflector</a><span class="signature">( parameters : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ReflectorNode.html">ReflectorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a reflector node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">parameters</strong>
- </td>
- <td class="description last">
- <p>An object holding configuration parameters.</p>
- <p>Default is <code>{}</code>.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">target</strong>
- </td>
- <td class="description last">
- <p>The 3D object the reflector is linked to.</p>
- <p>Default is <code>new Object3D()</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">resolution</strong>
- </td>
- <td class="description last">
- <p>The resolution scale.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">generateMipmaps</strong>
- </td>
- <td class="description last">
- <p>Whether mipmaps should be generated or not.</p>
- <p>Default is <code>false</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">bounces</strong>
- </td>
- <td class="description last">
- <p>Whether reflectors can render other reflector nodes or not.</p>
- <p>Default is <code>true</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depth</strong>
- </td>
- <td class="description last">
- <p>Whether depth data should be generated or not.</p>
- <p>Default is <code>false</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">samples</strong>
- </td>
- <td class="description last">
- <p>Anti-Aliasing samples of the internal render-target.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">defaultTexture</strong>
- </td>
- <td class="description last">
- <p>The default texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">reflector</strong>
- </td>
- <td class="description last">
- <p>The reflector base node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="refract" translate="no">.<a href="#refract">refract</a><span class="signature">( I : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, N : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, eta : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span> </h3>
- <div class="method">
- <div class="description">
- <p>Calculates the refraction direction for an incident vector.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">I</strong>
- </td>
- <td class="description last">
- <p>The incident vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">N</strong>
- </td>
- <td class="description last">
- <p>The normal vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">eta</strong>
- </td>
- <td class="description last">
- <p>The ratio of indices of refraction.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="reinhardToneMapping" translate="no">.<a href="#reinhardToneMapping">reinhardToneMapping</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Reinhard tone mapping.</p>
- <p>Reference: <a href="https://www.cs.utah.edu/docs/techreports/2002/pdf/UUCS-02-001.pdf" target="_blank" rel="noopener">https://www.cs.utah.edu/docs/techreports/2002/pdf/UUCS-02-001.pdf</a></p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The exposure.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tone mapped color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="remap" translate="no">.<a href="#remap">remap</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, inLowNode : <span class="param-type"><a href="Node.html">Node</a></span>, inHighNode : <span class="param-type"><a href="Node.html">Node</a></span>, outLowNode : <span class="param-type"><a href="Node.html">Node</a></span>, outHighNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="RemapNode.html">RemapNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a remap node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that should be remapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">inLowNode</strong>
- </td>
- <td class="description last">
- <p>The source or current lower bound of the range.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">inHighNode</strong>
- </td>
- <td class="description last">
- <p>The source or current upper bound of the range.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">outLowNode</strong>
- </td>
- <td class="description last">
- <p>The target lower bound of the range.</p>
- <p>Default is <code>float(0)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">outHighNode</strong>
- </td>
- <td class="description last">
- <p>The target upper bound of the range.</p>
- <p>Default is <code>float(1)</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="remapClamp" translate="no">.<a href="#remapClamp">remapClamp</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, inLowNode : <span class="param-type"><a href="Node.html">Node</a></span>, inHighNode : <span class="param-type"><a href="Node.html">Node</a></span>, outLowNode : <span class="param-type"><a href="Node.html">Node</a></span>, outHighNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="RemapNode.html">RemapNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a remap node, but with enabled clamping.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that should be remapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">inLowNode</strong>
- </td>
- <td class="description last">
- <p>The source or current lower bound of the range.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">inHighNode</strong>
- </td>
- <td class="description last">
- <p>The source or current upper bound of the range.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">outLowNode</strong>
- </td>
- <td class="description last">
- <p>The target lower bound of the range.</p>
- <p>Default is <code>float(0)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">outHighNode</strong>
- </td>
- <td class="description last">
- <p>The target upper bound of the range.</p>
- <p>Default is <code>float(1)</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="renderOutput" translate="no">.<a href="#renderOutput">renderOutput</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a></span>, toneMapping : <span class="param-type">number</span>, outputColorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="RenderOutputNode.html">RenderOutputNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a posterize node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color node to process.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">toneMapping</strong>
- </td>
- <td class="description last">
- <p>The tone mapping type.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">outputColorSpace</strong>
- </td>
- <td class="description last">
- <p>The output color space.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="rendererReference" translate="no">.<a href="#rendererReference">rendererReference</a><span class="signature">( name : <span class="param-type">string</span>, type : <span class="param-type">string</span>, renderer : <span class="param-type"><a href="Renderer.html">Renderer</a></span> )</span><span class="type-signature"> : <a href="RendererReferenceNode.html">RendererReferenceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a renderer reference node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the property the node refers to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The uniform type that should be used to represent the property value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">renderer</strong>
- </td>
- <td class="description last">
- <p>The renderer the property belongs to. When no renderer is set,
- the node refers to the renderer of the current state.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="replaceDefaultUV" translate="no">.<a href="#replaceDefaultUV">replaceDefaultUV</a><span class="signature">( callback : <span class="param-type">function</span>, node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Replaces the default UV coordinates used in texture lookups.</p>
- <pre><code class="language-js">material.contextNode = replaceDefaultUV( ( textureNode ) => {
- // ...
- return customUVCoordinates;
- } );
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">callback</strong>
- </td>
- <td class="description last">
- <p>A callback that receives the texture node
- and must return the new uv coordinates.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>An optional node to which the context will be applied.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> A context node that replaces the default UV coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="retroPass" translate="no">.<a href="#retroPass">retroPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="RetroPassNode.html">RetroPassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Creates a new RetroPassNode instance for PS1-style rendering.</p>
- <p>The retro pass applies vertex snapping, affine texture mapping, and low-resolution
- rendering to achieve an authentic PlayStation 1 aesthetic. Combine with other
- post-processing effects like dithering, posterization, and scanlines for full retro look.</p>
- <pre><code class="language-js">// Combined with other effects
- let pipeline = retroPass( scene, camera );
- pipeline = bayerDither( pipeline, 32 );
- pipeline = posterize( pipeline, 32 );
- renderPipeline.outputNode = pipeline;
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render from.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>Additional options for the retro pass.</p>
- <p>Default is <code>{}</code>.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">affineDistortion</strong>
- </td>
- <td class="description last">
- <p>An optional node to apply affine distortion to UVs.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> A new RetroPassNode instance.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="rgbShift" translate="no">.<a href="#rgbShift">rgbShift</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, amount : <span class="param-type">number</span>, angle : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="RGBShiftNode.html">RGBShiftNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a RGB shift or split effect for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">amount</strong>
- </td>
- <td class="description last">
- <p>The amount of the RGB shift.</p>
- <p>Default is <code>0.005</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">angle</strong>
- </td>
- <td class="description last">
- <p>Defines in which direction colors are shifted.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="rotate" translate="no">.<a href="#rotate">rotate</a><span class="signature">( positionNode : <span class="param-type"><a href="Node.html">Node</a></span>, rotationNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="RotateNode.html">RotateNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a rotate node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">positionNode</strong>
- </td>
- <td class="description last">
- <p>The position node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">rotationNode</strong>
- </td>
- <td class="description last">
- <p>Represents the rotation that is applied to the position node. Depending
- on whether the position data are 2D or 3D, the rotation is expressed a single float value or an Euler value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="rotateUV" translate="no">.<a href="#rotateUV">rotateUV</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, rotation : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, center : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>Rotates the given uv coordinates around a center point</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>The uv coordinates.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">rotation</strong>
- </td>
- <td class="description last">
- <p>The rotation defined in radians.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">center</strong>
- </td>
- <td class="description last">
- <p>The center of rotation</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The rotated uv coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="round" translate="no">.<a href="#round">round</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Rounds the parameter to the nearest integer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="rtt" translate="no">.<a href="#rtt">rtt</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, options : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="RTTNode.html">RTTNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a RTT node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node to render a texture with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">width</strong>
- </td>
- <td class="description last">
- <p>The width of the internal render target. If not width is applied, the render target is automatically resized.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">height</strong>
- </td>
- <td class="description last">
- <p>The height of the internal render target.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">options</strong>
- </td>
- <td class="description last">
- <p>The options for the internal render target.</p>
- <p>Default is <code>{type:HalfFloatType}</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sRGBTransferEOTF" translate="no">.<a href="#sRGBTransferEOTF">sRGBTransferEOTF</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts the given color value from sRGB to linear-sRGB color space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The sRGB color.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The linear-sRGB color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="sRGBTransferOETF" translate="no">.<a href="#sRGBTransferOETF">sRGBTransferOETF</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts the given color value from linear-sRGB to sRGB color space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The linear-sRGB color.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The sRGB color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="sampler" translate="no">.<a href="#sampler">sampler</a><span class="signature">( value : <span class="param-type"><a href="TextureNode.html">TextureNode</a> | <a href="Texture.html">Texture</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts a texture or texture node to a sampler.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture or texture node to convert.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="samplerComparison" translate="no">.<a href="#samplerComparison">samplerComparison</a><span class="signature">( value : <span class="param-type"><a href="TextureNode.html">TextureNode</a> | <a href="Texture.html">Texture</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Converts a texture or texture node to a sampler comparison.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture or texture node to convert.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="saturate" translate="no">.<a href="#saturate">saturate</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Constrains a value between <code>0</code> and <code>1</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The value to constrain.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="saturation" translate="no">.<a href="#saturation">saturation</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, adjustment : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Super-saturates or desaturates the given RGB color.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">adjustment</strong>
- </td>
- <td class="description last">
- <p>Specifies the amount of the conversion. A value under <code>1</code> desaturates the color, a value over <code>1</code> super-saturates it.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The saturated color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="scanlines" translate="no">.<a href="#scanlines">scanlines</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, intensity : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, count : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, speed : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies scanline effect to simulate CRT monitor horizontal lines with animation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">intensity</strong>
- </td>
- <td class="description last">
- <p>The intensity of the scanlines (0-1).</p>
- <p>Default is <code>0.3</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The number of scanlines (typically matches vertical resolution).</p>
- <p>Default is <code>240</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">speed</strong>
- </td>
- <td class="description last">
- <p>The scroll speed of scanlines (0 = static, 1 = normal CRT roll).</p>
- <p>Default is <code>0.0</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The UV coordinates to use for scanlines.</p>
- <p>Default is <code>uv()</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The color with scanlines applied.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="select" translate="no">.<a href="#select">select</a><span class="signature">( condNode : <span class="param-type"><a href="Node.html">Node</a></span>, ifNode : <span class="param-type"><a href="Node.html">Node</a></span>, elseNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ConditionalNode.html">ConditionalNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a conditional node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">condNode</strong>
- </td>
- <td class="description last">
- <p>The node that defines the condition.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">ifNode</strong>
- </td>
- <td class="description last">
- <p>The node that is evaluate when the condition ends up <code>true</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">elseNode</strong>
- </td>
- <td class="description last">
- <p>The node that is evaluate when the condition ends up <code>false</code>.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sepia" translate="no">.<a href="#sepia">sepia</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies a sepia effect to the given color node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color node to apply the sepia for.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The updated color node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="setName" translate="no">.<a href="#setName">setName</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for defining a name for the context value for a given node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name to set.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="shadow" translate="no">.<a href="#shadow">shadow</a><span class="signature">( light : <span class="param-type"><a href="Light.html">Light</a></span>, shadow : <span class="param-type"><a href="LightShadow.html">LightShadow</a></span> )</span><span class="type-signature"> : <a href="ShadowNode.html">ShadowNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an instance of <code>ShadowNode</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">light</strong>
- </td>
- <td class="description last">
- <p>The shadow casting light.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">shadow</strong>
- </td>
- <td class="description last">
- <p>The light shadow.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The created shadow node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="shapeCircle" translate="no">.<a href="#shapeCircle">shapeCircle</a><span class="signature">( coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a circle based on the uv coordinates.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The uv to generate the circle.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The circle shape.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="sharedUniformGroup" translate="no">.<a href="#sharedUniformGroup">sharedUniformGroup</a><span class="signature">( name : <span class="param-type">string</span>, order : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="UniformGroupNode.html">UniformGroupNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a shared uniform group node with the given name and order.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the uniform group node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">order</strong>
- </td>
- <td class="description last">
- <p>Influences the internal sorting.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="shiftLeft" translate="no">.<a href="#shiftLeft">shiftLeft</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Shifts a node to the left.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The node to shift.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The value to shift.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="shiftRight" translate="no">.<a href="#shiftRight">shiftRight</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Shifts a node to the right.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The node to shift.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The value to shift.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sign" translate="no">.<a href="#sign">sign</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Extracts the sign of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sin" translate="no">.<a href="#sin">sin</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the sine of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sinc" translate="no">.<a href="#sinc">sinc</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, k : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>A phase shifted sinus curve that starts at zero and ends at zero, with bouncing behavior.
- Reference: <a href="https://iquilezles.org/articles/functions/" target="_blank" rel="noopener">https://iquilezles.org/articles/functions/</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The value to compute the sin for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">k</strong>
- </td>
- <td class="description last">
- <p>Controls the amount of bounces.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="skinning" translate="no">.<a href="#skinning">skinning</a><span class="signature">( skinnedMesh : <span class="param-type"><a href="SkinnedMesh.html">SkinnedMesh</a></span> )</span><span class="type-signature"> : <a href="SkinningNode.html">SkinningNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a skinning node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">skinnedMesh</strong>
- </td>
- <td class="description last">
- <p>The skinned mesh.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="smaa" translate="no">.<a href="#smaa">smaa</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="SMAANode.html">SMAANode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a SMAA node for anti-aliasing via post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="smoothstep" translate="no">.<a href="#smoothstep">smoothstep</a><span class="signature">( low : <span class="param-type"><a href="Node.html">Node</a> | number</span>, high : <span class="param-type"><a href="Node.html">Node</a> | number</span>, x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs a Hermite interpolation between two values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">low</strong>
- </td>
- <td class="description last">
- <p>The value of the lower edge of the Hermite function.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">high</strong>
- </td>
- <td class="description last">
- <p>The value of the upper edge of the Hermite function.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The source value for interpolation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="smoothstepElement" translate="no">.<a href="#smoothstepElement">smoothstepElement</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span>, low : <span class="param-type"><a href="Node.html">Node</a> | number</span>, high : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Alias for <code>smoothstep()</code> with a different parameter order.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The source value for interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">low</strong>
- </td>
- <td class="description last">
- <p>The value of the lower edge of the Hermite function.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">high</strong>
- </td>
- <td class="description last">
- <p>The value of the upper edge of the Hermite function.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sobel" translate="no">.<a href="#sobel">sobel</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="SobelOperatorNode.html">SobelOperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a sobel operator node which performs edge detection with a sobel filter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the input of the effect.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="spherizeUV" translate="no">.<a href="#spherizeUV">spherizeUV</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, strength : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, center : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies a spherical warping effect to the given uv coordinates.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>The uv coordinates.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">strength</strong>
- </td>
- <td class="description last">
- <p>The strength of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">center</strong>
- </td>
- <td class="description last">
- <p>The center point</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The updated uv coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="spritesheetUV" translate="no">.<a href="#spritesheetUV">spritesheetUV</a><span class="signature">( countNode : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span>, frameNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for computing texture coordinates for animated sprite sheets.</p>
- <pre><code class="language-js">const uvNode = spritesheetUV( vec2( 6, 6 ), uv(), time.mul( animationSpeed ) );
- material.colorNode = texture( spriteSheet, uvNode );
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">countNode</strong>
- </td>
- <td class="description last">
- <p>The node that defines the number of sprites in the x and y direction (e.g 6x6).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>uv()</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">frameNode</strong>
- </td>
- <td class="description last">
- <p>The node that defines the current frame/sprite.</p>
- <p>Default is <code>float(0)</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sqrt" translate="no">.<a href="#sqrt">sqrt</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the square root of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="ssaaPass" translate="no">.<a href="#ssaaPass">ssaaPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="SSAAPassNode.html">SSAAPassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a SSAA pass node for Supersampling Anti-Aliasing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render the scene with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="ssgi" translate="no">.<a href="#ssgi">ssgi</a><span class="signature">( beautyNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, depthNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, normalNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="SSGINode.html">SSGINode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a SSGI effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">beautyNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalNode</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the scene's normals.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="ssr" translate="no">.<a href="#ssr">ssr</a><span class="signature">( colorNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, depthNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, normalNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, metalnessNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, roughnessNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="SSRNode.html">SSRNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating screen space reflections (SSR).</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">colorNode</strong>
- </td>
- <td class="description last">
- <p>The node that represents the beauty pass.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the beauty pass's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the beauty pass's normals.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">metalnessNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the beauty pass's metalness.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">roughnessNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the beauty pass's roughness.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="sss" translate="no">.<a href="#sss">sss</a><span class="signature">( depthNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, mainLight : <span class="param-type"><a href="DirectionalLight.html">DirectionalLight</a></span> )</span><span class="type-signature"> : <a href="SSSNode.html">SSSNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a SSS effect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">mainLight</strong>
- </td>
- <td class="description last">
- <p>The main directional light of the scene.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="stack" translate="no">.<a href="#stack">stack</a><span class="signature">( parent : <span class="param-type"><a href="StackNode.html">StackNode</a></span> )</span><span class="type-signature"> : <a href="StackNode.html">StackNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a stack node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">parent</strong>
- </td>
- <td class="description last">
- <p>The parent stack node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="step" translate="no">.<a href="#step">step</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span>, y : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generate a step function by comparing two values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The y parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">y</strong>
- </td>
- <td class="description last">
- <p>The x parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="stepElement" translate="no">.<a href="#stepElement">stepElement</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span>, edge : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Alias for <code>step()</code> with a different parameter order.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The source value for interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">edge</strong>
- </td>
- <td class="description last">
- <p>The edge value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="stereoPass" translate="no">.<a href="#stereoPass">stereoPass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="StereoPassNode.html">StereoPassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a stereo pass node for stereoscopic rendering.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render the scene with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="storage" translate="no">.<a href="#storage">storage</a><span class="signature">( value : <span class="param-type"><a href="StorageBufferAttribute.html">StorageBufferAttribute</a> | <a href="StorageInstancedBufferAttribute.html">StorageInstancedBufferAttribute</a> | <a href="BufferAttribute.html">BufferAttribute</a></span>, type : <span class="param-type">string | Struct</span>, count : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="StorageBufferNode.html">StorageBufferNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a storage buffer node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The buffer data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The buffer type (e.g. <code>'vec3'</code>).</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The buffer count.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="storageBarrier" translate="no">.<a href="#storageBarrier">storageBarrier</a><span class="signature">()</span><span class="type-signature"> : <a href="BarrierNode.html">BarrierNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a storage barrier. All invocations must
- wait for each access to variables within the 'storage' address space
- to complete before the barrier can be passed.</p>
- </div>
- </div>
- <h3 class="name name-method" id="storageElement" translate="no">.<a href="#storageElement">storageElement</a><span class="signature">( storageBufferNode : <span class="param-type"><a href="StorageBufferNode.html">StorageBufferNode</a></span>, indexNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="StorageArrayElementNode.html">StorageArrayElementNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a storage element node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">storageBufferNode</strong>
- </td>
- <td class="description last">
- <p>The storage buffer node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">indexNode</strong>
- </td>
- <td class="description last">
- <p>The index node that defines the element access.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="storageTexture" translate="no">.<a href="#storageTexture">storageTexture</a><span class="signature">( value : <span class="param-type"><a href="StorageTexture.html">StorageTexture</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span>, storeNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="StorageTextureNode.html">StorageTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a storage texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The storage texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">storeNode</strong>
- </td>
- <td class="description last">
- <p>The value node that should be stored in the texture.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="struct" translate="no">.<a href="#struct">struct</a><span class="signature">( membersLayout : <span class="param-type">Object</span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a struct node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">membersLayout</strong>
- </td>
- <td class="description last">
- <p>The layout of the struct members.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the struct.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The struct function.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="sub" translate="no">.<a href="#sub">sub</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span>, …params : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the subtraction of two or more value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">params</strong>
- </td>
- <td class="description last">
- <p>Additional input parameters.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="subBuild" translate="no">.<a href="#subBuild">subBuild</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span>, type : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Creates a new sub-build node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node to be built in the sub-build.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the sub-build.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The type of the node, if known.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> A node object wrapping the SubBuildNode instance.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupAdd" translate="no">.<a href="#subgroupAdd">subgroupAdd</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that adds e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The accumulated result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupAll" translate="no">.<a href="#subgroupAll">subgroupAll</a><span class="signature">()</span><span class="type-signature"> : bool</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns true if e is true for all active invocations in the subgroup.</p>
- </div>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the computation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupAnd" translate="no">.<a href="#subgroupAnd">subgroupAnd</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that performs a bitwise and of e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupAny" translate="no">.<a href="#subgroupAny">subgroupAny</a><span class="signature">()</span><span class="type-signature"> : bool</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns true if e is true for any active invocation in the subgroup</p>
- </div>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the computation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupBallot" translate="no">.<a href="#subgroupBallot">subgroupBallot</a><span class="signature">( pred : <span class="param-type">bool</span> )</span><span class="type-signature"> : vec4..<u32></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns a set of bitfields where the bit corresponding to subgroup_invocation_id
- is 1 if pred is true for that active invocation and 0 otherwise.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">pred</strong>
- </td>
- <td class="description last">
- <p>A boolean that sets the bit corresponding to the invocations subgroup invocation id.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> <ul>
- <li>A bitfield corresponding to the pred value of each subgroup invocation.</li>
- </ul></dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupBroadcast" translate="no">.<a href="#subgroupBroadcast">subgroupBroadcast</a><span class="signature">( e : <span class="param-type">number</span>, id : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Broadcasts e from the invocation whose subgroup_invocation_id matches id, to all active invocations.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value to broadcast from subgroup invocation 'id'.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">id</strong>
- </td>
- <td class="description last">
- <p>The subgroup invocation to broadcast from.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupBroadcastFirst" translate="no">.<a href="#subgroupBroadcastFirst">subgroupBroadcastFirst</a><span class="signature">( e : <span class="param-type">number</span>, id : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Broadcasts e from the active invocation with the lowest subgroup_invocation_id in the subgroup to all other active invocations.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value to broadcast from the lowest subgroup invocation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">id</strong>
- </td>
- <td class="description last">
- <p>The subgroup invocation to broadcast from.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupElect" translate="no">.<a href="#subgroupElect">subgroupElect</a><span class="signature">()</span><span class="type-signature"> : bool</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns true if this invocation has the lowest subgroup_invocation_id
- among active invocations in the subgroup.</p>
- </div>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the computation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupExclusiveAdd" translate="no">.<a href="#subgroupExclusiveAdd">subgroupExclusiveAdd</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>An exclusive scan that returns the sum of e for all active invocations with subgroup_invocation_id less than this invocation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the exclusive scan by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The accumulated result of the exclusive scan operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupExclusiveMul" translate="no">.<a href="#subgroupExclusiveMul">subgroupExclusiveMul</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>An exclusive scan that returns the product of e for all active invocations with subgroup_invocation_id less than this invocation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the exclusive scan by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The accumulated result of the exclusive scan operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupInclusiveAdd" translate="no">.<a href="#subgroupInclusiveAdd">subgroupInclusiveAdd</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>An inclusive scan returning the sum of e for all active invocations with subgroup_invocation_id less than or equal to this invocation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the inclusive scan by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The accumulated result of the inclusive scan operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupInclusiveMul" translate="no">.<a href="#subgroupInclusiveMul">subgroupInclusiveMul</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>An inclusive scan returning the product of e for all active invocations with subgroup_invocation_id less than or equal to this invocation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the inclusive scan by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The accumulated result of the inclusive scan operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupMax" translate="no">.<a href="#subgroupMax">subgroupMax</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that performs a max of e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupMin" translate="no">.<a href="#subgroupMin">subgroupMin</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that performs a min of e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupMul" translate="no">.<a href="#subgroupMul">subgroupMul</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that multiplies e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The accumulated result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupOr" translate="no">.<a href="#subgroupOr">subgroupOr</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that performs a bitwise or of e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupShuffle" translate="no">.<a href="#subgroupShuffle">subgroupShuffle</a><span class="signature">( v : <span class="param-type">number</span>, id : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns v from the active invocation whose subgroup_invocation_id matches id</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">v</strong>
- </td>
- <td class="description last">
- <p>The value to return from subgroup invocation id^mask.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">id</strong>
- </td>
- <td class="description last">
- <p>The subgroup invocation which returns the value v.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupShuffleDown" translate="no">.<a href="#subgroupShuffleDown">subgroupShuffleDown</a><span class="signature">( v : <span class="param-type">number</span>, delta : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns v from the active invocation whose subgroup_invocation_id matches subgroup_invocation_id + delta</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">v</strong>
- </td>
- <td class="description last">
- <p>The value to return from subgroup invocation id^mask.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">delta</strong>
- </td>
- <td class="description last">
- <p>A value that offsets the current subgroup invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupShuffleUp" translate="no">.<a href="#subgroupShuffleUp">subgroupShuffleUp</a><span class="signature">( v : <span class="param-type">number</span>, delta : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns v from the active invocation whose subgroup_invocation_id matches subgroup_invocation_id - delta</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">v</strong>
- </td>
- <td class="description last">
- <p>The value to return from subgroup invocation id^mask.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">delta</strong>
- </td>
- <td class="description last">
- <p>A value that offsets the current in.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupShuffleXor" translate="no">.<a href="#subgroupShuffleXor">subgroupShuffleXor</a><span class="signature">( v : <span class="param-type">number</span>, mask : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns v from the active invocation whose subgroup_invocation_id matches subgroup_invocation_id ^ mask.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">v</strong>
- </td>
- <td class="description last">
- <p>The value to return from subgroup invocation id^mask.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">mask</strong>
- </td>
- <td class="description last">
- <p>A bitmask that determines the target invocation via a XOR operation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The broadcast value.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="subgroupXor" translate="no">.<a href="#subgroupXor">subgroupXor</a><span class="signature">( e : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
- <div class="method">
- <div class="description">
- <p>A reduction that performs a bitwise xor of e among all active invocations and returns that result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">e</strong>
- </td>
- <td class="description last">
- <p>The value provided to the reduction by the current invocation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The result of the reduction operation.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="tan" translate="no">.<a href="#tan">tan</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the tangent of the parameter.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="texture" translate="no">.<a href="#texture">texture</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a> | <a href="TextureNode.html">TextureNode</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, biasNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture node or sample a texture node already existing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- <p>Default is <code>EmptyTexture</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">biasNode</strong>
- </td>
- <td class="description last">
- <p>The bias node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="texture3D" translate="no">.<a href="#texture3D">texture3D</a><span class="signature">( value : <span class="param-type"><a href="Data3DTexture.html">Data3DTexture</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span> )</span><span class="type-signature"> : <a href="Texture3DNode.html">Texture3DNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a 3D texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The 3D texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="texture3DLevel" translate="no">.<a href="#texture3DLevel">texture3DLevel</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a> | <a href="TextureNode.html">TextureNode</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span> )</span><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture node that fetches/loads texels without interpolation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- <p>Default is <code>EmptyTexture</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="texture3DLoad" translate="no">.<a href="#texture3DLoad">texture3DLoad</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a> | <a href="TextureNode.html">TextureNode</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, biasNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture node that fetches/loads texels without interpolation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- <p>Default is <code>EmptyTexture</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">biasNode</strong>
- </td>
- <td class="description last">
- <p>The bias node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="textureBarrier" translate="no">.<a href="#textureBarrier">textureBarrier</a><span class="signature">()</span><span class="type-signature"> : <a href="BarrierNode.html">BarrierNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture barrier. All invocations must
- wait for each access to variables within the 'texture' address space
- to complete before the barrier can be passed.</p>
- </div>
- </div>
- <h3 class="name name-method" id="textureBase" translate="no">.<a href="#textureBase">textureBase</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, biasNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">biasNode</strong>
- </td>
- <td class="description last">
- <p>The bias node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="textureBicubic" translate="no">.<a href="#textureBicubic">textureBicubic</a><span class="signature">( textureNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, strength : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies mipped bicubic texture filtering to the given texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be filtered.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">strength</strong>
- </td>
- <td class="description last">
- <p>Defines the strength of the bicubic filtering.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The filtered texture sample.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="textureBicubicLevel" translate="no">.<a href="#textureBicubicLevel">textureBicubicLevel</a><span class="signature">( textureNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, lodNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies mipped bicubic texture filtering to the given texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be filtered.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">lodNode</strong>
- </td>
- <td class="description last">
- <p>Defines the LOD to sample from.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The filtered texture sample.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="textureLoad" translate="no">.<a href="#textureLoad">textureLoad</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a> | <a href="TextureNode.html">TextureNode</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, biasNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture node that fetches/loads texels without interpolation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- <p>Default is <code>EmptyTexture</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">biasNode</strong>
- </td>
- <td class="description last">
- <p>The bias node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="textureSize" translate="no">.<a href="#textureSize">textureSize</a><span class="signature">( textureNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a>.<int></span> )</span><span class="type-signature"> : <a href="TextureSizeNode.html">TextureSizeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a texture size node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureNode</strong>
- </td>
- <td class="description last">
- <p>A texture node which size should be retrieved.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>A level node which defines the requested mip.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="textureStore" translate="no">.<a href="#textureStore">textureStore</a><span class="signature">( value : <span class="param-type"><a href="StorageTexture.html">StorageTexture</a></span>, uvNode : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3)></span>, storeNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="StorageTextureNode.html">StorageTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TODO: Explain difference to <code>storageTexture()</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The storage texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">storeNode</strong>
- </td>
- <td class="description last">
- <p>The value node that should be stored in the texture.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="tiledLights" translate="no">.<a href="#tiledLights">tiledLights</a><span class="signature">( maxLights : <span class="param-type">number</span>, tileSize : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="TiledLightsNode.html">TiledLightsNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function that creates a tiled lights node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">maxLights</strong>
- </td>
- <td class="description last">
- <p>The maximum number of lights.</p>
- <p>Default is <code>1024</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">tileSize</strong>
- </td>
- <td class="description last">
- <p>The tile size.</p>
- <p>Default is <code>32</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The tiled lights node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="toneMapping" translate="no">.<a href="#toneMapping">toneMapping</a><span class="signature">( mapping : <span class="param-type">number</span>, exposure : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, color : <span class="param-type"><a href="Node.html">Node</a>.<vec3> | <a href="Color.html">Color</a></span> )</span><span class="type-signature"> : <a href="ToneMappingNode.html">ToneMappingNode</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a tone mapping node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">mapping</strong>
- </td>
- <td class="description last">
- <p>The tone mapping type.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">exposure</strong>
- </td>
- <td class="description last">
- <p>The tone mapping exposure.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The color node to process.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="toonOutlinePass" translate="no">.<a href="#toonOutlinePass">toonOutlinePass</a><span class="signature">( scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, color : <span class="param-type"><a href="Color.html">Color</a></span>, thickness : <span class="param-type">number</span>, alpha : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="ToonOutlinePassNode.html">ToonOutlinePassNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a toon outline pass node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>A reference to the camera.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>Defines the outline's color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">thickness</strong>
- </td>
- <td class="description last">
- <p>Defines the outline's thickness.</p>
- <p>Default is <code>0.003</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">alpha</strong>
- </td>
- <td class="description last">
- <p>Defines the outline's alpha.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="traa" translate="no">.<a href="#traa">traa</a><span class="signature">( beautyNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, depthNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, velocityNode : <span class="param-type"><a href="TextureNode.html">TextureNode</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span> )</span><span class="type-signature"> : <a href="TRAANode.html">TRAANode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a TRAA node for Temporal Reprojection Anti-Aliasing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">beautyNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that represents the input of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">velocityNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's velocity.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="transformDirection" translate="no">.<a href="#transformDirection">transformDirection</a><span class="signature">( direction : <span class="param-type"><a href="Node.html">Node</a>.<(vec2|vec3|vec4)></span>, matrix : <span class="param-type"><a href="Node.html">Node</a>.<(mat2|mat3|mat4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Transforms the direction of a vector by a matrix and then normalizes the result.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">direction</strong>
- </td>
- <td class="description last">
- <p>The direction vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">matrix</strong>
- </td>
- <td class="description last">
- <p>The transformation matrix.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="transformNormal" translate="no">.<a href="#transformNormal">transformNormal</a><span class="signature">( normal : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, matrix : <span class="param-type"><a href="Node.html">Node</a>.<mat3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Transforms the normal with the given matrix.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">normal</strong>
- </td>
- <td class="description last">
- <p>The normal.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">matrix</strong>
- </td>
- <td class="description last">
- <p>The matrix.</p>
- <p>Default is <code>modelWorldMatrix</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The transformed normal.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="transformNormalToView" translate="no">.<a href="#transformNormalToView">transformNormalToView</a><span class="signature">( normal : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, builder : <span class="param-type"><a href="NodeBuilder.html">NodeBuilder</a></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Transforms the given normal from local to view space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">normal</strong>
- </td>
- <td class="description last">
- <p>The normal.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">builder</strong>
- </td>
- <td class="description last">
- <p>The current node builder.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The transformed normal.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="transition" translate="no">.<a href="#transition">transition</a><span class="signature">( nodeA : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, nodeB : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, mixTextureNode : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span>, mixRatio : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, threshold : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span>, useTexture : <span class="param-type"><a href="Node.html">Node</a>.<float> | number</span> )</span><span class="type-signature"> : <a href="TransitionNode.html">TransitionNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a transition node for post processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">nodeA</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the beauty pass of the first scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">nodeB</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the beauty pass of the second scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">mixTextureNode</strong>
- </td>
- <td class="description last">
- <p>A texture that defines how the transition effect should look like.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">mixRatio</strong>
- </td>
- <td class="description last">
- <p>The interpolation factor that controls the mix.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">threshold</strong>
- </td>
- <td class="description last">
- <p>Can be used to tweak the linear interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">useTexture</strong>
- </td>
- <td class="description last">
- <p>Whether <code>mixTextureNode</code> should influence the transition or not.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="transpose" translate="no">.<a href="#transpose">transpose</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a>.<(mat2|mat3|mat4)></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns the transpose of a matrix.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="triNoise3D" translate="no">.<a href="#triNoise3D">triNoise3D</a><span class="signature">( position : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, speed : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, time : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>Generates a noise value from the given position, speed and time parameters.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">position</strong>
- </td>
- <td class="description last">
- <p>The position.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">speed</strong>
- </td>
- <td class="description last">
- <p>The speed.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">time</strong>
- </td>
- <td class="description last">
- <p>The time.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The generated noise.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="triplanarTexture" translate="no">.<a href="#triplanarTexture">triplanarTexture</a><span class="signature">( textureXNode : <span class="param-type"><a href="Node.html">Node</a></span>, textureYNode : <span class="param-type"><a href="Node.html">Node</a></span>, textureZNode : <span class="param-type"><a href="Node.html">Node</a></span>, scaleNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, positionNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, normalNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a triplanar textures node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureXNode</strong>
- </td>
- <td class="description last">
- <p>First texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">textureYNode</strong>
- </td>
- <td class="description last">
- <p>Second texture node. When not set, the shader will sample from <code>textureXNode</code> instead.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">textureZNode</strong>
- </td>
- <td class="description last">
- <p>Third texture node. When not set, the shader will sample from <code>textureXNode</code> instead.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scaleNode</strong>
- </td>
- <td class="description last">
- <p>The scale node.</p>
- <p>Default is <code>float(1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">positionNode</strong>
- </td>
- <td class="description last">
- <p>Vertex positions in local space.</p>
- <p>Default is <code>positionLocal</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalNode</strong>
- </td>
- <td class="description last">
- <p>Normals in local space.</p>
- <p>Default is <code>normalLocal</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="triplanarTextures" translate="no">.<a href="#triplanarTextures">triplanarTextures</a><span class="signature">( textureXNode : <span class="param-type"><a href="Node.html">Node</a></span>, textureYNode : <span class="param-type"><a href="Node.html">Node</a></span>, textureZNode : <span class="param-type"><a href="Node.html">Node</a></span>, scaleNode : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, positionNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, normalNode : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a triplanar textures node.</p>
- <p>Can be used for triplanar texture mapping.</p>
- <pre><code class="language-js">material.colorNode = triplanarTexture( texture( diffuseMap ) );
- </code></pre>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">textureXNode</strong>
- </td>
- <td class="description last">
- <p>First texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">textureYNode</strong>
- </td>
- <td class="description last">
- <p>Second texture node. When not set, the shader will sample from <code>textureXNode</code> instead.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">textureZNode</strong>
- </td>
- <td class="description last">
- <p>Third texture node. When not set, the shader will sample from <code>textureXNode</code> instead.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scaleNode</strong>
- </td>
- <td class="description last">
- <p>The scale node.</p>
- <p>Default is <code>float(1)</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">positionNode</strong>
- </td>
- <td class="description last">
- <p>Vertex positions in local space.</p>
- <p>Default is <code>positionLocal</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">normalNode</strong>
- </td>
- <td class="description last">
- <p>Normals in local space.</p>
- <p>Default is <code>normalLocal</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="trunc" translate="no">.<a href="#trunc">trunc</a><span class="signature">( x : <span class="param-type"><a href="Node.html">Node</a> | number</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Truncates the parameter, removing the fractional part.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uintBitsToFloat" translate="no">.<a href="#uintBitsToFloat">uintBitsToFloat</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<uint></span> )</span><span class="type-signature"> : <a href="BitcastNode.html">BitcastNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Bitcast an unsigned integer or a vector of unsigned integers to a corresponding float type with the same element size.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The unsigned integer or vector of unsigned integers to bitcast.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uniform" translate="no">.<a href="#uniform">uniform</a><span class="signature">( value : <span class="param-type"><a href="global.html#any">any</a> | string</span>, type : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a uniform node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The value of this uniform or your type. Usually a JS primitive or three.js object (vector, matrix, color, texture).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The node type. If no explicit type is defined, the node tries to derive the type from its value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uniformArray" translate="no">.<a href="#uniformArray">uniformArray</a><span class="signature">( values : <span class="param-type">Array.<<a href="global.html#any">any</a>></span>, nodeType : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="UniformArrayNode.html">UniformArrayNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an uniform array node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">values</strong>
- </td>
- <td class="description last">
- <p>Array-like data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">nodeType</strong>
- </td>
- <td class="description last">
- <p>The data type of the array elements.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uniformCubeTexture" translate="no">.<a href="#uniformCubeTexture">uniformCubeTexture</a><span class="signature">( value : <span class="param-type"><a href="CubeTexture.html">CubeTexture</a></span> )</span><span class="type-signature"> : <a href="CubeTextureNode.html">CubeTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a uniform cube texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The cube texture.</p>
- <p>Default is <code>EmptyTexture</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uniformFlow" translate="no">.<a href="#uniformFlow">uniformFlow</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ContextNode.html">ContextNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for defining a uniformFlow context value for a given node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node whose dependencies should all execute within a uniform control-flow path.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uniformGroup" translate="no">.<a href="#uniformGroup">uniformGroup</a><span class="signature">( name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="UniformGroupNode.html">UniformGroupNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a uniform group node with the given name.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the uniform group node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uniformTexture" translate="no">.<a href="#uniformTexture">uniformTexture</a><span class="signature">( value : <span class="param-type"><a href="Texture.html">Texture</a></span> )</span><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a uniform texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="unpackHalf2x16" translate="no">.<a href="#unpackHalf2x16">unpackHalf2x16</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<uint></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Unpacks a 32-bit unsigned integer into two 16-bit values, interpreted as 16-bit floating-point numbers. Returns a vec2 with both values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The unsigned integer to be unpacked</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="unpackNormal" translate="no">.<a href="#unpackNormal">unpackNormal</a><span class="signature">( xy : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Unpacks a tangent space normal, reconstructing the Z component by projecting the X,Y coordinates onto the hemisphere.
- The X,Y coordinates are expected to be in the [-1, 1] range.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">xy</strong>
- </td>
- <td class="description last">
- <p>The X,Y coordinates of the normal.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The resulting normal.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="unpackSnorm2x16" translate="no">.<a href="#unpackSnorm2x16">unpackSnorm2x16</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<uint></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Unpacks a 32-bit unsigned integer into two 16-bit values, interpreted as normalized signed integers. Returns a vec2 with both values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The unsigned integer to be unpacked</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="unpackUnorm2x16" translate="no">.<a href="#unpackUnorm2x16">unpackUnorm2x16</a><span class="signature">( value : <span class="param-type"><a href="Node.html">Node</a>.<uint></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Unpacks a 32-bit unsigned integer into two 16-bit values, interpreted as normalized unsigned integers. Returns a vec2 with both values.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">value</strong>
- </td>
- <td class="description last">
- <p>The unsigned integer to be unpacked</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="unpremultiplyAlpha" translate="no">.<a href="#unpremultiplyAlpha">unpremultiplyAlpha</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec4></span> </h3>
- <div class="method">
- <div class="description">
- <p>Unpremultiplies the RGB channels of a color by its alpha channel.</p>
- <p>This function is useful for converting a premultiplied alpha color
- back into a non-premultiplied alpha format, where the RGB values are
- divided by the alpha value. Unpremultiplied alpha is often used in graphics
- rendering for certain operations, such as compositing and image processing.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color with premultiplied alpha.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The color with non-premultiplied alpha.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="userData" translate="no">.<a href="#userData">userData</a><span class="signature">( name : <span class="param-type">string</span>, inputType : <span class="param-type">string</span>, userData : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="UserDataNode.html">UserDataNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a user data node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The property name that should be referenced by the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">inputType</strong>
- </td>
- <td class="description last">
- <p>The node data type of the reference.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">userData</strong>
- </td>
- <td class="description last">
- <p>A reference to the <code>userData</code> object. If not provided, the <code>userData</code> property of the 3D object that uses the node material is evaluated.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="uv" translate="no">.<a href="#uv">uv</a><span class="signature">( index : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AttributeNode.html">AttributeNode</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating an uv attribute node with the given index.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">index</strong>
- </td>
- <td class="description last">
- <p>The uv index.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The uv attribute node.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="varying" translate="no">.<a href="#varying">varying</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a varying node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node for which a varying should be created.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the varying in the shader.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="varyingProperty" translate="no">.<a href="#varyingProperty">varyingProperty</a><span class="signature">( type : <span class="param-type">string</span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="PropertyNode.html">PropertyNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a varying property node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The type of the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">name</strong>
- </td>
- <td class="description last">
- <p>The name of the varying in the shader.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="vertexColor" translate="no">.<a href="#vertexColor">vertexColor</a><span class="signature">( index : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="VertexColorNode.html">VertexColorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a reference node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">index</strong>
- </td>
- <td class="description last">
- <p>The attribute index.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="vertexStage" translate="no">.<a href="#vertexStage">vertexStage</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="VaryingNode.html">VaryingNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Computes a node in the vertex stage.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The node which should be executed in the vertex stage.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="vibrance" translate="no">.<a href="#vibrance">vibrance</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, adjustment : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Selectively enhance the intensity of less saturated RGB colors. Can result
- in a more natural and visually appealing image with enhanced color depth
- compared to ColorAdjustment#saturation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">adjustment</strong>
- </td>
- <td class="description last">
- <p>Controls the intensity of the vibrance effect.</p>
- <p>Default is <code>1</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The updated color.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="viewZToLogarithmicDepth" translate="no">.<a href="#viewZToLogarithmicDepth">viewZToLogarithmicDepth</a><span class="signature">( viewZ : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a viewZ value to a logarithmic depth value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewZToOrthographicDepth" translate="no">.<a href="#viewZToOrthographicDepth">viewZToOrthographicDepth</a><span class="signature">( viewZ : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a viewZ value to an orthographic depth value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewZToPerspectiveDepth" translate="no">.<a href="#viewZToPerspectiveDepth">viewZToPerspectiveDepth</a><span class="signature">( viewZ : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a viewZ value to a perspective depth value.</p>
- <p>Note: {link https://twitter.com/gonnavis/status/1377183786949959682}.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewZToReversedPerspectiveDepth" translate="no">.<a href="#viewZToReversedPerspectiveDepth">viewZToReversedPerspectiveDepth</a><span class="signature">( viewZ : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, near : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, far : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<float></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a viewZ value to a reversed perspective depth value.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">far</strong>
- </td>
- <td class="description last">
- <p>The camera's far value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewportDepthTexture" translate="no">.<a href="#viewportDepthTexture">viewportDepthTexture</a><span class="signature">( uvNode : <span class="param-type"><a href="Node.html">Node</a></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ViewportDepthTextureNode.html">ViewportDepthTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for a viewport depth texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>screenUV</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewportMipTexture" translate="no">.<a href="#viewportMipTexture">viewportMipTexture</a><span class="signature">( uvNode : <span class="param-type"><a href="Node.html">Node</a></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a></span>, framebufferTexture : <span class="param-type"><a href="Texture.html">Texture</a></span> )</span><span class="type-signature"> : <a href="ViewportTextureNode.html">ViewportTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a viewport texture node with enabled mipmap generation.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>screenUV</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">framebufferTexture</strong>
- </td>
- <td class="description last">
- <p>A framebuffer texture holding the viewport data. If not provided, a framebuffer texture is created automatically.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewportOpaqueMipTexture" translate="no">.<a href="#viewportOpaqueMipTexture">viewportOpaqueMipTexture</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a></span>, level : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ViewportTextureNode.html">ViewportTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a viewport texture node with enabled mipmap generation.
- The texture should only contain the opaque rendering objects.</p>
- <p>This should be used just in transparent or transmissive materials.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>screenUV</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">level</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewportSafeUV" translate="no">.<a href="#viewportSafeUV">viewportSafeUV</a><span class="signature">( uv : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>A special version of a screen uv function that involves a depth comparison
- when computing the final uvs. The function mitigates visual errors when
- using viewport texture nodes for refraction purposes. Without this function
- objects in front of a refractive surface might appear on the refractive surface
- which is incorrect.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uv</strong>
- </td>
- <td class="description last">
- <p>Optional uv coordinates. By default <code>screenUV</code> is used.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The update uv coordinates.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="viewportSharedTexture" translate="no">.<a href="#viewportSharedTexture">viewportSharedTexture</a><span class="signature">( uvNode : <span class="param-type"><a href="Node.html">Node</a></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="ViewportSharedTextureNode.html">ViewportSharedTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a shared viewport texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>screenUV</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="viewportTexture" translate="no">.<a href="#viewportTexture">viewportTexture</a><span class="signature">( uvNode : <span class="param-type"><a href="Node.html">Node</a></span>, levelNode : <span class="param-type"><a href="Node.html">Node</a></span>, framebufferTexture : <span class="param-type"><a href="Texture.html">Texture</a></span> )</span><span class="type-signature"> : <a href="ViewportTextureNode.html">ViewportTextureNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a viewport texture node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- <p>Default is <code>screenUV</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">levelNode</strong>
- </td>
- <td class="description last">
- <p>The level node.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">framebufferTexture</strong>
- </td>
- <td class="description last">
- <p>A framebuffer texture holding the viewport data. If not provided, a framebuffer texture is created automatically.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="vignette" translate="no">.<a href="#vignette">vignette</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a>.<vec3></span>, intensity : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, smoothness : <span class="param-type"><a href="Node.html">Node</a>.<float></span>, coord : <span class="param-type"><a href="Node.html">Node</a>.<vec2></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec3></span> </h3>
- <div class="method">
- <div class="description">
- <p>Applies vignette effect to darken the edges of the screen.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">intensity</strong>
- </td>
- <td class="description last">
- <p>The intensity of the vignette (0-1).</p>
- <p>Default is <code>0.4</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">smoothness</strong>
- </td>
- <td class="description last">
- <p>The smoothness of the vignette falloff.</p>
- <p>Default is <code>0.5</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">coord</strong>
- </td>
- <td class="description last">
- <p>The UV coordinates to use for vignette calculation.</p>
- <p>Default is <code>uv()</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> The color with vignette applied.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="vogelDiskSample" translate="no">.<a href="#vogelDiskSample">vogelDiskSample</a><span class="signature">( sampleIndex : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, samplesCount : <span class="param-type"><a href="Node.html">Node</a>.<int></span>, phi : <span class="param-type"><a href="Node.html">Node</a>.<float></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.<vec2></span> </h3>
- <div class="method">
- <div class="description">
- <p>Vogel disk sampling for uniform circular distribution.</p>
- <p>This function generates sample points distributed uniformly on a disk using the golden angle,
- resulting in an efficient low-discrepancy sequence for sampling. The rotation parameter (phi)
- allows randomizing the pattern per-pixel when combined with IGN.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">sampleIndex</strong>
- </td>
- <td class="description last">
- <p>The index of the current sample (0-based).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">samplesCount</strong>
- </td>
- <td class="description last">
- <p>The total number of samples.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">phi</strong>
- </td>
- <td class="description last">
- <p>Rotation angle in radians (typically from IGN * 2π).</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="tag-returns"><strong>Returns:</strong> A 2D point on the unit disk.</dt>
- </dl>
- </div>
- <h3 class="name name-method" id="wgsl" translate="no">.<a href="#wgsl">wgsl</a><span class="signature">( src : <span class="param-type">string</span>, includes : <span class="param-type">Array.<<a href="Node.html">Node</a>></span> )</span><span class="type-signature"> : <a href="CodeNode.html">CodeNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a WGSL code node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">src</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">includes</strong>
- </td>
- <td class="description last">
- <p>An array of includes.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="workgroupArray" translate="no">.<a href="#workgroupArray">workgroupArray</a><span class="signature">( type : <span class="param-type">string</span>, count : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="WorkgroupInfoNode.html">WorkgroupInfoNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a workgroup info node.
- Creates a new 'workgroup' scoped array buffer.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">type</strong>
- </td>
- <td class="description last">
- <p>The data type of a 'workgroup' scoped buffer element.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">count</strong>
- </td>
- <td class="description last">
- <p>The number of elements in the buffer.</p>
- <p>Default is <code>0</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="workgroupBarrier" translate="no">.<a href="#workgroupBarrier">workgroupBarrier</a><span class="signature">()</span><span class="type-signature"> : <a href="BarrierNode.html">BarrierNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a workgroup barrier. All compute shader
- invocations must wait for each invocation within a workgroup to
- complete before the barrier can be surpassed.</p>
- </div>
- </div>
- <h3 class="name name-method" id="workingToColorSpace" translate="no">.<a href="#workingToColorSpace">workingToColorSpace</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span>, targetColorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="ColorSpaceNode.html">ColorSpaceNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for converting a given color node from the current working color space to the given color space.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>Represents the node to convert.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">targetColorSpace</strong>
- </td>
- <td class="description last">
- <p>The target color space.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="xor" translate="no">.<a href="#xor">xor</a><span class="signature">( a : <span class="param-type"><a href="Node.html">Node</a></span>, b : <span class="param-type"><a href="Node.html">Node</a></span> )</span><span class="type-signature"> : <a href="OperatorNode.html">OperatorNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>Performs logical XOR on two nodes.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h2 class="subsection-title">Type Definitions</h2>
- <div class="member">
- <h3 class="name" id="ConstantsInterpolationSamplingMode" translate="no">.<a href="#ConstantsInterpolationSamplingMode">ConstantsInterpolationSamplingMode</a> </h3>
- <div class="description">
- <p>Represents the different interpolation sampling modes.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>NORMAL</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Normal sampling mode.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>CENTROID</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Centroid sampling mode.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>SAMPLE</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Sample-specific sampling mode.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>FIRST</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Flat interpolation using the first vertex.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>EITHER</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Flat interpolation using either vertex.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="ConstantsInterpolationSamplingType" translate="no">.<a href="#ConstantsInterpolationSamplingType">ConstantsInterpolationSamplingType</a> </h3>
- <div class="description">
- <p>Represents the different interpolation sampling types.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>PERSPECTIVE</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Perspective-correct interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>LINEAR</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Linear interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>FLAT</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>Flat interpolation.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="ConstantsMouse" translate="no">.<a href="#ConstantsMouse">ConstantsMouse</a> </h3>
- <div class="description">
- <p>This type represents mouse buttons and interaction types in context of controls.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>MIDDLE</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>The left mouse button.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>LEFT</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>The middle mouse button.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>RIGHT</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>The right mouse button.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>ROTATE</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>A rotate interaction.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>DOLLY</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>A dolly interaction.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>PAN</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>A pan interaction.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="ConstantsTimestampQuery" translate="no">.<a href="#ConstantsTimestampQuery">ConstantsTimestampQuery</a> </h3>
- <div class="description">
- <p>This type represents the different timestamp query types.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>COMPUTE</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>A <code>compute</code> timestamp query.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>RENDER</strong>
- <br>
- <span class="param-type">string</span>
- </td>
- <td class="description last">
- <p>A <code>render</code> timestamp query.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="ConstantsTouch" translate="no">.<a href="#ConstantsTouch">ConstantsTouch</a> </h3>
- <div class="description">
- <p>This type represents touch interaction types in context of controls.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>ROTATE</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>A rotate interaction.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>PAN</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>A pan interaction.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>DOLLY_PAN</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>The dolly-pan interaction.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>DOLLY_ROTATE</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>A dolly-rotate interaction.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="DebugConfig" translate="no">.<a href="#DebugConfig">DebugConfig</a> </h3>
- <div class="description">
- <p>Debug configuration.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>checkShaderErrors</strong>
- <br>
- <span class="param-type">boolean</span>
- </td>
- <td class="description last">
- <p>Whether shader errors should be checked or not.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>onShaderError</strong>
- <br>
- <span class="param-type">function</span>
- </td>
- <td class="description last">
- <p>A callback function that is executed when a shader error happens. Only supported with WebGL 2 right now.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>getShaderAsync</strong>
- <br>
- <span class="param-type">function</span>
- </td>
- <td class="description last">
- <p>Allows the get the raw shader code for the given scene, camera and 3D object.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="ShadowMapConfig" translate="no">.<a href="#ShadowMapConfig">ShadowMapConfig</a> </h3>
- <div class="description">
- <p>Shadow map configuration</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>enabled</strong>
- <br>
- <span class="param-type">boolean</span>
- </td>
- <td class="description last">
- <p>Whether to globally enable shadows or not.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>transmitted</strong>
- <br>
- <span class="param-type">boolean</span>
- </td>
- <td class="description last">
- <p>Whether to enable light transmission through non-opaque materials.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>type</strong>
- <br>
- <span class="param-type">number</span>
- </td>
- <td class="description last">
- <p>The shadow map type.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="member">
- <h3 class="name" id="XRConfig" translate="no">.<a href="#XRConfig">XRConfig</a> </h3>
- <div class="description">
- <p>XR configuration.</p>
- </div>
- <table class="props">
- <tbody>
- <tr>
- <td class="name">
- <strong>enabled</strong>
- <br>
- <span class="param-type">boolean</span>
- </td>
- <td class="description last">
- <p>Whether to globally enable XR or not.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="onAnimationCallback" translate="no">.<a href="#onAnimationCallback">onAnimationCallback</a><span class="signature">( time : <span class="param-type">DOMHighResTimeStamp</span>, frame : <span class="param-type">XRFrame</span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Animation loop parameter of <code>renderer.setAnimationLoop()</code>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">time</strong>
- </td>
- <td class="description last">
- <p>A timestamp indicating the end time of the previous frame's rendering.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">frame</strong>
- </td>
- <td class="description last">
- <p>A reference to the current XR frame. Only relevant when using XR rendering.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="onErrorCallback" translate="no">.<a href="#onErrorCallback">onErrorCallback</a><span class="signature">( error : <span class="param-type">Error</span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Callback for onError in loaders.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">error</strong>
- </td>
- <td class="description last">
- <p>The error which occurred during the loading process.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="onProgressCallback" translate="no">.<a href="#onProgressCallback">onProgressCallback</a><span class="signature">( event : <span class="param-type">ProgressEvent</span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Callback for onProgress in loaders.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">event</strong>
- </td>
- <td class="description last">
- <p>An instance of <code>ProgressEvent</code> that represents the current loading status.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="renderObjectFunction" translate="no">.<a href="#renderObjectFunction">renderObjectFunction</a><span class="signature">( object : <span class="param-type"><a href="Object3D.html">Object3D</a></span>, scene : <span class="param-type"><a href="Scene.html">Scene</a></span>, camera : <span class="param-type"><a href="Camera.html">Camera</a></span>, geometry : <span class="param-type"><a href="BufferGeometry.html">BufferGeometry</a></span>, material : <span class="param-type"><a href="Material.html">Material</a></span>, group : <span class="param-type">Object</span>, lightsNode : <span class="param-type"><a href="LightsNode.html">LightsNode</a></span>, clippingContext : <span class="param-type"><a href="ClippingContext.html">ClippingContext</a></span>, passId : <span class="param-type">string</span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Callback for <a href="Renderer.html#setRenderObjectFunction">Renderer#setRenderObjectFunction</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">object</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">scene</strong>
- </td>
- <td class="description last">
- <p>The scene the 3D object belongs to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">camera</strong>
- </td>
- <td class="description last">
- <p>The camera the object should be rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">geometry</strong>
- </td>
- <td class="description last">
- <p>The object's geometry.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">material</strong>
- </td>
- <td class="description last">
- <p>The object's material.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">group</strong>
- </td>
- <td class="description last">
- <p>Only relevant for objects using multiple materials. This represents a group entry from the respective <code>BufferGeometry</code>.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">lightsNode</strong>
- </td>
- <td class="description last">
- <p>The current lights node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">clippingContext</strong>
- </td>
- <td class="description last">
- <p>The clipping context.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong translate="no">passId</strong>
- </td>
- <td class="description last">
- <p>An optional ID for identifying the pass.</p>
- <p>Default is <code>null</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="traverseCallback" translate="no">.<a href="#traverseCallback">traverseCallback</a><span class="signature">( node : <span class="param-type"><a href="Node.html">Node</a></span> )</span> </h3>
- <div class="method">
- <div class="description">
- <p>Callback for <a href="Node.html#traverse">Node#traverse</a>.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong translate="no">node</strong>
- </td>
- <td class="description last">
- <p>The current node.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </article>
- </section>
- <script src="../scripts/linenumber.js"></script>
- <script src="../scripts/page.js"></script>
- </body>
- </html>
|