| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253 |
- <!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="SceneNode.html">SceneNode</a></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="SceneNode.html">SceneNode</a></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="SceneNode.html">SceneNode</a></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>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>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>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>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>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>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>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>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>normalNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's normals.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>targetNode</strong>
- </td>
- <td class="description last">
- <p>The target node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>y</strong>
- </td>
- <td class="description last">
- <p>The y parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>method</strong>
- </td>
- <td class="description last">
- <p>The signature of the atomic function to construct.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>method</strong>
- </td>
- <td class="description last">
- <p>The signature of the atomic function to construct.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>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>name</strong>
- </td>
- <td class="description last">
- <p>The name of the attribute.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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="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>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>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="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>config</strong>
- </td>
- <td class="description last">
- <p>The configuration object.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>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>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>color</strong>
- </td>
- <td class="description last">
- <p>The color node to apply the sepia for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>base</strong>
- </td>
- <td class="description last">
- <p>The base color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be blurred.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>value</strong>
- </td>
- <td class="description last">
- <p>Array-like buffer data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>type</strong>
- </td>
- <td class="description last">
- <p>The data type of a buffer element.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>aoNode</strong>
- </td>
- <td class="description last">
- <p>The ambient occlusion value node to apply.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>shadowNode</strong>
- </td>
- <td class="description last">
- <p>The shadow node representing the light's shadow.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>light</strong>
- </td>
- <td class="description last">
- <p>The light associated with the shadow.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>Represents the bump map data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>outputNode</strong>
- </td>
- <td class="description last">
- <p>The output node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>node</strong>
- </td>
- <td class="description last">
- <p>The node that should be cached.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>color</strong>
- </td>
- <td class="description last">
- <p>Input (-Infinity < input < +Infinity)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>slope</strong>
- </td>
- <td class="description last">
- <p>Slope (0 ≤ slope < +Infinity)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>offset</strong>
- </td>
- <td class="description last">
- <p>Offset (-Infinity < offset < +Infinity; typically -1 < offset < 1)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>power</strong>
- </td>
- <td class="description last">
- <p>Power (0 < power < +Infinity)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>saturation</strong>
- </td>
- <td class="description last">
- <p>Saturation (0 ≤ saturation < +Infinity; typically 0 ≤ saturation < 4)</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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="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>circleCenter</strong>
- </td>
- <td class="description last">
- <p>The center of the circle.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>radius</strong>
- </td>
- <td class="description last">
- <p>The radius of the circle.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>minBounds</strong>
- </td>
- <td class="description last">
- <p>The minimum bounds of the AABB.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>value</strong>
- </td>
- <td class="description last">
- <p>The value to constrain.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>code</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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="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>node</strong>
- </td>
- <td class="description last">
- <p>Represents the node to convert.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>node</strong>
- </td>
- <td class="description last">
- <p>TODO</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>count</strong>
- </td>
- <td class="description last">
- <p>TODO.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>name</strong>
- </td>
- <td class="description last">
- <p>The built-in name.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>node</strong>
- </td>
- <td class="description last">
- <p>TODO</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>skinnedMesh</strong>
- </td>
- <td class="description last">
- <p>The skinned mesh.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>Represents the node to convert.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>sourceColorSpace</strong>
- </td>
- <td class="description last">
- <p>The source color space.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>node</strong>
- </td>
- <td class="description last">
- <p>The node to render a texture with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The first vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>value</strong>
- </td>
- <td class="description last">
- <p>The cube texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>The node to debug.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>normalNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's normals.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>camera</strong>
- </td>
- <td class="description last">
- <p>A reference to the camera.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The first point.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>viewZNode</strong>
- </td>
- <td class="description last">
- <p>Represents the viewZ depth values of the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The first vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The parameter.</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>snippet</strong>
- </td>
- <td class="description last">
- <p>The native code snippet.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>N</strong>
- </td>
- <td class="description last">
- <p>The vector to orient.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>I</strong>
- </td>
- <td class="description last">
- <p>The incident vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>Defines the color of the fog.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The value to remap.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>directionNode</strong>
- </td>
- <td class="description last">
- <p>Defines the direction and radius of the blur.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>uv</strong>
- </td>
- <td class="description last">
- <p>The texture coordinate.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>depthTexture</strong>
- </td>
- <td class="description last">
- <p>The depth texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>normal</strong>
- </td>
- <td class="description last">
- <p>The normal to correct.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>viewPosition</strong>
- </td>
- <td class="description last">
- <p>The fragments position in view space.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>renderer</strong>
- </td>
- <td class="description last">
- <p>The renderer.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>shadow</strong>
- </td>
- <td class="description last">
- <p>The light shadow object containing shadow properties.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>shadowType</strong>
- </td>
- <td class="description last">
- <p>The type of shadow map (e.g., BasicShadowMap).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>depth</strong>
- </td>
- <td class="description last">
- <p>The fragment's depth value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>src</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>includes</strong>
- </td>
- <td class="description last">
- <p>An array of includes.</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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be blurred.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>The node to inspect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>count</strong>
- </td>
- <td class="description last">
- <p>The number of instances.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>instanceMatrix</strong>
- </td>
- <td class="description last">
- <p>Instanced buffer attribute representing the instance transformations.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>array</strong>
- </td>
- <td class="description last">
- <p>The attribute data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>src</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>node</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>The node that represents the scene's bloom.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>light</strong>
- </td>
- <td class="description last">
- <p>The light source.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>depth</strong>
- </td>
- <td class="description last">
- <p>The logarithmic depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>color</strong>
- </td>
- <td class="description last">
- <p>The color value to compute the luminance for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>lut</strong>
- </td>
- <td class="description last">
- <p>A texture node that represents the lookup table.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>size</strong>
- </td>
- <td class="description last">
- <p>The size of the lookup table.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>b</strong>
- </td>
- <td class="description last">
- <p>The second parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>t</strong>
- </td>
- <td class="description last">
- <p>The interpolation value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>e1</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>velocity</strong>
- </td>
- <td class="description last">
- <p>The motion vectors of the beauty pass.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>node</strong>
- </td>
- <td class="description last">
- <p>Represents the normal map data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>depth</strong>
- </td>
- <td class="description last">
- <p>The orthographic depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>params</strong>
- </td>
- <td class="description last">
- <p>The configuration parameters.</p>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>selectedObjects</strong>
- </td>
- <td class="description last">
- <p>An array of selected objects.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The value to remap.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>uv</strong>
- </td>
- <td class="description last">
- <p>A uv node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>type</strong>
- </td>
- <td class="description last">
- <p>The type of the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>camera</strong>
- </td>
- <td class="description last">
- <p>A reference to the camera.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>pass</strong>
- </td>
- <td class="description last">
- <p>The pass node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>x</strong>
- </td>
- <td class="description last">
- <p>The value to remap.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>a</strong>
- </td>
- <td class="description last">
- <p>First control parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>depth</strong>
- </td>
- <td class="description last">
- <p>The perspective depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>camera</strong>
- </td>
- <td class="description last">
- <p>The camera to render the scene with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>value</strong>
- </td>
- <td class="description last">
- <p>The input texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>light</strong>
- </td>
- <td class="description last">
- <p>The shadow casting point light.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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="PosterizeNode.html">PosterizeNode</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>sourceNode</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>
- </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>x</strong>
- </td>
- <td class="description last">
- <p>The first parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>directionNode</strong>
- </td>
- <td class="description last">
- <p>Defines the direction and radius of the blur.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>type</strong>
- </td>
- <td class="description last">
- <p>The type of the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be blurred.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>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>near</strong>
- </td>
- <td class="description last">
- <p>Defines the near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>I</strong>
- </td>
- <td class="description last">
- <p>The incident vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>samples</strong>
- </td>
- <td class="description last">
- <p>Anti-Aliasing samples of the internal render-target.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>defaultTexture</strong>
- </td>
- <td class="description last">
- <p>The default texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>I</strong>
- </td>
- <td class="description last">
- <p>The incident vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>N</strong>
- </td>
- <td class="description last">
- <p>The normal vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>color</strong>
- </td>
- <td class="description last">
- <p>The color that should be tone mapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>node</strong>
- </td>
- <td class="description last">
- <p>The node that should be remapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>The node that should be remapped.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The color node to process.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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="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>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>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>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>positionNode</strong>
- </td>
- <td class="description last">
- <p>The position node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>uv</strong>
- </td>
- <td class="description last">
- <p>The uv coordinates.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>rotation</strong>
- </td>
- <td class="description last">
- <p>The rotation defined in radians.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>node</strong>
- </td>
- <td class="description last">
- <p>The node to render a texture with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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="scriptable" translate="no">.<a href="#scriptable">scriptable</a><span class="signature">( codeNode : <span class="param-type"><a href="CodeNode.html">CodeNode</a></span>, parameters : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="ScriptableNode.html">ScriptableNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a scriptable node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>codeNode</strong>
- </td>
- <td class="description last">
- <p>The code node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>parameters</strong>
- </td>
- <td class="description last">
- <p>The parameters definition.</p>
- <p>Default is <code>{}</code>.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <h3 class="name name-method" id="scriptableValue" translate="no">.<a href="#scriptableValue">scriptableValue</a><span class="signature">( value : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : <a href="ScriptableValueNode.html">ScriptableValueNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a scriptable value node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>value</strong>
- </td>
- <td class="description last">
- <p>The value.</p>
- </td>
- </tr>
- </tbody>
- </table>
- </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>condNode</strong>
- </td>
- <td class="description last">
- <p>The node that defines the condition.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>The node whose context should be modified.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>light</strong>
- </td>
- <td class="description last">
- <p>The shadow casting light.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>name</strong>
- </td>
- <td class="description last">
- <p>The name of the uniform group node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The node to shift.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The node to shift.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The value to compute the sin for.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The source value for interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>uv</strong>
- </td>
- <td class="description last">
- <p>The uv coordinates.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>strength</strong>
- </td>
- <td class="description last">
- <p>The strength of the effect.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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="SpriteSheetUVNode.html">SpriteSheetUVNode</a></span> </h3>
- <div class="method">
- <div class="description">
- <p>TSL function for creating a sprite sheet uv node.</p>
- </div>
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>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>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>frameNode</strong>
- </td>
- <td class="description last">
- <p>The node that defines the current frame/sprite.</p>
- <p>Default is <code>float()</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>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>scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>colorNode</strong>
- </td>
- <td class="description last">
- <p>The node that represents the beauty pass.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>camera</strong>
- </td>
- <td class="description last">
- <p>The camera the scene is rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>x</strong>
- </td>
- <td class="description last">
- <p>The y parameter.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>x</strong>
- </td>
- <td class="description last">
- <p>The source value for interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>scene</strong>
- </td>
- <td class="description last">
- <p>The scene to render.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>value</strong>
- </td>
- <td class="description last">
- <p>The buffer data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>storageBufferNode</strong>
- </td>
- <td class="description last">
- <p>The storage buffer node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>value</strong>
- </td>
- <td class="description last">
- <p>The storage texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>membersLayout</strong>
- </td>
- <td class="description last">
- <p>The layout of the struct members.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>b</strong>
- </td>
- <td class="description last">
- <p>The second input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>name</strong>
- </td>
- <td class="description last">
- <p>The name of the sub-build.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>e</strong>
- </td>
- <td class="description last">
- <p>The value to broadcast from subgroup invocation 'id'.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>value</strong>
- </td>
- <td class="description last">
- <p>The 3D texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>value</strong>
- </td>
- <td class="description last">
- <p>The texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be filtered.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>The texture node that should be filtered.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>textureNode</strong>
- </td>
- <td class="description last">
- <p>A texture node which size should be retrieved.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>value</strong>
- </td>
- <td class="description last">
- <p>The storage texture.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>uvNode</strong>
- </td>
- <td class="description last">
- <p>The uv node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>mapping</strong>
- </td>
- <td class="description last">
- <p>The tone mapping type.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>exposure</strong>
- </td>
- <td class="description last">
- <p>The tone mapping exposure.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>scene</strong>
- </td>
- <td class="description last">
- <p>A reference to the scene.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>camera</strong>
- </td>
- <td class="description last">
- <p>A reference to the camera.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>color</strong>
- </td>
- <td class="description last">
- <p>Defines the outline's color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>depthNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's depth.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>velocityNode</strong>
- </td>
- <td class="description last">
- <p>A node that represents the scene's velocity.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>direction</strong>
- </td>
- <td class="description last">
- <p>The direction vector.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>normal</strong>
- </td>
- <td class="description last">
- <p>The normal.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>normal</strong>
- </td>
- <td class="description last">
- <p>The normal.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>mixRatio</strong>
- </td>
- <td class="description last">
- <p>The interpolation factor that controls the mix.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>threshold</strong>
- </td>
- <td class="description last">
- <p>Can be used to tweak the linear interpolation.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>position</strong>
- </td>
- <td class="description last">
- <p>The position.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>speed</strong>
- </td>
- <td class="description last">
- <p>The speed.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>textureXNode</strong>
- </td>
- <td class="description last">
- <p>First texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>textureXNode</strong>
- </td>
- <td class="description last">
- <p>First texture node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>values</strong>
- </td>
- <td class="description last">
- <p>Array-like data.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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>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>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>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>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>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>inputType</strong>
- </td>
- <td class="description last">
- <p>The node data type of the reference.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>type</strong>
- </td>
- <td class="description last">
- <p>The type of the node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>color</strong>
- </td>
- <td class="description last">
- <p>The input color.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>viewZ</strong>
- </td>
- <td class="description last">
- <p>The viewZ node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- <p>The camera's near value.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>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="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>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>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>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>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>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>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="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>sampleIndex</strong>
- </td>
- <td class="description last">
- <p>The index of the current sample (0-based).</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>samplesCount</strong>
- </td>
- <td class="description last">
- <p>The total number of samples.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>src</strong>
- </td>
- <td class="description last">
- <p>The native code.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>node</strong>
- </td>
- <td class="description last">
- <p>Represents the node to convert.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>a</strong>
- </td>
- <td class="description last">
- <p>The first input.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>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>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>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>object</strong>
- </td>
- <td class="description last">
- <p>The 3D object.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>scene</strong>
- </td>
- <td class="description last">
- <p>The scene the 3D object belongs to.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>camera</strong>
- </td>
- <td class="description last">
- <p>The camera the object should be rendered with.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>geometry</strong>
- </td>
- <td class="description last">
- <p>The object's geometry.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>material</strong>
- </td>
- <td class="description last">
- <p>The object's material.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>lightsNode</strong>
- </td>
- <td class="description last">
- <p>The current lights node.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>clippingContext</strong>
- </td>
- <td class="description last">
- <p>The clipping context.</p>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>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>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>
|