| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350 |
- <!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="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="atan2" translate="no">.<a href="#atan2">atan2</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 quotient of its parameters.</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>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r172. Use <a href="TSL.html#atan">atan</a> instead.</dt>
- </dl>
- </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="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="burn" translate="no">.<a href="#burn">burn</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>params</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use <a href="TSL.html#blendBurn">blendBurn</a> instead.</dt>
- </dl>
- </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="densityFog" translate="no">.<a href="#densityFog">densityFog</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a></span>, density : <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>color</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>density</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use `fog( color, densityFogFactor( density ) )` instead.</dt>
- </dl>
- </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="dodge" translate="no">.<a href="#dodge">dodge</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>params</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use <a href="TSL.html#blendDodge">blendDodge</a> instead.</dt>
- </dl>
- </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="equals" translate="no">.<a href="#equals">equals</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>.<bool></span> </h3>
- <div class="method">
- <div class="description">
- <p>Returns <code>true</code> if <code>x</code> equals <code>y</code>.</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>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r175. Use <a href="TSL.html#equal">equal</a> instead.</dt>
- </dl>
- </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="overlay" translate="no">.<a href="#overlay">overlay</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>params</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use <a href="TSL.html#blendOverlay">blendOverlay</a> instead.</dt>
- </dl>
- </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="rangeFog" translate="no">.<a href="#rangeFog">rangeFog</a><span class="signature">( color : <span class="param-type"><a href="Node.html">Node</a></span>, 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><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>color</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>near</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>far</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use `fog( color, rangeFogFactor( near, far ) )` instead.</dt>
- </dl>
- </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="screen" translate="no">.<a href="#screen">screen</a><span class="signature">( …params : <span class="param-type"><a href="global.html#any">any</a></span> )</span><span class="type-signature"> : function</span> </h3>
- <div class="method">
- <table class="params">
- <tbody>
- <tr>
- <td class="name">
- <strong>params</strong>
- </td>
- <td class="description last">
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use <a href="TSL.html#blendScreen">blendScreen</a> instead.</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="storageObject" translate="no">.<a href="#storageObject">storageObject</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</span>, count : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="StorageBufferNode.html">StorageBufferNode</a></span> </h3>
- <div class="method">
- <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>
- </td>
- </tr>
- <tr>
- <td class="name">
- <strong>count</strong>
- </td>
- <td class="description last">
- <p>The buffer count.</p>
- </td>
- </tr>
- </tbody>
- </table>
- <dl class="details">
- <dt class="important tag-deprecated"><strong>Deprecated:</strong> since r171. Use `storage().setPBO( true )` instead.</dt>
- </dl>
- </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="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>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>
|