bgfx.html 984 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579
  1. <!DOCTYPE html>
  2. <html class="writer-html5" lang="en" data-content_root="./">
  3. <head>
  4. <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>API Reference &mdash; bgfx 1.136.9083 documentation</title>
  7. <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
  8. <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
  9. <script src="_static/jquery.js?v=5d32c60e"></script>
  10. <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
  11. <script src="_static/documentation_options.js?v=f601d78d"></script>
  12. <script src="_static/doctools.js?v=9bcbadda"></script>
  13. <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
  14. <script src="_static/js/theme.js"></script>
  15. <link rel="index" title="Index" href="genindex.html" />
  16. <link rel="search" title="Search" href="search.html" />
  17. <link rel="next" title="Tools" href="tools.html" />
  18. <link rel="prev" title="Examples" href="examples.html" />
  19. </head>
  20. <body class="wy-body-for-nav">
  21. <div class="wy-grid-for-nav">
  22. <nav data-toggle="wy-nav-shift" class="wy-nav-side">
  23. <div class="wy-side-scroll">
  24. <div class="wy-side-nav-search" >
  25. <a href="index.html" class="icon icon-home">
  26. bgfx
  27. </a>
  28. <div role="search">
  29. <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
  30. <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
  31. <input type="hidden" name="check_keywords" value="yes" />
  32. <input type="hidden" name="area" value="default" />
  33. </form>
  34. </div>
  35. </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
  36. <ul class="current">
  37. <li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
  38. <li class="toctree-l1"><a class="reference internal" href="build.html">Building</a></li>
  39. <li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
  40. <li class="toctree-l1 current"><a class="current reference internal" href="#">API Reference</a><ul>
  41. <li class="toctree-l2"><a class="reference internal" href="#general">General</a><ul>
  42. <li class="toctree-l3"><a class="reference internal" href="#initialization-and-shutdown">Initialization and Shutdown</a><ul>
  43. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx4InitE"><code class="docutils literal notranslate"><span class="pre">bgfx::Init</span></code></a></li>
  44. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx10ResolutionE"><code class="docutils literal notranslate"><span class="pre">bgfx::Resolution</span></code></a></li>
  45. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx4initERK4Init"><code class="docutils literal notranslate"><span class="pre">init()</span></code></a></li>
  46. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_NONE"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NONE</span></code></a></li>
  47. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_SOFTWARE_RASTERIZER"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_SOFTWARE_RASTERIZER</span></code></a></li>
  48. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_AMD"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_AMD</span></code></a></li>
  49. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_APPLE"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_APPLE</span></code></a></li>
  50. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_INTEL"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_INTEL</span></code></a></li>
  51. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_NVIDIA"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NVIDIA</span></code></a></li>
  52. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_PCI_ID_MICROSOFT"><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_MICROSOFT</span></code></a></li>
  53. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx9CallbackIE"><code class="docutils literal notranslate"><span class="pre">bgfx::CallbackI</span></code></a></li>
  54. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx8shutdownEv"><code class="docutils literal notranslate"><span class="pre">shutdown()</span></code></a></li>
  55. </ul>
  56. </li>
  57. <li class="toctree-l3"><a class="reference internal" href="#updating">Updating</a><ul>
  58. <li class="toctree-l4"><a class="reference internal" href="#reset">Reset</a></li>
  59. <li class="toctree-l4"><a class="reference internal" href="#frame">Frame</a></li>
  60. </ul>
  61. </li>
  62. <li class="toctree-l3"><a class="reference internal" href="#debug">Debug</a><ul>
  63. <li class="toctree-l4"><a class="reference internal" href="#debug-features">Debug Features</a></li>
  64. <li class="toctree-l4"><a class="reference internal" href="#debug-flags">Debug Flags</a></li>
  65. <li class="toctree-l4"><a class="reference internal" href="#debug-text-display">Debug Text Display</a></li>
  66. </ul>
  67. </li>
  68. <li class="toctree-l3"><a class="reference internal" href="#querying-information">Querying information</a><ul>
  69. <li class="toctree-l4"><a class="reference internal" href="#renderer">Renderer</a></li>
  70. <li class="toctree-l4"><a class="reference internal" href="#capabilities">Capabilities</a></li>
  71. <li class="toctree-l4"><a class="reference internal" href="#statistics">Statistics</a></li>
  72. </ul>
  73. </li>
  74. <li class="toctree-l3"><a class="reference internal" href="#platform-specific">Platform specific</a><ul>
  75. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11renderFrameE7int32_t"><code class="docutils literal notranslate"><span class="pre">renderFrame()</span></code></a></li>
  76. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11RenderFrameE"><code class="docutils literal notranslate"><span class="pre">bgfx::RenderFrame</span></code></a></li>
  77. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15setPlatformDataERK12PlatformData"><code class="docutils literal notranslate"><span class="pre">setPlatformData()</span></code></a></li>
  78. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12PlatformDataE"><code class="docutils literal notranslate"><span class="pre">bgfx::PlatformData</span></code></a></li>
  79. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15getInternalDataEv"><code class="docutils literal notranslate"><span class="pre">getInternalData()</span></code></a></li>
  80. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12InternalDataE"><code class="docutils literal notranslate"><span class="pre">bgfx::InternalData</span></code></a></li>
  81. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx16overrideInternalE13TextureHandle9uintptr_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">overrideInternal()</span></code></a></li>
  82. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t"><code class="docutils literal notranslate"><span class="pre">overrideInternal()</span></code></a></li>
  83. </ul>
  84. </li>
  85. <li class="toctree-l3"><a class="reference internal" href="#miscellaneous">Miscellaneous</a><ul>
  86. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t"><code class="docutils literal notranslate"><span class="pre">vertexPack()</span></code></a></li>
  87. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t"><code class="docutils literal notranslate"><span class="pre">vertexUnpack()</span></code></a></li>
  88. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t"><code class="docutils literal notranslate"><span class="pre">vertexConvert()</span></code></a></li>
  89. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf"><code class="docutils literal notranslate"><span class="pre">weldVertices()</span></code></a></li>
  90. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15TopologyConvertE"><code class="docutils literal notranslate"><span class="pre">bgfx::TopologyConvert</span></code></a></li>
  91. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb"><code class="docutils literal notranslate"><span class="pre">topologyConvert()</span></code></a></li>
  92. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12TopologySortE"><code class="docutils literal notranslate"><span class="pre">bgfx::TopologySort</span></code></a></li>
  93. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb"><code class="docutils literal notranslate"><span class="pre">topologySortTriList()</span></code></a></li>
  94. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7discardE7uint8_t"><code class="docutils literal notranslate"><span class="pre">discard()</span></code></a></li>
  95. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx5touchE6ViewId"><code class="docutils literal notranslate"><span class="pre">touch()</span></code></a></li>
  96. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_t8uint32_t"><code class="docutils literal notranslate"><span class="pre">setPaletteColor()</span></code></a></li>
  97. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_tAL4E_Kf"><code class="docutils literal notranslate"><span class="pre">setPaletteColor()</span></code></a></li>
  98. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_tffff"><code class="docutils literal notranslate"><span class="pre">setPaletteColor()</span></code></a></li>
  99. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17requestScreenShotE17FrameBufferHandlePKc"><code class="docutils literal notranslate"><span class="pre">requestScreenShot()</span></code></a></li>
  100. </ul>
  101. </li>
  102. </ul>
  103. </li>
  104. <li class="toctree-l2"><a class="reference internal" href="#views">Views</a><ul>
  105. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx11setViewNameE6ViewIdPKc7int32_t"><code class="docutils literal notranslate"><span class="pre">setViewName()</span></code></a></li>
  106. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">setViewRect()</span></code></a></li>
  107. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE"><code class="docutils literal notranslate"><span class="pre">setViewRect()</span></code></a></li>
  108. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">setViewScissor()</span></code></a></li>
  109. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t"><code class="docutils literal notranslate"><span class="pre">setViewClear()</span></code></a></li>
  110. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t"><code class="docutils literal notranslate"><span class="pre">setViewClear()</span></code></a></li>
  111. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx8ViewModeE"><code class="docutils literal notranslate"><span class="pre">bgfx::ViewMode</span></code></a><ul>
  112. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx8ViewMode4EnumE"><code class="docutils literal notranslate"><span class="pre">Enum</span></code></a></li>
  113. </ul>
  114. </li>
  115. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE"><code class="docutils literal notranslate"><span class="pre">setViewMode()</span></code></a></li>
  116. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle"><code class="docutils literal notranslate"><span class="pre">setViewFrameBuffer()</span></code></a></li>
  117. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx16setViewTransformE6ViewIdPKvPKv"><code class="docutils literal notranslate"><span class="pre">setViewTransform()</span></code></a></li>
  118. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId"><code class="docutils literal notranslate"><span class="pre">setViewOrder()</span></code></a></li>
  119. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx11ShadingRateE"><code class="docutils literal notranslate"><span class="pre">bgfx::ShadingRate</span></code></a><ul>
  120. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11ShadingRate4EnumE"><code class="docutils literal notranslate"><span class="pre">Enum</span></code></a></li>
  121. </ul>
  122. </li>
  123. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx18setViewShadingRateE6ViewIdN11ShadingRate4EnumE"><code class="docutils literal notranslate"><span class="pre">setViewShadingRate()</span></code></a></li>
  124. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx9resetViewE6ViewId"><code class="docutils literal notranslate"><span class="pre">resetView()</span></code></a></li>
  125. </ul>
  126. </li>
  127. <li class="toctree-l2"><a class="reference internal" href="#encoder">Encoder</a><ul>
  128. <li class="toctree-l3"><a class="reference internal" href="#id1">Encoder</a><ul>
  129. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx5beginEb"><code class="docutils literal notranslate"><span class="pre">begin()</span></code></a></li>
  130. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx3endEP7Encoder"><code class="docutils literal notranslate"><span class="pre">end()</span></code></a></li>
  131. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7EncoderE"><code class="docutils literal notranslate"><span class="pre">bgfx::Encoder</span></code></a></li>
  132. </ul>
  133. </li>
  134. <li class="toctree-l3"><a class="reference internal" href="#draw">Draw</a><ul>
  135. <li class="toctree-l4"><a class="reference internal" href="#state">State</a></li>
  136. <li class="toctree-l4"><a class="reference internal" href="#id2">Debug</a></li>
  137. <li class="toctree-l4"><a class="reference internal" href="#id3">State</a></li>
  138. <li class="toctree-l4"><a class="reference internal" href="#state-flags">State Flags</a></li>
  139. <li class="toctree-l4"><a class="reference internal" href="#stencil">Stencil</a></li>
  140. <li class="toctree-l4"><a class="reference internal" href="#stencil-flags">Stencil Flags</a></li>
  141. <li class="toctree-l4"><a class="reference internal" href="#scissor">Scissor</a></li>
  142. <li class="toctree-l4"><a class="reference internal" href="#transform">Transform</a></li>
  143. <li class="toctree-l4"><a class="reference internal" href="#conditional-rendering">Conditional Rendering</a></li>
  144. <li class="toctree-l4"><a class="reference internal" href="#buffers">Buffers</a></li>
  145. <li class="toctree-l4"><a class="reference internal" href="#textures">Textures</a></li>
  146. <li class="toctree-l4"><a class="reference internal" href="#uniforms">Uniforms</a></li>
  147. <li class="toctree-l4"><a class="reference internal" href="#submit">Submit</a></li>
  148. </ul>
  149. </li>
  150. <li class="toctree-l3"><a class="reference internal" href="#compute">Compute</a><ul>
  151. <li class="toctree-l4"><a class="reference internal" href="#id4">Buffers</a></li>
  152. <li class="toctree-l4"><a class="reference internal" href="#images">Images</a></li>
  153. <li class="toctree-l4"><a class="reference internal" href="#dispatch">Dispatch</a></li>
  154. </ul>
  155. </li>
  156. <li class="toctree-l3"><a class="reference internal" href="#blit">Blit</a><ul>
  157. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">blit()</span></code></a></li>
  158. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">blit()</span></code></a></li>
  159. </ul>
  160. </li>
  161. </ul>
  162. </li>
  163. <li class="toctree-l2"><a class="reference internal" href="#resources">Resources</a><ul>
  164. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE"><code class="docutils literal notranslate"><span class="pre">bgfx::Memory</span></code></a><ul>
  165. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx6Memory4dataE"><code class="docutils literal notranslate"><span class="pre">data</span></code></a></li>
  166. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx6Memory4sizeE"><code class="docutils literal notranslate"><span class="pre">size</span></code></a></li>
  167. </ul>
  168. </li>
  169. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx5allocE8uint32_t"><code class="docutils literal notranslate"><span class="pre">alloc()</span></code></a></li>
  170. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx4copyEPKv8uint32_t"><code class="docutils literal notranslate"><span class="pre">copy()</span></code></a></li>
  171. <li class="toctree-l3"><a class="reference internal" href="#_CPPv4N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv"><code class="docutils literal notranslate"><span class="pre">makeRef()</span></code></a></li>
  172. <li class="toctree-l3"><a class="reference internal" href="#shaders-and-programs">Shaders and Programs</a><ul>
  173. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12createShaderEPK6Memory"><code class="docutils literal notranslate"><span class="pre">createShader()</span></code></a></li>
  174. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t"><code class="docutils literal notranslate"><span class="pre">getShaderUniforms()</span></code></a></li>
  175. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE12ShaderHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  176. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13createProgramE12ShaderHandle12ShaderHandleb"><code class="docutils literal notranslate"><span class="pre">createProgram()</span></code></a></li>
  177. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13createProgramE12ShaderHandleb"><code class="docutils literal notranslate"><span class="pre">createProgram()</span></code></a></li>
  178. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE13ProgramHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  179. </ul>
  180. </li>
  181. <li class="toctree-l3"><a class="reference internal" href="#id5">Uniforms</a><ul>
  182. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11UniformTypeE"><code class="docutils literal notranslate"><span class="pre">bgfx::UniformType</span></code></a></li>
  183. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t"><code class="docutils literal notranslate"><span class="pre">createUniform()</span></code></a></li>
  184. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11UniformFreqE"><code class="docutils literal notranslate"><span class="pre">bgfx::UniformFreq</span></code></a></li>
  185. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13createUniformEPKcN11UniformFreq4EnumEN11UniformType4EnumE8uint16_t"><code class="docutils literal notranslate"><span class="pre">createUniform()</span></code></a></li>
  186. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11UniformInfoE"><code class="docutils literal notranslate"><span class="pre">bgfx::UniformInfo</span></code></a></li>
  187. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo"><code class="docutils literal notranslate"><span class="pre">getUniformInfo()</span></code></a></li>
  188. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE13UniformHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  189. </ul>
  190. </li>
  191. <li class="toctree-l3"><a class="reference internal" href="#vertex-buffers">Vertex Buffers</a><ul>
  192. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx18createVertexLayoutERK12VertexLayout"><code class="docutils literal notranslate"><span class="pre">createVertexLayout()</span></code></a></li>
  193. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE18VertexLayoutHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  194. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"><code class="docutils literal notranslate"><span class="pre">createVertexBuffer()</span></code></a></li>
  195. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7setNameE18VertexBufferHandlePKc7int32_t"><code class="docutils literal notranslate"><span class="pre">setName()</span></code></a></li>
  196. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE18VertexBufferHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  197. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE"><code class="docutils literal notranslate"><span class="pre">bgfx::VertexLayout</span></code></a></li>
  198. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx6AttribE"><code class="docutils literal notranslate"><span class="pre">bgfx::Attrib</span></code></a></li>
  199. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx10AttribTypeE"><code class="docutils literal notranslate"><span class="pre">bgfx::AttribType</span></code></a></li>
  200. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t"><code class="docutils literal notranslate"><span class="pre">createDynamicVertexBuffer()</span></code></a></li>
  201. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"><code class="docutils literal notranslate"><span class="pre">createDynamicVertexBuffer()</span></code></a></li>
  202. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory"><code class="docutils literal notranslate"><span class="pre">update()</span></code></a></li>
  203. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE25DynamicVertexBufferHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  204. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout"><code class="docutils literal notranslate"><span class="pre">getAvailTransientVertexBuffer()</span></code></a></li>
  205. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout"><code class="docutils literal notranslate"><span class="pre">allocTransientVertexBuffer()</span></code></a></li>
  206. </ul>
  207. </li>
  208. <li class="toctree-l3"><a class="reference internal" href="#index-buffers">Index Buffers</a><ul>
  209. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createIndexBufferEPK6Memory8uint16_t"><code class="docutils literal notranslate"><span class="pre">createIndexBuffer()</span></code></a></li>
  210. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7setNameE17IndexBufferHandlePKc7int32_t"><code class="docutils literal notranslate"><span class="pre">setName()</span></code></a></li>
  211. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE17IndexBufferHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  212. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">createDynamicIndexBuffer()</span></code></a></li>
  213. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t"><code class="docutils literal notranslate"><span class="pre">createDynamicIndexBuffer()</span></code></a></li>
  214. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory"><code class="docutils literal notranslate"><span class="pre">update()</span></code></a></li>
  215. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE24DynamicIndexBufferHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  216. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx28getAvailTransientIndexBufferE8uint32_tb"><code class="docutils literal notranslate"><span class="pre">getAvailTransientIndexBuffer()</span></code></a></li>
  217. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb"><code class="docutils literal notranslate"><span class="pre">allocTransientIndexBuffer()</span></code></a></li>
  218. </ul>
  219. </li>
  220. <li class="toctree-l3"><a class="reference internal" href="#id6">Textures</a><ul>
  221. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE"><code class="docutils literal notranslate"><span class="pre">bgfx::TextureFormat</span></code></a></li>
  222. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_MSAA_SAMPLE"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_MSAA_SAMPLE</span></code></a></li>
  223. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_RT"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_RT</span></code></a></li>
  224. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_COMPUTE_WRITE"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_COMPUTE_WRITE</span></code></a></li>
  225. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_SRGB"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_SRGB</span></code></a></li>
  226. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_BLIT_DST"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code></a></li>
  227. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_READ_BACK"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_READ_BACK</span></code></a></li>
  228. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_RT_MSAA_X2"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_RT_MSAA_X2</span></code></a></li>
  229. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_RT_MSAA_X4"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_RT_MSAA_X4</span></code></a></li>
  230. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_RT_MSAA_X8"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_RT_MSAA_X8</span></code></a></li>
  231. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_RT_MSAA_X16"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_RT_MSAA_X16</span></code></a></li>
  232. <li class="toctree-l4"><a class="reference internal" href="#c.BGFX_TEXTURE_RT_WRITE_ONLY"><code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_RT_WRITE_ONLY</span></code></a></li>
  233. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t"><code class="docutils literal notranslate"><span class="pre">isTextureValid()</span></code></a></li>
  234. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11TextureInfoE"><code class="docutils literal notranslate"><span class="pre">bgfx::TextureInfo</span></code></a></li>
  235. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE"><code class="docutils literal notranslate"><span class="pre">calcTextureSize()</span></code></a></li>
  236. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo"><code class="docutils literal notranslate"><span class="pre">createTexture()</span></code></a></li>
  237. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"><code class="docutils literal notranslate"><span class="pre">createTexture2D()</span></code></a></li>
  238. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t"><code class="docutils literal notranslate"><span class="pre">createTexture2D()</span></code></a></li>
  239. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"><code class="docutils literal notranslate"><span class="pre">updateTexture2D()</span></code></a></li>
  240. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory"><code class="docutils literal notranslate"><span class="pre">createTexture3D()</span></code></a></li>
  241. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory"><code class="docutils literal notranslate"><span class="pre">updateTexture3D()</span></code></a></li>
  242. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"><code class="docutils literal notranslate"><span class="pre">createTextureCube()</span></code></a></li>
  243. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"><code class="docutils literal notranslate"><span class="pre">updateTextureCube()</span></code></a></li>
  244. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx11readTextureE13TextureHandlePv7uint8_t"><code class="docutils literal notranslate"><span class="pre">readTexture()</span></code></a></li>
  245. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx18getDirectAccessPtrE13TextureHandle"><code class="docutils literal notranslate"><span class="pre">getDirectAccessPtr()</span></code></a></li>
  246. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE13TextureHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  247. </ul>
  248. </li>
  249. <li class="toctree-l3"><a class="reference internal" href="#frame-buffers">Frame Buffers</a><ul>
  250. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx10AttachmentE"><code class="docutils literal notranslate"><span class="pre">bgfx::Attachment</span></code></a></li>
  251. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx18isFrameBufferValidE7uint8_tPK10Attachment"><code class="docutils literal notranslate"><span class="pre">isFrameBufferValid()</span></code></a></li>
  252. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t"><code class="docutils literal notranslate"><span class="pre">createFrameBuffer()</span></code></a></li>
  253. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t"><code class="docutils literal notranslate"><span class="pre">createFrameBuffer()</span></code></a></li>
  254. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb"><code class="docutils literal notranslate"><span class="pre">createFrameBuffer()</span></code></a></li>
  255. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE"><code class="docutils literal notranslate"><span class="pre">createFrameBuffer()</span></code></a></li>
  256. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb"><code class="docutils literal notranslate"><span class="pre">createFrameBuffer()</span></code></a></li>
  257. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx10getTextureE17FrameBufferHandle7uint8_t"><code class="docutils literal notranslate"><span class="pre">getTexture()</span></code></a></li>
  258. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7setNameE17FrameBufferHandlePKc7int32_t"><code class="docutils literal notranslate"><span class="pre">setName()</span></code></a></li>
  259. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE17FrameBufferHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  260. </ul>
  261. </li>
  262. <li class="toctree-l3"><a class="reference internal" href="#instance-buffer">Instance Buffer</a><ul>
  263. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">getAvailInstanceDataBuffer()</span></code></a></li>
  264. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t"><code class="docutils literal notranslate"><span class="pre">allocInstanceDataBuffer()</span></code></a></li>
  265. </ul>
  266. </li>
  267. <li class="toctree-l3"><a class="reference internal" href="#indirect-buffer">Indirect Buffer</a><ul>
  268. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx20createIndirectBufferE8uint32_t"><code class="docutils literal notranslate"><span class="pre">createIndirectBuffer()</span></code></a></li>
  269. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE20IndirectBufferHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  270. </ul>
  271. </li>
  272. <li class="toctree-l3"><a class="reference internal" href="#occlusion-query">Occlusion Query</a><ul>
  273. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx20createOcclusionQueryEv"><code class="docutils literal notranslate"><span class="pre">createOcclusionQuery()</span></code></a></li>
  274. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx20OcclusionQueryResultE"><code class="docutils literal notranslate"><span class="pre">bgfx::OcclusionQueryResult</span></code></a></li>
  275. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx9getResultE20OcclusionQueryHandleP7int32_t"><code class="docutils literal notranslate"><span class="pre">getResult()</span></code></a></li>
  276. <li class="toctree-l4"><a class="reference internal" href="#_CPPv4N4bgfx7destroyE20OcclusionQueryHandle"><code class="docutils literal notranslate"><span class="pre">destroy()</span></code></a></li>
  277. </ul>
  278. </li>
  279. </ul>
  280. </li>
  281. </ul>
  282. </li>
  283. <li class="toctree-l1"><a class="reference internal" href="tools.html">Tools</a></li>
  284. <li class="toctree-l1"><a class="reference internal" href="internals.html">Internals</a></li>
  285. <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
  286. </ul>
  287. </div>
  288. </div>
  289. </nav>
  290. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
  291. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  292. <a href="index.html">bgfx</a>
  293. </nav>
  294. <div class="wy-nav-content">
  295. <div class="rst-content">
  296. <div role="navigation" aria-label="Page navigation">
  297. <ul class="wy-breadcrumbs">
  298. <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
  299. <li class="breadcrumb-item active">API Reference</li>
  300. <li class="wy-breadcrumbs-aside">
  301. </li>
  302. </ul>
  303. <hr/>
  304. </div>
  305. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  306. <div itemprop="articleBody">
  307. <section id="api-reference">
  308. <h1>API Reference<a class="headerlink" href="#api-reference" title="Link to this heading"></a></h1>
  309. <div class="admonition note">
  310. <p class="admonition-title">Note</p>
  311. <p>If you’re just getting started with bgfx, you might get more out of these simple walkthroughs for how to use bgfx’s API:</p>
  312. <ul class="simple">
  313. <li><p><a class="reference external" href="https://dev.to/pperon/hello-bgfx-4dka">Hello, bgfx! (tutorial)</a></p></li>
  314. <li><p><a class="reference external" href="https://github.com/jpcy/bgfx-minimal-example#bgfx-minimal-example">bgfx-minimal-example (repo on GitHub)</a></p></li>
  315. <li><p><a class="reference external" href="https://www.sandeepnambiar.com/getting-started-with-bgfx/">Using the bgfx library with C++ on Ubuntu (tutorial)</a></p></li>
  316. <li><p><a class="reference external" href="https://www.youtube.com/playlist?list=PLwFtWV3PS6y_oTOfHjbE0Zk8N9_QuQlHy">Getting started with BGFX (playlist on Youtube)</a></p></li>
  317. <li><p><a class="reference external" href="https://github.com/gamecoder-nz/Getting-Started-With-BGFX">Getting started with BGFX (repo on GitHub)</a></p></li>
  318. </ul>
  319. </div>
  320. <section id="general">
  321. <h2>General<a class="headerlink" href="#general" title="Link to this heading"></a></h2>
  322. <section id="initialization-and-shutdown">
  323. <h3>Initialization and Shutdown<a class="headerlink" href="#initialization-and-shutdown" title="Link to this heading"></a></h3>
  324. <dl class="cpp struct">
  325. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4InitE">
  326. <span id="_CPPv3N4bgfx4InitE"></span><span id="_CPPv2N4bgfx4InitE"></span><span id="bgfx::Init"></span><span class="target" id="structbgfx_1_1_init"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Init</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4InitE" title="Link to this definition"></a><br /></dt>
  327. <dd><p>Initialization parameters used by <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref"><span class="pre">bgfx::init</span></span></a></code>. </p>
  328. <p><dl class="simple">
  329. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_init_t</span></code>. </p>
  330. </dd>
  331. </dl>
  332. </p>
  333. <div class="breathe-sectiondef docutils container">
  334. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  335. <dl class="cpp var">
  336. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init4typeE">
  337. <span id="_CPPv3N4bgfx4Init4typeE"></span><span id="_CPPv2N4bgfx4Init4typeE"></span><span id="bgfx::Init::type__RendererType::Enum"></span><span class="target" id="structbgfx_1_1_init_1a7f399f062439826992e17e095837efa3"></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType"><span class="n"><span class="pre">RendererType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">type</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init4typeE" title="Link to this definition"></a><br /></dt>
  338. <dd><p>Select rendering backend. When set to RendererType::Count a default rendering backend will be selected appropriate to the platform. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_renderer_type"><span class="std std-ref"><span class="pre">bgfx::RendererType</span></span></a></code></p>
  339. </dd></dl>
  340. <dl class="cpp var">
  341. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init8vendorIdE">
  342. <span id="_CPPv3N4bgfx4Init8vendorIdE"></span><span id="_CPPv2N4bgfx4Init8vendorIdE"></span><span id="bgfx::Init::vendorId__uint16_t"></span><span class="target" id="structbgfx_1_1_init_1a95acf1a68426ecd7192d6cdf93e02e83"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">vendorId</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init8vendorIdE" title="Link to this definition"></a><br /></dt>
  343. <dd><p>Vendor PCI ID. If set to <code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NONE</span></code>, discrete and integrated GPUs will be prioritised. </p>
  344. <p><ul class="simple">
  345. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NONE</span></code> - Auto-select adapter.</p></li>
  346. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_SOFTWARE_RASTERIZER</span></code> - Software rasterizer.</p></li>
  347. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_AMD</span></code> - AMD adapter.</p></li>
  348. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_APPLE</span></code> - Apple adapter.</p></li>
  349. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_INTEL</span></code> - Intel adapter.</p></li>
  350. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_NVIDIA</span></code> - NVIDIA adapter.</p></li>
  351. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_MICROSOFT</span></code> - Microsoft adapter. </p></li>
  352. </ul>
  353. </p>
  354. </dd></dl>
  355. <dl class="cpp var">
  356. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init8deviceIdE">
  357. <span id="_CPPv3N4bgfx4Init8deviceIdE"></span><span id="_CPPv2N4bgfx4Init8deviceIdE"></span><span id="bgfx::Init::deviceId__uint16_t"></span><span class="target" id="structbgfx_1_1_init_1a60ff2d3dd1ccdae79ef96a62eb1bf5e0"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">deviceId</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init8deviceIdE" title="Link to this definition"></a><br /></dt>
  358. <dd><p>Device ID. If set to 0 it will select first device, or device with matching ID. </p>
  359. </dd></dl>
  360. <dl class="cpp var">
  361. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init12capabilitiesE">
  362. <span id="_CPPv3N4bgfx4Init12capabilitiesE"></span><span id="_CPPv2N4bgfx4Init12capabilitiesE"></span><span id="bgfx::Init::capabilities__uint64_t"></span><span class="target" id="structbgfx_1_1_init_1ac3a18241d5e9407316390d3c7d523844"></span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">capabilities</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init12capabilitiesE" title="Link to this definition"></a><br /></dt>
  363. <dd><p>Capabilities initialization mask (default: UINT64_MAX). </p>
  364. </dd></dl>
  365. <dl class="cpp var">
  366. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init5debugE">
  367. <span id="_CPPv3N4bgfx4Init5debugE"></span><span id="_CPPv2N4bgfx4Init5debugE"></span><span id="bgfx::Init::debug__b"></span><span class="target" id="structbgfx_1_1_init_1a3fc874cff90fe5c279356e92a306f022"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">debug</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init5debugE" title="Link to this definition"></a><br /></dt>
  368. <dd><p>Enable device for debugging. </p>
  369. </dd></dl>
  370. <dl class="cpp var">
  371. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init7profileE">
  372. <span id="_CPPv3N4bgfx4Init7profileE"></span><span id="_CPPv2N4bgfx4Init7profileE"></span><span id="bgfx::Init::profile__b"></span><span class="target" id="structbgfx_1_1_init_1a5cf66d060d59a5e1e55147e3d75d32fe"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">profile</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init7profileE" title="Link to this definition"></a><br /></dt>
  373. <dd><p>Enable device for profiling. </p>
  374. </dd></dl>
  375. <dl class="cpp var">
  376. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init8fallbackE">
  377. <span id="_CPPv3N4bgfx4Init8fallbackE"></span><span id="_CPPv2N4bgfx4Init8fallbackE"></span><span id="bgfx::Init::fallback__b"></span><span class="target" id="structbgfx_1_1_init_1aefe6e75e932796ecae19dead24ba6e1a"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fallback</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init8fallbackE" title="Link to this definition"></a><br /></dt>
  378. <dd><p>Enable fallback to next available renderer. </p>
  379. </dd></dl>
  380. <dl class="cpp var">
  381. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init12platformDataE">
  382. <span id="_CPPv3N4bgfx4Init12platformDataE"></span><span id="_CPPv2N4bgfx4Init12platformDataE"></span><span id="bgfx::Init::platformData__PlatformData"></span><span class="target" id="structbgfx_1_1_init_1a45c9bd57be8ff9a4ecd1fc180d8526c9"></span><a class="reference internal" href="#_CPPv4N4bgfx12PlatformDataE" title="bgfx::PlatformData"><span class="n"><span class="pre">PlatformData</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">platformData</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init12platformDataE" title="Link to this definition"></a><br /></dt>
  383. <dd><p>Platform data. </p>
  384. </dd></dl>
  385. <dl class="cpp var">
  386. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init10resolutionE">
  387. <span id="_CPPv3N4bgfx4Init10resolutionE"></span><span id="_CPPv2N4bgfx4Init10resolutionE"></span><span id="bgfx::Init::resolution__Resolution"></span><span class="target" id="structbgfx_1_1_init_1a12f9e2f7f7a8514e1bd58a8aee137b1a"></span><a class="reference internal" href="#_CPPv4N4bgfx10ResolutionE" title="bgfx::Resolution"><span class="n"><span class="pre">Resolution</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">resolution</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init10resolutionE" title="Link to this definition"></a><br /></dt>
  388. <dd><p>Backbuffer resolution and reset parameters. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_resolution"><span class="std std-ref"><span class="pre">bgfx::Resolution</span></span></a></code>. </p>
  389. </dd></dl>
  390. <dl class="cpp var">
  391. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6limitsE">
  392. <span id="_CPPv3N4bgfx4Init6limitsE"></span><span id="_CPPv2N4bgfx4Init6limitsE"></span><span id="bgfx::Init::limits__Limits"></span><span class="target" id="structbgfx_1_1_init_1ac76769c4c0d9d1fbe4eeb5b652cb35d3"></span><a class="reference internal" href="#_CPPv4N4bgfx4Init6LimitsE" title="bgfx::Init::Limits"><span class="n"><span class="pre">Limits</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">limits</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6limitsE" title="Link to this definition"></a><br /></dt>
  393. <dd><p>Configurable runtime limits. </p>
  394. </dd></dl>
  395. <dl class="cpp var">
  396. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init8callbackE">
  397. <span id="_CPPv3N4bgfx4Init8callbackE"></span><span id="_CPPv2N4bgfx4Init8callbackE"></span><span id="bgfx::Init::callback__CallbackIP"></span><span class="target" id="structbgfx_1_1_init_1ae9d15764a47018bbe634615fff85ffd9"></span><a class="reference internal" href="#_CPPv4N4bgfx9CallbackIE" title="bgfx::CallbackI"><span class="n"><span class="pre">CallbackI</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">callback</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init8callbackE" title="Link to this definition"></a><br /></dt>
  398. <dd><p>Provide application specific callback interface. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i"><span class="std std-ref"><span class="pre">bgfx::CallbackI</span></span></a></code></p>
  399. </dd></dl>
  400. <dl class="cpp var">
  401. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init9allocatorE">
  402. <span id="_CPPv3N4bgfx4Init9allocatorE"></span><span id="_CPPv2N4bgfx4Init9allocatorE"></span><span id="bgfx::Init::allocator__bx::AllocatorIP"></span><span class="target" id="structbgfx_1_1_init_1a68cecb542d9c6d5bd6de99427e00bccd"></span><span class="n"><span class="pre">bx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">AllocatorI</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">allocator</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init9allocatorE" title="Link to this definition"></a><br /></dt>
  403. <dd><p>Custom allocator. When a custom allocator is not specified, bgfx uses the CRT allocator. Bgfx assumes custom allocator is thread safe. </p>
  404. </dd></dl>
  405. </div>
  406. <dl class="cpp struct">
  407. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6LimitsE">
  408. <span id="_CPPv3N4bgfx4Init6LimitsE"></span><span id="_CPPv2N4bgfx4Init6LimitsE"></span><span id="bgfx::Init::Limits"></span><span class="target" id="structbgfx_1_1_init_1_1_limits"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Limits</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6LimitsE" title="Link to this definition"></a><br /></dt>
  409. <dd><p>Configurable runtime limits parameters. </p>
  410. <p><dl class="simple">
  411. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_init_limits_t</span></code>. </p>
  412. </dd>
  413. </dl>
  414. </p>
  415. <div class="breathe-sectiondef docutils container">
  416. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  417. <dl class="cpp var">
  418. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6Limits11maxEncodersE">
  419. <span id="_CPPv3N4bgfx4Init6Limits11maxEncodersE"></span><span id="_CPPv2N4bgfx4Init6Limits11maxEncodersE"></span><span id="bgfx::Init::Limits::maxEncoders__uint16_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1ab5612e1f4040bfafdc409f09cc1b38d1"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxEncoders</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits11maxEncodersE" title="Link to this definition"></a><br /></dt>
  420. <dd><p>Maximum number of encoder threads. </p>
  421. </dd></dl>
  422. <dl class="cpp var">
  423. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6Limits17minResourceCbSizeE">
  424. <span id="_CPPv3N4bgfx4Init6Limits17minResourceCbSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits17minResourceCbSizeE"></span><span id="bgfx::Init::Limits::minResourceCbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a37fa7f94ed381d6fdcdcf0cc8b48e6b3"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">minResourceCbSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits17minResourceCbSizeE" title="Link to this definition"></a><br /></dt>
  425. <dd><p>Minimum resource command buffer size. </p>
  426. </dd></dl>
  427. <dl class="cpp var">
  428. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6Limits18maxTransientVbSizeE">
  429. <span id="_CPPv3N4bgfx4Init6Limits18maxTransientVbSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits18maxTransientVbSizeE"></span><span id="bgfx::Init::Limits::maxTransientVbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a898b3630090c8c395c71e3c1760daf8f"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTransientVbSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits18maxTransientVbSizeE" title="Link to this definition"></a><br /></dt>
  430. <dd><p>Maximum transient vertex buffer size. </p>
  431. </dd></dl>
  432. <dl class="cpp var">
  433. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6Limits18maxTransientIbSizeE">
  434. <span id="_CPPv3N4bgfx4Init6Limits18maxTransientIbSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits18maxTransientIbSizeE"></span><span id="bgfx::Init::Limits::maxTransientIbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a156790fca5081eade06d8df4d7f0f82d"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTransientIbSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits18maxTransientIbSizeE" title="Link to this definition"></a><br /></dt>
  435. <dd><p>Maximum transient index buffer size. </p>
  436. </dd></dl>
  437. <dl class="cpp var">
  438. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Init6Limits20minUniformBufferSizeE">
  439. <span id="_CPPv3N4bgfx4Init6Limits20minUniformBufferSizeE"></span><span id="_CPPv2N4bgfx4Init6Limits20minUniformBufferSizeE"></span><span id="bgfx::Init::Limits::minUniformBufferSize__uint32_t"></span><span class="target" id="structbgfx_1_1_init_1_1_limits_1a851ca87f9a55d8209b30d0b85883e46e"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">minUniformBufferSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Init6Limits20minUniformBufferSizeE" title="Link to this definition"></a><br /></dt>
  440. <dd><p>Mimimum uniform buffer size. </p>
  441. </dd></dl>
  442. </div>
  443. </dd></dl>
  444. </dd></dl>
  445. <dl class="cpp struct">
  446. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10ResolutionE">
  447. <span id="_CPPv3N4bgfx10ResolutionE"></span><span id="_CPPv2N4bgfx10ResolutionE"></span><span id="bgfx::Resolution"></span><span class="target" id="structbgfx_1_1_resolution"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Resolution</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10ResolutionE" title="Link to this definition"></a><br /></dt>
  448. <dd><p>Backbuffer resolution and reset parameters. </p>
  449. <p><dl class="simple">
  450. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_resolution_t</span></code>. </p>
  451. </dd>
  452. </dl>
  453. </p>
  454. <div class="breathe-sectiondef docutils container">
  455. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  456. <dl class="cpp var">
  457. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution11formatColorE">
  458. <span id="_CPPv3N4bgfx10Resolution11formatColorE"></span><span id="_CPPv2N4bgfx10Resolution11formatColorE"></span><span id="bgfx::Resolution::formatColor__TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_resolution_1aec419d2a7004aac30fcb35b2e6c7f9fe"></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">formatColor</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution11formatColorE" title="Link to this definition"></a><br /></dt>
  459. <dd><p>Backbuffer color format. </p>
  460. </dd></dl>
  461. <dl class="cpp var">
  462. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution18formatDepthStencilE">
  463. <span id="_CPPv3N4bgfx10Resolution18formatDepthStencilE"></span><span id="_CPPv2N4bgfx10Resolution18formatDepthStencilE"></span><span id="bgfx::Resolution::formatDepthStencil__TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_resolution_1a86c98f326c0cfd5aa4e6f21234bd3cde"></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">formatDepthStencil</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution18formatDepthStencilE" title="Link to this definition"></a><br /></dt>
  464. <dd><p>Backbuffer depth/stencil format. </p>
  465. </dd></dl>
  466. <dl class="cpp var">
  467. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution5widthE">
  468. <span id="_CPPv3N4bgfx10Resolution5widthE"></span><span id="_CPPv2N4bgfx10Resolution5widthE"></span><span id="bgfx::Resolution::width__uint32_t"></span><span class="target" id="structbgfx_1_1_resolution_1ad310354c75d3b7319ecfeb637b8755d6"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">width</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution5widthE" title="Link to this definition"></a><br /></dt>
  469. <dd><p>Backbuffer width. </p>
  470. </dd></dl>
  471. <dl class="cpp var">
  472. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution6heightE">
  473. <span id="_CPPv3N4bgfx10Resolution6heightE"></span><span id="_CPPv2N4bgfx10Resolution6heightE"></span><span id="bgfx::Resolution::height__uint32_t"></span><span class="target" id="structbgfx_1_1_resolution_1a08cb2efb1e931b334bfbf376a8aa9198"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">height</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution6heightE" title="Link to this definition"></a><br /></dt>
  474. <dd><p>Backbuffer height. </p>
  475. </dd></dl>
  476. <dl class="cpp var">
  477. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution5resetE">
  478. <span id="_CPPv3N4bgfx10Resolution5resetE"></span><span id="_CPPv2N4bgfx10Resolution5resetE"></span><span id="bgfx::Resolution::reset__uint32_t"></span><span class="target" id="structbgfx_1_1_resolution_1a312be1875802ea5a0b09aafb1f99e1cd"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">reset</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution5resetE" title="Link to this definition"></a><br /></dt>
  479. <dd><p>Reset parameters. </p>
  480. </dd></dl>
  481. <dl class="cpp var">
  482. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution14numBackBuffersE">
  483. <span id="_CPPv3N4bgfx10Resolution14numBackBuffersE"></span><span id="_CPPv2N4bgfx10Resolution14numBackBuffersE"></span><span id="bgfx::Resolution::numBackBuffers__uint8_t"></span><span class="target" id="structbgfx_1_1_resolution_1a12a5dd8b75d88438a2d0b75ad90cef97"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numBackBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution14numBackBuffersE" title="Link to this definition"></a><br /></dt>
  484. <dd><p>Number of back buffers. </p>
  485. </dd></dl>
  486. <dl class="cpp var">
  487. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution15maxFrameLatencyE">
  488. <span id="_CPPv3N4bgfx10Resolution15maxFrameLatencyE"></span><span id="_CPPv2N4bgfx10Resolution15maxFrameLatencyE"></span><span id="bgfx::Resolution::maxFrameLatency__uint8_t"></span><span class="target" id="structbgfx_1_1_resolution_1a3e7f134dc8917547a41a83946311e4fe"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxFrameLatency</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution15maxFrameLatencyE" title="Link to this definition"></a><br /></dt>
  489. <dd><p>Maximum frame latency. </p>
  490. </dd></dl>
  491. <dl class="cpp var">
  492. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Resolution14debugTextScaleE">
  493. <span id="_CPPv3N4bgfx10Resolution14debugTextScaleE"></span><span id="_CPPv2N4bgfx10Resolution14debugTextScaleE"></span><span id="bgfx::Resolution::debugTextScale__uint8_t"></span><span class="target" id="structbgfx_1_1_resolution_1a10271388c5e775ca3d1c3c72124582bf"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">debugTextScale</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Resolution14debugTextScaleE" title="Link to this definition"></a><br /></dt>
  494. <dd><p>Scale factor for debug text. </p>
  495. </dd></dl>
  496. </div>
  497. </dd></dl>
  498. <dl class="cpp function">
  499. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4initERK4Init">
  500. <span id="_CPPv3N4bgfx4initERK4Init"></span><span id="_CPPv2N4bgfx4initERK4Init"></span><span id="bgfx::init__InitCR"></span><span class="target" id="namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">init</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx4InitE" title="bgfx::Init"><span class="n"><span class="pre">Init</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_init</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4initERK4Init" title="Link to this definition"></a><br /></dt>
  501. <dd><p>Initialize the bgfx library. </p>
  502. <p><dl class="simple">
  503. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_init</span></code>. </p>
  504. </dd>
  505. </dl>
  506. </p>
  507. <dl class="field-list simple">
  508. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  509. <dd class="field-odd"><p><strong>_init</strong> – <strong>[in]</strong> Initialization parameters. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_init"><span class="std std-ref"><span class="pre">bgfx::Init</span></span></a></code> for more info.</p>
  510. </dd>
  511. <dt class="field-even">Returns<span class="colon">:</span></dt>
  512. <dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">true</span></code> if initialization was successful.</p>
  513. </dd>
  514. </dl>
  515. </dd></dl>
  516. <dl class="cpp macro">
  517. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_NONE">
  518. <span class="target" id="defines_8h_1a92e8db81cd0b751a6abecfd7c1977b61"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_NONE</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_NONE" title="Link to this definition"></a><br /></dt>
  519. <dd><p>Autoselect adapter. </p>
  520. </dd></dl>
  521. <dl class="cpp macro">
  522. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_SOFTWARE_RASTERIZER">
  523. <span class="target" id="defines_8h_1af687d309fb08a21af41cb61dcc17663f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_SOFTWARE_RASTERIZER</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_SOFTWARE_RASTERIZER" title="Link to this definition"></a><br /></dt>
  524. <dd><p>Software rasterizer. </p>
  525. </dd></dl>
  526. <dl class="cpp macro">
  527. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_AMD">
  528. <span class="target" id="defines_8h_1a98a003376c4fac2e111a2778578660cb"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_AMD</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_AMD" title="Link to this definition"></a><br /></dt>
  529. <dd><p>AMD adapter. </p>
  530. </dd></dl>
  531. <dl class="cpp macro">
  532. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_APPLE">
  533. <span class="target" id="defines_8h_1a2478074075bc43cdd19fef17af04a99e"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_APPLE</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_APPLE" title="Link to this definition"></a><br /></dt>
  534. <dd><p>Apple adapter. </p>
  535. </dd></dl>
  536. <dl class="cpp macro">
  537. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_INTEL">
  538. <span class="target" id="defines_8h_1a2f3ca85ec971d2a6e98f63b60de61755"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_INTEL</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_INTEL" title="Link to this definition"></a><br /></dt>
  539. <dd><p>Intel adapter. </p>
  540. </dd></dl>
  541. <dl class="cpp macro">
  542. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_NVIDIA">
  543. <span class="target" id="defines_8h_1a19a4997d1bcf83055bfd3bf8274b593b"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_NVIDIA</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_NVIDIA" title="Link to this definition"></a><br /></dt>
  544. <dd><p>nVidia adapter. </p>
  545. </dd></dl>
  546. <dl class="cpp macro">
  547. <dt class="sig sig-object cpp" id="c.BGFX_PCI_ID_MICROSOFT">
  548. <span class="target" id="defines_8h_1a8f1222df21869f3b38de871f2bc5b276"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_PCI_ID_MICROSOFT</span></span></span><a class="headerlink" href="#c.BGFX_PCI_ID_MICROSOFT" title="Link to this definition"></a><br /></dt>
  549. <dd><p>Microsoft adapter. </p>
  550. </dd></dl>
  551. <dl class="cpp struct">
  552. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackIE">
  553. <span id="_CPPv3N4bgfx9CallbackIE"></span><span id="_CPPv2N4bgfx9CallbackIE"></span><span id="bgfx::CallbackI"></span><span class="target" id="structbgfx_1_1_callback_i"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">CallbackI</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackIE" title="Link to this definition"></a><br /></dt>
  554. <dd><p>Callback interface to implement application specific behavior. Cached items are currently used for OpenGL and Direct3D 12 binary shaders. </p>
  555. <p><div class="remark admonition">
  556. <p class="admonition-title">Remark</p>
  557. <p>’fatal’ and ‘trace’ callbacks can be called from any thread. Other callbacks are called from the render thread.</p>
  558. </div>
  559. <dl class="simple">
  560. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_interface_t</span></code>. </p>
  561. </dd>
  562. </dl>
  563. </p>
  564. <div class="breathe-sectiondef docutils container">
  565. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
  566. <dl class="cpp function">
  567. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc">
  568. <span id="_CPPv3N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc"></span><span id="_CPPv2N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc"></span><span id="bgfx::CallbackI::fatal__cCP.uint16_t.Fatal::Enum.cCP"></span><span class="target" id="structbgfx_1_1_callback_i_1af6da8564f008e91fddf441175d18850b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fatal</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_filePath</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_line</span></span>, <span class="n"><span class="pre">Fatal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Enum</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_code</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_str</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI5fatalEPKc8uint16_tN5Fatal4EnumEPKc" title="Link to this definition"></a><br /></dt>
  569. <dd><p>This callback is called on unrecoverable errors. It’s not safe to continue (Excluding _code <code class="docutils literal notranslate"><span class="pre">Fatal::DebugCheck</span></code>), inform the user and terminate the application. </p>
  570. <p><div class="remark admonition">
  571. <p class="admonition-title">Remark</p>
  572. <p>Not thread safe and it can be called from any thread.</p>
  573. </div>
  574. <dl class="simple">
  575. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.fatal</span></code>. </p>
  576. </dd>
  577. </dl>
  578. </p>
  579. <dl class="field-list simple">
  580. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  581. <dd class="field-odd"><ul class="simple">
  582. <li><p><strong>_filePath</strong> – <strong>[in]</strong> File path where fatal message was generated. </p></li>
  583. <li><p><strong>_line</strong> – <strong>[in]</strong> Line where fatal message was generated. </p></li>
  584. <li><p><strong>_code</strong> – <strong>[in]</strong> Fatal error code. </p></li>
  585. <li><p><strong>_str</strong> – <strong>[in]</strong> More information about error.</p></li>
  586. </ul>
  587. </dd>
  588. </dl>
  589. </dd></dl>
  590. <dl class="cpp function">
  591. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list">
  592. <span id="_CPPv3N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list"></span><span id="_CPPv2N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list"></span><span id="bgfx::CallbackI::traceVargs__cCP.uint16_t.cCP.va_list"></span><span class="target" id="structbgfx_1_1_callback_i_1a55bde1947f1347a2c9360824d08314da"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">traceVargs</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_filePath</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_line</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">va_list</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_argList</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10traceVargsEPKc8uint16_tPKc7va_list" title="Link to this definition"></a><br /></dt>
  593. <dd><p>Print debug message. </p>
  594. <p><div class="remark admonition">
  595. <p class="admonition-title">Remark</p>
  596. <p>Not thread safe and it can be called from any thread.</p>
  597. </div>
  598. <dl class="simple">
  599. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.trace_vargs</span></code>. </p>
  600. </dd>
  601. </dl>
  602. </p>
  603. <dl class="field-list simple">
  604. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  605. <dd class="field-odd"><ul class="simple">
  606. <li><p><strong>_filePath</strong> – <strong>[in]</strong> File path where debug message was generated. </p></li>
  607. <li><p><strong>_line</strong> – <strong>[in]</strong> Line where debug message was generated. </p></li>
  608. <li><p><strong>_format</strong> – <strong>[in]</strong> <code class="docutils literal notranslate"><span class="pre">printf</span></code> style format. </p></li>
  609. <li><p><strong>_argList</strong> – <strong>[in]</strong> Variable arguments list initialized with <code class="docutils literal notranslate"><span class="pre">va_start</span></code>.</p></li>
  610. </ul>
  611. </dd>
  612. </dl>
  613. </dd></dl>
  614. <dl class="cpp function">
  615. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t">
  616. <span id="_CPPv3N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t"></span><span id="_CPPv2N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t"></span><span id="bgfx::CallbackI::profilerBegin__cCP.uint32_t.cCP.uint16_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a3bd1177a4621524bd90da103ca3417de"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">profilerBegin</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_abgr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_filePath</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_line</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI13profilerBeginEPKc8uint32_tPKc8uint16_t" title="Link to this definition"></a><br /></dt>
  617. <dd><p>Profiler region begin. </p>
  618. <p><div class="remark admonition">
  619. <p class="admonition-title">Remark</p>
  620. <p>Not thread safe and it can be called from any thread.</p>
  621. </div>
  622. <dl class="simple">
  623. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.profiler_begin</span></code>. </p>
  624. </dd>
  625. </dl>
  626. </p>
  627. <dl class="field-list simple">
  628. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  629. <dd class="field-odd"><ul class="simple">
  630. <li><p><strong>_name</strong> – <strong>[in]</strong> Region name, contains dynamic string. </p></li>
  631. <li><p><strong>_abgr</strong> – <strong>[in]</strong> Color of profiler region. </p></li>
  632. <li><p><strong>_filePath</strong> – <strong>[in]</strong> File path where <code class="docutils literal notranslate"><span class="pre">profilerBegin</span></code> was called. </p></li>
  633. <li><p><strong>_line</strong> – <strong>[in]</strong> Line where <code class="docutils literal notranslate"><span class="pre">profilerBegin</span></code> was called.</p></li>
  634. </ul>
  635. </dd>
  636. </dl>
  637. </dd></dl>
  638. <dl class="cpp function">
  639. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t">
  640. <span id="_CPPv3N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t"></span><span id="_CPPv2N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t"></span><span id="bgfx::CallbackI::profilerBeginLiteral__cCP.uint32_t.cCP.uint16_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a4a2875d0cf4a47e4c22df25f0b4d041b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">profilerBeginLiteral</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_abgr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_filePath</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_line</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI20profilerBeginLiteralEPKc8uint32_tPKc8uint16_t" title="Link to this definition"></a><br /></dt>
  641. <dd><p>Profiler region begin with string literal name. </p>
  642. <p><div class="remark admonition">
  643. <p class="admonition-title">Remark</p>
  644. <p>Not thread safe and it can be called from any thread.</p>
  645. </div>
  646. <dl class="simple">
  647. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.profiler_begin_literal</span></code>. </p>
  648. </dd>
  649. </dl>
  650. </p>
  651. <dl class="field-list simple">
  652. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  653. <dd class="field-odd"><ul class="simple">
  654. <li><p><strong>_name</strong> – <strong>[in]</strong> Region name, contains string literal. </p></li>
  655. <li><p><strong>_abgr</strong> – <strong>[in]</strong> Color of profiler region. </p></li>
  656. <li><p><strong>_filePath</strong> – <strong>[in]</strong> File path where <code class="docutils literal notranslate"><span class="pre">profilerBeginLiteral</span></code> was called. </p></li>
  657. <li><p><strong>_line</strong> – <strong>[in]</strong> Line where <code class="docutils literal notranslate"><span class="pre">profilerBeginLiteral</span></code> was called.</p></li>
  658. </ul>
  659. </dd>
  660. </dl>
  661. </dd></dl>
  662. <dl class="cpp function">
  663. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI11profilerEndEv">
  664. <span id="_CPPv3N4bgfx9CallbackI11profilerEndEv"></span><span id="_CPPv2N4bgfx9CallbackI11profilerEndEv"></span><span id="bgfx::CallbackI::profilerEnd"></span><span class="target" id="structbgfx_1_1_callback_i_1ac0d86e638d8af10bd5792a3aac3b82b5"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">profilerEnd</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI11profilerEndEv" title="Link to this definition"></a><br /></dt>
  665. <dd><p>Profiler region end. </p>
  666. <p><div class="remark admonition">
  667. <p class="admonition-title">Remark</p>
  668. <p>Not thread safe and it can be called from any thread.</p>
  669. </div>
  670. <dl class="simple">
  671. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.profiler_end</span></code>. </p>
  672. </dd>
  673. </dl>
  674. </p>
  675. </dd></dl>
  676. <dl class="cpp function">
  677. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI13cacheReadSizeE8uint64_t">
  678. <span id="_CPPv3N4bgfx9CallbackI13cacheReadSizeE8uint64_t"></span><span id="_CPPv2N4bgfx9CallbackI13cacheReadSizeE8uint64_t"></span><span id="bgfx::CallbackI::cacheReadSize__uint64_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a0e42c49e7a21b94a8866f4ad0e76a317"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cacheReadSize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI13cacheReadSizeE8uint64_t" title="Link to this definition"></a><br /></dt>
  679. <dd><p>Returns the size of a cached item. Returns 0 if no cached item was found. </p>
  680. <p><dl class="simple">
  681. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.cache_read_size</span></code>. </p>
  682. </dd>
  683. </dl>
  684. </p>
  685. <dl class="field-list simple">
  686. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  687. <dd class="field-odd"><p><strong>_id</strong> – <strong>[in]</strong> Cache id. </p>
  688. </dd>
  689. <dt class="field-even">Returns<span class="colon">:</span></dt>
  690. <dd class="field-even"><p>Number of bytes to read.</p>
  691. </dd>
  692. </dl>
  693. </dd></dl>
  694. <dl class="cpp function">
  695. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t">
  696. <span id="_CPPv3N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t"></span><span id="_CPPv2N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t"></span><span id="bgfx::CallbackI::cacheRead__uint64_t.voidP.uint32_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a37f081ba5631e93449e64886190d5c90"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cacheRead</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI9cacheReadE8uint64_tPv8uint32_t" title="Link to this definition"></a><br /></dt>
  697. <dd><p>Read cached item. </p>
  698. <p><dl class="simple">
  699. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.cache_read</span></code>. </p>
  700. </dd>
  701. </dl>
  702. </p>
  703. <dl class="field-list simple">
  704. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  705. <dd class="field-odd"><ul class="simple">
  706. <li><p><strong>_id</strong> – <strong>[in]</strong> Cache id. </p></li>
  707. <li><p><strong>_data</strong> – <strong>[in]</strong> Buffer where to read data. </p></li>
  708. <li><p><strong>_size</strong> – <strong>[in]</strong> Size of data to read.</p></li>
  709. </ul>
  710. </dd>
  711. <dt class="field-even">Returns<span class="colon">:</span></dt>
  712. <dd class="field-even"><p>True if data is read.</p>
  713. </dd>
  714. </dl>
  715. </dd></dl>
  716. <dl class="cpp function">
  717. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t">
  718. <span id="_CPPv3N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t"></span><span id="_CPPv2N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t"></span><span id="bgfx::CallbackI::cacheWrite__uint64_t.voidCP.uint32_t"></span><span class="target" id="structbgfx_1_1_callback_i_1af4cf9d4f3ce9d5280a5f6cd0cd78600e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cacheWrite</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10cacheWriteE8uint64_tPKv8uint32_t" title="Link to this definition"></a><br /></dt>
  719. <dd><p>Write cached item. </p>
  720. <p><dl class="simple">
  721. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.cache_write</span></code>. </p>
  722. </dd>
  723. </dl>
  724. </p>
  725. <dl class="field-list simple">
  726. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  727. <dd class="field-odd"><ul class="simple">
  728. <li><p><strong>_id</strong> – <strong>[in]</strong> Cache id. </p></li>
  729. <li><p><strong>_data</strong> – <strong>[in]</strong> Data to write. </p></li>
  730. <li><p><strong>_size</strong> – <strong>[in]</strong> Size of data to write.</p></li>
  731. </ul>
  732. </dd>
  733. </dl>
  734. </dd></dl>
  735. <dl class="cpp function">
  736. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb">
  737. <span id="_CPPv3N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb"></span><span id="_CPPv2N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb"></span><span id="bgfx::CallbackI::screenShot__cCP.uint32_t.uint32_t.uint32_t.voidCP.uint32_t.b"></span><span class="target" id="structbgfx_1_1_callback_i_1a44d38debc9d86b9815d55058afc762c6"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">screenShot</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_filePath</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_pitch</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_yflip</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10screenShotEPKc8uint32_t8uint32_t8uint32_tPKv8uint32_tb" title="Link to this definition"></a><br /></dt>
  738. <dd><p>Screenshot captured. Screenshot format is always 4-byte BGRA. </p>
  739. <p><dl class="simple">
  740. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.screen_shot</span></code>. </p>
  741. </dd>
  742. </dl>
  743. </p>
  744. <dl class="field-list simple">
  745. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  746. <dd class="field-odd"><ul class="simple">
  747. <li><p><strong>_filePath</strong> – <strong>[in]</strong> File path. </p></li>
  748. <li><p><strong>_width</strong> – <strong>[in]</strong> Image width. </p></li>
  749. <li><p><strong>_height</strong> – <strong>[in]</strong> Image height. </p></li>
  750. <li><p><strong>_pitch</strong> – <strong>[in]</strong> Number of bytes to skip between the start of each horizontal line of the image. </p></li>
  751. <li><p><strong>_data</strong> – <strong>[in]</strong> Image data. </p></li>
  752. <li><p><strong>_size</strong> – <strong>[in]</strong> Image size. </p></li>
  753. <li><p><strong>_yflip</strong> – <strong>[in]</strong> If true, image origin is bottom left.</p></li>
  754. </ul>
  755. </dd>
  756. </dl>
  757. </dd></dl>
  758. <dl class="cpp function">
  759. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb">
  760. <span id="_CPPv3N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb"></span><span id="_CPPv2N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb"></span><span id="bgfx::CallbackI::captureBegin__uint32_t.uint32_t.uint32_t.TextureFormat::Enum.b"></span><span class="target" id="structbgfx_1_1_callback_i_1afbf52f537e1bf54a4c20f6efb2654231"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">captureBegin</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_pitch</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_yflip</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI12captureBeginE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumEb" title="Link to this definition"></a><br /></dt>
  761. <dd><p>Called when a video capture begins. </p>
  762. <p><dl class="simple">
  763. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.capture_begin</span></code>. </p>
  764. </dd>
  765. </dl>
  766. </p>
  767. <dl class="field-list simple">
  768. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  769. <dd class="field-odd"><ul class="simple">
  770. <li><p><strong>_width</strong> – <strong>[in]</strong> Image width. </p></li>
  771. <li><p><strong>_height</strong> – <strong>[in]</strong> Image height. </p></li>
  772. <li><p><strong>_pitch</strong> – <strong>[in]</strong> Number of bytes to skip between the start of each horizontal line of the image. </p></li>
  773. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  774. <li><p><strong>_yflip</strong> – <strong>[in]</strong> If true, image origin is bottom left.</p></li>
  775. </ul>
  776. </dd>
  777. </dl>
  778. </dd></dl>
  779. <dl class="cpp function">
  780. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI10captureEndEv">
  781. <span id="_CPPv3N4bgfx9CallbackI10captureEndEv"></span><span id="_CPPv2N4bgfx9CallbackI10captureEndEv"></span><span id="bgfx::CallbackI::captureEnd"></span><span class="target" id="structbgfx_1_1_callback_i_1af4a233dccba408ad9c0c1fa3a8491c4b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">captureEnd</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI10captureEndEv" title="Link to this definition"></a><br /></dt>
  782. <dd><p>Called when a video capture ends. </p>
  783. <p><dl class="simple">
  784. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.capture_end</span></code>. </p>
  785. </dd>
  786. </dl>
  787. </p>
  788. </dd></dl>
  789. <dl class="cpp function">
  790. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9CallbackI12captureFrameEPKv8uint32_t">
  791. <span id="_CPPv3N4bgfx9CallbackI12captureFrameEPKv8uint32_t"></span><span id="_CPPv2N4bgfx9CallbackI12captureFrameEPKv8uint32_t"></span><span id="bgfx::CallbackI::captureFrame__voidCP.uint32_t"></span><span class="target" id="structbgfx_1_1_callback_i_1a02b34e3ca8968184330c8247984c2365"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">captureFrame</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N4bgfx9CallbackI12captureFrameEPKv8uint32_t" title="Link to this definition"></a><br /></dt>
  792. <dd><p>Captured frame. </p>
  793. <p><dl class="simple">
  794. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_callback_vtbl.capture_frame</span></code>. </p>
  795. </dd>
  796. </dl>
  797. </p>
  798. <dl class="field-list simple">
  799. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  800. <dd class="field-odd"><ul class="simple">
  801. <li><p><strong>_data</strong> – <strong>[in]</strong> Image data. </p></li>
  802. <li><p><strong>_size</strong> – <strong>[in]</strong> Image size.</p></li>
  803. </ul>
  804. </dd>
  805. </dl>
  806. </dd></dl>
  807. </div>
  808. </dd></dl>
  809. <dl class="cpp function">
  810. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8shutdownEv">
  811. <span id="_CPPv3N4bgfx8shutdownEv"></span><span id="_CPPv2N4bgfx8shutdownEv"></span><span id="bgfx::shutdown"></span><span class="target" id="namespacebgfx_1a9611ce9146bff25f2846b7e85c83cc99"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">shutdown</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8shutdownEv" title="Link to this definition"></a><br /></dt>
  812. <dd><p>Shutdown bgfx library. </p>
  813. <p><dl class="simple">
  814. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_shutdown</span></code>. </p>
  815. </dd>
  816. </dl>
  817. </p>
  818. </dd></dl>
  819. </section>
  820. <section id="updating">
  821. <h3>Updating<a class="headerlink" href="#updating" title="Link to this heading"></a></h3>
  822. <section id="reset">
  823. <h4>Reset<a class="headerlink" href="#reset" title="Link to this heading"></a></h4>
  824. <dl class="cpp function">
  825. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE">
  826. <span id="_CPPv3N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE"></span><span id="bgfx::reset__uint32_t.uint32_t.uint32_t.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1acbf49c89c8ed64ac2ce9fbb08a52f7ab"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">reset</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_RESET_NONE</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count"><span class="n"><span class="pre">Count</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5resetE8uint32_t8uint32_t8uint32_tN13TextureFormat4EnumE" title="Link to this definition"></a><br /></dt>
  827. <dd><p>Reset graphic settings and back-buffer size. </p>
  828. <p><dl class="simple">
  829. <dt><strong>Attention</strong></dt><dd><p>This call doesn’t change the window size, it just resizes the back-buffer. Your windowing code controls the window size.</p>
  830. </dd>
  831. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_reset</span></code>. </p>
  832. </dd>
  833. </dl>
  834. </p>
  835. <dl class="field-list simple">
  836. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  837. <dd class="field-odd"><ul class="simple">
  838. <li><p><strong>_width</strong> – <strong>[in]</strong> Back-buffer width. </p></li>
  839. <li><p><strong>_height</strong> – <strong>[in]</strong> Back-buffer height. </p></li>
  840. <li><p><strong>_flags</strong> – <strong>[in]</strong> See: <code class="docutils literal notranslate"><span class="pre">BGFX_RESET_*</span></code> for more info.<ul>
  841. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_NONE</span></code> - No reset flags.</p></li>
  842. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_FULLSCREEN</span></code> - Not supported yet.</p></li>
  843. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_MSAA_X[2/4/8/16]</span></code> - Enable 2, 4, 8 or 16 x MSAA.</p></li>
  844. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_VSYNC</span></code> - Enable V-Sync.</p></li>
  845. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_MAXANISOTROPY</span></code> - Turn on/off max anisotropy.</p></li>
  846. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_CAPTURE</span></code> - Begin screen capture.</p></li>
  847. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_FLUSH_AFTER_RENDER</span></code> - Flush rendering after submitting to GPU.</p></li>
  848. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_FLIP_AFTER_RENDER</span></code> - This flag specifies where flip occurs. Default behavior is that flip occurs before rendering new frame. This flag only has effect when <code class="docutils literal notranslate"><span class="pre">BGFX_CONFIG_MULTITHREADED=0</span></code>.</p></li>
  849. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_RESET_SRGB_BACKBUFFER</span></code> - Enable sRGB back-buffer. </p></li>
  850. </ul>
  851. </p></li>
  852. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
  853. </ul>
  854. </dd>
  855. </dl>
  856. </dd></dl>
  857. <dl class="cpp macro">
  858. <dt class="sig sig-object cpp" id="c.BGFX_RESET_NONE">
  859. <span class="target" id="defines_8h_1ab4f97fa0a40e27db79f7a778c3da268f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_NONE</span></span></span><a class="headerlink" href="#c.BGFX_RESET_NONE" title="Link to this definition"></a><br /></dt>
  860. <dd><p>No reset flags. </p>
  861. </dd></dl>
  862. <dl class="cpp macro">
  863. <dt class="sig sig-object cpp" id="c.BGFX_RESET_MSAA_X2">
  864. <span class="target" id="defines_8h_1a11369bfec092c6aecb55c344696cffa8"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_MSAA_X2</span></span></span><a class="headerlink" href="#c.BGFX_RESET_MSAA_X2" title="Link to this definition"></a><br /></dt>
  865. <dd><p>Enable 2x MSAA. </p>
  866. </dd></dl>
  867. <dl class="cpp macro">
  868. <dt class="sig sig-object cpp" id="c.BGFX_RESET_MSAA_X4">
  869. <span class="target" id="defines_8h_1a6288443c87929696f539c60245b59acb"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_MSAA_X4</span></span></span><a class="headerlink" href="#c.BGFX_RESET_MSAA_X4" title="Link to this definition"></a><br /></dt>
  870. <dd><p>Enable 4x MSAA. </p>
  871. </dd></dl>
  872. <dl class="cpp macro">
  873. <dt class="sig sig-object cpp" id="c.BGFX_RESET_MSAA_X8">
  874. <span class="target" id="defines_8h_1a0d9452be0acc82cd9b0921b061abe007"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_MSAA_X8</span></span></span><a class="headerlink" href="#c.BGFX_RESET_MSAA_X8" title="Link to this definition"></a><br /></dt>
  875. <dd><p>Enable 8x MSAA. </p>
  876. </dd></dl>
  877. <dl class="cpp macro">
  878. <dt class="sig sig-object cpp" id="c.BGFX_RESET_MSAA_X16">
  879. <span class="target" id="defines_8h_1a7fc0d9a43da20edb2670854c393127c7"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_MSAA_X16</span></span></span><a class="headerlink" href="#c.BGFX_RESET_MSAA_X16" title="Link to this definition"></a><br /></dt>
  880. <dd><p>Enable 16x MSAA. </p>
  881. </dd></dl>
  882. <dl class="cpp macro">
  883. <dt class="sig sig-object cpp" id="c.BGFX_RESET_FULLSCREEN">
  884. <span class="target" id="defines_8h_1a7a573880db4afc7107e36ea61dc36586"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_FULLSCREEN</span></span></span><a class="headerlink" href="#c.BGFX_RESET_FULLSCREEN" title="Link to this definition"></a><br /></dt>
  885. <dd><p>Not supported yet. </p>
  886. </dd></dl>
  887. <dl class="cpp macro">
  888. <dt class="sig sig-object cpp" id="c.BGFX_RESET_VSYNC">
  889. <span class="target" id="defines_8h_1abe5909f7f2d02137660385500409ffd5"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_VSYNC</span></span></span><a class="headerlink" href="#c.BGFX_RESET_VSYNC" title="Link to this definition"></a><br /></dt>
  890. <dd><p>Enable V-Sync. </p>
  891. </dd></dl>
  892. <dl class="cpp macro">
  893. <dt class="sig sig-object cpp" id="c.BGFX_RESET_MAXANISOTROPY">
  894. <span class="target" id="defines_8h_1a94fe821218b7426466f11acf3925a629"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_MAXANISOTROPY</span></span></span><a class="headerlink" href="#c.BGFX_RESET_MAXANISOTROPY" title="Link to this definition"></a><br /></dt>
  895. <dd><p>Turn on/off max anisotropy. </p>
  896. </dd></dl>
  897. <dl class="cpp macro">
  898. <dt class="sig sig-object cpp" id="c.BGFX_RESET_CAPTURE">
  899. <span class="target" id="defines_8h_1a3342824f93a57411568f665744c1a515"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_CAPTURE</span></span></span><a class="headerlink" href="#c.BGFX_RESET_CAPTURE" title="Link to this definition"></a><br /></dt>
  900. <dd><p>Begin screen capture. </p>
  901. </dd></dl>
  902. <dl class="cpp macro">
  903. <dt class="sig sig-object cpp" id="c.BGFX_RESET_FLUSH_AFTER_RENDER">
  904. <span class="target" id="defines_8h_1ae01ca78b058a1f7bf2358d61f7b52b03"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_FLUSH_AFTER_RENDER</span></span></span><a class="headerlink" href="#c.BGFX_RESET_FLUSH_AFTER_RENDER" title="Link to this definition"></a><br /></dt>
  905. <dd><p>Flush rendering after submitting to GPU. </p>
  906. </dd></dl>
  907. <dl class="cpp macro">
  908. <dt class="sig sig-object cpp" id="c.BGFX_RESET_FLIP_AFTER_RENDER">
  909. <span class="target" id="defines_8h_1a1685b3f0489fc8465f3d3c5b70424e38"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_FLIP_AFTER_RENDER</span></span></span><a class="headerlink" href="#c.BGFX_RESET_FLIP_AFTER_RENDER" title="Link to this definition"></a><br /></dt>
  910. <dd><p>This flag specifies where flip occurs. Default behaviour is that flip occurs before rendering new frame. This flag only has effect when <code class="docutils literal notranslate"><span class="pre">BGFX_CONFIG_MULTITHREADED=0</span></code>. </p>
  911. </dd></dl>
  912. <dl class="cpp macro">
  913. <dt class="sig sig-object cpp" id="c.BGFX_RESET_SRGB_BACKBUFFER">
  914. <span class="target" id="defines_8h_1a74813007bb4401a669842d101bc5da25"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_SRGB_BACKBUFFER</span></span></span><a class="headerlink" href="#c.BGFX_RESET_SRGB_BACKBUFFER" title="Link to this definition"></a><br /></dt>
  915. <dd><p>Enable sRGB backbuffer. </p>
  916. </dd></dl>
  917. <dl class="cpp macro">
  918. <dt class="sig sig-object cpp" id="c.BGFX_RESET_HDR10">
  919. <span class="target" id="defines_8h_1a970807be2daa1b810791647ed61371b2"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_HDR10</span></span></span><a class="headerlink" href="#c.BGFX_RESET_HDR10" title="Link to this definition"></a><br /></dt>
  920. <dd><p>Enable HDR10 rendering. </p>
  921. </dd></dl>
  922. <dl class="cpp macro">
  923. <dt class="sig sig-object cpp" id="c.BGFX_RESET_HIDPI">
  924. <span class="target" id="defines_8h_1a8d31334677672b6a92ea3a17110194fa"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_HIDPI</span></span></span><a class="headerlink" href="#c.BGFX_RESET_HIDPI" title="Link to this definition"></a><br /></dt>
  925. <dd><p>Enable HiDPI rendering. </p>
  926. </dd></dl>
  927. <dl class="cpp macro">
  928. <dt class="sig sig-object cpp" id="c.BGFX_RESET_DEPTH_CLAMP">
  929. <span class="target" id="defines_8h_1af06b6eb7e824929310fd5fb2b2a5e7c4"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_DEPTH_CLAMP</span></span></span><a class="headerlink" href="#c.BGFX_RESET_DEPTH_CLAMP" title="Link to this definition"></a><br /></dt>
  930. <dd><p>Enable depth clamp. </p>
  931. </dd></dl>
  932. <dl class="cpp macro">
  933. <dt class="sig sig-object cpp" id="c.BGFX_RESET_SUSPEND">
  934. <span class="target" id="defines_8h_1a82e7b9d7a4bb12c42b5a6481ba394048"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_SUSPEND</span></span></span><a class="headerlink" href="#c.BGFX_RESET_SUSPEND" title="Link to this definition"></a><br /></dt>
  935. <dd><p>Suspend rendering. </p>
  936. </dd></dl>
  937. <dl class="cpp macro">
  938. <dt class="sig sig-object cpp" id="c.BGFX_RESET_TRANSPARENT_BACKBUFFER">
  939. <span class="target" id="defines_8h_1abfadb20e9e79a3abf1c31ef0e2c29643"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_RESET_TRANSPARENT_BACKBUFFER</span></span></span><a class="headerlink" href="#c.BGFX_RESET_TRANSPARENT_BACKBUFFER" title="Link to this definition"></a><br /></dt>
  940. <dd><p>Transparent backbuffer. Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TRANSPARENT_BACKBUFFER</span></code>. </p>
  941. </dd></dl>
  942. </section>
  943. <section id="frame">
  944. <h4>Frame<a class="headerlink" href="#frame" title="Link to this heading"></a></h4>
  945. <dl class="cpp function">
  946. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5frameEb">
  947. <span id="_CPPv3N4bgfx5frameEb"></span><span id="_CPPv2N4bgfx5frameEb"></span><span id="bgfx::frame__b"></span><span class="target" id="namespacebgfx_1a7b228b3e83595148e428a248d73480e8"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">frame</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_capture</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5frameEb" title="Link to this definition"></a><br /></dt>
  948. <dd><p>Advance to next frame. When using multithreaded renderer, this call just swaps internal buffers, kicks render thread, and returns. In singlethreaded renderer this call does frame rendering. </p>
  949. <p><dl class="simple">
  950. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_frame</span></code>. </p>
  951. </dd>
  952. </dl>
  953. </p>
  954. <dl class="field-list simple">
  955. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  956. <dd class="field-odd"><p><strong>_capture</strong> – <strong>[in]</strong> Capture frame with graphics debugger.</p>
  957. </dd>
  958. <dt class="field-even">Returns<span class="colon">:</span></dt>
  959. <dd class="field-even"><p>Current frame number. This might be used in conjunction with double/multi buffering data outside the library and passing it to library via <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a4b215a49843be5ef9465caad7e2820ed"><span class="std std-ref"><span class="pre">bgfx::makeRef</span></span></a></code> calls.</p>
  960. </dd>
  961. </dl>
  962. </dd></dl>
  963. </section>
  964. </section>
  965. <section id="debug">
  966. <h3>Debug<a class="headerlink" href="#debug" title="Link to this heading"></a></h3>
  967. <section id="debug-features">
  968. <h4>Debug Features<a class="headerlink" href="#debug-features" title="Link to this heading"></a></h4>
  969. <dl class="cpp function">
  970. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8setDebugE8uint32_t">
  971. <span id="_CPPv3N4bgfx8setDebugE8uint32_t"></span><span id="_CPPv2N4bgfx8setDebugE8uint32_t"></span><span id="bgfx::setDebug__uint32_t"></span><span class="target" id="namespacebgfx_1ae785eb08ff2f48a96b84d2a37cb6f594"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setDebug</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_debug</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8setDebugE8uint32_t" title="Link to this definition"></a><br /></dt>
  972. <dd><p>Set debug flags. </p>
  973. <p><dl class="simple">
  974. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_debug</span></code>. </p>
  975. </dd>
  976. </dl>
  977. </p>
  978. <dl class="field-list simple">
  979. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  980. <dd class="field-odd"><p><strong>_debug</strong> – <strong>[in]</strong> Available flags:<ul class="simple">
  981. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_IFH</span></code> - Infinitely fast hardware. When this flag is set all rendering calls will be skipped. This is useful when profiling to quickly assess potential bottlenecks between CPU and GPU.</p></li>
  982. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_PROFILER</span></code> - Enable profiler.</p></li>
  983. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_STATS</span></code> - Display internal statistics.</p></li>
  984. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_TEXT</span></code> - Display debug text.</p></li>
  985. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_DEBUG_WIREFRAME</span></code> - Wireframe rendering. All rendering primitives will be rendered as lines.</p></li>
  986. </ul>
  987. </p>
  988. </dd>
  989. </dl>
  990. </dd></dl>
  991. </section>
  992. <section id="debug-flags">
  993. <h4>Debug Flags<a class="headerlink" href="#debug-flags" title="Link to this heading"></a></h4>
  994. <dl class="cpp macro">
  995. <dt class="sig sig-object cpp" id="c.BGFX_DEBUG_NONE">
  996. <span class="target" id="defines_8h_1abcdfdffe5c52e7ff366087466c515ea5"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_DEBUG_NONE</span></span></span><a class="headerlink" href="#c.BGFX_DEBUG_NONE" title="Link to this definition"></a><br /></dt>
  997. <dd><p>No debug. </p>
  998. </dd></dl>
  999. <dl class="cpp macro">
  1000. <dt class="sig sig-object cpp" id="c.BGFX_DEBUG_WIREFRAME">
  1001. <span class="target" id="defines_8h_1ae489c12ff4b561a2f68ddb0bf727049c"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_DEBUG_WIREFRAME</span></span></span><a class="headerlink" href="#c.BGFX_DEBUG_WIREFRAME" title="Link to this definition"></a><br /></dt>
  1002. <dd><p>Enable wireframe for all primitives. </p>
  1003. </dd></dl>
  1004. <dl class="cpp macro">
  1005. <dt class="sig sig-object cpp" id="c.BGFX_DEBUG_IFH">
  1006. <span class="target" id="defines_8h_1a01a6722a2d1b1c1948b44191b2dddf48"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_DEBUG_IFH</span></span></span><a class="headerlink" href="#c.BGFX_DEBUG_IFH" title="Link to this definition"></a><br /></dt>
  1007. <dd><p>Enable infinitely fast hardware test. No draw calls will be submitted to driver. It’s useful when profiling to quickly assess bottleneck between CPU and GPU. </p>
  1008. </dd></dl>
  1009. <dl class="cpp macro">
  1010. <dt class="sig sig-object cpp" id="c.BGFX_DEBUG_STATS">
  1011. <span class="target" id="defines_8h_1a337fe1eece8a5d2c6c8e4067541d84b8"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_DEBUG_STATS</span></span></span><a class="headerlink" href="#c.BGFX_DEBUG_STATS" title="Link to this definition"></a><br /></dt>
  1012. <dd><p>Enable statistics display. </p>
  1013. </dd></dl>
  1014. <dl class="cpp macro">
  1015. <dt class="sig sig-object cpp" id="c.BGFX_DEBUG_TEXT">
  1016. <span class="target" id="defines_8h_1a3a0974b7626334233233d24027b7fd8a"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_DEBUG_TEXT</span></span></span><a class="headerlink" href="#c.BGFX_DEBUG_TEXT" title="Link to this definition"></a><br /></dt>
  1017. <dd><p>Enable debug text display. </p>
  1018. </dd></dl>
  1019. <dl class="cpp macro">
  1020. <dt class="sig sig-object cpp" id="c.BGFX_DEBUG_PROFILER">
  1021. <span class="target" id="defines_8h_1a35d04d76460ad35cf1c9b3926b4267bb"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_DEBUG_PROFILER</span></span></span><a class="headerlink" href="#c.BGFX_DEBUG_PROFILER" title="Link to this definition"></a><br /></dt>
  1022. <dd><p>Enable profiler. This causes per-view statistics to be collected, available through <code class="docutils literal notranslate"><span class="pre">bgfx::Stats::ViewStats</span></code>. This is unrelated to the profiler functions in <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i"><span class="std std-ref"><span class="pre">bgfx::CallbackI</span></span></a></code>. </p>
  1023. </dd></dl>
  1024. </section>
  1025. <section id="debug-text-display">
  1026. <h4>Debug Text Display<a class="headerlink" href="#debug-text-display" title="Link to this heading"></a></h4>
  1027. <dl class="cpp function">
  1028. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12dbgTextClearE7uint8_tb">
  1029. <span id="_CPPv3N4bgfx12dbgTextClearE7uint8_tb"></span><span id="_CPPv2N4bgfx12dbgTextClearE7uint8_tb"></span><span id="bgfx::dbgTextClear__uint8_t.b"></span><span class="target" id="namespacebgfx_1ac7c16eafe7657464ed6fef8eca0c4c2a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dbgTextClear</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_attr</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_small</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12dbgTextClearE7uint8_tb" title="Link to this definition"></a><br /></dt>
  1030. <dd><p>Clear internal debug text buffer. </p>
  1031. <p><dl class="simple">
  1032. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_clear</span></code>. </p>
  1033. </dd>
  1034. </dl>
  1035. </p>
  1036. <dl class="field-list simple">
  1037. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  1038. <dd class="field-odd"><ul class="simple">
  1039. <li><p><strong>_attr</strong> – <strong>[in]</strong> Background color. </p></li>
  1040. <li><p><strong>_small</strong> – <strong>[in]</strong> Default 8x16 or 8x8 font.</p></li>
  1041. </ul>
  1042. </dd>
  1043. </dl>
  1044. </dd></dl>
  1045. <dl class="cpp function">
  1046. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz">
  1047. <span id="_CPPv3N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz"></span><span id="_CPPv2N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz"></span><span id="bgfx::dbgTextPrintf__uint16_t.uint16_t.uint8_t.cCP.z"></span><span class="target" id="namespacebgfx_1a2d1c6e189bbfdc2b2458d152a2a08245"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dbgTextPrintf</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_attr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="p"><span class="pre">...</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13dbgTextPrintfE8uint16_t8uint16_t7uint8_tPKcz" title="Link to this definition"></a><br /></dt>
  1048. <dd><p>Print into internal debug text character-buffer (VGA-compatible text mode). </p>
  1049. <p><dl class="simple">
  1050. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_printf</span></code>. </p>
  1051. </dd>
  1052. </dl>
  1053. </p>
  1054. <dl class="field-list simple">
  1055. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  1056. <dd class="field-odd"><ul class="simple">
  1057. <li><p><strong>_x</strong> – <strong>[in]</strong> The X coordinate (2D position from top-left) </p></li>
  1058. <li><p><strong>_y</strong> – <strong>[in]</strong> The Y coordinate (2D position from top-left) </p></li>
  1059. <li><p><strong>_attr</strong> – <strong>[in]</strong> Color palette. Where top 4-bits represent index of background, and bottom 4-bits represent foreground color from standard VGA text palette (ANSI escape codes). </p></li>
  1060. <li><p><strong>_format</strong> – <strong>[in]</strong> <code class="docutils literal notranslate"><span class="pre">printf</span></code> style format.</p></li>
  1061. </ul>
  1062. </dd>
  1063. </dl>
  1064. </dd></dl>
  1065. <dl class="cpp function">
  1066. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list">
  1067. <span id="_CPPv3N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list"></span><span id="_CPPv2N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list"></span><span id="bgfx::dbgTextPrintfVargs__uint16_t.uint16_t.uint8_t.cCP.va_list"></span><span class="target" id="namespacebgfx_1ac84afd8d2ad87516bfb770dec920654e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dbgTextPrintfVargs</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_attr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">va_list</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_argList</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18dbgTextPrintfVargsE8uint16_t8uint16_t7uint8_tPKc7va_list" title="Link to this definition"></a><br /></dt>
  1068. <dd><p>Print into internal debug text character-buffer (VGA-compatible text mode). </p>
  1069. <p><dl class="simple">
  1070. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_vprintf</span></code>. </p>
  1071. </dd>
  1072. </dl>
  1073. </p>
  1074. <dl class="field-list simple">
  1075. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  1076. <dd class="field-odd"><ul class="simple">
  1077. <li><p><strong>_x</strong> – <strong>[in]</strong> The X coordinate (2D position from top-left) </p></li>
  1078. <li><p><strong>_y</strong> – <strong>[in]</strong> The Y coordinate (2D position from top-left) </p></li>
  1079. <li><p><strong>_attr</strong> – <strong>[in]</strong> Color palette. Where top 4-bits represent index of background, and bottom 4-bits represent foreground color from standard VGA text palette (ANSI escape codes). </p></li>
  1080. <li><p><strong>_format</strong> – <strong>[in]</strong> <code class="docutils literal notranslate"><span class="pre">printf</span></code> style format. </p></li>
  1081. <li><p><strong>_argList</strong> – <strong>[in]</strong> additional arguments for format string</p></li>
  1082. </ul>
  1083. </dd>
  1084. </dl>
  1085. </dd></dl>
  1086. <dl class="cpp function">
  1087. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t">
  1088. <span id="_CPPv3N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t"></span><span id="_CPPv2N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t"></span><span id="bgfx::dbgTextImage__uint16_t.uint16_t.uint16_t.uint16_t.voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1ad8f6406578d8886613b4cc48e6c5737a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dbgTextImage</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_pitch</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12dbgTextImageE8uint16_t8uint16_t8uint16_t8uint16_tPKv8uint16_t" title="Link to this definition"></a><br /></dt>
  1089. <dd><p>Draw image into internal debug text buffer. </p>
  1090. <p><dl class="simple">
  1091. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dbg_text_image</span></code>. </p>
  1092. </dd>
  1093. </dl>
  1094. </p>
  1095. <dl class="field-list simple">
  1096. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  1097. <dd class="field-odd"><ul class="simple">
  1098. <li><p><strong>_x</strong> – <strong>[in]</strong> The X coordinate (2D position from top-left) </p></li>
  1099. <li><p><strong>_y</strong> – <strong>[in]</strong> The Y coordinate (2D position from top-left) </p></li>
  1100. <li><p><strong>_width</strong> – <strong>[in]</strong> Image width </p></li>
  1101. <li><p><strong>_height</strong> – <strong>[in]</strong> Image height </p></li>
  1102. <li><p><strong>_data</strong> – <strong>[in]</strong> Raw image data (character/attribute raw encoding). </p></li>
  1103. <li><p><strong>_pitch</strong> – <strong>[in]</strong> Image pitch in bytes.</p></li>
  1104. </ul>
  1105. </dd>
  1106. </dl>
  1107. </dd></dl>
  1108. </section>
  1109. </section>
  1110. <section id="querying-information">
  1111. <h3>Querying information<a class="headerlink" href="#querying-information" title="Link to this heading"></a></h3>
  1112. <section id="renderer">
  1113. <h4>Renderer<a class="headerlink" href="#renderer" title="Link to this heading"></a></h4>
  1114. <dl class="cpp function">
  1115. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE">
  1116. <span id="_CPPv3N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE"></span><span id="_CPPv2N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE"></span><span id="bgfx::getSupportedRenderers__uint8_t.RendererType::EnumP"></span><span class="target" id="namespacebgfx_1a933cae6e2a887a05049835ac31617a15"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getSupportedRenderers</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_max</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType"><span class="n"><span class="pre">RendererType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_enum</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21getSupportedRenderersE7uint8_tPN12RendererType4EnumE" title="Link to this definition"></a><br /></dt>
  1117. <dd><p>Returns supported backend API renderers. </p>
  1118. <p><dl class="simple">
  1119. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_supported_renderers</span></code>. </p>
  1120. </dd>
  1121. </dl>
  1122. </p>
  1123. <dl class="field-list simple">
  1124. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  1125. <dd class="field-odd"><ul class="simple">
  1126. <li><p><strong>_max</strong> – <strong>[in]</strong> Maximum number of elements in _enum array. </p></li>
  1127. <li><p><strong>_enum</strong> – <strong>[inout]</strong> Array where supported renderers will be written.</p></li>
  1128. </ul>
  1129. </dd>
  1130. <dt class="field-even">Returns<span class="colon">:</span></dt>
  1131. <dd class="field-even"><p>Number of supported renderers.</p>
  1132. </dd>
  1133. </dl>
  1134. </dd></dl>
  1135. <dl class="cpp function">
  1136. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15getRendererTypeEv">
  1137. <span id="_CPPv3N4bgfx15getRendererTypeEv"></span><span id="_CPPv2N4bgfx15getRendererTypeEv"></span><span id="bgfx::getRendererType"></span><span class="target" id="namespacebgfx_1ab0c1e47f7ebc790794c0161abaaebc8a"></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType"><span class="n"><span class="pre">RendererType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getRendererType</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15getRendererTypeEv" title="Link to this definition"></a><br /></dt>
  1138. <dd><p>Returns current renderer backend API type. </p>
  1139. <p><div class="remark admonition">
  1140. <p class="admonition-title">Remark</p>
  1141. <p>Library must be initialized.</p>
  1142. </div>
  1143. <dl class="simple">
  1144. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_renderer_type</span></code>. </p>
  1145. </dd>
  1146. </dl>
  1147. </p>
  1148. </dd></dl>
  1149. <dl class="cpp struct">
  1150. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererTypeE">
  1151. <span id="_CPPv3N4bgfx12RendererTypeE"></span><span id="_CPPv2N4bgfx12RendererTypeE"></span><span id="bgfx::RendererType"></span><span class="target" id="structbgfx_1_1_renderer_type"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RendererType</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererTypeE" title="Link to this definition"></a><br /></dt>
  1152. <dd><p>Renderer backend type enum. </p>
  1153. <p><dl class="simple">
  1154. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_renderer_type_t</span></code>. </p>
  1155. </dd>
  1156. </dl>
  1157. </p>
  1158. <div class="breathe-sectiondef docutils container">
  1159. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  1160. <dl class="cpp enum">
  1161. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4EnumE">
  1162. <span id="_CPPv3N4bgfx12RendererType4EnumE"></span><span id="_CPPv2N4bgfx12RendererType4EnumE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4EnumE" title="Link to this definition"></a><br /></dt>
  1163. <dd><p>Renderer types: </p>
  1164. <p><em>Values:</em></p>
  1165. <dl class="cpp enumerator">
  1166. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum4NoopE">
  1167. <span id="_CPPv3N4bgfx12RendererType4Enum4NoopE"></span><span id="_CPPv2N4bgfx12RendererType4Enum4NoopE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32ae119c2ac9204cc917b956053d53110e6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Noop</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum4NoopE" title="Link to this definition"></a><br /></dt>
  1168. <dd><p>No rendering. </p>
  1169. </dd></dl>
  1170. <dl class="cpp enumerator">
  1171. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum3AgcE">
  1172. <span id="_CPPv3N4bgfx12RendererType4Enum3AgcE"></span><span id="_CPPv2N4bgfx12RendererType4Enum3AgcE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aa33dbbf0d8c3c0571de5ced9ee09d559"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Agc</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum3AgcE" title="Link to this definition"></a><br /></dt>
  1173. <dd><p>AGC. </p>
  1174. </dd></dl>
  1175. <dl class="cpp enumerator">
  1176. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum10Direct3D11E">
  1177. <span id="_CPPv3N4bgfx12RendererType4Enum10Direct3D11E"></span><span id="_CPPv2N4bgfx12RendererType4Enum10Direct3D11E"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a779984af2d8f167e3d81197fe2339342"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Direct3D11</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum10Direct3D11E" title="Link to this definition"></a><br /></dt>
  1178. <dd><p>Direct3D 11.0. </p>
  1179. </dd></dl>
  1180. <dl class="cpp enumerator">
  1181. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum10Direct3D12E">
  1182. <span id="_CPPv3N4bgfx12RendererType4Enum10Direct3D12E"></span><span id="_CPPv2N4bgfx12RendererType4Enum10Direct3D12E"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a97ff664bd1c66a64c4bfcf2b1397a62c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Direct3D12</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum10Direct3D12E" title="Link to this definition"></a><br /></dt>
  1183. <dd><p>Direct3D 12.0. </p>
  1184. </dd></dl>
  1185. <dl class="cpp enumerator">
  1186. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum3GnmE">
  1187. <span id="_CPPv3N4bgfx12RendererType4Enum3GnmE"></span><span id="_CPPv2N4bgfx12RendererType4Enum3GnmE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a960f8f39bfa96702800236af4add67b5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Gnm</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum3GnmE" title="Link to this definition"></a><br /></dt>
  1188. <dd><p>GNM. </p>
  1189. </dd></dl>
  1190. <dl class="cpp enumerator">
  1191. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum5MetalE">
  1192. <span id="_CPPv3N4bgfx12RendererType4Enum5MetalE"></span><span id="_CPPv2N4bgfx12RendererType4Enum5MetalE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aa079092a089171e407f97a7d07d63fa7"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Metal</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum5MetalE" title="Link to this definition"></a><br /></dt>
  1193. <dd><p>Metal. </p>
  1194. </dd></dl>
  1195. <dl class="cpp enumerator">
  1196. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum3NvnE">
  1197. <span id="_CPPv3N4bgfx12RendererType4Enum3NvnE"></span><span id="_CPPv2N4bgfx12RendererType4Enum3NvnE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aeda3a8f82db963a0dae1d24987bb6b02"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Nvn</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum3NvnE" title="Link to this definition"></a><br /></dt>
  1198. <dd><p>NVN. </p>
  1199. </dd></dl>
  1200. <dl class="cpp enumerator">
  1201. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum8OpenGLESE">
  1202. <span id="_CPPv3N4bgfx12RendererType4Enum8OpenGLESE"></span><span id="_CPPv2N4bgfx12RendererType4Enum8OpenGLESE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32ab88722df715c016f46d3ee90d7a87be5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OpenGLES</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum8OpenGLESE" title="Link to this definition"></a><br /></dt>
  1203. <dd><p>OpenGL ES 2.0+. </p>
  1204. </dd></dl>
  1205. <dl class="cpp enumerator">
  1206. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum6OpenGLE">
  1207. <span id="_CPPv3N4bgfx12RendererType4Enum6OpenGLE"></span><span id="_CPPv2N4bgfx12RendererType4Enum6OpenGLE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a484f42aff573002614c5a4ea7cf1a859"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OpenGL</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum6OpenGLE" title="Link to this definition"></a><br /></dt>
  1208. <dd><p>OpenGL 2.1+. </p>
  1209. </dd></dl>
  1210. <dl class="cpp enumerator">
  1211. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum6VulkanE">
  1212. <span id="_CPPv3N4bgfx12RendererType4Enum6VulkanE"></span><span id="_CPPv2N4bgfx12RendererType4Enum6VulkanE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a427ffdf300bed8d7951452ffb21a7638"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Vulkan</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum6VulkanE" title="Link to this definition"></a><br /></dt>
  1213. <dd><p>Vulkan. </p>
  1214. </dd></dl>
  1215. <dl class="cpp enumerator">
  1216. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum6WebGPUE">
  1217. <span id="_CPPv3N4bgfx12RendererType4Enum6WebGPUE"></span><span id="_CPPv2N4bgfx12RendererType4Enum6WebGPUE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32a3f820d8a453e1521afc82ef494e9a977"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WebGPU</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum6WebGPUE" title="Link to this definition"></a><br /></dt>
  1218. <dd><p>WebGPU. </p>
  1219. </dd></dl>
  1220. <dl class="cpp enumerator">
  1221. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12RendererType4Enum5CountE">
  1222. <span id="_CPPv3N4bgfx12RendererType4Enum5CountE"></span><span id="_CPPv2N4bgfx12RendererType4Enum5CountE"></span><span class="target" id="structbgfx_1_1_renderer_type_1a23d258e890027d7deff9d971e2493a32aab03bfb685626b6697f1456fcc1ad3f5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12RendererType4Enum5CountE" title="Link to this definition"></a><br /></dt>
  1223. <dd></dd></dl>
  1224. </dd></dl>
  1225. </div>
  1226. </dd></dl>
  1227. </section>
  1228. <section id="capabilities">
  1229. <h4>Capabilities<a class="headerlink" href="#capabilities" title="Link to this heading"></a></h4>
  1230. <dl class="cpp function">
  1231. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7getCapsEv">
  1232. <span id="_CPPv3N4bgfx7getCapsEv"></span><span id="_CPPv2N4bgfx7getCapsEv"></span><span id="bgfx::getCaps"></span><span class="target" id="namespacebgfx_1a07afbc20738a14d386d57417043a4e07"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx4CapsE" title="bgfx::Caps"><span class="n"><span class="pre">Caps</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getCaps</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7getCapsEv" title="Link to this definition"></a><br /></dt>
  1233. <dd><p>Returns renderer capabilities. </p>
  1234. <p><div class="remark admonition">
  1235. <p class="admonition-title">Remark</p>
  1236. <p>Library must be initialized.</p>
  1237. </div>
  1238. <dl class="simple">
  1239. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_caps</span></code>. </p>
  1240. </dd>
  1241. </dl>
  1242. </p>
  1243. <dl class="field-list simple">
  1244. <dt class="field-odd">Returns<span class="colon">:</span></dt>
  1245. <dd class="field-odd"><p>Pointer to static <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_caps"><span class="std std-ref"><span class="pre">bgfx::Caps</span></span></a></code> structure.</p>
  1246. </dd>
  1247. </dl>
  1248. </dd></dl>
  1249. <dl class="cpp struct">
  1250. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4CapsE">
  1251. <span id="_CPPv3N4bgfx4CapsE"></span><span id="_CPPv2N4bgfx4CapsE"></span><span id="bgfx::Caps"></span><span class="target" id="structbgfx_1_1_caps"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Caps</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4CapsE" title="Link to this definition"></a><br /></dt>
  1252. <dd><p>Renderer capabilities. </p>
  1253. <p><dl class="simple">
  1254. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_caps_t</span></code>. </p>
  1255. </dd>
  1256. </dl>
  1257. </p>
  1258. <div class="breathe-sectiondef docutils container">
  1259. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  1260. <dl class="cpp var">
  1261. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps12rendererTypeE">
  1262. <span id="_CPPv3N4bgfx4Caps12rendererTypeE"></span><span id="_CPPv2N4bgfx4Caps12rendererTypeE"></span><span id="bgfx::Caps::rendererType__RendererType::Enum"></span><span class="target" id="structbgfx_1_1_caps_1a68960bb9621a6e4b0cad7e0f326ab3fd"></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType"><span class="n"><span class="pre">RendererType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">rendererType</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps12rendererTypeE" title="Link to this definition"></a><br /></dt>
  1263. <dd><p>Renderer backend type. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_renderer_type"><span class="std std-ref"><span class="pre">bgfx::RendererType</span></span></a></code></p>
  1264. </dd></dl>
  1265. <dl class="cpp var">
  1266. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps9supportedE">
  1267. <span id="_CPPv3N4bgfx4Caps9supportedE"></span><span id="_CPPv2N4bgfx4Caps9supportedE"></span><span id="bgfx::Caps::supported__uint64_t"></span><span class="target" id="structbgfx_1_1_caps_1a39b666b5fe440ad5e92748bb1fce60cf"></span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">supported</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps9supportedE" title="Link to this definition"></a><br /></dt>
  1268. <dd><p>Supported functionality. </p>
  1269. <p><dl class="simple">
  1270. <dt><strong>Attention</strong></dt><dd><p>See <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_*</span></code> flags at <a class="reference external" href="https://bkaradzic.github.io/bgfx/bgfx.html#available-caps">https://bkaradzic.github.io/bgfx/bgfx.html#available-caps</a></p>
  1271. </dd>
  1272. </dl>
  1273. </p>
  1274. </dd></dl>
  1275. <dl class="cpp var">
  1276. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps8vendorIdE">
  1277. <span id="_CPPv3N4bgfx4Caps8vendorIdE"></span><span id="_CPPv2N4bgfx4Caps8vendorIdE"></span><span id="bgfx::Caps::vendorId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1ac51fdd2bed74e1e71480409bd40bc4bc"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">vendorId</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps8vendorIdE" title="Link to this definition"></a><br /></dt>
  1278. <dd><p>Selected <a class="reference internal" href="#structbgfx_1_1_caps_1_1_g_p_u"><span class="std std-ref">GPU</span></a> vendor PCI id. </p>
  1279. </dd></dl>
  1280. <dl class="cpp var">
  1281. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps8deviceIdE">
  1282. <span id="_CPPv3N4bgfx4Caps8deviceIdE"></span><span id="_CPPv2N4bgfx4Caps8deviceIdE"></span><span id="bgfx::Caps::deviceId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1a7c63448a97f4d09b275c353cdb295a8b"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">deviceId</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps8deviceIdE" title="Link to this definition"></a><br /></dt>
  1283. <dd><p>Selected <a class="reference internal" href="#structbgfx_1_1_caps_1_1_g_p_u"><span class="std std-ref">GPU</span></a> device id. </p>
  1284. </dd></dl>
  1285. <dl class="cpp var">
  1286. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps16homogeneousDepthE">
  1287. <span id="_CPPv3N4bgfx4Caps16homogeneousDepthE"></span><span id="_CPPv2N4bgfx4Caps16homogeneousDepthE"></span><span id="bgfx::Caps::homogeneousDepth__b"></span><span class="target" id="structbgfx_1_1_caps_1af44dfe9ca7538e9e8cf6feecc37656f0"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">homogeneousDepth</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps16homogeneousDepthE" title="Link to this definition"></a><br /></dt>
  1288. <dd><p>True when NDC depth is in [-1, 1] range, otherwise its [0, 1]. </p>
  1289. </dd></dl>
  1290. <dl class="cpp var">
  1291. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps16originBottomLeftE">
  1292. <span id="_CPPv3N4bgfx4Caps16originBottomLeftE"></span><span id="_CPPv2N4bgfx4Caps16originBottomLeftE"></span><span id="bgfx::Caps::originBottomLeft__b"></span><span class="target" id="structbgfx_1_1_caps_1a1f64f782bd68dfc615a2571ca6e1cf72"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">originBottomLeft</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps16originBottomLeftE" title="Link to this definition"></a><br /></dt>
  1293. <dd><p>True when NDC origin is at bottom left. </p>
  1294. </dd></dl>
  1295. <dl class="cpp var">
  1296. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps7numGPUsE">
  1297. <span id="_CPPv3N4bgfx4Caps7numGPUsE"></span><span id="_CPPv2N4bgfx4Caps7numGPUsE"></span><span id="bgfx::Caps::numGPUs__uint8_t"></span><span class="target" id="structbgfx_1_1_caps_1a4b1b11f121ff1ce7df944f4a5538406f"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numGPUs</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps7numGPUsE" title="Link to this definition"></a><br /></dt>
  1298. <dd><p>Number of enumerated GPUs. </p>
  1299. </dd></dl>
  1300. <dl class="cpp var">
  1301. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps3gpuE">
  1302. <span id="_CPPv3N4bgfx4Caps3gpuE"></span><span id="_CPPv2N4bgfx4Caps3gpuE"></span><span id="bgfx::Caps::gpu__GPUA"></span><span class="target" id="structbgfx_1_1_caps_1ac57ba69338666cbb6b26b50df04d045a"></span><a class="reference internal" href="#_CPPv4N4bgfx4Caps3GPUE" title="bgfx::Caps::GPU"><span class="n"><span class="pre">GPU</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpu</span></span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">4</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps3gpuE" title="Link to this definition"></a><br /></dt>
  1303. <dd><p>Enumerated GPUs. </p>
  1304. </dd></dl>
  1305. <dl class="cpp var">
  1306. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6limitsE">
  1307. <span id="_CPPv3N4bgfx4Caps6limitsE"></span><span id="_CPPv2N4bgfx4Caps6limitsE"></span><span id="bgfx::Caps::limits__Limits"></span><span class="target" id="structbgfx_1_1_caps_1aaee8d2d2fc101a36168af869644dcac3"></span><a class="reference internal" href="#_CPPv4N4bgfx4Caps6LimitsE" title="bgfx::Caps::Limits"><span class="n"><span class="pre">Limits</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">limits</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6limitsE" title="Link to this definition"></a><br /></dt>
  1308. <dd><p>Renderer runtime limits. </p>
  1309. </dd></dl>
  1310. <dl class="cpp var">
  1311. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps7formatsE">
  1312. <span id="_CPPv3N4bgfx4Caps7formatsE"></span><span id="_CPPv2N4bgfx4Caps7formatsE"></span><span id="bgfx::Caps::formats__uint16_tA"></span><span class="target" id="structbgfx_1_1_caps_1a9d3d8445e5c828669c924e6fa38e9389"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">formats</span></span></span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count"><span class="n"><span class="pre">Count</span></span></a><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps7formatsE" title="Link to this definition"></a><br /></dt>
  1313. <dd><p>Supported texture format capabilities flags: </p>
  1314. <p><ul class="simple">
  1315. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_NONE</span></code> - Texture format is not supported.</p></li>
  1316. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_2D</span></code> - Texture format is supported.</p></li>
  1317. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_2D_SRGB</span></code> - Texture as sRGB format is supported.</p></li>
  1318. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_2D_EMULATED</span></code> - Texture format is emulated.</p></li>
  1319. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_3D</span></code> - Texture format is supported.</p></li>
  1320. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_3D_SRGB</span></code> - Texture as sRGB format is supported.</p></li>
  1321. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_3D_EMULATED</span></code> - Texture format is emulated.</p></li>
  1322. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_CUBE</span></code> - Texture format is supported.</p></li>
  1323. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_CUBE_SRGB</span></code> - Texture as sRGB format is supported.</p></li>
  1324. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_CUBE_EMULATED</span></code> - Texture format is emulated.</p></li>
  1325. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_VERTEX</span></code> - Texture format can be used from vertex shader.</p></li>
  1326. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ</span></code> - Texture format can be used as image and read from.</p></li>
  1327. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_IMAGE_WRITE</span></code> - Texture format can be used as image and written to.</p></li>
  1328. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER</span></code> - Texture format can be used as frame buffer.</p></li>
  1329. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER_MSAA</span></code> - Texture format can be used as MSAA frame buffer.</p></li>
  1330. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_MSAA</span></code> - Texture can be sampled as MSAA.</p></li>
  1331. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_FORMAT_TEXTURE_MIP_AUTOGEN</span></code> - Texture format supports auto-generated mips. </p></li>
  1332. </ul>
  1333. </p>
  1334. </dd></dl>
  1335. </div>
  1336. <dl class="cpp struct">
  1337. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps3GPUE">
  1338. <span id="_CPPv3N4bgfx4Caps3GPUE"></span><span id="_CPPv2N4bgfx4Caps3GPUE"></span><span id="bgfx::Caps::GPU"></span><span class="target" id="structbgfx_1_1_caps_1_1_g_p_u"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GPU</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps3GPUE" title="Link to this definition"></a><br /></dt>
  1339. <dd><p><a class="reference internal" href="#structbgfx_1_1_caps_1_1_g_p_u"><span class="std std-ref">GPU</span></a> info. </p>
  1340. <p><dl class="simple">
  1341. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_caps_gpu_t</span></code>. </p>
  1342. </dd>
  1343. </dl>
  1344. </p>
  1345. <div class="breathe-sectiondef docutils container">
  1346. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  1347. <dl class="cpp var">
  1348. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps3GPU8vendorIdE">
  1349. <span id="_CPPv3N4bgfx4Caps3GPU8vendorIdE"></span><span id="_CPPv2N4bgfx4Caps3GPU8vendorIdE"></span><span id="bgfx::Caps::GPU::vendorId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_g_p_u_1a77f4cadafbf81c74f4fb7111a2977f3b"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">vendorId</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps3GPU8vendorIdE" title="Link to this definition"></a><br /></dt>
  1350. <dd><p>Vendor PCI id. See <code class="docutils literal notranslate"><span class="pre">BGFX_PCI_ID_*</span></code>. </p>
  1351. </dd></dl>
  1352. <dl class="cpp var">
  1353. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps3GPU8deviceIdE">
  1354. <span id="_CPPv3N4bgfx4Caps3GPU8deviceIdE"></span><span id="_CPPv2N4bgfx4Caps3GPU8deviceIdE"></span><span id="bgfx::Caps::GPU::deviceId__uint16_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_g_p_u_1ade4c6123ad7964f039b5c5df9de7e6a8"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">deviceId</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps3GPU8deviceIdE" title="Link to this definition"></a><br /></dt>
  1355. <dd><p>Device id. </p>
  1356. </dd></dl>
  1357. </div>
  1358. </dd></dl>
  1359. <dl class="cpp struct">
  1360. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6LimitsE">
  1361. <span id="_CPPv3N4bgfx4Caps6LimitsE"></span><span id="_CPPv2N4bgfx4Caps6LimitsE"></span><span id="bgfx::Caps::Limits"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Limits</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6LimitsE" title="Link to this definition"></a><br /></dt>
  1362. <dd><p>Renderer runtime limits. </p>
  1363. <p><dl class="simple">
  1364. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_caps_limits_t</span></code>. </p>
  1365. </dd>
  1366. </dl>
  1367. </p>
  1368. <div class="breathe-sectiondef docutils container">
  1369. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  1370. <dl class="cpp var">
  1371. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits12maxDrawCallsE">
  1372. <span id="_CPPv3N4bgfx4Caps6Limits12maxDrawCallsE"></span><span id="_CPPv2N4bgfx4Caps6Limits12maxDrawCallsE"></span><span id="bgfx::Caps::Limits::maxDrawCalls__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ac324029c23579396238cca5af3027a64"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxDrawCalls</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits12maxDrawCallsE" title="Link to this definition"></a><br /></dt>
  1373. <dd><p>Maximum number of draw calls. </p>
  1374. </dd></dl>
  1375. <dl class="cpp var">
  1376. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits8maxBlitsE">
  1377. <span id="_CPPv3N4bgfx4Caps6Limits8maxBlitsE"></span><span id="_CPPv2N4bgfx4Caps6Limits8maxBlitsE"></span><span id="bgfx::Caps::Limits::maxBlits__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a98c1429581326942d9d795b732f8d65b"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxBlits</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits8maxBlitsE" title="Link to this definition"></a><br /></dt>
  1378. <dd><p>Maximum number of blit calls. </p>
  1379. </dd></dl>
  1380. <dl class="cpp var">
  1381. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits14maxTextureSizeE">
  1382. <span id="_CPPv3N4bgfx4Caps6Limits14maxTextureSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits14maxTextureSizeE"></span><span id="bgfx::Caps::Limits::maxTextureSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a0e2f1e34625efb46c2b27f080879885e"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTextureSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits14maxTextureSizeE" title="Link to this definition"></a><br /></dt>
  1383. <dd><p>Maximum texture size. </p>
  1384. </dd></dl>
  1385. <dl class="cpp var">
  1386. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits16maxTextureLayersE">
  1387. <span id="_CPPv3N4bgfx4Caps6Limits16maxTextureLayersE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxTextureLayersE"></span><span id="bgfx::Caps::Limits::maxTextureLayers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a47505cd12a2fb1172768b4dfdda3b98c"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTextureLayers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxTextureLayersE" title="Link to this definition"></a><br /></dt>
  1388. <dd><p>Maximum texture layers. </p>
  1389. </dd></dl>
  1390. <dl class="cpp var">
  1391. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits8maxViewsE">
  1392. <span id="_CPPv3N4bgfx4Caps6Limits8maxViewsE"></span><span id="_CPPv2N4bgfx4Caps6Limits8maxViewsE"></span><span id="bgfx::Caps::Limits::maxViews__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ab498589784aa6b1cf5b746994634171d"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxViews</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits8maxViewsE" title="Link to this definition"></a><br /></dt>
  1393. <dd><p>Maximum number of views. </p>
  1394. </dd></dl>
  1395. <dl class="cpp var">
  1396. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits15maxFrameBuffersE">
  1397. <span id="_CPPv3N4bgfx4Caps6Limits15maxFrameBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits15maxFrameBuffersE"></span><span id="bgfx::Caps::Limits::maxFrameBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a1af60c77dfe82892b03082c623069128"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxFrameBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits15maxFrameBuffersE" title="Link to this definition"></a><br /></dt>
  1398. <dd><p>Maximum number of frame buffer handles. </p>
  1399. </dd></dl>
  1400. <dl class="cpp var">
  1401. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits16maxFBAttachmentsE">
  1402. <span id="_CPPv3N4bgfx4Caps6Limits16maxFBAttachmentsE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxFBAttachmentsE"></span><span id="bgfx::Caps::Limits::maxFBAttachments__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af7cd37b90264f803a0cd32feb38eef15"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxFBAttachments</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxFBAttachmentsE" title="Link to this definition"></a><br /></dt>
  1403. <dd><p>Maximum number of frame buffer attachments. </p>
  1404. </dd></dl>
  1405. <dl class="cpp var">
  1406. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits11maxProgramsE">
  1407. <span id="_CPPv3N4bgfx4Caps6Limits11maxProgramsE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxProgramsE"></span><span id="bgfx::Caps::Limits::maxPrograms__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af127d6a3eab65655bf39570ff4b11734"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxPrograms</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxProgramsE" title="Link to this definition"></a><br /></dt>
  1408. <dd><p>Maximum number of program handles. </p>
  1409. </dd></dl>
  1410. <dl class="cpp var">
  1411. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits10maxShadersE">
  1412. <span id="_CPPv3N4bgfx4Caps6Limits10maxShadersE"></span><span id="_CPPv2N4bgfx4Caps6Limits10maxShadersE"></span><span id="bgfx::Caps::Limits::maxShaders__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a53e281859a518d7791a8b1246209e1e9"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxShaders</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits10maxShadersE" title="Link to this definition"></a><br /></dt>
  1413. <dd><p>Maximum number of shader handles. </p>
  1414. </dd></dl>
  1415. <dl class="cpp var">
  1416. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits11maxTexturesE">
  1417. <span id="_CPPv3N4bgfx4Caps6Limits11maxTexturesE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxTexturesE"></span><span id="bgfx::Caps::Limits::maxTextures__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a2bcb4e498ce04ceae93ef8a8b54f65f7"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTextures</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxTexturesE" title="Link to this definition"></a><br /></dt>
  1418. <dd><p>Maximum number of texture handles. </p>
  1419. </dd></dl>
  1420. <dl class="cpp var">
  1421. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits18maxTextureSamplersE">
  1422. <span id="_CPPv3N4bgfx4Caps6Limits18maxTextureSamplersE"></span><span id="_CPPv2N4bgfx4Caps6Limits18maxTextureSamplersE"></span><span id="bgfx::Caps::Limits::maxTextureSamplers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a7fcc0f7cfdb9557ae37e5bde1d1a2a1f"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTextureSamplers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits18maxTextureSamplersE" title="Link to this definition"></a><br /></dt>
  1423. <dd><p>Maximum number of texture samplers. </p>
  1424. </dd></dl>
  1425. <dl class="cpp var">
  1426. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits18maxComputeBindingsE">
  1427. <span id="_CPPv3N4bgfx4Caps6Limits18maxComputeBindingsE"></span><span id="_CPPv2N4bgfx4Caps6Limits18maxComputeBindingsE"></span><span id="bgfx::Caps::Limits::maxComputeBindings__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a2cf3ef61b8359023fd73ba6cd9f47a64"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxComputeBindings</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits18maxComputeBindingsE" title="Link to this definition"></a><br /></dt>
  1428. <dd><p>Maximum number of compute bindings. </p>
  1429. </dd></dl>
  1430. <dl class="cpp var">
  1431. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits16maxVertexLayoutsE">
  1432. <span id="_CPPv3N4bgfx4Caps6Limits16maxVertexLayoutsE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxVertexLayoutsE"></span><span id="bgfx::Caps::Limits::maxVertexLayouts__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a05b8eea9730280adb764302e79c573aa"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxVertexLayouts</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxVertexLayoutsE" title="Link to this definition"></a><br /></dt>
  1433. <dd><p>Maximum number of vertex format layouts. </p>
  1434. </dd></dl>
  1435. <dl class="cpp var">
  1436. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits16maxVertexStreamsE">
  1437. <span id="_CPPv3N4bgfx4Caps6Limits16maxVertexStreamsE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxVertexStreamsE"></span><span id="bgfx::Caps::Limits::maxVertexStreams__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ae3b60d96f126e89d57a177872f489527"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxVertexStreams</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxVertexStreamsE" title="Link to this definition"></a><br /></dt>
  1438. <dd><p>Maximum number of vertex streams. </p>
  1439. </dd></dl>
  1440. <dl class="cpp var">
  1441. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits15maxIndexBuffersE">
  1442. <span id="_CPPv3N4bgfx4Caps6Limits15maxIndexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits15maxIndexBuffersE"></span><span id="bgfx::Caps::Limits::maxIndexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a91d6bc8e86abd9eca8cc0fe303d3cf6c"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxIndexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits15maxIndexBuffersE" title="Link to this definition"></a><br /></dt>
  1443. <dd><p>Maximum number of index buffer handles. </p>
  1444. </dd></dl>
  1445. <dl class="cpp var">
  1446. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits16maxVertexBuffersE">
  1447. <span id="_CPPv3N4bgfx4Caps6Limits16maxVertexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits16maxVertexBuffersE"></span><span id="bgfx::Caps::Limits::maxVertexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af9f48ed16a60e74e3815daf6df3ed25f"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxVertexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits16maxVertexBuffersE" title="Link to this definition"></a><br /></dt>
  1448. <dd><p>Maximum number of vertex buffer handles. </p>
  1449. </dd></dl>
  1450. <dl class="cpp var">
  1451. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits22maxDynamicIndexBuffersE">
  1452. <span id="_CPPv3N4bgfx4Caps6Limits22maxDynamicIndexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits22maxDynamicIndexBuffersE"></span><span id="bgfx::Caps::Limits::maxDynamicIndexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ad64d97f5d9cb0fa5994148656eb2cbaa"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxDynamicIndexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits22maxDynamicIndexBuffersE" title="Link to this definition"></a><br /></dt>
  1453. <dd><p>Maximum number of dynamic index buffer handles. </p>
  1454. </dd></dl>
  1455. <dl class="cpp var">
  1456. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits23maxDynamicVertexBuffersE">
  1457. <span id="_CPPv3N4bgfx4Caps6Limits23maxDynamicVertexBuffersE"></span><span id="_CPPv2N4bgfx4Caps6Limits23maxDynamicVertexBuffersE"></span><span id="bgfx::Caps::Limits::maxDynamicVertexBuffers__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a1e5f37cc9f8e05729852ee2ae363d3c2"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxDynamicVertexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits23maxDynamicVertexBuffersE" title="Link to this definition"></a><br /></dt>
  1458. <dd><p>Maximum number of dynamic vertex buffer handles. </p>
  1459. </dd></dl>
  1460. <dl class="cpp var">
  1461. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits11maxUniformsE">
  1462. <span id="_CPPv3N4bgfx4Caps6Limits11maxUniformsE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxUniformsE"></span><span id="bgfx::Caps::Limits::maxUniforms__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1af9f56afc24d7287d577c948f8e848f06"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxUniforms</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxUniformsE" title="Link to this definition"></a><br /></dt>
  1463. <dd><p>Maximum number of uniform handles. </p>
  1464. </dd></dl>
  1465. <dl class="cpp var">
  1466. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits19maxOcclusionQueriesE">
  1467. <span id="_CPPv3N4bgfx4Caps6Limits19maxOcclusionQueriesE"></span><span id="_CPPv2N4bgfx4Caps6Limits19maxOcclusionQueriesE"></span><span id="bgfx::Caps::Limits::maxOcclusionQueries__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a64c6f40f46021e9d5fbec9c27d3fbece"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxOcclusionQueries</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits19maxOcclusionQueriesE" title="Link to this definition"></a><br /></dt>
  1468. <dd><p>Maximum number of occlusion query handles. </p>
  1469. </dd></dl>
  1470. <dl class="cpp var">
  1471. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits11maxEncodersE">
  1472. <span id="_CPPv3N4bgfx4Caps6Limits11maxEncodersE"></span><span id="_CPPv2N4bgfx4Caps6Limits11maxEncodersE"></span><span id="bgfx::Caps::Limits::maxEncoders__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ad8bf1308949450d13fc231179c0d8a2c"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxEncoders</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits11maxEncodersE" title="Link to this definition"></a><br /></dt>
  1473. <dd><p>Maximum number of encoder threads. </p>
  1474. </dd></dl>
  1475. <dl class="cpp var">
  1476. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits17minResourceCbSizeE">
  1477. <span id="_CPPv3N4bgfx4Caps6Limits17minResourceCbSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits17minResourceCbSizeE"></span><span id="bgfx::Caps::Limits::minResourceCbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ae667994a50bb11dc3da060ba9eee818f"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">minResourceCbSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits17minResourceCbSizeE" title="Link to this definition"></a><br /></dt>
  1478. <dd><p>Minimum resource command buffer size. </p>
  1479. </dd></dl>
  1480. <dl class="cpp var">
  1481. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits18maxTransientVbSizeE">
  1482. <span id="_CPPv3N4bgfx4Caps6Limits18maxTransientVbSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits18maxTransientVbSizeE"></span><span id="bgfx::Caps::Limits::maxTransientVbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a4dbc939dfb22fe5bab9ac6a8613f0e28"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTransientVbSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits18maxTransientVbSizeE" title="Link to this definition"></a><br /></dt>
  1483. <dd><p>Maximum transient vertex buffer size. </p>
  1484. </dd></dl>
  1485. <dl class="cpp var">
  1486. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits18maxTransientIbSizeE">
  1487. <span id="_CPPv3N4bgfx4Caps6Limits18maxTransientIbSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits18maxTransientIbSizeE"></span><span id="bgfx::Caps::Limits::maxTransientIbSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1ac54e0ace06112ef99b44dbd5e181348f"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxTransientIbSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits18maxTransientIbSizeE" title="Link to this definition"></a><br /></dt>
  1488. <dd><p>Maximum transient index buffer size. </p>
  1489. </dd></dl>
  1490. <dl class="cpp var">
  1491. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4Caps6Limits20minUniformBufferSizeE">
  1492. <span id="_CPPv3N4bgfx4Caps6Limits20minUniformBufferSizeE"></span><span id="_CPPv2N4bgfx4Caps6Limits20minUniformBufferSizeE"></span><span id="bgfx::Caps::Limits::minUniformBufferSize__uint32_t"></span><span class="target" id="structbgfx_1_1_caps_1_1_limits_1a74751c726313cb3319507191197bbcc2"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">minUniformBufferSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx4Caps6Limits20minUniformBufferSizeE" title="Link to this definition"></a><br /></dt>
  1493. <dd><p>Mimimum uniform buffer size. </p>
  1494. </dd></dl>
  1495. </div>
  1496. </dd></dl>
  1497. </dd></dl>
  1498. <section id="available-caps">
  1499. <h5>Available Caps<a class="headerlink" href="#available-caps" title="Link to this heading"></a></h5>
  1500. <dl class="cpp macro">
  1501. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_ALPHA_TO_COVERAGE">
  1502. <span class="target" id="defines_8h_1abd908a660ce2ecb66ac53f2fede98451"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_ALPHA_TO_COVERAGE</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_ALPHA_TO_COVERAGE" title="Link to this definition"></a><br /></dt>
  1503. <dd><p>Alpha to coverage is supported. </p>
  1504. </dd></dl>
  1505. <dl class="cpp macro">
  1506. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_BLEND_INDEPENDENT">
  1507. <span class="target" id="defines_8h_1ac50a011626842799ca8e2041a4760e9f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_BLEND_INDEPENDENT</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_BLEND_INDEPENDENT" title="Link to this definition"></a><br /></dt>
  1508. <dd><p>Blend independent is supported. </p>
  1509. </dd></dl>
  1510. <dl class="cpp macro">
  1511. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_COMPUTE">
  1512. <span class="target" id="defines_8h_1ae843b1802f7876c50ffbd3c5def8a1b4"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_COMPUTE</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_COMPUTE" title="Link to this definition"></a><br /></dt>
  1513. <dd><p>Compute shaders are supported. </p>
  1514. </dd></dl>
  1515. <dl class="cpp macro">
  1516. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_CONSERVATIVE_RASTER">
  1517. <span class="target" id="defines_8h_1a01ba705fe5d7a67c47d2a6bd8ace6869"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_CONSERVATIVE_RASTER</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_CONSERVATIVE_RASTER" title="Link to this definition"></a><br /></dt>
  1518. <dd><p>Conservative rasterization is supported. </p>
  1519. </dd></dl>
  1520. <dl class="cpp macro">
  1521. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_DRAW_INDIRECT">
  1522. <span class="target" id="defines_8h_1aa82d6cbe876706321923461ff8973679"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_DRAW_INDIRECT</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_DRAW_INDIRECT" title="Link to this definition"></a><br /></dt>
  1523. <dd><p>Draw indirect is supported. </p>
  1524. </dd></dl>
  1525. <dl class="cpp macro">
  1526. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_DRAW_INDIRECT_COUNT">
  1527. <span class="target" id="defines_8h_1ae16a915be9005a3d605b06db4a40f573"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_DRAW_INDIRECT_COUNT</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_DRAW_INDIRECT_COUNT" title="Link to this definition"></a><br /></dt>
  1528. <dd><p>Draw indirect with indirect count is supported. </p>
  1529. </dd></dl>
  1530. <dl class="cpp macro">
  1531. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_FRAGMENT_DEPTH">
  1532. <span class="target" id="defines_8h_1ad6427441adff7f8672d4f90eaa40698d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_FRAGMENT_DEPTH</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_FRAGMENT_DEPTH" title="Link to this definition"></a><br /></dt>
  1533. <dd><p>Fragment depth is available in fragment shader. </p>
  1534. </dd></dl>
  1535. <dl class="cpp macro">
  1536. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_FRAGMENT_ORDERING">
  1537. <span class="target" id="defines_8h_1ae63f3a67435d3ab926ef8d7fd19ffe07"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_FRAGMENT_ORDERING</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_FRAGMENT_ORDERING" title="Link to this definition"></a><br /></dt>
  1538. <dd><p>Fragment ordering is available in fragment shader. </p>
  1539. </dd></dl>
  1540. <dl class="cpp macro">
  1541. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_GRAPHICS_DEBUGGER">
  1542. <span class="target" id="defines_8h_1a09ab03b89a07295a645d15cc4ac1580d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_GRAPHICS_DEBUGGER</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_GRAPHICS_DEBUGGER" title="Link to this definition"></a><br /></dt>
  1543. <dd><p>Graphics debugger is present. </p>
  1544. </dd></dl>
  1545. <dl class="cpp macro">
  1546. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_HDR10">
  1547. <span class="target" id="defines_8h_1af5cd44ec5f5eec4e8479d54bb9a9497e"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_HDR10</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_HDR10" title="Link to this definition"></a><br /></dt>
  1548. <dd><p>HDR10 rendering is supported. </p>
  1549. </dd></dl>
  1550. <dl class="cpp macro">
  1551. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_HIDPI">
  1552. <span class="target" id="defines_8h_1a917840ff950077d8f5964028e5854b42"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_HIDPI</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_HIDPI" title="Link to this definition"></a><br /></dt>
  1553. <dd><p>HiDPI rendering is supported. </p>
  1554. </dd></dl>
  1555. <dl class="cpp macro">
  1556. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_IMAGE_RW">
  1557. <span class="target" id="defines_8h_1adac8ada97eb107696b9aa3d287c4ddba"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_IMAGE_RW</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_IMAGE_RW" title="Link to this definition"></a><br /></dt>
  1558. <dd><p>Image Read/Write is supported. </p>
  1559. </dd></dl>
  1560. <dl class="cpp macro">
  1561. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_INDEX32">
  1562. <span class="target" id="defines_8h_1ab334337b725ebcfa588afc00ab838e77"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_INDEX32</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_INDEX32" title="Link to this definition"></a><br /></dt>
  1563. <dd><p>32-bit indices are supported. </p>
  1564. </dd></dl>
  1565. <dl class="cpp macro">
  1566. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_INSTANCING">
  1567. <span class="target" id="defines_8h_1a8fa31bcef4c9038b65a7e6e198792e04"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_INSTANCING</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_INSTANCING" title="Link to this definition"></a><br /></dt>
  1568. <dd><p>Instancing is supported. </p>
  1569. </dd></dl>
  1570. <dl class="cpp macro">
  1571. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_OCCLUSION_QUERY">
  1572. <span class="target" id="defines_8h_1a35626a97a17fc3e2f3b712a8221c38bf"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_OCCLUSION_QUERY</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_OCCLUSION_QUERY" title="Link to this definition"></a><br /></dt>
  1573. <dd><p>Occlusion query is supported. </p>
  1574. </dd></dl>
  1575. <dl class="cpp macro">
  1576. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_PRIMITIVE_ID">
  1577. <span class="target" id="defines_8h_1a023bea318fc4017629303a4032e2476e"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_PRIMITIVE_ID</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_PRIMITIVE_ID" title="Link to this definition"></a><br /></dt>
  1578. <dd><p>PrimitiveID is available in fragment shader. </p>
  1579. </dd></dl>
  1580. <dl class="cpp macro">
  1581. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_RENDERER_MULTITHREADED">
  1582. <span class="target" id="defines_8h_1a7a915158233262d1e3efe18a12b4c3a6"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_RENDERER_MULTITHREADED</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_RENDERER_MULTITHREADED" title="Link to this definition"></a><br /></dt>
  1583. <dd><p>Renderer is on separate thread. </p>
  1584. </dd></dl>
  1585. <dl class="cpp macro">
  1586. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_SWAP_CHAIN">
  1587. <span class="target" id="defines_8h_1afda15c358cd389b8ba58a31bf4406c75"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_SWAP_CHAIN</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_SWAP_CHAIN" title="Link to this definition"></a><br /></dt>
  1588. <dd><p>Multiple windows are supported. </p>
  1589. </dd></dl>
  1590. <dl class="cpp macro">
  1591. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_BLIT">
  1592. <span class="target" id="defines_8h_1a7ddb9c7ef30ca6c8b68b686b5122123f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_BLIT" title="Link to this definition"></a><br /></dt>
  1593. <dd><p>Texture blit is supported. </p>
  1594. </dd></dl>
  1595. <dl class="cpp macro">
  1596. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_COMPARE_LEQUAL">
  1597. <span class="target" id="defines_8h_1a1316712571960b2e3c9daf12723041d7"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_COMPARE_LEQUAL</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_COMPARE_LEQUAL" title="Link to this definition"></a><br /></dt>
  1598. <dd><p>Texture compare less equal mode is supported. </p>
  1599. </dd></dl>
  1600. <dl class="cpp macro">
  1601. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_CUBE_ARRAY">
  1602. <span class="target" id="defines_8h_1acf8f4db9728d92d43e352ae6abb4eb33"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_CUBE_ARRAY</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_CUBE_ARRAY" title="Link to this definition"></a><br /></dt>
  1603. <dd><p>Cubemap texture array is supported. </p>
  1604. </dd></dl>
  1605. <dl class="cpp macro">
  1606. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_DIRECT_ACCESS">
  1607. <span class="target" id="defines_8h_1a45a99a879cc6d2da668682b435523a52"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_DIRECT_ACCESS</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_DIRECT_ACCESS" title="Link to this definition"></a><br /></dt>
  1608. <dd><p>CPU direct access to GPU texture memory. </p>
  1609. </dd></dl>
  1610. <dl class="cpp macro">
  1611. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_READ_BACK">
  1612. <span class="target" id="defines_8h_1ac2cd9bdd84fdce3e55b3054413094f0d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_READ_BACK</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_READ_BACK" title="Link to this definition"></a><br /></dt>
  1613. <dd><p>Read-back texture is supported. </p>
  1614. </dd></dl>
  1615. <dl class="cpp macro">
  1616. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_2D_ARRAY">
  1617. <span class="target" id="defines_8h_1a5722ea49376c1f384e7d542d94454c8e"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_2D_ARRAY</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_2D_ARRAY" title="Link to this definition"></a><br /></dt>
  1618. <dd><p>2D texture array is supported. </p>
  1619. </dd></dl>
  1620. <dl class="cpp macro">
  1621. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TEXTURE_3D">
  1622. <span class="target" id="defines_8h_1ad5f6d21a544dec64de111514b463566b"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TEXTURE_3D</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TEXTURE_3D" title="Link to this definition"></a><br /></dt>
  1623. <dd><p>3D textures are supported. </p>
  1624. </dd></dl>
  1625. <dl class="cpp macro">
  1626. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_TRANSPARENT_BACKBUFFER">
  1627. <span class="target" id="defines_8h_1a74245dd1b0923d4bb13dba88e8781f08"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_TRANSPARENT_BACKBUFFER</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_TRANSPARENT_BACKBUFFER" title="Link to this definition"></a><br /></dt>
  1628. <dd><p>Transparent back buffer supported. </p>
  1629. </dd></dl>
  1630. <dl class="cpp macro">
  1631. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_VARIABLE_RATE_SHADING">
  1632. <span class="target" id="defines_8h_1ac827c5238c11da74281be83684a43f4c"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_VARIABLE_RATE_SHADING</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_VARIABLE_RATE_SHADING" title="Link to this definition"></a><br /></dt>
  1633. <dd><p>Variable Rate Shading. </p>
  1634. </dd></dl>
  1635. <dl class="cpp macro">
  1636. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_VERTEX_ATTRIB_HALF">
  1637. <span class="target" id="defines_8h_1ac7de569a09f05f83052c6b77c99db7fc"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_VERTEX_ATTRIB_HALF</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_VERTEX_ATTRIB_HALF" title="Link to this definition"></a><br /></dt>
  1638. <dd><p>Vertex attribute half-float is supported. </p>
  1639. </dd></dl>
  1640. <dl class="cpp macro">
  1641. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_VERTEX_ATTRIB_UINT10">
  1642. <span class="target" id="defines_8h_1a3f092ea38f4d3c1d46eda38393c88be6"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_VERTEX_ATTRIB_UINT10</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_VERTEX_ATTRIB_UINT10" title="Link to this definition"></a><br /></dt>
  1643. <dd><p>Vertex attribute 10_10_10_2 is supported. </p>
  1644. </dd></dl>
  1645. <dl class="cpp macro">
  1646. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_VERTEX_ID">
  1647. <span class="target" id="defines_8h_1a63af3c34318335de4b4fa64af87dcc5c"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_VERTEX_ID</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_VERTEX_ID" title="Link to this definition"></a><br /></dt>
  1648. <dd><p>Rendering with VertexID only is supported. </p>
  1649. </dd></dl>
  1650. <dl class="cpp macro">
  1651. <dt class="sig sig-object cpp" id="c.BGFX_CAPS_VIEWPORT_LAYER_ARRAY">
  1652. <span class="target" id="defines_8h_1ad080765e762144f4c76c8c29d05bc724"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_CAPS_VIEWPORT_LAYER_ARRAY</span></span></span><a class="headerlink" href="#c.BGFX_CAPS_VIEWPORT_LAYER_ARRAY" title="Link to this definition"></a><br /></dt>
  1653. <dd><p>Viewport layer is available in vertex shader. All texture compare modes are supported. </p>
  1654. </dd></dl>
  1655. </section>
  1656. </section>
  1657. <section id="statistics">
  1658. <h4>Statistics<a class="headerlink" href="#statistics" title="Link to this heading"></a></h4>
  1659. <dl class="cpp function">
  1660. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8getStatsEv">
  1661. <span id="_CPPv3N4bgfx8getStatsEv"></span><span id="_CPPv2N4bgfx8getStatsEv"></span><span id="bgfx::getStats"></span><span class="target" id="namespacebgfx_1a2103166d7d986bbc785af63065dd9c54"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx5StatsE" title="bgfx::Stats"><span class="n"><span class="pre">Stats</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getStats</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8getStatsEv" title="Link to this definition"></a><br /></dt>
  1662. <dd><p>Returns performance counters. </p>
  1663. <p><dl class="simple">
  1664. <dt><strong>Attention</strong></dt><dd><p>Pointer returned is valid until <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is called. </p>
  1665. </dd>
  1666. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_stats</span></code>. </p>
  1667. </dd>
  1668. </dl>
  1669. </p>
  1670. </dd></dl>
  1671. <dl class="cpp struct">
  1672. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5StatsE">
  1673. <span id="_CPPv3N4bgfx5StatsE"></span><span id="_CPPv2N4bgfx5StatsE"></span><span id="bgfx::Stats"></span><span class="target" id="structbgfx_1_1_stats"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Stats</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5StatsE" title="Link to this definition"></a><br /></dt>
  1674. <dd><p>Renderer statistics data. </p>
  1675. <p><div class="remark admonition">
  1676. <p class="admonition-title">Remark</p>
  1677. <p>All time values are high-resolution timestamps, while time frequencies define timestamps-per-second for that hardware. </p>
  1678. </div>
  1679. <dl class="simple">
  1680. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_stats_t</span></code>.</p>
  1681. </dd>
  1682. </dl>
  1683. </p>
  1684. <div class="breathe-sectiondef docutils container">
  1685. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  1686. <dl class="cpp var">
  1687. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12cpuTimeFrameE">
  1688. <span id="_CPPv3N4bgfx5Stats12cpuTimeFrameE"></span><span id="_CPPv2N4bgfx5Stats12cpuTimeFrameE"></span><span id="bgfx::Stats::cpuTimeFrame__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a8d65ca9e1dcc56a9d2ac505abfa678f9"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeFrame</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12cpuTimeFrameE" title="Link to this definition"></a><br /></dt>
  1689. <dd><p>CPU time between two <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> calls. </p>
  1690. </dd></dl>
  1691. <dl class="cpp var">
  1692. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12cpuTimeBeginE">
  1693. <span id="_CPPv3N4bgfx5Stats12cpuTimeBeginE"></span><span id="_CPPv2N4bgfx5Stats12cpuTimeBeginE"></span><span id="bgfx::Stats::cpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1acefc6f6fb9aca5e607a46119162d8a81"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeBegin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12cpuTimeBeginE" title="Link to this definition"></a><br /></dt>
  1694. <dd><p>Render thread CPU submit begin time. </p>
  1695. </dd></dl>
  1696. <dl class="cpp var">
  1697. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10cpuTimeEndE">
  1698. <span id="_CPPv3N4bgfx5Stats10cpuTimeEndE"></span><span id="_CPPv2N4bgfx5Stats10cpuTimeEndE"></span><span id="bgfx::Stats::cpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1ab5275e59d5ebe68200fd3b63ed59cbd2"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeEnd</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10cpuTimeEndE" title="Link to this definition"></a><br /></dt>
  1699. <dd><p>Render thread CPU submit end time. </p>
  1700. </dd></dl>
  1701. <dl class="cpp var">
  1702. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12cpuTimerFreqE">
  1703. <span id="_CPPv3N4bgfx5Stats12cpuTimerFreqE"></span><span id="_CPPv2N4bgfx5Stats12cpuTimerFreqE"></span><span id="bgfx::Stats::cpuTimerFreq__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a0ca3b1b43511aa10c9f2ff0f30680ef0"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimerFreq</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12cpuTimerFreqE" title="Link to this definition"></a><br /></dt>
  1704. <dd><p>CPU timer frequency. Timestamps-per-second. </p>
  1705. </dd></dl>
  1706. <dl class="cpp var">
  1707. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12gpuTimeBeginE">
  1708. <span id="_CPPv3N4bgfx5Stats12gpuTimeBeginE"></span><span id="_CPPv2N4bgfx5Stats12gpuTimeBeginE"></span><span id="bgfx::Stats::gpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a8748ff45b30e72fc6103ceb80b5642b0"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuTimeBegin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12gpuTimeBeginE" title="Link to this definition"></a><br /></dt>
  1709. <dd><p>GPU frame begin time. </p>
  1710. </dd></dl>
  1711. <dl class="cpp var">
  1712. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10gpuTimeEndE">
  1713. <span id="_CPPv3N4bgfx5Stats10gpuTimeEndE"></span><span id="_CPPv2N4bgfx5Stats10gpuTimeEndE"></span><span id="bgfx::Stats::gpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a0588c269d4eefdef1dbe31d3be4c211b"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuTimeEnd</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10gpuTimeEndE" title="Link to this definition"></a><br /></dt>
  1714. <dd><p>GPU frame end time. </p>
  1715. </dd></dl>
  1716. <dl class="cpp var">
  1717. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12gpuTimerFreqE">
  1718. <span id="_CPPv3N4bgfx5Stats12gpuTimerFreqE"></span><span id="_CPPv2N4bgfx5Stats12gpuTimerFreqE"></span><span id="bgfx::Stats::gpuTimerFreq__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a98cdb3d5fd558bb7482e01b28ae5751c"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuTimerFreq</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12gpuTimerFreqE" title="Link to this definition"></a><br /></dt>
  1719. <dd><p>GPU timer frequency. </p>
  1720. </dd></dl>
  1721. <dl class="cpp var">
  1722. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10waitRenderE">
  1723. <span id="_CPPv3N4bgfx5Stats10waitRenderE"></span><span id="_CPPv2N4bgfx5Stats10waitRenderE"></span><span id="bgfx::Stats::waitRender__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1abaa38e7ef0d66619d8e5ffe451ed82e2"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">waitRender</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10waitRenderE" title="Link to this definition"></a><br /></dt>
  1724. <dd><p>Time spent waiting for render backend thread to finish issuing draw commands to underlying graphics API. </p>
  1725. </dd></dl>
  1726. <dl class="cpp var">
  1727. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10waitSubmitE">
  1728. <span id="_CPPv3N4bgfx5Stats10waitSubmitE"></span><span id="_CPPv2N4bgfx5Stats10waitSubmitE"></span><span id="bgfx::Stats::waitSubmit__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a189339cefe5bbaecc1e894584ab6a7d2"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">waitSubmit</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10waitSubmitE" title="Link to this definition"></a><br /></dt>
  1729. <dd><p>Time spent waiting for submit thread to advance to next frame. </p>
  1730. </dd></dl>
  1731. <dl class="cpp var">
  1732. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats7numDrawE">
  1733. <span id="_CPPv3N4bgfx5Stats7numDrawE"></span><span id="_CPPv2N4bgfx5Stats7numDrawE"></span><span id="bgfx::Stats::numDraw__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1aa46abb090da88e02c64abb90c3679d73"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numDraw</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats7numDrawE" title="Link to this definition"></a><br /></dt>
  1734. <dd><p>Number of draw calls submitted. </p>
  1735. </dd></dl>
  1736. <dl class="cpp var">
  1737. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10numComputeE">
  1738. <span id="_CPPv3N4bgfx5Stats10numComputeE"></span><span id="_CPPv2N4bgfx5Stats10numComputeE"></span><span id="bgfx::Stats::numCompute__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1ae9366cfaad6f24d4ab620b3570282c12"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numCompute</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10numComputeE" title="Link to this definition"></a><br /></dt>
  1739. <dd><p>Number of compute calls submitted. </p>
  1740. </dd></dl>
  1741. <dl class="cpp var">
  1742. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats7numBlitE">
  1743. <span id="_CPPv3N4bgfx5Stats7numBlitE"></span><span id="_CPPv2N4bgfx5Stats7numBlitE"></span><span id="bgfx::Stats::numBlit__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1a1bc357a640fe58924ad4df927642a451"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numBlit</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats7numBlitE" title="Link to this definition"></a><br /></dt>
  1744. <dd><p>Number of blit calls submitted. </p>
  1745. </dd></dl>
  1746. <dl class="cpp var">
  1747. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats13maxGpuLatencyE">
  1748. <span id="_CPPv3N4bgfx5Stats13maxGpuLatencyE"></span><span id="_CPPv2N4bgfx5Stats13maxGpuLatencyE"></span><span id="bgfx::Stats::maxGpuLatency__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1a009e15fb4e8339ed5259d6451d180de5"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxGpuLatency</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats13maxGpuLatencyE" title="Link to this definition"></a><br /></dt>
  1749. <dd><p>GPU driver latency. </p>
  1750. </dd></dl>
  1751. <dl class="cpp var">
  1752. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats11gpuFrameNumE">
  1753. <span id="_CPPv3N4bgfx5Stats11gpuFrameNumE"></span><span id="_CPPv2N4bgfx5Stats11gpuFrameNumE"></span><span id="bgfx::Stats::gpuFrameNum__uint32_t"></span><span class="target" id="structbgfx_1_1_stats_1a0b085db5f2ce186e88dbc48589afce2a"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuFrameNum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats11gpuFrameNumE" title="Link to this definition"></a><br /></dt>
  1754. <dd><p>Frame which generated gpuTimeBegin, gpuTimeEnd. </p>
  1755. </dd></dl>
  1756. <dl class="cpp var">
  1757. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats22numDynamicIndexBuffersE">
  1758. <span id="_CPPv3N4bgfx5Stats22numDynamicIndexBuffersE"></span><span id="_CPPv2N4bgfx5Stats22numDynamicIndexBuffersE"></span><span id="bgfx::Stats::numDynamicIndexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a51aa716928eefd8e704174a738bc2bb6"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numDynamicIndexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats22numDynamicIndexBuffersE" title="Link to this definition"></a><br /></dt>
  1759. <dd><p>Number of used dynamic index buffers. </p>
  1760. </dd></dl>
  1761. <dl class="cpp var">
  1762. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats23numDynamicVertexBuffersE">
  1763. <span id="_CPPv3N4bgfx5Stats23numDynamicVertexBuffersE"></span><span id="_CPPv2N4bgfx5Stats23numDynamicVertexBuffersE"></span><span id="bgfx::Stats::numDynamicVertexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1ac5d3971e81b0bb79363057e7843d5d00"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numDynamicVertexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats23numDynamicVertexBuffersE" title="Link to this definition"></a><br /></dt>
  1764. <dd><p>Number of used dynamic vertex buffers. </p>
  1765. </dd></dl>
  1766. <dl class="cpp var">
  1767. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats15numFrameBuffersE">
  1768. <span id="_CPPv3N4bgfx5Stats15numFrameBuffersE"></span><span id="_CPPv2N4bgfx5Stats15numFrameBuffersE"></span><span id="bgfx::Stats::numFrameBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a0aa0e072934671693e948c314f10dab8"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numFrameBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats15numFrameBuffersE" title="Link to this definition"></a><br /></dt>
  1769. <dd><p>Number of used frame buffers. </p>
  1770. </dd></dl>
  1771. <dl class="cpp var">
  1772. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats15numIndexBuffersE">
  1773. <span id="_CPPv3N4bgfx5Stats15numIndexBuffersE"></span><span id="_CPPv2N4bgfx5Stats15numIndexBuffersE"></span><span id="bgfx::Stats::numIndexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1ab907700c895ce393d92b823bbcfb127b"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numIndexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats15numIndexBuffersE" title="Link to this definition"></a><br /></dt>
  1774. <dd><p>Number of used index buffers. </p>
  1775. </dd></dl>
  1776. <dl class="cpp var">
  1777. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats19numOcclusionQueriesE">
  1778. <span id="_CPPv3N4bgfx5Stats19numOcclusionQueriesE"></span><span id="_CPPv2N4bgfx5Stats19numOcclusionQueriesE"></span><span id="bgfx::Stats::numOcclusionQueries__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1aadda2cb25489ee00cf3b4c9446d96a4f"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numOcclusionQueries</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats19numOcclusionQueriesE" title="Link to this definition"></a><br /></dt>
  1779. <dd><p>Number of used occlusion queries. </p>
  1780. </dd></dl>
  1781. <dl class="cpp var">
  1782. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats11numProgramsE">
  1783. <span id="_CPPv3N4bgfx5Stats11numProgramsE"></span><span id="_CPPv2N4bgfx5Stats11numProgramsE"></span><span id="bgfx::Stats::numPrograms__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1af72f976cf678edcebb5fa02f1b880ad7"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numPrograms</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numProgramsE" title="Link to this definition"></a><br /></dt>
  1784. <dd><p>Number of used programs. </p>
  1785. </dd></dl>
  1786. <dl class="cpp var">
  1787. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10numShadersE">
  1788. <span id="_CPPv3N4bgfx5Stats10numShadersE"></span><span id="_CPPv2N4bgfx5Stats10numShadersE"></span><span id="bgfx::Stats::numShaders__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a3a9ca7307a29b18d10bb772b3c8d93e8"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numShaders</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10numShadersE" title="Link to this definition"></a><br /></dt>
  1789. <dd><p>Number of used shaders. </p>
  1790. </dd></dl>
  1791. <dl class="cpp var">
  1792. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats11numTexturesE">
  1793. <span id="_CPPv3N4bgfx5Stats11numTexturesE"></span><span id="_CPPv2N4bgfx5Stats11numTexturesE"></span><span id="bgfx::Stats::numTextures__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a3806f1bcd00b04c4aa662ae8d3c2fcd0"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numTextures</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numTexturesE" title="Link to this definition"></a><br /></dt>
  1794. <dd><p>Number of used textures. </p>
  1795. </dd></dl>
  1796. <dl class="cpp var">
  1797. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats11numUniformsE">
  1798. <span id="_CPPv3N4bgfx5Stats11numUniformsE"></span><span id="_CPPv2N4bgfx5Stats11numUniformsE"></span><span id="bgfx::Stats::numUniforms__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a5d2f024b98e4a839f156b18ea21309c7"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numUniforms</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numUniformsE" title="Link to this definition"></a><br /></dt>
  1799. <dd><p>Number of used uniforms. </p>
  1800. </dd></dl>
  1801. <dl class="cpp var">
  1802. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats16numVertexBuffersE">
  1803. <span id="_CPPv3N4bgfx5Stats16numVertexBuffersE"></span><span id="_CPPv2N4bgfx5Stats16numVertexBuffersE"></span><span id="bgfx::Stats::numVertexBuffers__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a262791d85d8b8f67cb395d5e472849ed"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numVertexBuffers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats16numVertexBuffersE" title="Link to this definition"></a><br /></dt>
  1804. <dd><p>Number of used vertex buffers. </p>
  1805. </dd></dl>
  1806. <dl class="cpp var">
  1807. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats16numVertexLayoutsE">
  1808. <span id="_CPPv3N4bgfx5Stats16numVertexLayoutsE"></span><span id="_CPPv2N4bgfx5Stats16numVertexLayoutsE"></span><span id="bgfx::Stats::numVertexLayouts__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a826f33c143660a937fb16282cc18368c"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numVertexLayouts</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats16numVertexLayoutsE" title="Link to this definition"></a><br /></dt>
  1809. <dd><p>Number of used vertex layouts. </p>
  1810. </dd></dl>
  1811. <dl class="cpp var">
  1812. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats17textureMemoryUsedE">
  1813. <span id="_CPPv3N4bgfx5Stats17textureMemoryUsedE"></span><span id="_CPPv2N4bgfx5Stats17textureMemoryUsedE"></span><span id="bgfx::Stats::textureMemoryUsed__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1ad209161ed6b9f04105ab55c535e4f4ee"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">textureMemoryUsed</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats17textureMemoryUsedE" title="Link to this definition"></a><br /></dt>
  1814. <dd><p>Estimate of texture memory used. </p>
  1815. </dd></dl>
  1816. <dl class="cpp var">
  1817. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12rtMemoryUsedE">
  1818. <span id="_CPPv3N4bgfx5Stats12rtMemoryUsedE"></span><span id="_CPPv2N4bgfx5Stats12rtMemoryUsedE"></span><span id="bgfx::Stats::rtMemoryUsed__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1a532fd0f54fd15377cf24309a2ebbd95b"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">rtMemoryUsed</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12rtMemoryUsedE" title="Link to this definition"></a><br /></dt>
  1819. <dd><p>Estimate of render target memory used. </p>
  1820. </dd></dl>
  1821. <dl class="cpp var">
  1822. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats15transientVbUsedE">
  1823. <span id="_CPPv3N4bgfx5Stats15transientVbUsedE"></span><span id="_CPPv2N4bgfx5Stats15transientVbUsedE"></span><span id="bgfx::Stats::transientVbUsed__int32_t"></span><span class="target" id="structbgfx_1_1_stats_1af15ba5ebef38a16382762ed84748bc34"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">transientVbUsed</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats15transientVbUsedE" title="Link to this definition"></a><br /></dt>
  1824. <dd><p>Amount of transient vertex buffer used. </p>
  1825. </dd></dl>
  1826. <dl class="cpp var">
  1827. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats15transientIbUsedE">
  1828. <span id="_CPPv3N4bgfx5Stats15transientIbUsedE"></span><span id="_CPPv2N4bgfx5Stats15transientIbUsedE"></span><span id="bgfx::Stats::transientIbUsed__int32_t"></span><span class="target" id="structbgfx_1_1_stats_1a57989ed31ef534e59a884c2f39cfdb3f"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">transientIbUsed</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats15transientIbUsedE" title="Link to this definition"></a><br /></dt>
  1829. <dd><p>Amount of transient index buffer used. </p>
  1830. </dd></dl>
  1831. <dl class="cpp var">
  1832. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats8numPrimsE">
  1833. <span id="_CPPv3N4bgfx5Stats8numPrimsE"></span><span id="_CPPv2N4bgfx5Stats8numPrimsE"></span><span id="bgfx::Stats::numPrims__uint32_tA"></span><span class="target" id="structbgfx_1_1_stats_1a35ef32f727dd0e81350209549d51cb9d"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numPrims</span></span></span><span class="p"><span class="pre">[</span></span><span class="n"><span class="pre">Topology</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Count</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats8numPrimsE" title="Link to this definition"></a><br /></dt>
  1834. <dd><p>Number of primitives rendered. </p>
  1835. </dd></dl>
  1836. <dl class="cpp var">
  1837. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12gpuMemoryMaxE">
  1838. <span id="_CPPv3N4bgfx5Stats12gpuMemoryMaxE"></span><span id="_CPPv2N4bgfx5Stats12gpuMemoryMaxE"></span><span id="bgfx::Stats::gpuMemoryMax__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1afe5fd057109b00d5a4f760a034c59c8b"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuMemoryMax</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12gpuMemoryMaxE" title="Link to this definition"></a><br /></dt>
  1839. <dd><p>Maximum available GPU memory for application. </p>
  1840. </dd></dl>
  1841. <dl class="cpp var">
  1842. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats13gpuMemoryUsedE">
  1843. <span id="_CPPv3N4bgfx5Stats13gpuMemoryUsedE"></span><span id="_CPPv2N4bgfx5Stats13gpuMemoryUsedE"></span><span id="bgfx::Stats::gpuMemoryUsed__int64_t"></span><span class="target" id="structbgfx_1_1_stats_1aa936cf20a5da4419936958f67a594bc1"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuMemoryUsed</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats13gpuMemoryUsedE" title="Link to this definition"></a><br /></dt>
  1844. <dd><p>Amount of GPU memory used by the application. </p>
  1845. </dd></dl>
  1846. <dl class="cpp var">
  1847. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats5widthE">
  1848. <span id="_CPPv3N4bgfx5Stats5widthE"></span><span id="_CPPv2N4bgfx5Stats5widthE"></span><span id="bgfx::Stats::width__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a8a225ad7ff3fad833cd7fb783550d4f3"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">width</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats5widthE" title="Link to this definition"></a><br /></dt>
  1849. <dd><p>Backbuffer width in pixels. </p>
  1850. </dd></dl>
  1851. <dl class="cpp var">
  1852. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats6heightE">
  1853. <span id="_CPPv3N4bgfx5Stats6heightE"></span><span id="_CPPv2N4bgfx5Stats6heightE"></span><span id="bgfx::Stats::height__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a1c9c3e5debe856f2e01ba3c723205af7"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">height</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats6heightE" title="Link to this definition"></a><br /></dt>
  1854. <dd><p>Backbuffer height in pixels. </p>
  1855. </dd></dl>
  1856. <dl class="cpp var">
  1857. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats9textWidthE">
  1858. <span id="_CPPv3N4bgfx5Stats9textWidthE"></span><span id="_CPPv2N4bgfx5Stats9textWidthE"></span><span id="bgfx::Stats::textWidth__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1a9a3861eb31ab778df13b8f164af35bac"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">textWidth</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats9textWidthE" title="Link to this definition"></a><br /></dt>
  1859. <dd><p>Debug text width in characters. </p>
  1860. </dd></dl>
  1861. <dl class="cpp var">
  1862. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats10textHeightE">
  1863. <span id="_CPPv3N4bgfx5Stats10textHeightE"></span><span id="_CPPv2N4bgfx5Stats10textHeightE"></span><span id="bgfx::Stats::textHeight__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1abc8a033f303af8fbcfeb7d242dcc56ee"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">textHeight</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats10textHeightE" title="Link to this definition"></a><br /></dt>
  1864. <dd><p>Debug text height in characters. </p>
  1865. </dd></dl>
  1866. <dl class="cpp var">
  1867. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats8numViewsE">
  1868. <span id="_CPPv3N4bgfx5Stats8numViewsE"></span><span id="_CPPv2N4bgfx5Stats8numViewsE"></span><span id="bgfx::Stats::numViews__uint16_t"></span><span class="target" id="structbgfx_1_1_stats_1ab9ecae87a64e8f540219bec6f2b17f08"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numViews</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats8numViewsE" title="Link to this definition"></a><br /></dt>
  1869. <dd><p>Number of view stats. </p>
  1870. </dd></dl>
  1871. <dl class="cpp var">
  1872. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats9viewStatsE">
  1873. <span id="_CPPv3N4bgfx5Stats9viewStatsE"></span><span id="_CPPv2N4bgfx5Stats9viewStatsE"></span><span id="bgfx::Stats::viewStats__ViewStatsP"></span><span class="target" id="structbgfx_1_1_stats_1ae16496ef386b462267436e1bbd3d5f72"></span><a class="reference internal" href="#_CPPv4N4bgfx9ViewStatsE" title="bgfx::ViewStats"><span class="n"><span class="pre">ViewStats</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">viewStats</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats9viewStatsE" title="Link to this definition"></a><br /></dt>
  1874. <dd><p>Array of View stats. </p>
  1875. </dd></dl>
  1876. <dl class="cpp var">
  1877. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats11numEncodersE">
  1878. <span id="_CPPv3N4bgfx5Stats11numEncodersE"></span><span id="_CPPv2N4bgfx5Stats11numEncodersE"></span><span id="bgfx::Stats::numEncoders__uint8_t"></span><span class="target" id="structbgfx_1_1_stats_1a36cd71d8c46eeb0efd677e0783a5f126"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numEncoders</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats11numEncodersE" title="Link to this definition"></a><br /></dt>
  1879. <dd><p>Number of encoders used during frame. </p>
  1880. </dd></dl>
  1881. <dl class="cpp var">
  1882. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5Stats12encoderStatsE">
  1883. <span id="_CPPv3N4bgfx5Stats12encoderStatsE"></span><span id="_CPPv2N4bgfx5Stats12encoderStatsE"></span><span id="bgfx::Stats::encoderStats__EncoderStatsP"></span><span class="target" id="structbgfx_1_1_stats_1abf32715c9e2f41f01545fa0f0f5dd821"></span><a class="reference internal" href="#_CPPv4N4bgfx12EncoderStatsE" title="bgfx::EncoderStats"><span class="n"><span class="pre">EncoderStats</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">encoderStats</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx5Stats12encoderStatsE" title="Link to this definition"></a><br /></dt>
  1884. <dd><p>Array of encoder stats. </p>
  1885. </dd></dl>
  1886. </div>
  1887. </dd></dl>
  1888. <dl class="cpp struct">
  1889. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStatsE">
  1890. <span id="_CPPv3N4bgfx9ViewStatsE"></span><span id="_CPPv2N4bgfx9ViewStatsE"></span><span id="bgfx::ViewStats"></span><span class="target" id="structbgfx_1_1_view_stats"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ViewStats</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStatsE" title="Link to this definition"></a><br /></dt>
  1891. <dd><p>View stats. </p>
  1892. <p><dl class="simple">
  1893. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_view_stats_t</span></code>. </p>
  1894. </dd>
  1895. </dl>
  1896. </p>
  1897. <div class="breathe-sectiondef docutils container">
  1898. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  1899. <dl class="cpp var">
  1900. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats4nameE">
  1901. <span id="_CPPv3N4bgfx9ViewStats4nameE"></span><span id="_CPPv2N4bgfx9ViewStats4nameE"></span><span id="bgfx::ViewStats::name__cA"></span><span class="target" id="structbgfx_1_1_view_stats_1a8c2383b3c9757cfc5fabf62e28ad5bea"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">256</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats4nameE" title="Link to this definition"></a><br /></dt>
  1902. <dd><p>View name. </p>
  1903. </dd></dl>
  1904. <dl class="cpp var">
  1905. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats4viewE">
  1906. <span id="_CPPv3N4bgfx9ViewStats4viewE"></span><span id="_CPPv2N4bgfx9ViewStats4viewE"></span><span id="bgfx::ViewStats::view__ViewId"></span><span class="target" id="structbgfx_1_1_view_stats_1aa66982ced24c30af890b6ef7dcdb8b96"></span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">view</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats4viewE" title="Link to this definition"></a><br /></dt>
  1907. <dd><p>View id. </p>
  1908. </dd></dl>
  1909. <dl class="cpp var">
  1910. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats12cpuTimeBeginE">
  1911. <span id="_CPPv3N4bgfx9ViewStats12cpuTimeBeginE"></span><span id="_CPPv2N4bgfx9ViewStats12cpuTimeBeginE"></span><span id="bgfx::ViewStats::cpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1ab3ffb807195481c2d4f98dc86d882f12"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeBegin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats12cpuTimeBeginE" title="Link to this definition"></a><br /></dt>
  1912. <dd><p>CPU (submit) begin time. </p>
  1913. </dd></dl>
  1914. <dl class="cpp var">
  1915. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats10cpuTimeEndE">
  1916. <span id="_CPPv3N4bgfx9ViewStats10cpuTimeEndE"></span><span id="_CPPv2N4bgfx9ViewStats10cpuTimeEndE"></span><span id="bgfx::ViewStats::cpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1a35146f6d98dad9ed16cf91a2b5616a62"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeEnd</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats10cpuTimeEndE" title="Link to this definition"></a><br /></dt>
  1917. <dd><p>CPU (submit) end time. </p>
  1918. </dd></dl>
  1919. <dl class="cpp var">
  1920. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats12gpuTimeBeginE">
  1921. <span id="_CPPv3N4bgfx9ViewStats12gpuTimeBeginE"></span><span id="_CPPv2N4bgfx9ViewStats12gpuTimeBeginE"></span><span id="bgfx::ViewStats::gpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1a89f01d24a100e29374147bd41cdcee41"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuTimeBegin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats12gpuTimeBeginE" title="Link to this definition"></a><br /></dt>
  1922. <dd><p>GPU begin time. </p>
  1923. </dd></dl>
  1924. <dl class="cpp var">
  1925. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats10gpuTimeEndE">
  1926. <span id="_CPPv3N4bgfx9ViewStats10gpuTimeEndE"></span><span id="_CPPv2N4bgfx9ViewStats10gpuTimeEndE"></span><span id="bgfx::ViewStats::gpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_view_stats_1abd2a8e720d73f8a3a1947c0f3981d03e"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuTimeEnd</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats10gpuTimeEndE" title="Link to this definition"></a><br /></dt>
  1927. <dd><p>GPU end time. </p>
  1928. </dd></dl>
  1929. <dl class="cpp var">
  1930. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9ViewStats11gpuFrameNumE">
  1931. <span id="_CPPv3N4bgfx9ViewStats11gpuFrameNumE"></span><span id="_CPPv2N4bgfx9ViewStats11gpuFrameNumE"></span><span id="bgfx::ViewStats::gpuFrameNum__uint32_t"></span><span class="target" id="structbgfx_1_1_view_stats_1a61045c977a89c204cb1d45a5a263730a"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">gpuFrameNum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx9ViewStats11gpuFrameNumE" title="Link to this definition"></a><br /></dt>
  1932. <dd><p>Frame which generated gpuTimeBegin, gpuTimeEnd. </p>
  1933. </dd></dl>
  1934. </div>
  1935. </dd></dl>
  1936. <dl class="cpp struct">
  1937. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12EncoderStatsE">
  1938. <span id="_CPPv3N4bgfx12EncoderStatsE"></span><span id="_CPPv2N4bgfx12EncoderStatsE"></span><span id="bgfx::EncoderStats"></span><span class="target" id="structbgfx_1_1_encoder_stats"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EncoderStats</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12EncoderStatsE" title="Link to this definition"></a><br /></dt>
  1939. <dd><p><a class="reference internal" href="#structbgfx_1_1_encoder"><span class="std std-ref">Encoder</span></a> stats. </p>
  1940. <p><dl class="simple">
  1941. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_stats_t</span></code>. </p>
  1942. </dd>
  1943. </dl>
  1944. </p>
  1945. <div class="breathe-sectiondef docutils container">
  1946. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  1947. <dl class="cpp var">
  1948. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12EncoderStats12cpuTimeBeginE">
  1949. <span id="_CPPv3N4bgfx12EncoderStats12cpuTimeBeginE"></span><span id="_CPPv2N4bgfx12EncoderStats12cpuTimeBeginE"></span><span id="bgfx::EncoderStats::cpuTimeBegin__int64_t"></span><span class="target" id="structbgfx_1_1_encoder_stats_1a2bd30a1424393fb1aa91ad0e9bc9d97b"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeBegin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12EncoderStats12cpuTimeBeginE" title="Link to this definition"></a><br /></dt>
  1950. <dd><p><a class="reference internal" href="#structbgfx_1_1_encoder"><span class="std std-ref">Encoder</span></a> thread CPU submit begin time. </p>
  1951. </dd></dl>
  1952. <dl class="cpp var">
  1953. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12EncoderStats10cpuTimeEndE">
  1954. <span id="_CPPv3N4bgfx12EncoderStats10cpuTimeEndE"></span><span id="_CPPv2N4bgfx12EncoderStats10cpuTimeEndE"></span><span id="bgfx::EncoderStats::cpuTimeEnd__int64_t"></span><span class="target" id="structbgfx_1_1_encoder_stats_1a543bd134253fe768a5165b361ab8cfa1"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cpuTimeEnd</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12EncoderStats10cpuTimeEndE" title="Link to this definition"></a><br /></dt>
  1955. <dd><p><a class="reference internal" href="#structbgfx_1_1_encoder"><span class="std std-ref">Encoder</span></a> thread CPU submit end time. </p>
  1956. </dd></dl>
  1957. </div>
  1958. </dd></dl>
  1959. </section>
  1960. </section>
  1961. <section id="platform-specific">
  1962. <h3>Platform specific<a class="headerlink" href="#platform-specific" title="Link to this heading"></a></h3>
  1963. <p>These are platform specific APIs.
  1964. It is only necessary to use these APIs in conjunction with creating windows.</p>
  1965. <dl class="cpp function">
  1966. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11renderFrameE7int32_t">
  1967. <span id="_CPPv3N4bgfx11renderFrameE7int32_t"></span><span id="_CPPv2N4bgfx11renderFrameE7int32_t"></span><span id="bgfx::renderFrame__int32_t"></span><span class="target" id="namespacebgfx_1aa21b96113ad74bf31dd3d417ac5b3e52"></span><a class="reference internal" href="#_CPPv4N4bgfx11RenderFrameE" title="bgfx::RenderFrame"><span class="n"><span class="pre">RenderFrame</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Enum</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">renderFrame</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_msecs</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="o"><span class="pre">-</span></span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11renderFrameE7int32_t" title="Link to this definition"></a><br /></dt>
  1968. <dd><p>Render frame. </p>
  1969. <p><dl class="simple">
  1970. <dt><strong>Attention</strong></dt><dd><p><code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aa21b96113ad74bf31dd3d417ac5b3e52"><span class="std std-ref"><span class="pre">bgfx::renderFrame</span></span></a></code> is blocking call. It waits for <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> to be called from API thread to process frame. If timeout value is passed call will timeout and return even if <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is not called.</p>
  1971. </dd>
  1972. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_render_frame</span></code>. </p>
  1973. </dd>
  1974. </dl>
  1975. </p>
  1976. <div class="admonition warning">
  1977. <p class="admonition-title">Warning</p>
  1978. <p>This call should be only used on platforms that don’t allow creating separate rendering thread. If it is called before to <a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref">bgfx::init</span></a>, render thread won’t be created by <a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref">bgfx::init</span></a> call.</p>
  1979. </div>
  1980. <dl class="field-list simple">
  1981. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  1982. <dd class="field-odd"><p><strong>_msecs</strong> – Timeout in milliseconds.</p>
  1983. </dd>
  1984. <dt class="field-even">Returns<span class="colon">:</span></dt>
  1985. <dd class="field-even"><p>Current renderer state. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_render_frame"><span class="std std-ref"><span class="pre">bgfx::RenderFrame</span></span></a></code>.</p>
  1986. </dd>
  1987. </dl>
  1988. </dd></dl>
  1989. <dl class="cpp struct">
  1990. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11RenderFrameE">
  1991. <span id="_CPPv3N4bgfx11RenderFrameE"></span><span id="_CPPv2N4bgfx11RenderFrameE"></span><span id="bgfx::RenderFrame"></span><span class="target" id="structbgfx_1_1_render_frame"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RenderFrame</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11RenderFrameE" title="Link to this definition"></a><br /></dt>
  1992. <dd><p>Render frame enum. </p>
  1993. <p><dl class="simple">
  1994. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_render_frame_t</span></code>. </p>
  1995. </dd>
  1996. </dl>
  1997. </p>
  1998. </dd></dl>
  1999. <dl class="cpp function">
  2000. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setPlatformDataERK12PlatformData">
  2001. <span id="_CPPv3N4bgfx15setPlatformDataERK12PlatformData"></span><span id="_CPPv2N4bgfx15setPlatformDataERK12PlatformData"></span><span id="bgfx::setPlatformData__PlatformDataCR"></span><span class="target" id="namespacebgfx_1a9f0a19eba5fb95835c7f53d5f2b129b3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setPlatformData</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12PlatformDataE" title="bgfx::PlatformData"><span class="n"><span class="pre">PlatformData</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_data</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPlatformDataERK12PlatformData" title="Link to this definition"></a><br /></dt>
  2002. <dd><p>Set platform data. </p>
  2003. <p><dl class="simple">
  2004. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_platform_data</span></code>. </p>
  2005. </dd>
  2006. </dl>
  2007. </p>
  2008. <div class="admonition warning">
  2009. <p class="admonition-title">Warning</p>
  2010. <p>Must be called before <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1adbfa8f1399b23ba0bedeaea92441642b"><span class="std std-ref"><span class="pre">bgfx::init</span></span></a></code>.</p>
  2011. </div>
  2012. </dd></dl>
  2013. <dl class="cpp struct">
  2014. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformDataE">
  2015. <span id="_CPPv3N4bgfx12PlatformDataE"></span><span id="_CPPv2N4bgfx12PlatformDataE"></span><span id="bgfx::PlatformData"></span><span class="target" id="structbgfx_1_1_platform_data"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PlatformData</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformDataE" title="Link to this definition"></a><br /></dt>
  2016. <dd><p>Platform data. </p>
  2017. <p><dl class="simple">
  2018. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_platform_data_t</span></code>. </p>
  2019. </dd>
  2020. </dl>
  2021. </p>
  2022. <div class="breathe-sectiondef docutils container">
  2023. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  2024. <dl class="cpp var">
  2025. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformData3ndtE">
  2026. <span id="_CPPv3N4bgfx12PlatformData3ndtE"></span><span id="_CPPv2N4bgfx12PlatformData3ndtE"></span><span id="bgfx::PlatformData::ndt__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1a4d7268028c9e8626ac3627f36e6331af"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">ndt</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData3ndtE" title="Link to this definition"></a><br /></dt>
  2027. <dd><p>Native display type (*nix specific). </p>
  2028. </dd></dl>
  2029. <dl class="cpp var">
  2030. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformData3nwhE">
  2031. <span id="_CPPv3N4bgfx12PlatformData3nwhE"></span><span id="_CPPv2N4bgfx12PlatformData3nwhE"></span><span id="bgfx::PlatformData::nwh__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1a1469498f2e4159ab742666b46aaa38b7"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">nwh</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData3nwhE" title="Link to this definition"></a><br /></dt>
  2032. <dd><p>Native window handle. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, bgfx will create a headless context/device, provided the rendering API supports it. </p>
  2033. </dd></dl>
  2034. <dl class="cpp var">
  2035. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformData7contextE">
  2036. <span id="_CPPv3N4bgfx12PlatformData7contextE"></span><span id="_CPPv2N4bgfx12PlatformData7contextE"></span><span id="bgfx::PlatformData::context__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1a8ebc31e06aae3ee5a7d18e3cac0adf9b"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">context</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData7contextE" title="Link to this definition"></a><br /></dt>
  2037. <dd><p>GL context, D3D device, or Vulkan device. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, bgfx will create context/device. </p>
  2038. </dd></dl>
  2039. <dl class="cpp var">
  2040. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformData10backBufferE">
  2041. <span id="_CPPv3N4bgfx12PlatformData10backBufferE"></span><span id="_CPPv2N4bgfx12PlatformData10backBufferE"></span><span id="bgfx::PlatformData::backBuffer__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1afe014138f2108ace1a4f72aaad1b0d4f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">backBuffer</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData10backBufferE" title="Link to this definition"></a><br /></dt>
  2042. <dd><p>GL back-buffer, or D3D render target view. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code> bgfx will create back-buffer color surface. </p>
  2043. </dd></dl>
  2044. <dl class="cpp var">
  2045. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformData12backBufferDSE">
  2046. <span id="_CPPv3N4bgfx12PlatformData12backBufferDSE"></span><span id="_CPPv2N4bgfx12PlatformData12backBufferDSE"></span><span id="bgfx::PlatformData::backBufferDS__voidP"></span><span class="target" id="structbgfx_1_1_platform_data_1ae1dce3718ab484415ac7b8377aec5dab"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">backBufferDS</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData12backBufferDSE" title="Link to this definition"></a><br /></dt>
  2047. <dd><p>Backbuffer depth/stencil. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code>, bgfx will create a back-buffer depth/stencil surface. </p>
  2048. </dd></dl>
  2049. <dl class="cpp var">
  2050. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12PlatformData4typeE">
  2051. <span id="_CPPv3N4bgfx12PlatformData4typeE"></span><span id="_CPPv2N4bgfx12PlatformData4typeE"></span><span id="bgfx::PlatformData::type__NativeWindowHandleType::Enum"></span><span class="target" id="structbgfx_1_1_platform_data_1ad7c81a981aafc126708246dfdb2421d6"></span><span class="n"><span class="pre">NativeWindowHandleType</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">type</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12PlatformData4typeE" title="Link to this definition"></a><br /></dt>
  2052. <dd><p>Handle type. Needed for platforms having more than one option. </p>
  2053. </dd></dl>
  2054. </div>
  2055. </dd></dl>
  2056. <dl class="cpp function">
  2057. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15getInternalDataEv">
  2058. <span id="_CPPv3N4bgfx15getInternalDataEv"></span><span id="_CPPv2N4bgfx15getInternalDataEv"></span><span id="bgfx::getInternalData"></span><span class="target" id="namespacebgfx_1a9256926237bc8a687544c15bcaaa5990"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12InternalDataE" title="bgfx::InternalData"><span class="n"><span class="pre">InternalData</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getInternalData</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15getInternalDataEv" title="Link to this definition"></a><br /></dt>
  2059. <dd><p>Get internal data for interop. </p>
  2060. <p><dl class="simple">
  2061. <dt><strong>Attention</strong></dt><dd><p>It’s expected you understand some bgfx internals before you use this call.</p>
  2062. </dd>
  2063. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_internal_data</span></code>. </p>
  2064. </dd>
  2065. </dl>
  2066. </p>
  2067. <div class="admonition warning">
  2068. <p class="admonition-title">Warning</p>
  2069. <p>Must be called only on render thread.</p>
  2070. </div>
  2071. </dd></dl>
  2072. <dl class="cpp struct">
  2073. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12InternalDataE">
  2074. <span id="_CPPv3N4bgfx12InternalDataE"></span><span id="_CPPv2N4bgfx12InternalDataE"></span><span id="bgfx::InternalData"></span><span class="target" id="structbgfx_1_1_internal_data"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">InternalData</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12InternalDataE" title="Link to this definition"></a><br /></dt>
  2075. <dd><p>Internal data. </p>
  2076. <p><dl class="simple">
  2077. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_internal_data_t</span></code>. </p>
  2078. </dd>
  2079. </dl>
  2080. </p>
  2081. <div class="breathe-sectiondef docutils container">
  2082. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  2083. <dl class="cpp var">
  2084. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12InternalData4capsE">
  2085. <span id="_CPPv3N4bgfx12InternalData4capsE"></span><span id="_CPPv2N4bgfx12InternalData4capsE"></span><span id="bgfx::InternalData::caps__CapsCP"></span><span class="target" id="structbgfx_1_1_internal_data_1ad0e12d34b057c2cf2b7d73ccb3d51a80"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx4CapsE" title="bgfx::Caps"><span class="n"><span class="pre">Caps</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">caps</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12InternalData4capsE" title="Link to this definition"></a><br /></dt>
  2086. <dd><p>Renderer capabilities. </p>
  2087. </dd></dl>
  2088. <dl class="cpp var">
  2089. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12InternalData7contextE">
  2090. <span id="_CPPv3N4bgfx12InternalData7contextE"></span><span id="_CPPv2N4bgfx12InternalData7contextE"></span><span id="bgfx::InternalData::context__voidP"></span><span class="target" id="structbgfx_1_1_internal_data_1a9d5f68c848da64f6aa35335bfb1ef762"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">context</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12InternalData7contextE" title="Link to this definition"></a><br /></dt>
  2091. <dd><p>GL context, or D3D device. </p>
  2092. </dd></dl>
  2093. </div>
  2094. </dd></dl>
  2095. <dl class="cpp function">
  2096. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx16overrideInternalE13TextureHandle9uintptr_t8uint16_t">
  2097. <span id="_CPPv3N4bgfx16overrideInternalE13TextureHandle9uintptr_t8uint16_t"></span><span id="_CPPv2N4bgfx16overrideInternalE13TextureHandle9uintptr_t8uint16_t"></span><span id="bgfx::overrideInternal__TextureHandle.uintptr_t.uint16_t"></span><span class="target" id="namespacebgfx_1a717f4f8978e9cb65b162a361ced04eb8"></span><span class="n"><span class="pre">uintptr_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">overrideInternal</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uintptr_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_ptr</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layerIndex</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16overrideInternalE13TextureHandle9uintptr_t8uint16_t" title="Link to this definition"></a><br /></dt>
  2098. <dd><p>Override internal texture with externally created texture. Previously created internal texture will released. </p>
  2099. <p><dl class="simple">
  2100. <dt><strong>Attention</strong></dt><dd><p>It’s expected you understand some bgfx internals before you use this call.</p>
  2101. </dd>
  2102. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_override_internal_texture_ptr</span></code>. </p>
  2103. </dd>
  2104. </dl>
  2105. </p>
  2106. <div class="admonition warning">
  2107. <p class="admonition-title">Warning</p>
  2108. <p>Must be called only on render thread.</p>
  2109. </div>
  2110. <dl class="field-list simple">
  2111. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2112. <dd class="field-odd"><ul class="simple">
  2113. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  2114. <li><p><strong>_ptr</strong> – <strong>[in]</strong> Native API pointer to texture. </p></li>
  2115. <li><p><strong>_layerIndex</strong> – <strong>[in]</strong> Layer index for texture arrays (only implemented for D3D11).</p></li>
  2116. </ul>
  2117. </dd>
  2118. <dt class="field-even">Returns<span class="colon">:</span></dt>
  2119. <dd class="field-even"><p>Native API pointer to texture. If result is 0, texture is not created yet from the main thread.</p>
  2120. </dd>
  2121. </dl>
  2122. </dd></dl>
  2123. <dl class="cpp function">
  2124. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t">
  2125. <span id="_CPPv3N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::overrideInternal__TextureHandle.uint16_t.uint16_t.uint8_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a0eec7cfc413525e405a4c35e1c5fe2ce"></span><span class="n"><span class="pre">uintptr_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">overrideInternal</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numMips</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_TEXTURE_NONE</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16overrideInternalE13TextureHandle8uint16_t8uint16_t7uint8_tN13TextureFormat4EnumE8uint64_t" title="Link to this definition"></a><br /></dt>
  2126. <dd><p>Override internal texture by creating new texture. Previously created internal texture will released. </p>
  2127. <p><dl class="simple">
  2128. <dt><strong>Attention</strong></dt><dd><p>It’s expected you understand some bgfx internals before you use this call.</p>
  2129. </dd>
  2130. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_override_internal_texture</span></code>. </p>
  2131. </dd>
  2132. </dl>
  2133. </p>
  2134. <div class="admonition warning">
  2135. <p class="admonition-title">Warning</p>
  2136. <p>Must be called only on render thread.</p>
  2137. </div>
  2138. <dl class="field-list simple">
  2139. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2140. <dd class="field-odd"><ul class="simple">
  2141. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  2142. <li><p><strong>_width</strong> – <strong>[in]</strong> Width. </p></li>
  2143. <li><p><strong>_height</strong> – <strong>[in]</strong> Height. </p></li>
  2144. <li><p><strong>_numMips</strong> – <strong>[in]</strong> Number of mip-maps. </p></li>
  2145. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  2146. <li><p><strong>_flags</strong> – <strong>[in]</strong> Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  2147. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  2148. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  2149. </ul>
  2150. </p></li>
  2151. </ul>
  2152. </dd>
  2153. <dt class="field-even">Returns<span class="colon">:</span></dt>
  2154. <dd class="field-even"><p>Native API pointer to texture. If result is 0, texture is not created yet from the main thread.</p>
  2155. </dd>
  2156. </dl>
  2157. </dd></dl>
  2158. </section>
  2159. <section id="miscellaneous">
  2160. <h3>Miscellaneous<a class="headerlink" href="#miscellaneous" title="Link to this heading"></a></h3>
  2161. <dl class="cpp function">
  2162. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t">
  2163. <span id="_CPPv3N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t"></span><span id="_CPPv2N4bgfx10vertexPackEA4_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t"></span><span id="bgfx::vertexPack__floatCA.b.Attrib::Enum.VertexLayoutCR.voidP.uint32_t"></span><span class="target" id="namespacebgfx_1a45c78405bcdbb9ec0855b51f83922997"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">vertexPack</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_input</span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">4</span></span><span class="p"><span class="pre">]</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_inputNormalized</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_attr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10vertexPackEAL4E_KfbN6Attrib4EnumERK12VertexLayoutPv8uint32_t" title="Link to this definition"></a><br /></dt>
  2164. <dd><p>Pack vertex attribute into vertex stream format. </p>
  2165. <p><dl class="simple">
  2166. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_pack</span></code>. </p>
  2167. </dd>
  2168. </dl>
  2169. </p>
  2170. <dl class="field-list simple">
  2171. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2172. <dd class="field-odd"><ul class="simple">
  2173. <li><p><strong>_input</strong> – <strong>[in]</strong> Value to be packed into vertex stream. </p></li>
  2174. <li><p><strong>_inputNormalized</strong> – <strong>[in]</strong> True if input value is already normalized. </p></li>
  2175. <li><p><strong>_attr</strong> – <strong>[in]</strong> Attribute to pack. </p></li>
  2176. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex stream layout. </p></li>
  2177. <li><p><strong>_data</strong> – <strong>[in]</strong> Destination vertex stream where data will be packed. </p></li>
  2178. <li><p><strong>_index</strong> – <strong>[in]</strong> Vertex index that will be modified.</p></li>
  2179. </ul>
  2180. </dd>
  2181. </dl>
  2182. </dd></dl>
  2183. <dl class="cpp function">
  2184. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t">
  2185. <span id="_CPPv3N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t"></span><span id="_CPPv2N4bgfx12vertexUnpackEA4_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t"></span><span id="bgfx::vertexUnpack__floatA.Attrib::Enum.VertexLayoutCR.voidCP.uint32_t"></span><span class="target" id="namespacebgfx_1ad1d9ef5b4925631e82d9f060f41b9091"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">vertexUnpack</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_output</span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">4</span></span><span class="p"><span class="pre">]</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_attr</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12vertexUnpackEAL4E_fN6Attrib4EnumERK12VertexLayoutPKv8uint32_t" title="Link to this definition"></a><br /></dt>
  2186. <dd><p>Unpack vertex attribute from vertex stream format. </p>
  2187. <p><dl class="simple">
  2188. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_unpack</span></code>. </p>
  2189. </dd>
  2190. </dl>
  2191. </p>
  2192. <dl class="field-list simple">
  2193. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2194. <dd class="field-odd"><ul class="simple">
  2195. <li><p><strong>_output</strong> – <strong>[out]</strong> Result of unpacking. </p></li>
  2196. <li><p><strong>_attr</strong> – <strong>[in]</strong> Attribute to unpack. </p></li>
  2197. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex stream layout. </p></li>
  2198. <li><p><strong>_data</strong> – <strong>[in]</strong> Source vertex stream from where data will be unpacked. </p></li>
  2199. <li><p><strong>_index</strong> – <strong>[in]</strong> Vertex index that will be unpacked.</p></li>
  2200. </ul>
  2201. </dd>
  2202. </dl>
  2203. </dd></dl>
  2204. <dl class="cpp function">
  2205. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t">
  2206. <span id="_CPPv3N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t"></span><span id="_CPPv2N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t"></span><span id="bgfx::vertexConvert__VertexLayoutCR.voidP.VertexLayoutCR.voidCP.uint32_t"></span><span class="target" id="namespacebgfx_1a567e9112ee1919c7d9e2eda3902d2727"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">vertexConvert</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_destLayout</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_destData</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_srcLayout</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_srcData</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13vertexConvertERK12VertexLayoutPvRK12VertexLayoutPKv8uint32_t" title="Link to this definition"></a><br /></dt>
  2207. <dd><p>Converts vertex stream data from one vertex stream format to another. </p>
  2208. <p><dl class="simple">
  2209. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_convert</span></code>. </p>
  2210. </dd>
  2211. </dl>
  2212. </p>
  2213. <dl class="field-list simple">
  2214. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2215. <dd class="field-odd"><ul class="simple">
  2216. <li><p><strong>_destLayout</strong> – <strong>[in]</strong> Destination vertex stream layout. </p></li>
  2217. <li><p><strong>_destData</strong> – <strong>[in]</strong> Destination vertex stream. </p></li>
  2218. <li><p><strong>_srcLayout</strong> – <strong>[in]</strong> Source vertex stream layout. </p></li>
  2219. <li><p><strong>_srcData</strong> – <strong>[in]</strong> Source vertex stream data. </p></li>
  2220. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of vertices to convert from source to destination.</p></li>
  2221. </ul>
  2222. </dd>
  2223. </dl>
  2224. </dd></dl>
  2225. <dl class="cpp function">
  2226. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf">
  2227. <span id="_CPPv3N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf"></span><span id="_CPPv2N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf"></span><span id="bgfx::weldVertices__voidP.VertexLayoutCR.voidCP.uint32_t.b.float"></span><span class="target" id="namespacebgfx_1a9242a9ab0e66291a8952ec3222519bce"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">weldVertices</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_output</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index32</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_epsilon</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0.001f</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12weldVerticesEPvRK12VertexLayoutPKv8uint32_tbf" title="Link to this definition"></a><br /></dt>
  2228. <dd><p>Weld vertices. </p>
  2229. <p><dl class="simple">
  2230. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_weld_vertices</span></code>. </p>
  2231. </dd>
  2232. </dl>
  2233. </p>
  2234. <dl class="field-list simple">
  2235. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2236. <dd class="field-odd"><ul class="simple">
  2237. <li><p><strong>_output</strong> – <strong>[in]</strong> Welded vertices remapping table. The size of buffer must be the same as number of vertices. </p></li>
  2238. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex stream layout. </p></li>
  2239. <li><p><strong>_data</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  2240. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of vertices in vertex stream. </p></li>
  2241. <li><p><strong>_index32</strong> – <strong>[in]</strong> Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices are 32-bit. </p></li>
  2242. <li><p><strong>_epsilon</strong> – <strong>[in]</strong> Error tolerance for vertex position comparison. </p></li>
  2243. </ul>
  2244. </dd>
  2245. <dt class="field-even">Returns<span class="colon">:</span></dt>
  2246. <dd class="field-even"><p>Number of unique vertices after vertex welding.</p>
  2247. </dd>
  2248. </dl>
  2249. </dd></dl>
  2250. <dl class="cpp struct">
  2251. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvertE">
  2252. <span id="_CPPv3N4bgfx15TopologyConvertE"></span><span id="_CPPv2N4bgfx15TopologyConvertE"></span><span id="bgfx::TopologyConvert"></span><span class="target" id="structbgfx_1_1_topology_convert"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TopologyConvert</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvertE" title="Link to this definition"></a><br /></dt>
  2253. <dd><p>Topology conversion function. </p>
  2254. <p><dl class="simple">
  2255. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_convert_t</span></code>. </p>
  2256. </dd>
  2257. </dl>
  2258. </p>
  2259. <div class="breathe-sectiondef docutils container">
  2260. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  2261. <dl class="cpp enum">
  2262. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4EnumE">
  2263. <span id="_CPPv3N4bgfx15TopologyConvert4EnumE"></span><span id="_CPPv2N4bgfx15TopologyConvert4EnumE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4EnumE" title="Link to this definition"></a><br /></dt>
  2264. <dd><p>Topology conversion functions: </p>
  2265. <p><em>Values:</em></p>
  2266. <dl class="cpp enumerator">
  2267. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4Enum18TriListFlipWindingE">
  2268. <span id="_CPPv3N4bgfx15TopologyConvert4Enum18TriListFlipWindingE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum18TriListFlipWindingE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153af2abfef860edaf36065da1623f581d8a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TriListFlipWinding</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum18TriListFlipWindingE" title="Link to this definition"></a><br /></dt>
  2269. <dd><p>Flip winding order of triangle list. </p>
  2270. </dd></dl>
  2271. <dl class="cpp enumerator">
  2272. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE">
  2273. <span id="_CPPv3N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153ab15cde16196aa72a0fe0bad4f389669d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TriStripFlipWinding</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum19TriStripFlipWindingE" title="Link to this definition"></a><br /></dt>
  2274. <dd><p>Flip winding order of triangle strip. </p>
  2275. </dd></dl>
  2276. <dl class="cpp enumerator">
  2277. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4Enum17TriListToLineListE">
  2278. <span id="_CPPv3N4bgfx15TopologyConvert4Enum17TriListToLineListE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum17TriListToLineListE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a0cf4dc87b95b89d5633e151a286aaeb1"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TriListToLineList</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum17TriListToLineListE" title="Link to this definition"></a><br /></dt>
  2279. <dd><p>Convert triangle list to line list. </p>
  2280. </dd></dl>
  2281. <dl class="cpp enumerator">
  2282. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4Enum17TriStripToTriListE">
  2283. <span id="_CPPv3N4bgfx15TopologyConvert4Enum17TriStripToTriListE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum17TriStripToTriListE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a85625c725665071c56f097237a5d3d24"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TriStripToTriList</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum17TriStripToTriListE" title="Link to this definition"></a><br /></dt>
  2284. <dd><p>Convert triangle strip to triangle list. </p>
  2285. </dd></dl>
  2286. <dl class="cpp enumerator">
  2287. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4Enum19LineStripToLineListE">
  2288. <span id="_CPPv3N4bgfx15TopologyConvert4Enum19LineStripToLineListE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum19LineStripToLineListE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a769b8c438cb40e80f4cafa654dc91c82"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">LineStripToLineList</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum19LineStripToLineListE" title="Link to this definition"></a><br /></dt>
  2289. <dd><p>Convert line strip to line list. </p>
  2290. </dd></dl>
  2291. <dl class="cpp enumerator">
  2292. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15TopologyConvert4Enum5CountE">
  2293. <span id="_CPPv3N4bgfx15TopologyConvert4Enum5CountE"></span><span id="_CPPv2N4bgfx15TopologyConvert4Enum5CountE"></span><span class="target" id="structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153a6e2c38c108d7e6d9c8468bc33c13203d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx15TopologyConvert4Enum5CountE" title="Link to this definition"></a><br /></dt>
  2294. <dd></dd></dl>
  2295. </dd></dl>
  2296. </div>
  2297. </dd></dl>
  2298. <dl class="cpp function">
  2299. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb">
  2300. <span id="_CPPv3N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb"></span><span id="_CPPv2N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb"></span><span id="bgfx::topologyConvert__TopologyConvert::Enum.voidP.uint32_t.voidCP.uint32_t.b"></span><span class="target" id="namespacebgfx_1a4faf0379f4f649826fa82616a84a4b13"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">topologyConvert</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx15TopologyConvertE" title="bgfx::TopologyConvert"><span class="n"><span class="pre">TopologyConvert</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx15TopologyConvert4EnumE" title="bgfx::TopologyConvert::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_conversion</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_dst</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstSize</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_indices</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index32</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15topologyConvertEN15TopologyConvert4EnumEPv8uint32_tPKv8uint32_tb" title="Link to this definition"></a><br /></dt>
  2301. <dd><p>Convert index buffer for use with different primitive topologies. </p>
  2302. <p><dl class="simple">
  2303. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_convert</span></code>. </p>
  2304. </dd>
  2305. </dl>
  2306. </p>
  2307. <dl class="field-list simple">
  2308. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2309. <dd class="field-odd"><ul class="simple">
  2310. <li><p><strong>_conversion</strong> – <strong>[in]</strong> Conversion type, see <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_topology_convert_1acc544033627edfbc7c30a75a58ace153"><span class="std std-ref"><span class="pre">TopologyConvert::Enum</span></span></a></code>. </p></li>
  2311. <li><p><strong>_dst</strong> – <strong>[in]</strong> Destination index buffer. If this argument is NULL function will return number of indices after conversion. </p></li>
  2312. <li><p><strong>_dstSize</strong> – <strong>[in]</strong> Destination index buffer in bytes. It must be large enough to contain output indices. If destination size is insufficient index buffer will be truncated. </p></li>
  2313. <li><p><strong>_indices</strong> – <strong>[in]</strong> Source indices. </p></li>
  2314. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of input indices. </p></li>
  2315. <li><p><strong>_index32</strong> – <strong>[in]</strong> Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices are 32-bit.</p></li>
  2316. </ul>
  2317. </dd>
  2318. <dt class="field-even">Returns<span class="colon">:</span></dt>
  2319. <dd class="field-even"><p>Number of output indices after conversion.</p>
  2320. </dd>
  2321. </dl>
  2322. </dd></dl>
  2323. <dl class="cpp struct">
  2324. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySortE">
  2325. <span id="_CPPv3N4bgfx12TopologySortE"></span><span id="_CPPv2N4bgfx12TopologySortE"></span><span id="bgfx::TopologySort"></span><span class="target" id="structbgfx_1_1_topology_sort"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TopologySort</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySortE" title="Link to this definition"></a><br /></dt>
  2326. <dd><p>Topology sort order. </p>
  2327. <p><dl class="simple">
  2328. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_sort_t</span></code>. </p>
  2329. </dd>
  2330. </dl>
  2331. </p>
  2332. <div class="breathe-sectiondef docutils container">
  2333. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  2334. <dl class="cpp enum">
  2335. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4EnumE">
  2336. <span id="_CPPv3N4bgfx12TopologySort4EnumE"></span><span id="_CPPv2N4bgfx12TopologySort4EnumE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4EnumE" title="Link to this definition"></a><br /></dt>
  2337. <dd><p>Topology sort order: </p>
  2338. <p><em>Values:</em></p>
  2339. <dl class="cpp enumerator">
  2340. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE">
  2341. <span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a9f867f8e9b573e9ed8beae01282ee39b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DirectionFrontToBackMin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMinE" title="Link to this definition"></a><br /></dt>
  2342. <dd></dd></dl>
  2343. <dl class="cpp enumerator">
  2344. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE">
  2345. <span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1ac03583c71a152650400eab4eca63df2c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DirectionFrontToBackAvg</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackAvgE" title="Link to this definition"></a><br /></dt>
  2346. <dd></dd></dl>
  2347. <dl class="cpp enumerator">
  2348. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE">
  2349. <span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1af5703228e2266d9a8d499bfe0aafecee"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DirectionFrontToBackMax</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionFrontToBackMaxE" title="Link to this definition"></a><br /></dt>
  2350. <dd></dd></dl>
  2351. <dl class="cpp enumerator">
  2352. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE">
  2353. <span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a5f27bd27ae8dc25200e8f626c727e92d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DirectionBackToFrontMin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMinE" title="Link to this definition"></a><br /></dt>
  2354. <dd></dd></dl>
  2355. <dl class="cpp enumerator">
  2356. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE">
  2357. <span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a9e62475043c1158962cec9aa56c31447"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DirectionBackToFrontAvg</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontAvgE" title="Link to this definition"></a><br /></dt>
  2358. <dd></dd></dl>
  2359. <dl class="cpp enumerator">
  2360. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE">
  2361. <span id="_CPPv3N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1acb9116e807b838f449db00449c4d1cbd"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DirectionBackToFrontMax</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum23DirectionBackToFrontMaxE" title="Link to this definition"></a><br /></dt>
  2362. <dd></dd></dl>
  2363. <dl class="cpp enumerator">
  2364. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE">
  2365. <span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a757e30b6ef8ace5e308a9b6b3368fc68"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DistanceFrontToBackMin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMinE" title="Link to this definition"></a><br /></dt>
  2366. <dd></dd></dl>
  2367. <dl class="cpp enumerator">
  2368. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE">
  2369. <span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1aaab1225281f707f4036ba88fc0066a22"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DistanceFrontToBackAvg</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackAvgE" title="Link to this definition"></a><br /></dt>
  2370. <dd></dd></dl>
  2371. <dl class="cpp enumerator">
  2372. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE">
  2373. <span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a5c2f181aa35fd8ba9bdb0b0e637beaf1"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DistanceFrontToBackMax</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceFrontToBackMaxE" title="Link to this definition"></a><br /></dt>
  2374. <dd></dd></dl>
  2375. <dl class="cpp enumerator">
  2376. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE">
  2377. <span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1af56dda1e9beba76ddd5419e25b87a0f0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DistanceBackToFrontMin</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMinE" title="Link to this definition"></a><br /></dt>
  2378. <dd></dd></dl>
  2379. <dl class="cpp enumerator">
  2380. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE">
  2381. <span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1af8535c276d3b2fb92f55c46625142fe8"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DistanceBackToFrontAvg</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontAvgE" title="Link to this definition"></a><br /></dt>
  2382. <dd></dd></dl>
  2383. <dl class="cpp enumerator">
  2384. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE">
  2385. <span id="_CPPv3N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1ae7af947893a64ae25f2c5308d768e84d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DistanceBackToFrontMax</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum22DistanceBackToFrontMaxE" title="Link to this definition"></a><br /></dt>
  2386. <dd></dd></dl>
  2387. <dl class="cpp enumerator">
  2388. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12TopologySort4Enum5CountE">
  2389. <span id="_CPPv3N4bgfx12TopologySort4Enum5CountE"></span><span id="_CPPv2N4bgfx12TopologySort4Enum5CountE"></span><span class="target" id="structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1a112dbbc1ca07323eba9eb361cd1b603e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12TopologySort4Enum5CountE" title="Link to this definition"></a><br /></dt>
  2390. <dd></dd></dl>
  2391. </dd></dl>
  2392. </div>
  2393. </dd></dl>
  2394. <dl class="cpp function">
  2395. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb">
  2396. <span id="_CPPv3N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb"></span><span id="_CPPv2N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tA3_KfA3_KfPKv8uint32_tPKv8uint32_tb"></span><span id="bgfx::topologySortTriList__TopologySort::Enum.voidP.uint32_t.floatCA.floatCA.voidCP.uint32_t.voidCP.uint32_t.b"></span><span class="target" id="namespacebgfx_1af481c92a166263933b649eced719228d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">topologySortTriList</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx12TopologySortE" title="bgfx::TopologySort"><span class="n"><span class="pre">TopologySort</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12TopologySort4EnumE" title="bgfx::TopologySort::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_sort</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_dst</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstSize</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dir</span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">3</span></span><span class="p"><span class="pre">]</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_pos</span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">3</span></span><span class="p"><span class="pre">]</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_vertices</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stride</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_indices</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index32</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx19topologySortTriListEN12TopologySort4EnumEPv8uint32_tAL3E_KfAL3E_KfPKv8uint32_tPKv8uint32_tb" title="Link to this definition"></a><br /></dt>
  2397. <dd><p>Sort indices. </p>
  2398. <p><dl class="simple">
  2399. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_topology_sort_tri_list</span></code>. </p>
  2400. </dd>
  2401. </dl>
  2402. </p>
  2403. <dl class="field-list simple">
  2404. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2405. <dd class="field-odd"><ul class="simple">
  2406. <li><p><strong>_sort</strong> – <strong>[in]</strong> Sort order, see <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_topology_sort_1a0c0c13fee2b99a20af8486ee9f734af1"><span class="std std-ref"><span class="pre">TopologySort::Enum</span></span></a></code>. </p></li>
  2407. <li><p><strong>_dst</strong> – <strong>[in]</strong> Destination index buffer. </p></li>
  2408. <li><p><strong>_dstSize</strong> – <strong>[in]</strong> Destination index buffer in bytes. It must be large enough to contain output indices. If destination size is insufficient index buffer will be truncated. </p></li>
  2409. <li><p><strong>_dir</strong> – <strong>[in]</strong> Direction (vector must be normalized). </p></li>
  2410. <li><p><strong>_pos</strong> – <strong>[in]</strong> Position. </p></li>
  2411. <li><p><strong>_vertices</strong> – <strong>[in]</strong> Pointer to first vertex represented as float x, y, z. Must contain at least number of vertices referencende by index buffer. </p></li>
  2412. <li><p><strong>_stride</strong> – <strong>[in]</strong> Vertex stride. </p></li>
  2413. <li><p><strong>_indices</strong> – <strong>[in]</strong> Source indices. </p></li>
  2414. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of input indices. </p></li>
  2415. <li><p><strong>_index32</strong> – <strong>[in]</strong> Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices are 32-bit.</p></li>
  2416. </ul>
  2417. </dd>
  2418. </dl>
  2419. </dd></dl>
  2420. <dl class="cpp function">
  2421. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7discardE7uint8_t">
  2422. <span id="_CPPv3N4bgfx7discardE7uint8_t"></span><span id="_CPPv2N4bgfx7discardE7uint8_t"></span><span id="bgfx::discard__uint8_t"></span><span class="target" id="namespacebgfx_1aa0ab8d198672917b2f7e92c39589ea57"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">discard</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7discardE7uint8_t" title="Link to this definition"></a><br /></dt>
  2423. <dd><p>Discard all previously set state for draw or compute call. </p>
  2424. <p><dl class="simple">
  2425. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_discard</span></code>. </p>
  2426. </dd>
  2427. </dl>
  2428. </p>
  2429. <dl class="field-list simple">
  2430. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2431. <dd class="field-odd"><p><strong>_flags</strong> – <strong>[in]</strong> Draw/compute states to discard.</p>
  2432. </dd>
  2433. </dl>
  2434. </dd></dl>
  2435. <dl class="cpp function">
  2436. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5touchE6ViewId">
  2437. <span id="_CPPv3N4bgfx5touchE6ViewId"></span><span id="_CPPv2N4bgfx5touchE6ViewId"></span><span id="bgfx::touch__ViewId"></span><span class="target" id="namespacebgfx_1aff2b109acf8d4f26daf0c494938837e3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">touch</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5touchE6ViewId" title="Link to this definition"></a><br /></dt>
  2438. <dd><p>Submit an empty primitive for rendering. Uniforms and draw state will be applied but no geometry will be submitted. </p>
  2439. <p>These empty draw calls will sort before ordinary draw calls.</p>
  2440. <p><dl class="simple">
  2441. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_touch</span></code>. </p>
  2442. </dd>
  2443. </dl>
  2444. </p>
  2445. <dl class="field-list simple">
  2446. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2447. <dd class="field-odd"><p><strong>_id</strong> – <strong>[in]</strong> View id.</p>
  2448. </dd>
  2449. </dl>
  2450. </dd></dl>
  2451. <dl class="cpp function">
  2452. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setPaletteColorE7uint8_t8uint32_t">
  2453. <span id="_CPPv3N4bgfx15setPaletteColorE7uint8_t8uint32_t"></span><span id="_CPPv2N4bgfx15setPaletteColorE7uint8_t8uint32_t"></span><span id="bgfx::setPaletteColor__uint8_t.uint32_t"></span><span class="target" id="namespacebgfx_1ad4ec3f3f2af1b2d69ec0eeefe960c2f0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setPaletteColor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_rgba</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_t8uint32_t" title="Link to this definition"></a><br /></dt>
  2454. <dd><p>Set palette color value. </p>
  2455. <p><dl class="simple">
  2456. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_palette_color</span></code>. </p>
  2457. </dd>
  2458. </dl>
  2459. </p>
  2460. <dl class="field-list simple">
  2461. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2462. <dd class="field-odd"><ul class="simple">
  2463. <li><p><strong>_index</strong> – <strong>[in]</strong> Index into palette. </p></li>
  2464. <li><p><strong>_rgba</strong> – <strong>[in]</strong> Packed 32-bit RGBA value.</p></li>
  2465. </ul>
  2466. </dd>
  2467. </dl>
  2468. </dd></dl>
  2469. <dl class="cpp function">
  2470. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setPaletteColorE7uint8_tAL4E_Kf">
  2471. <span id="_CPPv3N4bgfx15setPaletteColorE7uint8_tAL4E_Kf"></span><span id="_CPPv2N4bgfx15setPaletteColorE7uint8_tA4_Kf"></span><span id="bgfx::setPaletteColor__uint8_t.floatCA"></span><span class="target" id="namespacebgfx_1acd59d0793b3776296a4867ab73338177"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setPaletteColor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_rgba</span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">4</span></span><span class="p"><span class="pre">]</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_tAL4E_Kf" title="Link to this definition"></a><br /></dt>
  2472. <dd><p>Set palette color value. </p>
  2473. <p><dl class="simple">
  2474. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_palette_color</span></code>. </p>
  2475. </dd>
  2476. </dl>
  2477. </p>
  2478. <dl class="field-list simple">
  2479. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2480. <dd class="field-odd"><ul class="simple">
  2481. <li><p><strong>_index</strong> – <strong>[in]</strong> Index into palette. </p></li>
  2482. <li><p><strong>_rgba</strong> – <strong>[in]</strong> RGBA floating point value.</p></li>
  2483. </ul>
  2484. </dd>
  2485. </dl>
  2486. </dd></dl>
  2487. <dl class="cpp function">
  2488. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setPaletteColorE7uint8_tffff">
  2489. <span id="_CPPv3N4bgfx15setPaletteColorE7uint8_tffff"></span><span id="_CPPv2N4bgfx15setPaletteColorE7uint8_tffff"></span><span id="bgfx::setPaletteColor__uint8_t.float.float.float.float"></span><span class="target" id="namespacebgfx_1a5484a3d28fd5570f6c5920bc584f5fd6"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setPaletteColor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_r</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_g</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_b</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_a</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setPaletteColorE7uint8_tffff" title="Link to this definition"></a><br /></dt>
  2490. <dd><p>Set palette color value. </p>
  2491. <p><dl class="simple">
  2492. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_palette_color</span></code>. </p>
  2493. </dd>
  2494. </dl>
  2495. </p>
  2496. <dl class="field-list simple">
  2497. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2498. <dd class="field-odd"><ul class="simple">
  2499. <li><p><strong>_index</strong> – <strong>[in]</strong> Index into palette. </p></li>
  2500. <li><p><strong>_r</strong> – <strong>[in]</strong> Red value (RGBA floating point values) </p></li>
  2501. <li><p><strong>_g</strong> – <strong>[in]</strong> Green value (RGBA floating point values) </p></li>
  2502. <li><p><strong>_b</strong> – <strong>[in]</strong> Blue value (RGBA floating point values) </p></li>
  2503. <li><p><strong>_a</strong> – <strong>[in]</strong> Alpha value (RGBA floating point values)</p></li>
  2504. </ul>
  2505. </dd>
  2506. </dl>
  2507. </dd></dl>
  2508. <dl class="cpp function">
  2509. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17requestScreenShotE17FrameBufferHandlePKc">
  2510. <span id="_CPPv3N4bgfx17requestScreenShotE17FrameBufferHandlePKc"></span><span id="_CPPv2N4bgfx17requestScreenShotE17FrameBufferHandlePKc"></span><span id="bgfx::requestScreenShot__FrameBufferHandle.cCP"></span><span class="target" id="namespacebgfx_1acbe6cfb0c11285b9f4a4969d1e3a71d6"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">requestScreenShot</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_filePath</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17requestScreenShotE17FrameBufferHandlePKc" title="Link to this definition"></a><br /></dt>
  2511. <dd><p>Request screen shot of window back buffer. </p>
  2512. <p><div class="remark admonition">
  2513. <p class="admonition-title">Remark</p>
  2514. <p><code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i_1a44d38debc9d86b9815d55058afc762c6"><span class="std std-ref"><span class="pre">bgfx::CallbackI::screenShot</span></span></a></code> must be implemented.</p>
  2515. </div>
  2516. <dl class="simple">
  2517. <dt><strong>Attention</strong></dt><dd><p>Frame buffer handle must be created with OS’ target native window handle. </p>
  2518. </dd>
  2519. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_request_screen_shot</span></code>. </p>
  2520. </dd>
  2521. </dl>
  2522. </p>
  2523. <dl class="field-list simple">
  2524. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2525. <dd class="field-odd"><ul class="simple">
  2526. <li><p><strong>_handle</strong> – <strong>[in]</strong> Frame buffer handle. If handle is <code class="docutils literal notranslate"><span class="pre">BGFX_INVALID_HANDLE</span></code> request will be made for main window back buffer. </p></li>
  2527. <li><p><strong>_filePath</strong> – <strong>[in]</strong> Will be passed to <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_callback_i_1a44d38debc9d86b9815d55058afc762c6"><span class="std std-ref"><span class="pre">bgfx::CallbackI::screenShot</span></span></a></code> callback.</p></li>
  2528. </ul>
  2529. </dd>
  2530. </dl>
  2531. </dd></dl>
  2532. </section>
  2533. </section>
  2534. <section id="views">
  2535. <h2>Views<a class="headerlink" href="#views" title="Link to this heading"></a></h2>
  2536. <p>Views are the primary sorting mechanism in bgfx.
  2537. They represent buckets of draw and compute calls, or what are often known as ‘passes’.</p>
  2538. <p>When compute calls and draw calls occupy the same bucket, the compute calls will be sorted to execute first.
  2539. Compute calls are always executed in order of submission, while draw calls are sorted by internal state if
  2540. the View is not in sequential mode.
  2541. In most cases where the z-buffer is used, this change in order does not affect the desired output.
  2542. When draw call order needs to be preserved (e.g. when rendering GUIs), Views can be set to use sequential mode with <cite>bgfx::setViewMode</cite>.
  2543. Sequential order is less efficient, because it doesn’t allow state change optimization, and should be avoided when possible.</p>
  2544. <p>By default, Views are sorted by their View ID, in ascending order.
  2545. For dynamic renderers where the right order might not be known until the last moment,
  2546. View IDs can be changed to use arbitrary ordering with <cite>bgfx::setViewOrder</cite>.</p>
  2547. <p>A View’s state is preserved between frames.</p>
  2548. <dl class="cpp function">
  2549. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11setViewNameE6ViewIdPKc7int32_t">
  2550. <span id="_CPPv3N4bgfx11setViewNameE6ViewIdPKc7int32_t"></span><span id="_CPPv2N4bgfx11setViewNameE6ViewIdPKc7int32_t"></span><span id="bgfx::setViewName__ViewId.cCP.int32_t"></span><span class="target" id="namespacebgfx_1ad3fbb5da6b443f950fb7f1fcb4b35c16"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewNameE6ViewIdPKc7int32_t" title="Link to this definition"></a><br /></dt>
  2551. <dd><p>Set view name. </p>
  2552. <p>
  2553. In graphics debugger view name will appear as: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="s2">&quot;nnnce &lt;view name&gt;&quot;</span>
  2554. <span class="o">^</span> <span class="o">^^</span> <span class="o">^</span>
  2555. <span class="o">|</span> <span class="o">|+--</span> <span class="n">eye</span> <span class="p">(</span><span class="n">L</span><span class="o">/</span><span class="n">R</span><span class="p">)</span>
  2556. <span class="o">|</span> <span class="o">+---</span> <span class="n">compute</span> <span class="p">(</span><span class="n">C</span><span class="p">)</span>
  2557. <span class="o">+------</span> <span class="n">view</span> <span class="nb">id</span>
  2558. </pre></div>
  2559. </div>
  2560. <div class="remark admonition">
  2561. <p class="admonition-title">Remark</p>
  2562. <p>This is debug only feature.</p>
  2563. </div>
  2564. <dl class="simple">
  2565. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_name</span></code>. </p>
  2566. </dd>
  2567. </dl>
  2568. </p>
  2569. <dl class="field-list simple">
  2570. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2571. <dd class="field-odd"><ul class="simple">
  2572. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2573. <li><p><strong>_name</strong> – <strong>[in]</strong> View name. </p></li>
  2574. <li><p><strong>_len</strong> – <strong>[in]</strong> View name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  2575. </ul>
  2576. </dd>
  2577. </dl>
  2578. </dd></dl>
  2579. <dl class="cpp function">
  2580. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t">
  2581. <span id="_CPPv3N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::setViewRect__ViewId.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a3359fac48262c25cc7bebed179c0e0b0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewRect</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  2582. <dd><p>Set view rectangle. Draw primitive outside view will be clipped. </p>
  2583. <p><dl class="simple">
  2584. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_rect</span></code>. </p>
  2585. </dd>
  2586. </dl>
  2587. </p>
  2588. <dl class="field-list simple">
  2589. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2590. <dd class="field-odd"><ul class="simple">
  2591. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2592. <li><p><strong>_x</strong> – <strong>[in]</strong> Position x from the left corner of the window. </p></li>
  2593. <li><p><strong>_y</strong> – <strong>[in]</strong> Position y from the top corner of the window. </p></li>
  2594. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of view port region. </p></li>
  2595. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of view port region.</p></li>
  2596. </ul>
  2597. </dd>
  2598. </dl>
  2599. </dd></dl>
  2600. <dl class="cpp function">
  2601. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE">
  2602. <span id="_CPPv3N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE"></span><span id="_CPPv2N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE"></span><span id="bgfx::setViewRect__ViewId.uint16_t.uint16_t.BackbufferRatio::Enum"></span><span class="target" id="namespacebgfx_1a97266f78aaaea47de5245eae918e49f8"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewRect</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">BackbufferRatio</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Enum</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_ratio</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewRectE6ViewId8uint16_t8uint16_tN15BackbufferRatio4EnumE" title="Link to this definition"></a><br /></dt>
  2603. <dd><p>Set view rectangle. Draw primitive outside view will be clipped. </p>
  2604. <p><dl class="simple">
  2605. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_rect_ratio</span></code>. </p>
  2606. </dd>
  2607. </dl>
  2608. </p>
  2609. <dl class="field-list simple">
  2610. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2611. <dd class="field-odd"><ul class="simple">
  2612. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2613. <li><p><strong>_x</strong> – <strong>[in]</strong> Position x from the left corner of the window. </p></li>
  2614. <li><p><strong>_y</strong> – <strong>[in]</strong> Position y from the top corner of the window. </p></li>
  2615. <li><p><strong>_ratio</strong> – <strong>[in]</strong> Width and height will be set in respect to back-buffer size. See: <code class="docutils literal notranslate"><span class="pre">BackbufferRatio::Enum</span></code>.</p></li>
  2616. </ul>
  2617. </dd>
  2618. </dl>
  2619. </dd></dl>
  2620. <dl class="cpp function">
  2621. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t">
  2622. <span id="_CPPv3N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::setViewScissor__ViewId.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a4c5184c35ba92387e4609f4919a35e05"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewScissor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setViewScissorE6ViewId8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  2623. <dd><p>Set view scissor. Draw primitive outside view will be clipped. When _x, _y, _width and _height are set to 0, scissor will be disabled. </p>
  2624. <p><dl class="simple">
  2625. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_scissor</span></code>. </p>
  2626. </dd>
  2627. </dl>
  2628. </p>
  2629. <dl class="field-list simple">
  2630. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2631. <dd class="field-odd"><ul class="simple">
  2632. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2633. <li><p><strong>_x</strong> – <strong>[in]</strong> Position x from the left corner of the window. </p></li>
  2634. <li><p><strong>_y</strong> – <strong>[in]</strong> Position y from the top corner of the window. </p></li>
  2635. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of scissor region. </p></li>
  2636. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of scissor region.</p></li>
  2637. </ul>
  2638. </dd>
  2639. </dl>
  2640. </dd></dl>
  2641. <dl class="cpp function">
  2642. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t">
  2643. <span id="_CPPv3N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t"></span><span id="_CPPv2N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t"></span><span id="bgfx::setViewClear__ViewId.uint16_t.uint32_t.float.uint8_t"></span><span class="target" id="namespacebgfx_1aadac86f70437f5cf694b68e223520316"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewClear</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_rgba</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0x000000ff</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1.0f</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stencil</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setViewClearE6ViewId8uint16_t8uint32_tf7uint8_t" title="Link to this definition"></a><br /></dt>
  2644. <dd><p>Set view clear flags. </p>
  2645. <p><dl class="simple">
  2646. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_clear</span></code>. </p>
  2647. </dd>
  2648. </dl>
  2649. </p>
  2650. <dl class="field-list simple">
  2651. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2652. <dd class="field-odd"><ul class="simple">
  2653. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2654. <li><p><strong>_flags</strong> – <strong>[in]</strong> Clear flags. Use <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_NONE</span></code> to remove any clear operation. See: <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_*</span></code>. </p></li>
  2655. <li><p><strong>_rgba</strong> – <strong>[in]</strong> Color clear value. </p></li>
  2656. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth clear value. </p></li>
  2657. <li><p><strong>_stencil</strong> – <strong>[in]</strong> Stencil clear value.</p></li>
  2658. </ul>
  2659. </dd>
  2660. </dl>
  2661. </dd></dl>
  2662. <dl class="cpp function">
  2663. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t">
  2664. <span id="_CPPv3N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t"></span><span id="_CPPv2N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t"></span><span id="bgfx::setViewClear__ViewId.uint16_t.float.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t.uint8_t"></span><span class="target" id="namespacebgfx_1abf98809ca6f644a2e2fe80013675b054"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewClear</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stencil</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_0</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_1</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_2</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_3</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_4</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_5</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_6</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_7</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT8_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setViewClearE6ViewId8uint16_tf7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t7uint8_t" title="Link to this definition"></a><br /></dt>
  2665. <dd><p>Set view clear flags with different clear color for each frame buffer texture. <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1ad4ec3f3f2af1b2d69ec0eeefe960c2f0"><span class="std std-ref"><span class="pre">bgfx::setPaletteColor</span></span></a></code> must be used to set up a clear color palette. </p>
  2666. <p><dl class="simple">
  2667. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_clear_mrt</span></code>. </p>
  2668. </dd>
  2669. </dl>
  2670. </p>
  2671. <dl class="field-list simple">
  2672. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2673. <dd class="field-odd"><ul class="simple">
  2674. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2675. <li><p><strong>_flags</strong> – <strong>[in]</strong> Clear flags. Use <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_NONE</span></code> to remove any clear operation. See: <code class="docutils literal notranslate"><span class="pre">BGFX_CLEAR_*</span></code>. </p></li>
  2676. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth clear value. </p></li>
  2677. <li><p><strong>_stencil</strong> – <strong>[in]</strong> Stencil clear value. </p></li>
  2678. <li><p><strong>_0</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 0. </p></li>
  2679. <li><p><strong>_1</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 1. </p></li>
  2680. <li><p><strong>_2</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 2. </p></li>
  2681. <li><p><strong>_3</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 3. </p></li>
  2682. <li><p><strong>_4</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 4. </p></li>
  2683. <li><p><strong>_5</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 5. </p></li>
  2684. <li><p><strong>_6</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 6. </p></li>
  2685. <li><p><strong>_7</strong> – <strong>[in]</strong> Palette index for frame buffer attachment 7.</p></li>
  2686. </ul>
  2687. </dd>
  2688. </dl>
  2689. </dd></dl>
  2690. <dl class="cpp struct">
  2691. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewModeE">
  2692. <span id="_CPPv3N4bgfx8ViewModeE"></span><span id="_CPPv2N4bgfx8ViewModeE"></span><span id="bgfx::ViewMode"></span><span class="target" id="structbgfx_1_1_view_mode"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ViewMode</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewModeE" title="Link to this definition"></a><br /></dt>
  2693. <dd><p>View mode sets draw call sort order. </p>
  2694. <p><dl class="simple">
  2695. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_view_mode_t</span></code>. </p>
  2696. </dd>
  2697. </dl>
  2698. </p>
  2699. <div class="breathe-sectiondef docutils container">
  2700. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  2701. <dl class="cpp enum">
  2702. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewMode4EnumE">
  2703. <span id="_CPPv3N4bgfx8ViewMode4EnumE"></span><span id="_CPPv2N4bgfx8ViewMode4EnumE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aa"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4EnumE" title="Link to this definition"></a><br /></dt>
  2704. <dd><p>View modes: </p>
  2705. <p><em>Values:</em></p>
  2706. <dl class="cpp enumerator">
  2707. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewMode4Enum7DefaultE">
  2708. <span id="_CPPv3N4bgfx8ViewMode4Enum7DefaultE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum7DefaultE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaacc189b62f09dcf003826e409009ec906"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Default</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum7DefaultE" title="Link to this definition"></a><br /></dt>
  2709. <dd><p>Default sort order. </p>
  2710. </dd></dl>
  2711. <dl class="cpp enumerator">
  2712. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewMode4Enum10SequentialE">
  2713. <span id="_CPPv3N4bgfx8ViewMode4Enum10SequentialE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum10SequentialE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaa8f3111e262d32c305a93b447fd7326d3"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Sequential</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum10SequentialE" title="Link to this definition"></a><br /></dt>
  2714. <dd><p>Sort in the same order in which submit calls were called. </p>
  2715. </dd></dl>
  2716. <dl class="cpp enumerator">
  2717. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewMode4Enum14DepthAscendingE">
  2718. <span id="_CPPv3N4bgfx8ViewMode4Enum14DepthAscendingE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum14DepthAscendingE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaa6700d02ac6b36c9e1874bfd4462780db"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DepthAscending</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum14DepthAscendingE" title="Link to this definition"></a><br /></dt>
  2719. <dd><p>Sort draw call depth in ascending order. </p>
  2720. </dd></dl>
  2721. <dl class="cpp enumerator">
  2722. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewMode4Enum15DepthDescendingE">
  2723. <span id="_CPPv3N4bgfx8ViewMode4Enum15DepthDescendingE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum15DepthDescendingE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaae89536701b2d0a969706fac6c2017db1"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">DepthDescending</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum15DepthDescendingE" title="Link to this definition"></a><br /></dt>
  2724. <dd><p>Sort draw call depth in descending order. </p>
  2725. </dd></dl>
  2726. <dl class="cpp enumerator">
  2727. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8ViewMode4Enum5CountE">
  2728. <span id="_CPPv3N4bgfx8ViewMode4Enum5CountE"></span><span id="_CPPv2N4bgfx8ViewMode4Enum5CountE"></span><span class="target" id="structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aaafbbc12d1b61d713f30a996bc296bda11"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx8ViewMode4Enum5CountE" title="Link to this definition"></a><br /></dt>
  2729. <dd></dd></dl>
  2730. </dd></dl>
  2731. </div>
  2732. </dd></dl>
  2733. <dl class="cpp function">
  2734. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE">
  2735. <span id="_CPPv3N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE"></span><span id="_CPPv2N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE"></span><span id="bgfx::setViewMode__ViewId.ViewMode::Enum"></span><span class="target" id="namespacebgfx_1ac351af2c0188891568b9c5ec09122d9b"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewMode</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx8ViewModeE" title="bgfx::ViewMode"><span class="n"><span class="pre">ViewMode</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx8ViewMode4EnumE" title="bgfx::ViewMode::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_mode</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx8ViewModeE" title="bgfx::ViewMode"><span class="n"><span class="pre">ViewMode</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx8ViewMode4Enum7DefaultE" title="bgfx::ViewMode::Default"><span class="n"><span class="pre">Default</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11setViewModeE6ViewIdN8ViewMode4EnumE" title="Link to this definition"></a><br /></dt>
  2736. <dd><p>Set view sorting mode. </p>
  2737. <p><div class="remark admonition">
  2738. <p class="admonition-title">Remark</p>
  2739. <p>View mode must be set prior calling <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aac8f69b1ff11ad6c8a95db9f9e46d019"><span class="std std-ref"><span class="pre">bgfx::submit</span></span></a></code> for the view.</p>
  2740. </div>
  2741. <dl class="simple">
  2742. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_mode</span></code>. </p>
  2743. </dd>
  2744. </dl>
  2745. </p>
  2746. <dl class="field-list simple">
  2747. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2748. <dd class="field-odd"><ul class="simple">
  2749. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2750. <li><p><strong>_mode</strong> – <strong>[in]</strong> View sort mode. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_view_mode_1a4b88760e456f6cf104c9e49d171c91aa"><span class="std std-ref"><span class="pre">ViewMode::Enum</span></span></a></code>.</p></li>
  2751. </ul>
  2752. </dd>
  2753. </dl>
  2754. </dd></dl>
  2755. <dl class="cpp function">
  2756. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle">
  2757. <span id="_CPPv3N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle"></span><span id="_CPPv2N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle"></span><span id="bgfx::setViewFrameBuffer__ViewId.FrameBufferHandle"></span><span class="target" id="namespacebgfx_1a25661fb8ab782ebc22ccfe10fe19e016"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewFrameBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18setViewFrameBufferE6ViewId17FrameBufferHandle" title="Link to this definition"></a><br /></dt>
  2758. <dd><p>Set view frame buffer. </p>
  2759. <p><div class="remark admonition">
  2760. <p class="admonition-title">Remark</p>
  2761. <p>Not persistent after <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1acbf49c89c8ed64ac2ce9fbb08a52f7ab"><span class="std std-ref"><span class="pre">bgfx::reset</span></span></a></code> call.</p>
  2762. </div>
  2763. <dl class="simple">
  2764. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_frame_buffer</span></code>. </p>
  2765. </dd>
  2766. </dl>
  2767. </p>
  2768. <dl class="field-list simple">
  2769. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2770. <dd class="field-odd"><ul class="simple">
  2771. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2772. <li><p><strong>_handle</strong> – <strong>[in]</strong> Frame buffer handle. Passing <code class="docutils literal notranslate"><span class="pre">BGFX_INVALID_HANDLE</span></code> as frame buffer handle will draw primitives from this view into default back buffer.</p></li>
  2773. </ul>
  2774. </dd>
  2775. </dl>
  2776. </dd></dl>
  2777. <dl class="cpp function">
  2778. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx16setViewTransformE6ViewIdPKvPKv">
  2779. <span id="_CPPv3N4bgfx16setViewTransformE6ViewIdPKvPKv"></span><span id="_CPPv2N4bgfx16setViewTransformE6ViewIdPKvPKv"></span><span id="bgfx::setViewTransform__ViewId.voidCP.voidCP"></span><span class="target" id="namespacebgfx_1acf30c922e9a1abd12f3af7277a873b3f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewTransform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_view</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_proj</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16setViewTransformE6ViewIdPKvPKv" title="Link to this definition"></a><br /></dt>
  2780. <dd><p>Set view’s view matrix and projection matrix, all draw primitives in this view will use these two matrices. </p>
  2781. <p><dl class="simple">
  2782. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_transform</span></code>. </p>
  2783. </dd>
  2784. </dl>
  2785. </p>
  2786. <dl class="field-list simple">
  2787. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2788. <dd class="field-odd"><ul class="simple">
  2789. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2790. <li><p><strong>_view</strong> – <strong>[in]</strong> View matrix. </p></li>
  2791. <li><p><strong>_proj</strong> – <strong>[in]</strong> Projection matrix.</p></li>
  2792. </ul>
  2793. </dd>
  2794. </dl>
  2795. </dd></dl>
  2796. <dl class="cpp function">
  2797. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId">
  2798. <span id="_CPPv3N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId"></span><span id="_CPPv2N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId"></span><span id="bgfx::setViewOrder__ViewId.uint16_t.ViewIdCP"></span><span class="target" id="namespacebgfx_1a03baba7d5b3b640b82904a7b4c57d6b4"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewOrder</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_remap</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setViewOrderE6ViewId8uint16_tPK6ViewId" title="Link to this definition"></a><br /></dt>
  2799. <dd><p>Post submit view reordering. </p>
  2800. <p><dl class="simple">
  2801. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_order</span></code>. </p>
  2802. </dd>
  2803. </dl>
  2804. </p>
  2805. <dl class="field-list simple">
  2806. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2807. <dd class="field-odd"><ul class="simple">
  2808. <li><p><strong>_id</strong> – <strong>[in]</strong> First view id. </p></li>
  2809. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of views to remap. </p></li>
  2810. <li><p><strong>_remap</strong> – <strong>[in]</strong> View remap id table. Passing <code class="docutils literal notranslate"><span class="pre">NULL</span></code> will reset view ids to default state.</p></li>
  2811. </ul>
  2812. </dd>
  2813. </dl>
  2814. </dd></dl>
  2815. <dl class="cpp struct">
  2816. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRateE">
  2817. <span id="_CPPv3N4bgfx11ShadingRateE"></span><span id="_CPPv2N4bgfx11ShadingRateE"></span><span id="bgfx::ShadingRate"></span><span class="target" id="structbgfx_1_1_shading_rate"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ShadingRate</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRateE" title="Link to this definition"></a><br /></dt>
  2818. <dd><p>Shading Rate. </p>
  2819. <p><dl class="simple">
  2820. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_bgfx_shading_rate_t</span></code>. </p>
  2821. </dd>
  2822. </dl>
  2823. </p>
  2824. <div class="breathe-sectiondef docutils container">
  2825. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  2826. <dl class="cpp enum">
  2827. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4EnumE">
  2828. <span id="_CPPv3N4bgfx11ShadingRate4EnumE"></span><span id="_CPPv2N4bgfx11ShadingRate4EnumE"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9b"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4EnumE" title="Link to this definition"></a><br /></dt>
  2829. <dd><p>Shading rate: </p>
  2830. <p><em>Values:</em></p>
  2831. <dl class="cpp enumerator">
  2832. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate1x1E">
  2833. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate1x1E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate1x1E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9ba005179767a142ec8a3a8b5a1e507d763"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate1x1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate1x1E" title="Link to this definition"></a><br /></dt>
  2834. <dd></dd></dl>
  2835. <dl class="cpp enumerator">
  2836. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate1x2E">
  2837. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate1x2E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate1x2E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9ba8f378b6055f1528a88740669e8bdba1c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate1x2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate1x2E" title="Link to this definition"></a><br /></dt>
  2838. <dd></dd></dl>
  2839. <dl class="cpp enumerator">
  2840. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate2x1E">
  2841. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate2x1E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate2x1E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9baa78085bc8178bd3a10f1e3325ce56d0f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate2x1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate2x1E" title="Link to this definition"></a><br /></dt>
  2842. <dd></dd></dl>
  2843. <dl class="cpp enumerator">
  2844. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate2x2E">
  2845. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate2x2E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate2x2E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9ba8ef7cf654f0b38bc2b604c819b821a18"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate2x2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate2x2E" title="Link to this definition"></a><br /></dt>
  2846. <dd></dd></dl>
  2847. <dl class="cpp enumerator">
  2848. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate2x4E">
  2849. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate2x4E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate2x4E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9bab5288543baaae1ac31d68dd2828e7db5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate2x4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate2x4E" title="Link to this definition"></a><br /></dt>
  2850. <dd></dd></dl>
  2851. <dl class="cpp enumerator">
  2852. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate4x2E">
  2853. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate4x2E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate4x2E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9ba397af06bfe7068e85a0237c8766fa9bf"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate4x2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate4x2E" title="Link to this definition"></a><br /></dt>
  2854. <dd></dd></dl>
  2855. <dl class="cpp enumerator">
  2856. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum7Rate4x4E">
  2857. <span id="_CPPv3N4bgfx11ShadingRate4Enum7Rate4x4E"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum7Rate4x4E"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9bab52149477679f0087fbcfa726c6fff1b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Rate4x4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate4x4E" title="Link to this definition"></a><br /></dt>
  2858. <dd></dd></dl>
  2859. <dl class="cpp enumerator">
  2860. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11ShadingRate4Enum5CountE">
  2861. <span id="_CPPv3N4bgfx11ShadingRate4Enum5CountE"></span><span id="_CPPv2N4bgfx11ShadingRate4Enum5CountE"></span><span class="target" id="structbgfx_1_1_shading_rate_1acd79a92544a558019f92781d90036e9bad3e8ea91cf2d876c508f838ee4060606"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11ShadingRate4Enum5CountE" title="Link to this definition"></a><br /></dt>
  2862. <dd></dd></dl>
  2863. </dd></dl>
  2864. </div>
  2865. </dd></dl>
  2866. <dl class="cpp function">
  2867. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18setViewShadingRateE6ViewIdN11ShadingRate4EnumE">
  2868. <span id="_CPPv3N4bgfx18setViewShadingRateE6ViewIdN11ShadingRate4EnumE"></span><span id="_CPPv2N4bgfx18setViewShadingRateE6ViewIdN11ShadingRate4EnumE"></span><span id="bgfx::setViewShadingRate__ViewId.ShadingRate::Enum"></span><span class="target" id="namespacebgfx_1a793347f6a16a32683ee9810197289568"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewShadingRate</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx11ShadingRateE" title="bgfx::ShadingRate"><span class="n"><span class="pre">ShadingRate</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx11ShadingRate4EnumE" title="bgfx::ShadingRate::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_shadingRate</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx11ShadingRateE" title="bgfx::ShadingRate"><span class="n"><span class="pre">ShadingRate</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx11ShadingRate4Enum7Rate1x1E" title="bgfx::ShadingRate::Rate1x1"><span class="n"><span class="pre">Rate1x1</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18setViewShadingRateE6ViewIdN11ShadingRate4EnumE" title="Link to this definition"></a><br /></dt>
  2869. <dd><p>Set view shading rate. </p>
  2870. <p><dl class="simple">
  2871. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VARIABLE_RATE_SHADING</span></code>. </p>
  2872. </dd>
  2873. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_shading_rate</span></code>. </p>
  2874. </dd>
  2875. </dl>
  2876. </p>
  2877. <dl class="field-list simple">
  2878. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2879. <dd class="field-odd"><ul class="simple">
  2880. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  2881. <li><p><strong>_shadingRate</strong> – <strong>[in]</strong> Shading rate.</p></li>
  2882. </ul>
  2883. </dd>
  2884. </dl>
  2885. </dd></dl>
  2886. <dl class="cpp function">
  2887. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9resetViewE6ViewId">
  2888. <span id="_CPPv3N4bgfx9resetViewE6ViewId"></span><span id="_CPPv2N4bgfx9resetViewE6ViewId"></span><span id="bgfx::resetView__ViewId"></span><span class="target" id="namespacebgfx_1a9346ecd01e2f32d41a0824be501d818c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">resetView</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9resetViewE6ViewId" title="Link to this definition"></a><br /></dt>
  2889. <dd><p>Reset all view settings to default. </p>
  2890. <p><dl class="simple">
  2891. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_reset_view</span></code>. </p>
  2892. </dd>
  2893. </dl>
  2894. </p>
  2895. <dl class="field-list simple">
  2896. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2897. <dd class="field-odd"><p><strong>_id</strong> – <strong>[in]</strong> View id.</p>
  2898. </dd>
  2899. </dl>
  2900. </dd></dl>
  2901. </section>
  2902. <section id="encoder">
  2903. <h2>Encoder<a class="headerlink" href="#encoder" title="Link to this heading"></a></h2>
  2904. <section id="id1">
  2905. <h3>Encoder<a class="headerlink" href="#id1" title="Link to this heading"></a></h3>
  2906. <p>API for multi-threaded submission.</p>
  2907. <dl class="cpp function">
  2908. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5beginEb">
  2909. <span id="_CPPv3N4bgfx5beginEb"></span><span id="_CPPv2N4bgfx5beginEb"></span><span id="bgfx::begin__b"></span><span class="target" id="namespacebgfx_1ac53b319c20aa14f04479878535717281"></span><a class="reference internal" href="#_CPPv4N4bgfx7EncoderE" title="bgfx::Encoder"><span class="n"><span class="pre">Encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">begin</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_forThread</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5beginEb" title="Link to this definition"></a><br /></dt>
  2910. <dd><p>Begin submitting draw calls from thread. </p>
  2911. <dl class="field-list simple">
  2912. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2913. <dd class="field-odd"><p><strong>_forThread</strong> – <strong>[in]</strong> Explicitly request an encoder for a worker thread. </p>
  2914. </dd>
  2915. </dl>
  2916. </dd></dl>
  2917. <dl class="cpp function">
  2918. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx3endEP7Encoder">
  2919. <span id="_CPPv3N4bgfx3endEP7Encoder"></span><span id="_CPPv2N4bgfx3endEP7Encoder"></span><span id="bgfx::end__EncoderP"></span><span class="target" id="namespacebgfx_1aa107fa4aeb1da2eb1f8984fd6b4aa195"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">end</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx7EncoderE" title="bgfx::Encoder"><span class="n"><span class="pre">Encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_encoder</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx3endEP7Encoder" title="Link to this definition"></a><br /></dt>
  2920. <dd><p>End submitting draw calls from thread. </p>
  2921. </dd></dl>
  2922. <dl class="cpp struct">
  2923. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7EncoderE">
  2924. <span id="_CPPv3N4bgfx7EncoderE"></span><span id="_CPPv2N4bgfx7EncoderE"></span><span id="bgfx::Encoder"></span><span class="target" id="structbgfx_1_1_encoder"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Encoder</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx7EncoderE" title="Link to this definition"></a><br /></dt>
  2925. <dd><p>Encoders are used for submitting draw calls from multiple threads. Only one encoder per thread should be used. Use <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1ac53b319c20aa14f04479878535717281"><span class="std std-ref"><span class="pre">bgfx::begin()</span></span></a></code> to obtain an encoder for a thread. </p>
  2926. <p><dl class="simple">
  2927. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder</span></code>. </p>
  2928. </dd>
  2929. </dl>
  2930. </p>
  2931. <div class="breathe-sectiondef docutils container">
  2932. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
  2933. <dl class="cpp function">
  2934. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder9setMarkerEPKc7int32_t">
  2935. <span id="_CPPv3N4bgfx7Encoder9setMarkerEPKc7int32_t"></span><span id="_CPPv2N4bgfx7Encoder9setMarkerEPKc7int32_t"></span><span id="bgfx::Encoder::setMarker__cCP.int32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ae024d2d16233a13e88f67510c89e0aae"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setMarker</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setMarkerEPKc7int32_t" title="Link to this definition"></a><br /></dt>
  2936. <dd><p>Sets a debug marker. This allows you to group graphics calls together for easy browsing in graphics debugging tools. </p>
  2937. <p><dl class="simple">
  2938. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_marker</span></code>. </p>
  2939. </dd>
  2940. </dl>
  2941. </p>
  2942. <dl class="field-list simple">
  2943. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2944. <dd class="field-odd"><ul class="simple">
  2945. <li><p><strong>_name</strong> – <strong>[in]</strong> Marker name. </p></li>
  2946. <li><p><strong>_len</strong> – <strong>[in]</strong> Marker name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  2947. </ul>
  2948. </dd>
  2949. </dl>
  2950. </dd></dl>
  2951. <dl class="cpp function">
  2952. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder8setStateE8uint64_t8uint32_t">
  2953. <span id="_CPPv3N4bgfx7Encoder8setStateE8uint64_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder8setStateE8uint64_t8uint32_t"></span><span id="bgfx::Encoder::setState__uint64_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ae0325e59abbf8628f5e4be92cb886160"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setState</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_state</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_rgba</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8setStateE8uint64_t8uint32_t" title="Link to this definition"></a><br /></dt>
  2954. <dd><p>Set render states for draw primitive. </p>
  2955. <p><div class="remark admonition">
  2956. <p class="admonition-title">Remark</p>
  2957. <p><ol class="lowerroman simple">
  2958. <li><p>To set up more complex states use: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_ALPHA_REF(_ref)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_POINT_SIZE(_size)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC(_src,</span> <span class="pre">_dst)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC_SEPARATE(_srcRGB,</span> <span class="pre">_dstRGB,</span> <span class="pre">_srcA,</span> <span class="pre">_dstA)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION(_equation)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB,</span> <span class="pre">_equationA)</span></code></p></li>
  2959. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_ADD</span></code> is set when no other blend equation is specified.</p></li>
  2960. </ol>
  2961. </p>
  2962. </div>
  2963. <dl class="simple">
  2964. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_state</span></code>. </p>
  2965. </dd>
  2966. </dl>
  2967. </p>
  2968. <dl class="field-list simple">
  2969. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2970. <dd class="field-odd"><ul class="simple">
  2971. <li><p><strong>_state</strong> – <strong>[in]</strong> State flags. Default state for primitive type is triangles. See: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEFAULT</span></code>.<ul>
  2972. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEPTH_TEST_*</span></code> - Depth test function.</p></li>
  2973. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_*</span></code> - See remark 1 about BGFX_STATE_BLEND_FUNC.</p></li>
  2974. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_*</span></code> - See remark 2.</p></li>
  2975. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_CULL_*</span></code> - Backface culling mode.</p></li>
  2976. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_WRITE_*</span></code> - Enable R, G, B, A or Z write.</p></li>
  2977. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_MSAA</span></code> - Enable hardware multisample antialiasing.</p></li>
  2978. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_PT_[TRISTRIP/LINES/POINTS]</span></code> - Primitive type.</p></li>
  2979. </ul>
  2980. </p></li>
  2981. <li><p><strong>_rgba</strong> – <strong>[in]</strong> Sets blend factor used by <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FACTOR</span></code> and <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_INV_FACTOR</span></code> blend modes.</p></li>
  2982. </ul>
  2983. </dd>
  2984. </dl>
  2985. </dd></dl>
  2986. <dl class="cpp function">
  2987. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb">
  2988. <span id="_CPPv3N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb"></span><span id="_CPPv2N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb"></span><span id="bgfx::Encoder::setCondition__OcclusionQueryHandle.b"></span><span class="target" id="structbgfx_1_1_encoder_1acc5a16a11bcfd00a38983bd8b807eb11"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setCondition</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_visible</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder12setConditionE20OcclusionQueryHandleb" title="Link to this definition"></a><br /></dt>
  2989. <dd><p>Set condition for rendering. </p>
  2990. <p><dl class="simple">
  2991. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_condition</span></code>. </p>
  2992. </dd>
  2993. </dl>
  2994. </p>
  2995. <dl class="field-list simple">
  2996. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  2997. <dd class="field-odd"><ul class="simple">
  2998. <li><p><strong>_handle</strong> – <strong>[in]</strong> Occlusion query handle. </p></li>
  2999. <li><p><strong>_visible</strong> – <strong>[in]</strong> Render if occlusion query is visible.</p></li>
  3000. </ul>
  3001. </dd>
  3002. </dl>
  3003. </dd></dl>
  3004. <dl class="cpp function">
  3005. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder10setStencilE8uint32_t8uint32_t">
  3006. <span id="_CPPv3N4bgfx7Encoder10setStencilE8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder10setStencilE8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setStencil__uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a5bf00e5be9ad6cb946cffd519c63b432"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setStencil</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_fstencil</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_bstencil</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_STENCIL_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setStencilE8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3007. <dd><p>Set stencil test state. </p>
  3008. <p><dl class="simple">
  3009. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_stencil</span></code>. </p>
  3010. </dd>
  3011. </dl>
  3012. </p>
  3013. <dl class="field-list simple">
  3014. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3015. <dd class="field-odd"><ul class="simple">
  3016. <li><p><strong>_fstencil</strong> – <strong>[in]</strong> Front stencil state. </p></li>
  3017. <li><p><strong>_bstencil</strong> – <strong>[in]</strong> Back stencil state. If back is set to <code class="docutils literal notranslate"><span class="pre">BGFX_STENCIL_NONE</span></code> _fstencil is applied to both front and back facing primitives.</p></li>
  3018. </ul>
  3019. </dd>
  3020. </dl>
  3021. </dd></dl>
  3022. <dl class="cpp function">
  3023. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t">
  3024. <span id="_CPPv3N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::Encoder::setScissor__uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a37472617364a0c6db4f2229bcfe8ea62"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setScissor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  3025. <dd><p>Set scissor for draw primitive. To scissor for all primitives in view see <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a4c5184c35ba92387e4609f4919a35e05"><span class="std std-ref"><span class="pre">bgfx::setViewScissor</span></span></a></code>. </p>
  3026. <p><dl class="simple">
  3027. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_scissor</span></code>. </p>
  3028. </dd>
  3029. </dl>
  3030. </p>
  3031. <dl class="field-list simple">
  3032. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3033. <dd class="field-odd"><ul class="simple">
  3034. <li><p><strong>_x</strong> – <strong>[in]</strong> Position x from the left side of the window. </p></li>
  3035. <li><p><strong>_y</strong> – <strong>[in]</strong> Position y from the top of the window. </p></li>
  3036. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of scissor region. </p></li>
  3037. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of scissor region. </p></li>
  3038. </ul>
  3039. </dd>
  3040. <dt class="field-even">Returns<span class="colon">:</span></dt>
  3041. <dd class="field-even"><p>Scissor cache index.</p>
  3042. </dd>
  3043. </dl>
  3044. </dd></dl>
  3045. <dl class="cpp function">
  3046. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder10setScissorE8uint16_t">
  3047. <span id="_CPPv3N4bgfx7Encoder10setScissorE8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder10setScissorE8uint16_t"></span><span id="bgfx::Encoder::setScissor__uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a0d4775b75c096869e87072949029f36c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setScissor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_cache</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setScissorE8uint16_t" title="Link to this definition"></a><br /></dt>
  3048. <dd><p>Set scissor from cache for draw primitive. </p>
  3049. <p><dl class="simple">
  3050. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_scissor_cached</span></code>. </p>
  3051. </dd>
  3052. </dl>
  3053. </p>
  3054. <dl class="field-list simple">
  3055. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3056. <dd class="field-odd"><p><strong>_cache</strong> – <strong>[in]</strong> Index in scissor cache. Pass UINT16_MAX to have primitive use view scissor instead.</p>
  3057. </dd>
  3058. </dl>
  3059. </dd></dl>
  3060. <dl class="cpp function">
  3061. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder12setTransformEPKv8uint16_t">
  3062. <span id="_CPPv3N4bgfx7Encoder12setTransformEPKv8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder12setTransformEPKv8uint16_t"></span><span id="bgfx::Encoder::setTransform__voidCP.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a429104d3ae2e43ca7f9fecd947427c76"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setTransform</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mtx</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder12setTransformEPKv8uint16_t" title="Link to this definition"></a><br /></dt>
  3063. <dd><p>Set model matrix for draw primitive. If it is not called, model will be rendered with identity model matrix. </p>
  3064. <p><dl class="simple">
  3065. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transform</span></code>. </p>
  3066. </dd>
  3067. </dl>
  3068. </p>
  3069. <dl class="field-list simple">
  3070. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3071. <dd class="field-odd"><ul class="simple">
  3072. <li><p><strong>_mtx</strong> – <strong>[in]</strong> Pointer to first matrix in array. </p></li>
  3073. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of matrices in array. </p></li>
  3074. </ul>
  3075. </dd>
  3076. <dt class="field-even">Returns<span class="colon">:</span></dt>
  3077. <dd class="field-even"><p>Index into matrix cache in case the same model matrix has to be used for other draw primitive call.</p>
  3078. </dd>
  3079. </dl>
  3080. </dd></dl>
  3081. <dl class="cpp function">
  3082. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14allocTransformEP9Transform8uint16_t">
  3083. <span id="_CPPv3N4bgfx7Encoder14allocTransformEP9Transform8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder14allocTransformEP9Transform8uint16_t"></span><span id="bgfx::Encoder::allocTransform__TransformP.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1ab9e5be71b42efd0af21d1686eb1c350c"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">allocTransform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">Transform</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_transform</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14allocTransformEP9Transform8uint16_t" title="Link to this definition"></a><br /></dt>
  3084. <dd><p>Reserve <code class="docutils literal notranslate"><span class="pre">_num</span></code> matrices in internal matrix cache. </p>
  3085. <p><dl class="simple">
  3086. <dt><strong>Attention</strong></dt><dd><p>Pointer returned can be modified until <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is called. </p>
  3087. </dd>
  3088. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_alloc_transform</span></code>. </p>
  3089. </dd>
  3090. </dl>
  3091. </p>
  3092. <dl class="field-list simple">
  3093. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3094. <dd class="field-odd"><ul class="simple">
  3095. <li><p><strong>_transform</strong> – <strong>[in]</strong> Pointer to <code class="docutils literal notranslate"><span class="pre">Transform</span></code> structure. </p></li>
  3096. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of matrices. </p></li>
  3097. </ul>
  3098. </dd>
  3099. <dt class="field-even">Returns<span class="colon">:</span></dt>
  3100. <dd class="field-even"><p>Index into matrix cache.</p>
  3101. </dd>
  3102. </dl>
  3103. </dd></dl>
  3104. <dl class="cpp function">
  3105. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder12setTransformE8uint32_t8uint16_t">
  3106. <span id="_CPPv3N4bgfx7Encoder12setTransformE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder12setTransformE8uint32_t8uint16_t"></span><span id="bgfx::Encoder::setTransform__uint32_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1ac998aeaafffec67a147d158f68333f67"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setTransform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_cache</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder12setTransformE8uint32_t8uint16_t" title="Link to this definition"></a><br /></dt>
  3107. <dd><p>Set model matrix from matrix cache for draw primitive. </p>
  3108. <p><dl class="simple">
  3109. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transform_cached</span></code>. </p>
  3110. </dd>
  3111. </dl>
  3112. </p>
  3113. <dl class="field-list simple">
  3114. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3115. <dd class="field-odd"><ul class="simple">
  3116. <li><p><strong>_cache</strong> – <strong>[in]</strong> Index in matrix cache. </p></li>
  3117. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of matrices from cache.</p></li>
  3118. </ul>
  3119. </dd>
  3120. </dl>
  3121. </dd></dl>
  3122. <dl class="cpp function">
  3123. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t">
  3124. <span id="_CPPv3N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t"></span><span id="bgfx::Encoder::setUniform__UniformHandle.voidCP.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a0cb3b27753bbbfd722344d47023de07e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setUniform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_value</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setUniformE13UniformHandlePKv8uint16_t" title="Link to this definition"></a><br /></dt>
  3125. <dd><p>Set shader uniform parameter for draw primitive. </p>
  3126. <p><dl class="simple">
  3127. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_uniform</span></code>. </p>
  3128. </dd>
  3129. </dl>
  3130. </p>
  3131. <dl class="field-list simple">
  3132. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3133. <dd class="field-odd"><ul class="simple">
  3134. <li><p><strong>_handle</strong> – <strong>[in]</strong> Uniform. </p></li>
  3135. <li><p><strong>_value</strong> – <strong>[in]</strong> Pointer to uniform data. </p></li>
  3136. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements. Passing <code class="docutils literal notranslate"><span class="pre">UINT16_MAX</span></code> will use the _num passed on uniform creation.</p></li>
  3137. </ul>
  3138. </dd>
  3139. </dl>
  3140. </dd></dl>
  3141. <dl class="cpp function">
  3142. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle">
  3143. <span id="_CPPv3N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle"></span><span id="bgfx::Encoder::setIndexBuffer__IndexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a29b6203c38cfe6faf584d5dc458a24dc"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle" title="Link to this definition"></a><br /></dt>
  3144. <dd><p>Set index buffer for draw primitive. </p>
  3145. <p><dl class="simple">
  3146. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_index_buffer</span></code>. </p>
  3147. </dd>
  3148. </dl>
  3149. </p>
  3150. <dl class="field-list simple">
  3151. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3152. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Index buffer.</p>
  3153. </dd>
  3154. </dl>
  3155. </dd></dl>
  3156. <dl class="cpp function">
  3157. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t">
  3158. <span id="_CPPv3N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setIndexBuffer__IndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ae89b8f384c1fa58345b8e0d6d4c6d5dd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_firstIndex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3159. <dd><p>Set index buffer for draw primitive. </p>
  3160. <p><dl class="simple">
  3161. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_index_buffer</span></code>. </p>
  3162. </dd>
  3163. </dl>
  3164. </p>
  3165. <dl class="field-list simple">
  3166. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3167. <dd class="field-odd"><ul class="simple">
  3168. <li><p><strong>_handle</strong> – <strong>[in]</strong> Index buffer. </p></li>
  3169. <li><p><strong>_firstIndex</strong> – <strong>[in]</strong> First index to render. </p></li>
  3170. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of indices to render.</p></li>
  3171. </ul>
  3172. </dd>
  3173. </dl>
  3174. </dd></dl>
  3175. <dl class="cpp function">
  3176. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle">
  3177. <span id="_CPPv3N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="bgfx::Encoder::setIndexBuffer__DynamicIndexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1aeb7869c500e780b84de6342bd2b70ae0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle" title="Link to this definition"></a><br /></dt>
  3178. <dd><p>Set index buffer for draw primitive. </p>
  3179. <p><dl class="simple">
  3180. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_index_buffer</span></code>. </p>
  3181. </dd>
  3182. </dl>
  3183. </p>
  3184. <dl class="field-list simple">
  3185. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3186. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer.</p>
  3187. </dd>
  3188. </dl>
  3189. </dd></dl>
  3190. <dl class="cpp function">
  3191. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t">
  3192. <span id="_CPPv3N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setIndexBuffer__DynamicIndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1aff23b1df245c0bf5400bb5b9609a75a1"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_firstIndex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3193. <dd><p>Set index buffer for draw primitive. </p>
  3194. <p><dl class="simple">
  3195. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_index_buffer</span></code>. </p>
  3196. </dd>
  3197. </dl>
  3198. </p>
  3199. <dl class="field-list simple">
  3200. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3201. <dd class="field-odd"><ul class="simple">
  3202. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer. </p></li>
  3203. <li><p><strong>_firstIndex</strong> – <strong>[in]</strong> First index to render. </p></li>
  3204. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of indices to render.</p></li>
  3205. </ul>
  3206. </dd>
  3207. </dl>
  3208. </dd></dl>
  3209. <dl class="cpp function">
  3210. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer">
  3211. <span id="_CPPv3N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer"></span><span id="bgfx::Encoder::setIndexBuffer__TransientIndexBufferCP"></span><span class="target" id="structbgfx_1_1_encoder_1a111617d3f649d957be50b91079a9c052"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer"><span class="n"><span class="pre">TransientIndexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tib</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer" title="Link to this definition"></a><br /></dt>
  3212. <dd><p>Set index buffer for draw primitive. </p>
  3213. <p><dl class="simple">
  3214. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_index_buffer</span></code>. </p>
  3215. </dd>
  3216. </dl>
  3217. </p>
  3218. <dl class="field-list simple">
  3219. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3220. <dd class="field-odd"><p><strong>_tib</strong> – <strong>[in]</strong> Transient index buffer.</p>
  3221. </dd>
  3222. </dl>
  3223. </dd></dl>
  3224. <dl class="cpp function">
  3225. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t">
  3226. <span id="_CPPv3N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setIndexBuffer__TransientIndexBufferCP.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a2a2273ecc04472bd1c6fe9c0c05e530f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer"><span class="n"><span class="pre">TransientIndexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tib</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_firstIndex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3227. <dd><p>Set index buffer for draw primitive. </p>
  3228. <p><dl class="simple">
  3229. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_index_buffer</span></code>. </p>
  3230. </dd>
  3231. </dl>
  3232. </p>
  3233. <dl class="field-list simple">
  3234. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3235. <dd class="field-odd"><ul class="simple">
  3236. <li><p><strong>_tib</strong> – <strong>[in]</strong> Transient index buffer. </p></li>
  3237. <li><p><strong>_firstIndex</strong> – <strong>[in]</strong> First index to render. </p></li>
  3238. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of indices to render.</p></li>
  3239. </ul>
  3240. </dd>
  3241. </dl>
  3242. </dd></dl>
  3243. <dl class="cpp function">
  3244. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle">
  3245. <span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.VertexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a7187107e8a5f8daa48a97482582f66c1"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle" title="Link to this definition"></a><br /></dt>
  3246. <dd><p>Set vertex buffer for draw primitive. </p>
  3247. <p><dl class="simple">
  3248. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_vertex_buffer</span></code>. </p>
  3249. </dd>
  3250. </dl>
  3251. </p>
  3252. <dl class="field-list simple">
  3253. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3254. <dd class="field-odd"><ul class="simple">
  3255. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  3256. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer.</p></li>
  3257. </ul>
  3258. </dd>
  3259. </dl>
  3260. </dd></dl>
  3261. <dl class="cpp function">
  3262. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
  3263. <span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.VertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a88d229a9ee484dcf2b1c5f02b6371c59"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span>, <span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layoutHandle</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_INVALID_HANDLE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  3264. <dd><p>Set vertex buffer for draw primitive. </p>
  3265. <p><dl class="simple">
  3266. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_vertex_buffer</span></code>. </p>
  3267. </dd>
  3268. </dl>
  3269. </p>
  3270. <dl class="field-list simple">
  3271. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3272. <dd class="field-odd"><ul class="simple">
  3273. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  3274. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer. </p></li>
  3275. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> First vertex to render. </p></li>
  3276. <li><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices to render. </p></li>
  3277. <li><p><strong>_layoutHandle</strong> – <strong>[in]</strong> Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
  3278. </ul>
  3279. </dd>
  3280. </dl>
  3281. </dd></dl>
  3282. <dl class="cpp function">
  3283. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle">
  3284. <span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.DynamicVertexBufferHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a85c20c041e5dca255f058aa91e434bc9"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle" title="Link to this definition"></a><br /></dt>
  3285. <dd><p>Set vertex buffer for draw primitive. </p>
  3286. <p><dl class="simple">
  3287. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_vertex_buffer</span></code>. </p>
  3288. </dd>
  3289. </dl>
  3290. </p>
  3291. <dl class="field-list simple">
  3292. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3293. <dd class="field-odd"><ul class="simple">
  3294. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  3295. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer.</p></li>
  3296. </ul>
  3297. </dd>
  3298. </dl>
  3299. </dd></dl>
  3300. <dl class="cpp function">
  3301. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
  3302. <span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.DynamicVertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_encoder_1ac08df8ca1b657e6990963c921d0b1122"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span>, <span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layoutHandle</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_INVALID_HANDLE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  3303. <dd><p>Set vertex buffer for draw primitive. </p>
  3304. <p><dl class="simple">
  3305. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_dynamic_vertex_buffer</span></code>. </p>
  3306. </dd>
  3307. </dl>
  3308. </p>
  3309. <dl class="field-list simple">
  3310. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3311. <dd class="field-odd"><ul class="simple">
  3312. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  3313. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer. </p></li>
  3314. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> First vertex to render. </p></li>
  3315. <li><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices to render. </p></li>
  3316. <li><p><strong>_layoutHandle</strong> – <strong>[in]</strong> Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
  3317. </ul>
  3318. </dd>
  3319. </dl>
  3320. </dd></dl>
  3321. <dl class="cpp function">
  3322. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer">
  3323. <span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.TransientVertexBufferCP"></span><span class="target" id="structbgfx_1_1_encoder_1a4d17b54519e2a8c8c2a806368df50080"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer"><span class="n"><span class="pre">TransientVertexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tvb</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer" title="Link to this definition"></a><br /></dt>
  3324. <dd><p>Set vertex buffer for draw primitive. </p>
  3325. <p><dl class="simple">
  3326. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_vertex_buffer</span></code>. </p>
  3327. </dd>
  3328. </dl>
  3329. </p>
  3330. <dl class="field-list simple">
  3331. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3332. <dd class="field-odd"><ul class="simple">
  3333. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  3334. <li><p><strong>_tvb</strong> – <strong>[in]</strong> Transient vertex buffer.</p></li>
  3335. </ul>
  3336. </dd>
  3337. </dl>
  3338. </dd></dl>
  3339. <dl class="cpp function">
  3340. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle">
  3341. <span id="_CPPv3N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::Encoder::setVertexBuffer__uint8_t.TransientVertexBufferCP.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_encoder_1a4f2908eda6f4771a2a06774edb390122"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer"><span class="n"><span class="pre">TransientVertexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tvb</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span>, <span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layoutHandle</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_INVALID_HANDLE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  3342. <dd><p>Set vertex buffer for draw primitive. </p>
  3343. <p><dl class="simple">
  3344. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_transient_vertex_buffer</span></code>. </p>
  3345. </dd>
  3346. </dl>
  3347. </p>
  3348. <dl class="field-list simple">
  3349. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3350. <dd class="field-odd"><ul class="simple">
  3351. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  3352. <li><p><strong>_tvb</strong> – <strong>[in]</strong> Transient vertex buffer. </p></li>
  3353. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> First vertex to render. </p></li>
  3354. <li><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices to render. </p></li>
  3355. <li><p><strong>_layoutHandle</strong> – <strong>[in]</strong> Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
  3356. </ul>
  3357. </dd>
  3358. </dl>
  3359. </dd></dl>
  3360. <dl class="cpp function">
  3361. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder14setVertexCountE8uint32_t">
  3362. <span id="_CPPv3N4bgfx7Encoder14setVertexCountE8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder14setVertexCountE8uint32_t"></span><span id="bgfx::Encoder::setVertexCount__uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a6bec8d7a72516210170abcd6b1fd98aa"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setVertexCount</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder14setVertexCountE8uint32_t" title="Link to this definition"></a><br /></dt>
  3363. <dd><p>Set number of vertices for auto generated vertices use in conjunction with gl_VertexID. </p>
  3364. <p><dl class="simple">
  3365. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
  3366. </dd>
  3367. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_vertex_count</span></code>. </p>
  3368. </dd>
  3369. </dl>
  3370. </p>
  3371. <dl class="field-list simple">
  3372. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3373. <dd class="field-odd"><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices.</p>
  3374. </dd>
  3375. </dl>
  3376. </dd></dl>
  3377. <dl class="cpp function">
  3378. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer">
  3379. <span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="bgfx::Encoder::setInstanceDataBuffer__InstanceDataBufferCP"></span><span class="target" id="structbgfx_1_1_encoder_1afadc5fbe3874159961d5552220328622"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer"><span class="n"><span class="pre">InstanceDataBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_idb</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer" title="Link to this definition"></a><br /></dt>
  3380. <dd><p>Set instance data buffer for draw primitive. </p>
  3381. <p><dl class="simple">
  3382. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_buffer</span></code>. </p>
  3383. </dd>
  3384. </dl>
  3385. </p>
  3386. <dl class="field-list simple">
  3387. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3388. <dd class="field-odd"><p><strong>_idb</strong> – <strong>[in]</strong> Transient instance data buffer.</p>
  3389. </dd>
  3390. </dl>
  3391. </dd></dl>
  3392. <dl class="cpp function">
  3393. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t">
  3394. <span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setInstanceDataBuffer__InstanceDataBufferCP.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1adf6c147ada3e5338eb517d0c33faf01d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer"><span class="n"><span class="pre">InstanceDataBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_idb</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3395. <dd><p>Set instance data buffer for draw primitive. </p>
  3396. <p><dl class="simple">
  3397. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_buffer</span></code>. </p>
  3398. </dd>
  3399. </dl>
  3400. </p>
  3401. <dl class="field-list simple">
  3402. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3403. <dd class="field-odd"><ul class="simple">
  3404. <li><p><strong>_idb</strong> – <strong>[in]</strong> Transient instance data buffer. </p></li>
  3405. <li><p><strong>_start</strong> – <strong>[in]</strong> First instance data. </p></li>
  3406. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of data instances.</p></li>
  3407. </ul>
  3408. </dd>
  3409. </dl>
  3410. </dd></dl>
  3411. <dl class="cpp function">
  3412. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t">
  3413. <span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setInstanceDataBuffer__VertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1a67c4f46964ff32c170699939158434c5"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3414. <dd><p>Set instance data buffer for draw primitive. </p>
  3415. <p><dl class="simple">
  3416. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_from_vertex_buffer</span></code>. </p>
  3417. </dd>
  3418. </dl>
  3419. </p>
  3420. <dl class="field-list simple">
  3421. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3422. <dd class="field-odd"><ul class="simple">
  3423. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer. </p></li>
  3424. <li><p><strong>_start</strong> – <strong>[in]</strong> First instance data. </p></li>
  3425. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of data instances.</p></li>
  3426. </ul>
  3427. </dd>
  3428. </dl>
  3429. </dd></dl>
  3430. <dl class="cpp function">
  3431. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t">
  3432. <span id="_CPPv3N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::Encoder::setInstanceDataBuffer__DynamicVertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1af7464e8909bd5aa11811151c0650e56d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3433. <dd><p>Set instance data buffer for draw primitive. </p>
  3434. <p><dl class="simple">
  3435. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_data_from_dynamic_vertex_buffer</span></code>. </p>
  3436. </dd>
  3437. </dl>
  3438. </p>
  3439. <dl class="field-list simple">
  3440. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3441. <dd class="field-odd"><ul class="simple">
  3442. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer. </p></li>
  3443. <li><p><strong>_start</strong> – <strong>[in]</strong> First instance data. </p></li>
  3444. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of data instances.</p></li>
  3445. </ul>
  3446. </dd>
  3447. </dl>
  3448. </dd></dl>
  3449. <dl class="cpp function">
  3450. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder16setInstanceCountE8uint32_t">
  3451. <span id="_CPPv3N4bgfx7Encoder16setInstanceCountE8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder16setInstanceCountE8uint32_t"></span><span id="bgfx::Encoder::setInstanceCount__uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ac8450ebbbf04678db6d2c59ea86178a8"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceCount</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numInstances</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder16setInstanceCountE8uint32_t" title="Link to this definition"></a><br /></dt>
  3452. <dd><p>Set number of instances for auto generated instances use in conjunction with gl_InstanceID. </p>
  3453. <p><dl class="simple">
  3454. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
  3455. </dd>
  3456. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_instance_count</span></code>. </p>
  3457. </dd>
  3458. </dl>
  3459. </p>
  3460. <dl class="field-list simple">
  3461. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3462. <dd class="field-odd"><p><strong>_numInstances</strong> – <strong>[in]</strong> Number of instances.</p>
  3463. </dd>
  3464. </dl>
  3465. </dd></dl>
  3466. <dl class="cpp function">
  3467. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t">
  3468. <span id="_CPPv3N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="_CPPv2N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="bgfx::Encoder::setTexture__uint8_t.UniformHandle.TextureHandle.uint32_t"></span><span class="target" id="structbgfx_1_1_encoder_1ababcdc9b1bf89fe863573c5629c1ea31"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setTexture</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_sampler</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t" title="Link to this definition"></a><br /></dt>
  3469. <dd><p>Set texture stage for draw primitive. </p>
  3470. <p><dl class="simple">
  3471. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_texture</span></code>. </p>
  3472. </dd>
  3473. </dl>
  3474. </p>
  3475. <dl class="field-list simple">
  3476. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3477. <dd class="field-odd"><ul class="simple">
  3478. <li><p><strong>_stage</strong> – <strong>[in]</strong> Texture unit. </p></li>
  3479. <li><p><strong>_sampler</strong> – <strong>[in]</strong> Program sampler. </p></li>
  3480. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  3481. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture sampling mode. Default value UINT32_MAX uses texture sampling settings from the texture.<ul>
  3482. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  3483. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  3484. </ul>
  3485. </p></li>
  3486. </ul>
  3487. </dd>
  3488. </dl>
  3489. </dd></dl>
  3490. <dl class="cpp function">
  3491. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder5touchE6ViewId">
  3492. <span id="_CPPv3N4bgfx7Encoder5touchE6ViewId"></span><span id="_CPPv2N4bgfx7Encoder5touchE6ViewId"></span><span id="bgfx::Encoder::touch__ViewId"></span><span class="target" id="structbgfx_1_1_encoder_1a57dd7836d684ce252f915fda652dd4d9"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">touch</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder5touchE6ViewId" title="Link to this definition"></a><br /></dt>
  3493. <dd><p>Submit an empty primitive for rendering. Uniforms and draw state will be applied but no geometry will be submitted. Useful in cases when no other draw/compute primitive is submitted to view, but it’s desired to execute clear view. </p>
  3494. <p>These empty draw calls will sort before ordinary draw calls.</p>
  3495. <p><dl class="simple">
  3496. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_touch</span></code>. </p>
  3497. </dd>
  3498. </dl>
  3499. </p>
  3500. <dl class="field-list simple">
  3501. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3502. <dd class="field-odd"><p><strong>_id</strong> – <strong>[in]</strong> View id.</p>
  3503. </dd>
  3504. </dl>
  3505. </dd></dl>
  3506. <dl class="cpp function">
  3507. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t">
  3508. <span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a1708b62838d2213c50197c5ece829344"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  3509. <dd><p>Submit primitive for rendering. </p>
  3510. <p><dl class="simple">
  3511. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit</span></code>. </p>
  3512. </dd>
  3513. </dl>
  3514. </p>
  3515. <dl class="field-list simple">
  3516. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3517. <dd class="field-odd"><ul class="simple">
  3518. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3519. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  3520. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  3521. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  3522. </ul>
  3523. </dd>
  3524. </dl>
  3525. </dd></dl>
  3526. <dl class="cpp function">
  3527. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t">
  3528. <span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.OcclusionQueryHandle.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a54d8ad0fccee2039389d7665b2e7f21d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_occlusionQuery</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  3529. <dd><p>Submit primitive with occlusion query for rendering. </p>
  3530. <p><dl class="simple">
  3531. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit_occlusion_query</span></code>. </p>
  3532. </dd>
  3533. </dl>
  3534. </p>
  3535. <dl class="field-list simple">
  3536. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3537. <dd class="field-odd"><ul class="simple">
  3538. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3539. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  3540. <li><p><strong>_occlusionQuery</strong> – <strong>[in]</strong> Occlusion query. </p></li>
  3541. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  3542. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  3543. </ul>
  3544. </dd>
  3545. </dl>
  3546. </dd></dl>
  3547. <dl class="cpp function">
  3548. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t">
  3549. <span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.IndirectBufferHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1ae554008c5c608f1da636c36c55bbc922"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_indirectHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  3550. <dd><p>Submit primitive for rendering with index and instance data info from indirect buffer. </p>
  3551. <p><dl class="simple">
  3552. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_DRAW_INDIRECT</span></code>. </p>
  3553. </dd>
  3554. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit_indirect</span></code>. </p>
  3555. </dd>
  3556. </dl>
  3557. </p>
  3558. <dl class="field-list simple">
  3559. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3560. <dd class="field-odd"><ul class="simple">
  3561. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3562. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  3563. <li><p><strong>_indirectHandle</strong> – <strong>[in]</strong> Indirect buffer. </p></li>
  3564. <li><p><strong>_start</strong> – <strong>[in]</strong> First element in indirect buffer. </p></li>
  3565. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of draws. </p></li>
  3566. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  3567. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  3568. </ul>
  3569. </dd>
  3570. </dl>
  3571. </dd></dl>
  3572. <dl class="cpp function">
  3573. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t">
  3574. <span id="_CPPv3N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::Encoder::submit__ViewId.ProgramHandle.IndirectBufferHandle.uint32_t.IndexBufferHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a7d1c5dba4f68488459a0bf43b1650224"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_indirectHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndex</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numMax</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT32_MAX</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  3575. <dd><p>Submit primitive for rendering with index and instance data info and draw count from indirect buffers. </p>
  3576. <p><dl class="simple">
  3577. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_DRAW_INDIRECT_COUNT</span></code>. </p>
  3578. </dd>
  3579. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_submit_indirect_count</span></code>. </p>
  3580. </dd>
  3581. </dl>
  3582. </p>
  3583. <dl class="field-list simple">
  3584. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3585. <dd class="field-odd"><ul class="simple">
  3586. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3587. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  3588. <li><p><strong>_indirectHandle</strong> – <strong>[in]</strong> Indirect buffer. </p></li>
  3589. <li><p><strong>_start</strong> – <strong>[in]</strong> First element in indirect buffer. </p></li>
  3590. <li><p><strong>_numHandle</strong> – <strong>[in]</strong> Buffer for number of draws. Must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> and <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_DRAW_INDIRECT</span></code>. </p></li>
  3591. <li><p><strong>_numIndex</strong> – <strong>[in]</strong> Element in number buffer. </p></li>
  3592. <li><p><strong>_numMax</strong> – <strong>[in]</strong> Max number of draws. </p></li>
  3593. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  3594. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  3595. </ul>
  3596. </dd>
  3597. </dl>
  3598. </dd></dl>
  3599. <dl class="cpp function">
  3600. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE">
  3601. <span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.IndexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1abbcd6de6e5e97a7fe957eda92ad0822f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  3602. <dd><p>Set compute index buffer. </p>
  3603. <p><dl class="simple">
  3604. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_index_buffer</span></code>. </p>
  3605. </dd>
  3606. </dl>
  3607. </p>
  3608. <dl class="field-list simple">
  3609. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3610. <dd class="field-odd"><ul class="simple">
  3611. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  3612. <li><p><strong>_handle</strong> – <strong>[in]</strong> Index buffer handle. </p></li>
  3613. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  3614. </ul>
  3615. </dd>
  3616. </dl>
  3617. </dd></dl>
  3618. <dl class="cpp function">
  3619. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE">
  3620. <span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.VertexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a5f7f342edc7994cd4d3bc490bc2fd871"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  3621. <dd><p>Set compute vertex buffer. </p>
  3622. <p><dl class="simple">
  3623. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_vertex_buffer</span></code>. </p>
  3624. </dd>
  3625. </dl>
  3626. </p>
  3627. <dl class="field-list simple">
  3628. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3629. <dd class="field-odd"><ul class="simple">
  3630. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  3631. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer handle. </p></li>
  3632. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  3633. </ul>
  3634. </dd>
  3635. </dl>
  3636. </dd></dl>
  3637. <dl class="cpp function">
  3638. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE">
  3639. <span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.DynamicIndexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1ac33eb79ca4276af07beeed8814d4cf8c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  3640. <dd><p>Set compute dynamic index buffer. </p>
  3641. <p><dl class="simple">
  3642. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_dynamic_index_buffer</span></code>. </p>
  3643. </dd>
  3644. </dl>
  3645. </p>
  3646. <dl class="field-list simple">
  3647. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3648. <dd class="field-odd"><ul class="simple">
  3649. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  3650. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer handle. </p></li>
  3651. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  3652. </ul>
  3653. </dd>
  3654. </dl>
  3655. </dd></dl>
  3656. <dl class="cpp function">
  3657. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE">
  3658. <span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.DynamicVertexBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a0a7b96ce730a411113f8701b2773df2c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  3659. <dd><p>Set compute dynamic vertex buffer. </p>
  3660. <p><dl class="simple">
  3661. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_dynamic_vertex_buffer</span></code>. </p>
  3662. </dd>
  3663. </dl>
  3664. </p>
  3665. <dl class="field-list simple">
  3666. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3667. <dd class="field-odd"><ul class="simple">
  3668. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  3669. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer handle. </p></li>
  3670. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  3671. </ul>
  3672. </dd>
  3673. </dl>
  3674. </dd></dl>
  3675. <dl class="cpp function">
  3676. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE">
  3677. <span id="_CPPv3N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="bgfx::Encoder::setBuffer__uint8_t.IndirectBufferHandle.Access::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a0b796ad4a8fdadaf1128f76d132f1d15"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  3678. <dd><p>Set compute indirect buffer. </p>
  3679. <p><dl class="simple">
  3680. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_compute_indirect_buffer</span></code>. </p>
  3681. </dd>
  3682. </dl>
  3683. </p>
  3684. <dl class="field-list simple">
  3685. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3686. <dd class="field-odd"><ul class="simple">
  3687. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  3688. <li><p><strong>_handle</strong> – <strong>[in]</strong> Indirect buffer handle. </p></li>
  3689. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  3690. </ul>
  3691. </dd>
  3692. </dl>
  3693. </dd></dl>
  3694. <dl class="cpp function">
  3695. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE">
  3696. <span id="_CPPv3N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="bgfx::Encoder::setImage__uint8_t.TextureHandle.uint8_t.Access::Enum.TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_encoder_1a93ccfe0d5e9ddf32373b1d5ecdd5b05e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">setImage</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count"><span class="n"><span class="pre">Count</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE" title="Link to this definition"></a><br /></dt>
  3697. <dd><p>Set compute image from texture. </p>
  3698. <p><dl class="simple">
  3699. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_set_image</span></code>. </p>
  3700. </dd>
  3701. </dl>
  3702. </p>
  3703. <dl class="field-list simple">
  3704. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3705. <dd class="field-odd"><ul class="simple">
  3706. <li><p><strong>_stage</strong> – <strong>[in]</strong> Texture unit. </p></li>
  3707. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  3708. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level. </p></li>
  3709. <li><p><strong>_access</strong> – <strong>[in]</strong> Texture access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p></li>
  3710. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
  3711. </ul>
  3712. </dd>
  3713. </dl>
  3714. </dd></dl>
  3715. <dl class="cpp function">
  3716. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t">
  3717. <span id="_CPPv3N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::Encoder::dispatch__ViewId.ProgramHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1ab3840b6c16e8fa53dd64d474ac9a49c1"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dispatch</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numX</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numY</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numZ</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  3718. <dd><p>Dispatch compute. </p>
  3719. <p><dl class="simple">
  3720. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_dispatch</span></code>. </p>
  3721. </dd>
  3722. </dl>
  3723. </p>
  3724. <dl class="field-list simple">
  3725. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3726. <dd class="field-odd"><ul class="simple">
  3727. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3728. <li><p><strong>_handle</strong> – <strong>[in]</strong> Compute program. </p></li>
  3729. <li><p><strong>_numX</strong> – <strong>[in]</strong> Number of groups X. </p></li>
  3730. <li><p><strong>_numY</strong> – <strong>[in]</strong> Number of groups Y. </p></li>
  3731. <li><p><strong>_numZ</strong> – <strong>[in]</strong> Number of groups Z. </p></li>
  3732. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  3733. </ul>
  3734. </dd>
  3735. </dl>
  3736. </dd></dl>
  3737. <dl class="cpp function">
  3738. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t">
  3739. <span id="_CPPv3N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::Encoder::dispatch__ViewId.ProgramHandle.IndirectBufferHandle.uint32_t.uint32_t.uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1a5dc4a807e03782d94076e7f99b9b1fc4"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dispatch</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_indirectHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  3740. <dd><p>Dispatch compute indirect. </p>
  3741. <p><dl class="simple">
  3742. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_dispatch_indirect</span></code>. </p>
  3743. </dd>
  3744. </dl>
  3745. </p>
  3746. <dl class="field-list simple">
  3747. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3748. <dd class="field-odd"><ul class="simple">
  3749. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3750. <li><p><strong>_handle</strong> – <strong>[in]</strong> Compute program. </p></li>
  3751. <li><p><strong>_indirectHandle</strong> – <strong>[in]</strong> Indirect buffer. </p></li>
  3752. <li><p><strong>_start</strong> – <strong>[in]</strong> First element in indirect buffer. </p></li>
  3753. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of dispatches. </p></li>
  3754. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  3755. </ul>
  3756. </dd>
  3757. </dl>
  3758. </dd></dl>
  3759. <dl class="cpp function">
  3760. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder7discardE7uint8_t">
  3761. <span id="_CPPv3N4bgfx7Encoder7discardE7uint8_t"></span><span id="_CPPv2N4bgfx7Encoder7discardE7uint8_t"></span><span id="bgfx::Encoder::discard__uint8_t"></span><span class="target" id="structbgfx_1_1_encoder_1ace2445411468c04fe35c617ade2a98b7"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">discard</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder7discardE7uint8_t" title="Link to this definition"></a><br /></dt>
  3762. <dd><p>Discard all previously set state for draw or compute call. </p>
  3763. <p><dl class="simple">
  3764. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_discard</span></code>. </p>
  3765. </dd>
  3766. </dl>
  3767. </p>
  3768. <dl class="field-list simple">
  3769. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3770. <dd class="field-odd"><p><strong>_flags</strong> – <strong>[in]</strong> Draw/compute states to discard.</p>
  3771. </dd>
  3772. </dl>
  3773. </dd></dl>
  3774. <dl class="cpp function">
  3775. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t">
  3776. <span id="_CPPv3N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::Encoder::blit__ViewId.TextureHandle.uint16_t.uint16_t.TextureHandle.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a99af0d97b74d4ae3659088947e265761"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">blit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dst</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstY</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_src</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcX</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcY</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  3777. <dd><p>Blit texture 2D region between two 2D textures. </p>
  3778. <p><dl class="simple">
  3779. <dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
  3780. </dd>
  3781. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
  3782. </dd>
  3783. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_blit</span></code>. </p>
  3784. </dd>
  3785. </dl>
  3786. </p>
  3787. <dl class="field-list simple">
  3788. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3789. <dd class="field-odd"><ul class="simple">
  3790. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3791. <li><p><strong>_dst</strong> – <strong>[in]</strong> Destination texture handle. </p></li>
  3792. <li><p><strong>_dstX</strong> – <strong>[in]</strong> Destination texture X position. </p></li>
  3793. <li><p><strong>_dstY</strong> – <strong>[in]</strong> Destination texture Y position. </p></li>
  3794. <li><p><strong>_src</strong> – <strong>[in]</strong> Source texture handle. </p></li>
  3795. <li><p><strong>_srcX</strong> – <strong>[in]</strong> Source texture X position. </p></li>
  3796. <li><p><strong>_srcY</strong> – <strong>[in]</strong> Source texture Y position. </p></li>
  3797. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of region. </p></li>
  3798. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of region.</p></li>
  3799. </ul>
  3800. </dd>
  3801. </dl>
  3802. </dd></dl>
  3803. <dl class="cpp function">
  3804. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t">
  3805. <span id="_CPPv3N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::Encoder::blit__ViewId.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="structbgfx_1_1_encoder_1a5bb0375324fcb6bb95d46a040f6caaf3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">blit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dst</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstMip</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstY</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstZ</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_src</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcMip</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcX</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcY</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcZ</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7Encoder4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  3806. <dd><p>Blit texture region between two textures. </p>
  3807. <p><dl class="simple">
  3808. <dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
  3809. </dd>
  3810. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
  3811. </dd>
  3812. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_encoder_blit</span></code>. </p>
  3813. </dd>
  3814. </dl>
  3815. </p>
  3816. <dl class="field-list simple">
  3817. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3818. <dd class="field-odd"><ul class="simple">
  3819. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  3820. <li><p><strong>_dst</strong> – <strong>[in]</strong> Destination texture handle. </p></li>
  3821. <li><p><strong>_dstMip</strong> – <strong>[in]</strong> Destination texture mip level. </p></li>
  3822. <li><p><strong>_dstX</strong> – <strong>[in]</strong> Destination texture X position. </p></li>
  3823. <li><p><strong>_dstY</strong> – <strong>[in]</strong> Destination texture Y position. </p></li>
  3824. <li><p><strong>_dstZ</strong> – <strong>[in]</strong> If texture is 2D this argument should be 0. If destination texture is cube this argument represents destination texture cube face. For 3D texture this argument represents destination texture Z position. </p></li>
  3825. <li><p><strong>_src</strong> – <strong>[in]</strong> Source texture handle. </p></li>
  3826. <li><p><strong>_srcMip</strong> – <strong>[in]</strong> Source texture mip level. </p></li>
  3827. <li><p><strong>_srcX</strong> – <strong>[in]</strong> Source texture X position. </p></li>
  3828. <li><p><strong>_srcY</strong> – <strong>[in]</strong> Source texture Y position. </p></li>
  3829. <li><p><strong>_srcZ</strong> – <strong>[in]</strong> If texture is 2D this argument should be 0. If source texture is cube this argument represents source texture cube face. For 3D texture this argument represents source texture Z position. </p></li>
  3830. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of region. </p></li>
  3831. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of region. </p></li>
  3832. <li><p><strong>_depth</strong> – <strong>[in]</strong> If texture is 3D this argument represents depth of region, otherwise it’s unused.</p></li>
  3833. </ul>
  3834. </dd>
  3835. </dl>
  3836. </dd></dl>
  3837. </div>
  3838. </dd></dl>
  3839. </section>
  3840. <section id="draw">
  3841. <h3>Draw<a class="headerlink" href="#draw" title="Link to this heading"></a></h3>
  3842. <p>Draw state is not preserved between two draw calls.
  3843. All state is cleared after calling <cite>bgfx::submit</cite>.</p>
  3844. <section id="state">
  3845. <h4>State<a class="headerlink" href="#state" title="Link to this heading"></a></h4>
  3846. </section>
  3847. <section id="id2">
  3848. <h4>Debug<a class="headerlink" href="#id2" title="Link to this heading"></a></h4>
  3849. <dl class="cpp function">
  3850. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9setMarkerEPKc7int32_t">
  3851. <span id="_CPPv3N4bgfx9setMarkerEPKc7int32_t"></span><span id="_CPPv2N4bgfx9setMarkerEPKc7int32_t"></span><span id="bgfx::setMarker__cCP.int32_t"></span><span class="target" id="namespacebgfx_1aeb7c19e16c314fd2fc2b92feca334552"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setMarker</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setMarkerEPKc7int32_t" title="Link to this definition"></a><br /></dt>
  3852. <dd><p>Sets a debug marker. This allows you to group graphics calls together for easy browsing in graphics debugging tools. </p>
  3853. <p><dl class="simple">
  3854. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_marker</span></code>. </p>
  3855. </dd>
  3856. </dl>
  3857. </p>
  3858. <dl class="field-list simple">
  3859. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3860. <dd class="field-odd"><ul class="simple">
  3861. <li><p><strong>_name</strong> – <strong>[in]</strong> Marker name. </p></li>
  3862. <li><p><strong>_len</strong> – <strong>[in]</strong> Marker name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  3863. </ul>
  3864. </dd>
  3865. </dl>
  3866. </dd></dl>
  3867. <dl class="cpp function">
  3868. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7setNameE12ShaderHandlePKc7int32_t">
  3869. <span id="_CPPv3N4bgfx7setNameE12ShaderHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE12ShaderHandlePKc7int32_t"></span><span id="bgfx::setName__ShaderHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a7d44c7ebbc42932b4f22ea9d8aa9047a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE12ShaderHandlePKc7int32_t" title="Link to this definition"></a><br /></dt>
  3870. <dd><p>Set shader debug name. </p>
  3871. <p><dl class="simple">
  3872. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_shader_name</span></code>. </p>
  3873. </dd>
  3874. </dl>
  3875. </p>
  3876. <dl class="field-list simple">
  3877. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3878. <dd class="field-odd"><ul class="simple">
  3879. <li><p><strong>_handle</strong> – <strong>[in]</strong> Shader handle. </p></li>
  3880. <li><p><strong>_name</strong> – <strong>[in]</strong> Shader name. </p></li>
  3881. <li><p><strong>_len</strong> – <strong>[in]</strong> Shader name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  3882. </ul>
  3883. </dd>
  3884. </dl>
  3885. </dd></dl>
  3886. <dl class="cpp function">
  3887. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7setNameE13TextureHandlePKc7int32_t">
  3888. <span id="_CPPv3N4bgfx7setNameE13TextureHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE13TextureHandlePKc7int32_t"></span><span id="bgfx::setName__TextureHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a852d5743e0942806741f3d1790bab783"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE13TextureHandlePKc7int32_t" title="Link to this definition"></a><br /></dt>
  3889. <dd><p>Set texture debug name. </p>
  3890. <p><dl class="simple">
  3891. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_texture_name</span></code>. </p>
  3892. </dd>
  3893. </dl>
  3894. </p>
  3895. <dl class="field-list simple">
  3896. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3897. <dd class="field-odd"><ul class="simple">
  3898. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  3899. <li><p><strong>_name</strong> – <strong>[in]</strong> Texture name. </p></li>
  3900. <li><p><strong>_len</strong> – <strong>[in]</strong> Texture name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  3901. </ul>
  3902. </dd>
  3903. </dl>
  3904. </dd></dl>
  3905. </section>
  3906. <section id="id3">
  3907. <h4>State<a class="headerlink" href="#id3" title="Link to this heading"></a></h4>
  3908. <dl class="cpp function">
  3909. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8setStateE8uint64_t8uint32_t">
  3910. <span id="_CPPv3N4bgfx8setStateE8uint64_t8uint32_t"></span><span id="_CPPv2N4bgfx8setStateE8uint64_t8uint32_t"></span><span id="bgfx::setState__uint64_t.uint32_t"></span><span class="target" id="namespacebgfx_1a3e5edf50886f88e8f022e18a3e53ba4d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setState</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_state</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_rgba</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8setStateE8uint64_t8uint32_t" title="Link to this definition"></a><br /></dt>
  3911. <dd><p>Set render states for draw primitive. </p>
  3912. <p><div class="remark admonition">
  3913. <p class="admonition-title">Remark</p>
  3914. <p><ol class="loweralpha simple">
  3915. <li><p>To set up more complex states use: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_ALPHA_REF(_ref)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_POINT_SIZE(_size)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC(_src,</span> <span class="pre">_dst)</span></code>, <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FUNC_SEPARATE(_srcRGB,</span> <span class="pre">_dstRGB,</span> <span class="pre">_srcA,</span> <span class="pre">_dstA)</span></code> <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION(_equation)</span></code> <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB,</span> <span class="pre">_equationA)</span></code></p></li>
  3916. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_ADD</span></code> is set when no other blend equation is specified.</p></li>
  3917. </ol>
  3918. </p>
  3919. </div>
  3920. <dl class="simple">
  3921. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_state</span></code>. </p>
  3922. </dd>
  3923. </dl>
  3924. </p>
  3925. <dl class="field-list simple">
  3926. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  3927. <dd class="field-odd"><ul class="simple">
  3928. <li><p><strong>_state</strong> – <strong>[in]</strong> State flags. Default state for primitive type is triangles. See: <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEFAULT</span></code>.<ul>
  3929. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEPTH_TEST_*</span></code> - Depth test function.</p></li>
  3930. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_*</span></code> - See remark 1 about BGFX_STATE_BLEND_FUNC.</p></li>
  3931. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_EQUATION_*</span></code> - See remark 2.</p></li>
  3932. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_CULL_*</span></code> - Backface culling mode.</p></li>
  3933. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_WRITE_*</span></code> - Enable R, G, B, A or Z write.</p></li>
  3934. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_MSAA</span></code> - Enable MSAA.</p></li>
  3935. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_STATE_PT_[TRISTRIP/LINES/POINTS]</span></code> - Primitive type.</p></li>
  3936. </ul>
  3937. </p></li>
  3938. <li><p><strong>_rgba</strong> – <strong>[in]</strong> Sets blend factor used by <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_FACTOR</span></code> and <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_BLEND_INV_FACTOR</span></code> blend modes.</p></li>
  3939. </ul>
  3940. </dd>
  3941. </dl>
  3942. </dd></dl>
  3943. </section>
  3944. <section id="state-flags">
  3945. <h4>State Flags<a class="headerlink" href="#state-flags" title="Link to this heading"></a></h4>
  3946. <p><strong>Write</strong></p>
  3947. <dl class="cpp macro">
  3948. <dt class="sig sig-object cpp" id="c.BGFX_STATE_WRITE_R">
  3949. <span class="target" id="defines_8h_1af089d9292e8742a9bbc8f31e9959ac8f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_WRITE_R</span></span></span><a class="headerlink" href="#c.BGFX_STATE_WRITE_R" title="Link to this definition"></a><br /></dt>
  3950. <dd><p>Enable R write. </p>
  3951. <p>Color RGB/alpha/depth write. When it’s not specified write will be disabled. </p>
  3952. </dd></dl>
  3953. <dl class="cpp macro">
  3954. <dt class="sig sig-object cpp" id="c.BGFX_STATE_WRITE_G">
  3955. <span class="target" id="defines_8h_1a67607d6d1f9a225c1b2ff4e9d12f815d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_WRITE_G</span></span></span><a class="headerlink" href="#c.BGFX_STATE_WRITE_G" title="Link to this definition"></a><br /></dt>
  3956. <dd><p>Enable G write. </p>
  3957. </dd></dl>
  3958. <dl class="cpp macro">
  3959. <dt class="sig sig-object cpp" id="c.BGFX_STATE_WRITE_B">
  3960. <span class="target" id="defines_8h_1acf95680646da08e7457c76f7f9eef258"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_WRITE_B</span></span></span><a class="headerlink" href="#c.BGFX_STATE_WRITE_B" title="Link to this definition"></a><br /></dt>
  3961. <dd><p>Enable B write. </p>
  3962. </dd></dl>
  3963. <dl class="cpp macro">
  3964. <dt class="sig sig-object cpp" id="c.BGFX_STATE_WRITE_RGB">
  3965. <span class="target" id="defines_8h_1a62234af4b2f8561cc9f63625d2f87e13"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_WRITE_RGB</span></span></span><a class="headerlink" href="#c.BGFX_STATE_WRITE_RGB" title="Link to this definition"></a><br /></dt>
  3966. <dd></dd></dl>
  3967. <dl class="cpp macro">
  3968. <dt class="sig sig-object cpp" id="c.BGFX_STATE_WRITE_A">
  3969. <span class="target" id="defines_8h_1a83b7df77e4daba5f403757d272262f0e"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_WRITE_A</span></span></span><a class="headerlink" href="#c.BGFX_STATE_WRITE_A" title="Link to this definition"></a><br /></dt>
  3970. <dd><p>Enable alpha write. </p>
  3971. </dd></dl>
  3972. <dl class="cpp macro">
  3973. <dt class="sig sig-object cpp" id="c.BGFX_STATE_WRITE_Z">
  3974. <span class="target" id="defines_8h_1a648e6de360193486206989233d94a7f7"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_WRITE_Z</span></span></span><a class="headerlink" href="#c.BGFX_STATE_WRITE_Z" title="Link to this definition"></a><br /></dt>
  3975. <dd><p>Enable depth write. Enable RGB write. </p>
  3976. </dd></dl>
  3977. <p><strong>Depth Test</strong></p>
  3978. <dl class="cpp macro">
  3979. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_LESS">
  3980. <span class="target" id="defines_8h_1a82f539526fd6c6bcd358183eadff8aee"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_LESS</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_LESS" title="Link to this definition"></a><br /></dt>
  3981. <dd><p>Enable depth test, less. </p>
  3982. <p>Depth test state. When <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_DEPTH_</span></code> is not specified depth test will be disabled. </p>
  3983. </dd></dl>
  3984. <dl class="cpp macro">
  3985. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_LEQUAL">
  3986. <span class="target" id="defines_8h_1a338abca053787cd01d39109b8e8a9af5"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_LEQUAL</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_LEQUAL" title="Link to this definition"></a><br /></dt>
  3987. <dd><p>Enable depth test, less or equal. </p>
  3988. </dd></dl>
  3989. <dl class="cpp macro">
  3990. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_EQUAL">
  3991. <span class="target" id="defines_8h_1ad208b703e5d4b4f59b7ffffecf9c9c83"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_EQUAL</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_EQUAL" title="Link to this definition"></a><br /></dt>
  3992. <dd><p>Enable depth test, equal. </p>
  3993. </dd></dl>
  3994. <dl class="cpp macro">
  3995. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_GEQUAL">
  3996. <span class="target" id="defines_8h_1a2242d82ed1763b25c407663565f77c5b"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_GEQUAL</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_GEQUAL" title="Link to this definition"></a><br /></dt>
  3997. <dd><p>Enable depth test, greater or equal. </p>
  3998. </dd></dl>
  3999. <dl class="cpp macro">
  4000. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_GREATER">
  4001. <span class="target" id="defines_8h_1a73192746d5c1af9691a62ff933b8dcc4"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_GREATER</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_GREATER" title="Link to this definition"></a><br /></dt>
  4002. <dd><p>Enable depth test, greater. </p>
  4003. </dd></dl>
  4004. <dl class="cpp macro">
  4005. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_NOTEQUAL">
  4006. <span class="target" id="defines_8h_1a3fee8e3c5e964b83de7ccc48f2c622f9"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_NOTEQUAL</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_NOTEQUAL" title="Link to this definition"></a><br /></dt>
  4007. <dd><p>Enable depth test, not equal. </p>
  4008. </dd></dl>
  4009. <dl class="cpp macro">
  4010. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_NEVER">
  4011. <span class="target" id="defines_8h_1af07451bb52a9a7cdac6f7866eb8d3be8"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_NEVER</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_NEVER" title="Link to this definition"></a><br /></dt>
  4012. <dd><p>Enable depth test, never. </p>
  4013. </dd></dl>
  4014. <dl class="cpp macro">
  4015. <dt class="sig sig-object cpp" id="c.BGFX_STATE_DEPTH_TEST_ALWAYS">
  4016. <span class="target" id="defines_8h_1a68a8a92967cc243e2709f9c847161944"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_DEPTH_TEST_ALWAYS</span></span></span><a class="headerlink" href="#c.BGFX_STATE_DEPTH_TEST_ALWAYS" title="Link to this definition"></a><br /></dt>
  4017. <dd><p>Enable depth test, always. </p>
  4018. </dd></dl>
  4019. <p><strong>Blend Mode</strong></p>
  4020. <dl class="cpp macro">
  4021. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_ZERO">
  4022. <span class="target" id="defines_8h_1a83c6a122447a96a550121522d24bffd0"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_ZERO</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_ZERO" title="Link to this definition"></a><br /></dt>
  4023. <dd><p>0, 0, 0, 0 </p>
  4024. <p>Use BGFX_STATE_BLEND_FUNC(_src, _dst) or BGFX_STATE_BLEND_FUNC_SEPARATE(_srcRGB, _dstRGB, _srcA, _dstA) helper macros. </p>
  4025. </dd></dl>
  4026. <dl class="cpp macro">
  4027. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_ONE">
  4028. <span class="target" id="defines_8h_1a4c95af5b187ce05923cace405c675ca7"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_ONE</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_ONE" title="Link to this definition"></a><br /></dt>
  4029. <dd><p>1, 1, 1, 1 </p>
  4030. </dd></dl>
  4031. <dl class="cpp macro">
  4032. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_SRC_COLOR">
  4033. <span class="target" id="defines_8h_1aa47f521f6912a95bb27f9d88301a69f1"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_SRC_COLOR</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_SRC_COLOR" title="Link to this definition"></a><br /></dt>
  4034. <dd><p>Rs, Gs, Bs, As. </p>
  4035. </dd></dl>
  4036. <dl class="cpp macro">
  4037. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_INV_SRC_COLOR">
  4038. <span class="target" id="defines_8h_1abde93bba126cc742dc4fdc7044b25578"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_INV_SRC_COLOR</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_SRC_COLOR" title="Link to this definition"></a><br /></dt>
  4039. <dd><p>1-Rs, 1-Gs, 1-Bs, 1-As </p>
  4040. </dd></dl>
  4041. <dl class="cpp macro">
  4042. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_SRC_ALPHA">
  4043. <span class="target" id="defines_8h_1a1b45f14c0d16f731be0c09aeb480ca48"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_SRC_ALPHA</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_SRC_ALPHA" title="Link to this definition"></a><br /></dt>
  4044. <dd><p>As, As, As, As. </p>
  4045. </dd></dl>
  4046. <dl class="cpp macro">
  4047. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_INV_SRC_ALPHA">
  4048. <span class="target" id="defines_8h_1a5a97ef785bca9f4b8dbac77918487ced"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_INV_SRC_ALPHA</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_SRC_ALPHA" title="Link to this definition"></a><br /></dt>
  4049. <dd><p>1-As, 1-As, 1-As, 1-As </p>
  4050. </dd></dl>
  4051. <dl class="cpp macro">
  4052. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_DST_ALPHA">
  4053. <span class="target" id="defines_8h_1a706fd845bc836aa9ffe4559765bb9610"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_DST_ALPHA</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_DST_ALPHA" title="Link to this definition"></a><br /></dt>
  4054. <dd><p>Ad, Ad, Ad, Ad. </p>
  4055. </dd></dl>
  4056. <dl class="cpp macro">
  4057. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_INV_DST_ALPHA">
  4058. <span class="target" id="defines_8h_1a58d78040bf888a9612a1c4e1cf9c21a6"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_INV_DST_ALPHA</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_DST_ALPHA" title="Link to this definition"></a><br /></dt>
  4059. <dd><p>1-Ad, 1-Ad, 1-Ad ,1-Ad </p>
  4060. </dd></dl>
  4061. <dl class="cpp macro">
  4062. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_DST_COLOR">
  4063. <span class="target" id="defines_8h_1a7391b64b51d2b74c3c2ad517d2f6d4ff"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_DST_COLOR</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_DST_COLOR" title="Link to this definition"></a><br /></dt>
  4064. <dd><p>Rd, Gd, Bd, Ad. </p>
  4065. </dd></dl>
  4066. <dl class="cpp macro">
  4067. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_INV_DST_COLOR">
  4068. <span class="target" id="defines_8h_1ac502ca5c583f0702a8c20405ca4f49cc"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_INV_DST_COLOR</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_DST_COLOR" title="Link to this definition"></a><br /></dt>
  4069. <dd><p>1-Rd, 1-Gd, 1-Bd, 1-Ad </p>
  4070. </dd></dl>
  4071. <dl class="cpp macro">
  4072. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_SRC_ALPHA_SAT">
  4073. <span class="target" id="defines_8h_1a6177100a26b919276943bf3a524820ca"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_SRC_ALPHA_SAT</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_SRC_ALPHA_SAT" title="Link to this definition"></a><br /></dt>
  4074. <dd><p>f, f, f, 1; f = min(As, 1-Ad) </p>
  4075. </dd></dl>
  4076. <dl class="cpp macro">
  4077. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_FACTOR">
  4078. <span class="target" id="defines_8h_1a9acab36d73abf4b321564049d85ce435"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_FACTOR</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_FACTOR" title="Link to this definition"></a><br /></dt>
  4079. <dd><p>Blend factor. </p>
  4080. </dd></dl>
  4081. <dl class="cpp macro">
  4082. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_INV_FACTOR">
  4083. <span class="target" id="defines_8h_1a14e3f8dcce6f420eeedb63f3978d9b36"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_INV_FACTOR</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_INV_FACTOR" title="Link to this definition"></a><br /></dt>
  4084. <dd><p>1-Blend factor </p>
  4085. </dd></dl>
  4086. <p><strong>Blend Equation</strong></p>
  4087. <dl class="cpp macro">
  4088. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_EQUATION_ADD">
  4089. <span class="target" id="defines_8h_1a2ffd46032b927db10fcce998d1a3fddd"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_EQUATION_ADD</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_ADD" title="Link to this definition"></a><br /></dt>
  4090. <dd><p>Blend add: src + dst. </p>
  4091. <p>Use BGFX_STATE_BLEND_EQUATION(_equation) or BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB, _equationA) helper macros. </p>
  4092. </dd></dl>
  4093. <dl class="cpp macro">
  4094. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_EQUATION_SUB">
  4095. <span class="target" id="defines_8h_1a076e59b04d2620ad7177aa5fb1f88a72"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_EQUATION_SUB</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_SUB" title="Link to this definition"></a><br /></dt>
  4096. <dd><p>Blend subtract: src - dst. </p>
  4097. </dd></dl>
  4098. <dl class="cpp macro">
  4099. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_EQUATION_REVSUB">
  4100. <span class="target" id="defines_8h_1a1e33171674e13e6b2026eacaca5153ce"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_EQUATION_REVSUB</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_REVSUB" title="Link to this definition"></a><br /></dt>
  4101. <dd><p>Blend reverse subtract: dst - src. </p>
  4102. </dd></dl>
  4103. <dl class="cpp macro">
  4104. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_EQUATION_MIN">
  4105. <span class="target" id="defines_8h_1ada996865b2ed3b57838384365d0fd54f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_EQUATION_MIN</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_MIN" title="Link to this definition"></a><br /></dt>
  4106. <dd><p>Blend min: min(src, dst). </p>
  4107. </dd></dl>
  4108. <dl class="cpp macro">
  4109. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_EQUATION_MAX">
  4110. <span class="target" id="defines_8h_1adc74502a8c753f009e2b4d64cb6ebeb6"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_EQUATION_MAX</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_EQUATION_MAX" title="Link to this definition"></a><br /></dt>
  4111. <dd><p>Blend max: max(src, dst). </p>
  4112. </dd></dl>
  4113. <p><strong>Primitive Culling</strong></p>
  4114. <dl class="cpp macro">
  4115. <dt class="sig sig-object cpp" id="c.BGFX_STATE_CULL_CW">
  4116. <span class="target" id="defines_8h_1ab73af147b6161cea1a3d2e92940e0452"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_CULL_CW</span></span></span><a class="headerlink" href="#c.BGFX_STATE_CULL_CW" title="Link to this definition"></a><br /></dt>
  4117. <dd><p>Cull clockwise triangles. </p>
  4118. <p>Cull state. When <code class="docutils literal notranslate"><span class="pre">BGFX_STATE_CULL_*</span></code> is not specified culling will be disabled. </p>
  4119. </dd></dl>
  4120. <dl class="cpp macro">
  4121. <dt class="sig sig-object cpp" id="c.BGFX_STATE_CULL_CCW">
  4122. <span class="target" id="defines_8h_1adc22d33e1b38799d1c0da7d94123004d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_CULL_CCW</span></span></span><a class="headerlink" href="#c.BGFX_STATE_CULL_CCW" title="Link to this definition"></a><br /></dt>
  4123. <dd><p>Cull counter-clockwise triangles. </p>
  4124. </dd></dl>
  4125. <p><strong>Primitive Type</strong></p>
  4126. <dl class="cpp macro">
  4127. <dt class="sig sig-object cpp" id="c.BGFX_STATE_PT_TRISTRIP">
  4128. <span class="target" id="defines_8h_1a7b2bc219533a33b2010affe65087591f"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_PT_TRISTRIP</span></span></span><a class="headerlink" href="#c.BGFX_STATE_PT_TRISTRIP" title="Link to this definition"></a><br /></dt>
  4129. <dd><p>Tristrip. </p>
  4130. </dd></dl>
  4131. <dl class="cpp macro">
  4132. <dt class="sig sig-object cpp" id="c.BGFX_STATE_PT_LINES">
  4133. <span class="target" id="defines_8h_1adb0d8c8504ff0615c4fcfba6b55bfa57"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_PT_LINES</span></span></span><a class="headerlink" href="#c.BGFX_STATE_PT_LINES" title="Link to this definition"></a><br /></dt>
  4134. <dd><p>Lines. </p>
  4135. </dd></dl>
  4136. <dl class="cpp macro">
  4137. <dt class="sig sig-object cpp" id="c.BGFX_STATE_PT_LINESTRIP">
  4138. <span class="target" id="defines_8h_1a15538233471ae90244e5c52380f16270"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_PT_LINESTRIP</span></span></span><a class="headerlink" href="#c.BGFX_STATE_PT_LINESTRIP" title="Link to this definition"></a><br /></dt>
  4139. <dd><p>Line strip. </p>
  4140. </dd></dl>
  4141. <dl class="cpp macro">
  4142. <dt class="sig sig-object cpp" id="c.BGFX_STATE_PT_POINTS">
  4143. <span class="target" id="defines_8h_1ab4afe6a6879f20b9e5b7ce8e0d94bc1c"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_PT_POINTS</span></span></span><a class="headerlink" href="#c.BGFX_STATE_PT_POINTS" title="Link to this definition"></a><br /></dt>
  4144. <dd><p>Points. </p>
  4145. </dd></dl>
  4146. <p><strong>Misc</strong></p>
  4147. <dl class="cpp macro">
  4148. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_INDEPENDENT">
  4149. <span class="target" id="defines_8h_1a292f5264de6046161f4d20a008db6c23"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_INDEPENDENT</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_INDEPENDENT" title="Link to this definition"></a><br /></dt>
  4150. <dd><p>Enable blend independent. </p>
  4151. </dd></dl>
  4152. <dl class="cpp macro">
  4153. <dt class="sig sig-object cpp" id="c.BGFX_STATE_BLEND_ALPHA_TO_COVERAGE">
  4154. <span class="target" id="defines_8h_1aa2831e25d0b111f009b11ff82a2799a7"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_BLEND_ALPHA_TO_COVERAGE</span></span></span><a class="headerlink" href="#c.BGFX_STATE_BLEND_ALPHA_TO_COVERAGE" title="Link to this definition"></a><br /></dt>
  4155. <dd><p>Enable alpha to coverage. Default state is write to RGB, alpha, and depth with depth test less enabled, with clockwise culling and MSAA (when writing into MSAA frame buffer, otherwise this flag is ignored). </p>
  4156. </dd></dl>
  4157. <dl class="cpp macro">
  4158. <dt class="sig sig-object cpp" id="c.BGFX_STATE_MSAA">
  4159. <span class="target" id="defines_8h_1aed65ada612c8d17b6002a0f36c453e55"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_MSAA</span></span></span><a class="headerlink" href="#c.BGFX_STATE_MSAA" title="Link to this definition"></a><br /></dt>
  4160. <dd><p>Enable MSAA rasterization. </p>
  4161. <p>Enable MSAA write when writing into MSAA frame buffer. This flag is ignored when not writing into MSAA frame buffer. </p>
  4162. </dd></dl>
  4163. <dl class="cpp macro">
  4164. <dt class="sig sig-object cpp" id="c.BGFX_STATE_LINEAA">
  4165. <span class="target" id="defines_8h_1a0668fde1f928de351846c15cc574aea7"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STATE_LINEAA</span></span></span><a class="headerlink" href="#c.BGFX_STATE_LINEAA" title="Link to this definition"></a><br /></dt>
  4166. <dd><p>Enable line AA rasterization. </p>
  4167. </dd></dl>
  4168. </section>
  4169. <section id="stencil">
  4170. <h4>Stencil<a class="headerlink" href="#stencil" title="Link to this heading"></a></h4>
  4171. <dl class="cpp function">
  4172. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10setStencilE8uint32_t8uint32_t">
  4173. <span id="_CPPv3N4bgfx10setStencilE8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx10setStencilE8uint32_t8uint32_t"></span><span id="bgfx::setStencil__uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1aec7be9fc28858c7cdcc78a8e9f504434"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setStencil</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_fstencil</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_bstencil</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_STENCIL_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setStencilE8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4174. <dd><p>Set stencil test state. </p>
  4175. <p><dl class="simple">
  4176. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_stencil</span></code>. </p>
  4177. </dd>
  4178. </dl>
  4179. </p>
  4180. <dl class="field-list simple">
  4181. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4182. <dd class="field-odd"><ul class="simple">
  4183. <li><p><strong>_fstencil</strong> – <strong>[in]</strong> Front stencil state. </p></li>
  4184. <li><p><strong>_bstencil</strong> – <strong>[in]</strong> Back stencil state. If back is set to <code class="docutils literal notranslate"><span class="pre">BGFX_STENCIL_NONE</span></code> _fstencil is applied to both front and back facing primitives.</p></li>
  4185. </ul>
  4186. </dd>
  4187. </dl>
  4188. </dd></dl>
  4189. </section>
  4190. <section id="stencil-flags">
  4191. <h4>Stencil Flags<a class="headerlink" href="#stencil-flags" title="Link to this heading"></a></h4>
  4192. <dl class="cpp macro">
  4193. <dt class="sig sig-object cpp" id="c.BGFX_STENCIL_TEST_LESS">
  4194. <span class="target" id="defines_8h_1ad5a495c48408fb31c50a8fd8872c6efe"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_STENCIL_TEST_LESS</span></span></span><a class="headerlink" href="#c.BGFX_STENCIL_TEST_LESS" title="Link to this definition"></a><br /></dt>
  4195. <dd><p>Enable stencil test, less. </p>
  4196. </dd></dl>
  4197. </section>
  4198. <section id="scissor">
  4199. <h4>Scissor<a class="headerlink" href="#scissor" title="Link to this heading"></a></h4>
  4200. <p>If the Scissor rectangle needs to be changed for
  4201. every draw call in a View, use <cite>bgfx::setScissor</cite>.
  4202. Otherwise, use <cite>bgfx::setViewScissor</cite>.</p>
  4203. <dl class="cpp function">
  4204. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t">
  4205. <span id="_CPPv3N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::setScissor__uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a044469089552c76b36ec5e5ac57cf695"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setScissor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setScissorE8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  4206. <dd><p>Set scissor for draw primitive. For scissor for all primitives in view see <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a4c5184c35ba92387e4609f4919a35e05"><span class="std std-ref"><span class="pre">bgfx::setViewScissor</span></span></a></code>. </p>
  4207. <p><dl class="simple">
  4208. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_scissor</span></code>. </p>
  4209. </dd>
  4210. </dl>
  4211. </p>
  4212. <dl class="field-list simple">
  4213. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4214. <dd class="field-odd"><ul class="simple">
  4215. <li><p><strong>_x</strong> – <strong>[in]</strong> Position x from the left corner of the window. </p></li>
  4216. <li><p><strong>_y</strong> – <strong>[in]</strong> Position y from the top corner of the window. </p></li>
  4217. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of scissor region. </p></li>
  4218. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of scissor region. </p></li>
  4219. </ul>
  4220. </dd>
  4221. <dt class="field-even">Returns<span class="colon">:</span></dt>
  4222. <dd class="field-even"><p>Scissor cache index.</p>
  4223. </dd>
  4224. </dl>
  4225. </dd></dl>
  4226. <dl class="cpp function">
  4227. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10setScissorE8uint16_t">
  4228. <span id="_CPPv3N4bgfx10setScissorE8uint16_t"></span><span id="_CPPv2N4bgfx10setScissorE8uint16_t"></span><span id="bgfx::setScissor__uint16_t"></span><span class="target" id="namespacebgfx_1a2cad724d5941acf0719c007792fcde3e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setScissor</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_cache</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setScissorE8uint16_t" title="Link to this definition"></a><br /></dt>
  4229. <dd><p>Set scissor from cache for draw primitive. </p>
  4230. <p><dl class="simple">
  4231. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_scissor_cached</span></code>. </p>
  4232. </dd>
  4233. </dl>
  4234. </p>
  4235. <dl class="field-list simple">
  4236. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4237. <dd class="field-odd"><p><strong>_cache</strong> – <strong>[in]</strong> Index in scissor cache. Passing UINT16_MAX unset primitive scissor and primitive will use view scissor instead.</p>
  4238. </dd>
  4239. </dl>
  4240. </dd></dl>
  4241. </section>
  4242. <section id="transform">
  4243. <h4>Transform<a class="headerlink" href="#transform" title="Link to this heading"></a></h4>
  4244. <dl class="cpp function">
  4245. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14allocTransformEP9Transform8uint16_t">
  4246. <span id="_CPPv3N4bgfx14allocTransformEP9Transform8uint16_t"></span><span id="_CPPv2N4bgfx14allocTransformEP9Transform8uint16_t"></span><span id="bgfx::allocTransform__TransformP.uint16_t"></span><span class="target" id="namespacebgfx_1a659b2048c1d0720027307fcdc5ce65e5"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">allocTransform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">Transform</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_transform</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14allocTransformEP9Transform8uint16_t" title="Link to this definition"></a><br /></dt>
  4247. <dd><p>Reserve <code class="docutils literal notranslate"><span class="pre">_num</span></code> matrices in internal matrix cache. </p>
  4248. <p><dl class="simple">
  4249. <dt><strong>Attention</strong></dt><dd><p>Pointer returned can be modified until <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> is called. </p>
  4250. </dd>
  4251. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_transform</span></code>. </p>
  4252. </dd>
  4253. </dl>
  4254. </p>
  4255. <dl class="field-list simple">
  4256. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4257. <dd class="field-odd"><ul class="simple">
  4258. <li><p><strong>_transform</strong> – <strong>[in]</strong> Pointer to <code class="docutils literal notranslate"><span class="pre">Transform</span></code> structure. </p></li>
  4259. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of matrices. </p></li>
  4260. </ul>
  4261. </dd>
  4262. <dt class="field-even">Returns<span class="colon">:</span></dt>
  4263. <dd class="field-even"><p>index into matrix cache.</p>
  4264. </dd>
  4265. </dl>
  4266. </dd></dl>
  4267. <dl class="cpp function">
  4268. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12setTransformEPKv8uint16_t">
  4269. <span id="_CPPv3N4bgfx12setTransformEPKv8uint16_t"></span><span id="_CPPv2N4bgfx12setTransformEPKv8uint16_t"></span><span id="bgfx::setTransform__voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1a1a8cda55b0d751df8cdd5c1d6080f622"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setTransform</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mtx</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setTransformEPKv8uint16_t" title="Link to this definition"></a><br /></dt>
  4270. <dd><p>Set model matrix for draw primitive. If it is not called, the model will be rendered with an identity model matrix. </p>
  4271. <p><dl class="simple">
  4272. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transform</span></code>. </p>
  4273. </dd>
  4274. </dl>
  4275. </p>
  4276. <dl class="field-list simple">
  4277. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4278. <dd class="field-odd"><ul class="simple">
  4279. <li><p><strong>_mtx</strong> – <strong>[in]</strong> Pointer to first matrix in array. </p></li>
  4280. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of matrices in array. </p></li>
  4281. </ul>
  4282. </dd>
  4283. <dt class="field-even">Returns<span class="colon">:</span></dt>
  4284. <dd class="field-even"><p>index into matrix cache in case the same model matrix has to be used for other draw primitive call.</p>
  4285. </dd>
  4286. </dl>
  4287. </dd></dl>
  4288. <dl class="cpp function">
  4289. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12setTransformE8uint32_t8uint16_t">
  4290. <span id="_CPPv3N4bgfx12setTransformE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx12setTransformE8uint32_t8uint16_t"></span><span id="bgfx::setTransform__uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1a7ab5e0c5e43e4456d51a06a755a824ce"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setTransform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_cache</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setTransformE8uint32_t8uint16_t" title="Link to this definition"></a><br /></dt>
  4291. <dd><p>Set model matrix from matrix cache for draw primitive. </p>
  4292. <p><dl class="simple">
  4293. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transform_cached</span></code>. </p>
  4294. </dd>
  4295. </dl>
  4296. </p>
  4297. <dl class="field-list simple">
  4298. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4299. <dd class="field-odd"><ul class="simple">
  4300. <li><p><strong>_cache</strong> – <strong>[in]</strong> Index in matrix cache. </p></li>
  4301. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of matrices from cache.</p></li>
  4302. </ul>
  4303. </dd>
  4304. </dl>
  4305. </dd></dl>
  4306. </section>
  4307. <section id="conditional-rendering">
  4308. <h4>Conditional Rendering<a class="headerlink" href="#conditional-rendering" title="Link to this heading"></a></h4>
  4309. <dl class="cpp function">
  4310. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12setConditionE20OcclusionQueryHandleb">
  4311. <span id="_CPPv3N4bgfx12setConditionE20OcclusionQueryHandleb"></span><span id="_CPPv2N4bgfx12setConditionE20OcclusionQueryHandleb"></span><span id="bgfx::setCondition__OcclusionQueryHandle.b"></span><span class="target" id="namespacebgfx_1ab3d4234c579854aeafffbbc3a0b8a436"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setCondition</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_visible</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12setConditionE20OcclusionQueryHandleb" title="Link to this definition"></a><br /></dt>
  4312. <dd><p>Set condition for rendering. </p>
  4313. <p><dl class="simple">
  4314. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_condition</span></code>. </p>
  4315. </dd>
  4316. </dl>
  4317. </p>
  4318. <dl class="field-list simple">
  4319. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4320. <dd class="field-odd"><ul class="simple">
  4321. <li><p><strong>_handle</strong> – <strong>[in]</strong> Occlusion query handle. </p></li>
  4322. <li><p><strong>_visible</strong> – <strong>[in]</strong> Render if occlusion query is visible.</p></li>
  4323. </ul>
  4324. </dd>
  4325. </dl>
  4326. </dd></dl>
  4327. </section>
  4328. <section id="buffers">
  4329. <h4>Buffers<a class="headerlink" href="#buffers" title="Link to this heading"></a></h4>
  4330. <dl class="cpp function">
  4331. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle">
  4332. <span id="_CPPv3N4bgfx14setIndexBufferE17IndexBufferHandle"></span><span id="_CPPv2N4bgfx14setIndexBufferE17IndexBufferHandle"></span><span id="bgfx::setIndexBuffer__IndexBufferHandle"></span><span class="target" id="namespacebgfx_1a788bf7feee1fd76127e628fcc0e879d4"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle" title="Link to this definition"></a><br /></dt>
  4333. <dd><p>Set index buffer for draw primitive. </p>
  4334. <p><dl class="simple">
  4335. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_index_buffer</span></code>. </p>
  4336. </dd>
  4337. </dl>
  4338. </p>
  4339. <dl class="field-list simple">
  4340. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4341. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Index buffer.</p>
  4342. </dd>
  4343. </dl>
  4344. </dd></dl>
  4345. <dl class="cpp function">
  4346. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t">
  4347. <span id="_CPPv3N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setIndexBuffer__IndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a557d08e2d163054e7642206ac00b6724"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_firstIndex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE17IndexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4348. <dd><p>Set index buffer for draw primitive. </p>
  4349. <p><dl class="simple">
  4350. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_index_buffer</span></code>. </p>
  4351. </dd>
  4352. </dl>
  4353. </p>
  4354. <dl class="field-list simple">
  4355. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4356. <dd class="field-odd"><ul class="simple">
  4357. <li><p><strong>_handle</strong> – <strong>[in]</strong> Index buffer. </p></li>
  4358. <li><p><strong>_firstIndex</strong> – <strong>[in]</strong> First index to render. </p></li>
  4359. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of indices to render.</p></li>
  4360. </ul>
  4361. </dd>
  4362. </dl>
  4363. </dd></dl>
  4364. <dl class="cpp function">
  4365. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle">
  4366. <span id="_CPPv3N4bgfx14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="_CPPv2N4bgfx14setIndexBufferE24DynamicIndexBufferHandle"></span><span id="bgfx::setIndexBuffer__DynamicIndexBufferHandle"></span><span class="target" id="namespacebgfx_1abdf5b7249100abcb08ec8195e65bbb66"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle" title="Link to this definition"></a><br /></dt>
  4367. <dd><p>Set index buffer for draw primitive. </p>
  4368. <p><dl class="simple">
  4369. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_index_buffer</span></code>. </p>
  4370. </dd>
  4371. </dl>
  4372. </p>
  4373. <dl class="field-list simple">
  4374. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4375. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer.</p>
  4376. </dd>
  4377. </dl>
  4378. </dd></dl>
  4379. <dl class="cpp function">
  4380. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t">
  4381. <span id="_CPPv3N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setIndexBuffer__DynamicIndexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a97f7ff081c65d9d14bab89286dacc8c2"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_firstIndex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferE24DynamicIndexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4382. <dd><p>Set index buffer for draw primitive. </p>
  4383. <p><dl class="simple">
  4384. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_index_buffer</span></code>. </p>
  4385. </dd>
  4386. </dl>
  4387. </p>
  4388. <dl class="field-list simple">
  4389. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4390. <dd class="field-odd"><ul class="simple">
  4391. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer. </p></li>
  4392. <li><p><strong>_firstIndex</strong> – <strong>[in]</strong> First index to render. </p></li>
  4393. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of indices to render.</p></li>
  4394. </ul>
  4395. </dd>
  4396. </dl>
  4397. </dd></dl>
  4398. <dl class="cpp struct">
  4399. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20TransientIndexBufferE">
  4400. <span id="_CPPv3N4bgfx20TransientIndexBufferE"></span><span id="_CPPv2N4bgfx20TransientIndexBufferE"></span><span id="bgfx::TransientIndexBuffer"></span><span class="target" id="structbgfx_1_1_transient_index_buffer"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TransientIndexBuffer</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="Link to this definition"></a><br /></dt>
  4401. <dd><p>Transient index buffer. </p>
  4402. <p><dl class="simple">
  4403. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_transient_index_buffer_t</span></code>. </p>
  4404. </dd>
  4405. </dl>
  4406. </p>
  4407. <div class="breathe-sectiondef docutils container">
  4408. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  4409. <dl class="cpp var">
  4410. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20TransientIndexBuffer4dataE">
  4411. <span id="_CPPv3N4bgfx20TransientIndexBuffer4dataE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer4dataE"></span><span id="bgfx::TransientIndexBuffer::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a56bca703d287253ac57f38dcb283fa1e"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">data</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer4dataE" title="Link to this definition"></a><br /></dt>
  4412. <dd><p>Pointer to data. </p>
  4413. </dd></dl>
  4414. <dl class="cpp var">
  4415. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20TransientIndexBuffer4sizeE">
  4416. <span id="_CPPv3N4bgfx20TransientIndexBuffer4sizeE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer4sizeE"></span><span id="bgfx::TransientIndexBuffer::size__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a7de478d2ab89e7c7129455984457a9be"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">size</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer4sizeE" title="Link to this definition"></a><br /></dt>
  4417. <dd><p>Data size. </p>
  4418. </dd></dl>
  4419. <dl class="cpp var">
  4420. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20TransientIndexBuffer10startIndexE">
  4421. <span id="_CPPv3N4bgfx20TransientIndexBuffer10startIndexE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer10startIndexE"></span><span id="bgfx::TransientIndexBuffer::startIndex__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a62c632b13cd7dc677fb192524b34f8a0"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">startIndex</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer10startIndexE" title="Link to this definition"></a><br /></dt>
  4422. <dd><p>First index. </p>
  4423. </dd></dl>
  4424. <dl class="cpp var">
  4425. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20TransientIndexBuffer6handleE">
  4426. <span id="_CPPv3N4bgfx20TransientIndexBuffer6handleE"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer6handleE"></span><span id="bgfx::TransientIndexBuffer::handle__IndexBufferHandle"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a434b4d95281489af1710cf6ed68f8979"></span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">handle</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer6handleE" title="Link to this definition"></a><br /></dt>
  4427. <dd><p>Index buffer handle. </p>
  4428. </dd></dl>
  4429. <dl class="cpp var">
  4430. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20TransientIndexBuffer9isIndex16E">
  4431. <span id="_CPPv3N4bgfx20TransientIndexBuffer9isIndex16E"></span><span id="_CPPv2N4bgfx20TransientIndexBuffer9isIndex16E"></span><span id="bgfx::TransientIndexBuffer::isIndex16__b"></span><span class="target" id="structbgfx_1_1_transient_index_buffer_1a5844bd46c5af48c77430b8a323b5ecc5"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">isIndex16</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20TransientIndexBuffer9isIndex16E" title="Link to this definition"></a><br /></dt>
  4432. <dd><p>Index buffer format is 16-bits if true, otherwise it is 32-bit. </p>
  4433. </dd></dl>
  4434. </div>
  4435. </dd></dl>
  4436. <dl class="cpp function">
  4437. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer">
  4438. <span id="_CPPv3N4bgfx14setIndexBufferEPK20TransientIndexBuffer"></span><span id="_CPPv2N4bgfx14setIndexBufferEPK20TransientIndexBuffer"></span><span id="bgfx::setIndexBuffer__TransientIndexBufferCP"></span><span class="target" id="namespacebgfx_1a31bede5af454ba8b2c802d15ee84abab"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer"><span class="n"><span class="pre">TransientIndexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tib</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer" title="Link to this definition"></a><br /></dt>
  4439. <dd><p>Set index buffer for draw primitive. </p>
  4440. <p><dl class="simple">
  4441. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_index_buffer</span></code>. </p>
  4442. </dd>
  4443. </dl>
  4444. </p>
  4445. <dl class="field-list simple">
  4446. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4447. <dd class="field-odd"><p><strong>_tib</strong> – <strong>[in]</strong> Transient index buffer.</p>
  4448. </dd>
  4449. </dl>
  4450. </dd></dl>
  4451. <dl class="cpp function">
  4452. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t">
  4453. <span id="_CPPv3N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t"></span><span id="bgfx::setIndexBuffer__TransientIndexBufferCP.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a1ff04459d5f92944634903ab4bdfe8bc"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer"><span class="n"><span class="pre">TransientIndexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tib</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_firstIndex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setIndexBufferEPK20TransientIndexBuffer8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4454. <dd><p>Set index buffer for draw primitive. </p>
  4455. <p><dl class="simple">
  4456. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_index_buffer</span></code>. </p>
  4457. </dd>
  4458. </dl>
  4459. </p>
  4460. <dl class="field-list simple">
  4461. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4462. <dd class="field-odd"><ul class="simple">
  4463. <li><p><strong>_tib</strong> – <strong>[in]</strong> Transient index buffer. </p></li>
  4464. <li><p><strong>_firstIndex</strong> – <strong>[in]</strong> First index to render. </p></li>
  4465. <li><p><strong>_numIndices</strong> – <strong>[in]</strong> Number of indices to render.</p></li>
  4466. </ul>
  4467. </dd>
  4468. </dl>
  4469. </dd></dl>
  4470. <dl class="cpp function">
  4471. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle">
  4472. <span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.VertexBufferHandle"></span><span class="target" id="namespacebgfx_1a29c3a6c07434061bea917120bcc4175d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle" title="Link to this definition"></a><br /></dt>
  4473. <dd><p>Set vertex buffer for draw primitive. </p>
  4474. <p><dl class="simple">
  4475. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_buffer</span></code>. </p>
  4476. </dd>
  4477. </dl>
  4478. </p>
  4479. <dl class="field-list simple">
  4480. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4481. <dd class="field-odd"><ul class="simple">
  4482. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  4483. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer.</p></li>
  4484. </ul>
  4485. </dd>
  4486. </dl>
  4487. </dd></dl>
  4488. <dl class="cpp function">
  4489. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
  4490. <span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.VertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1aafb3a52cdbe7f27d5677ee9ac8dc5e78"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span>, <span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layoutHandle</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_INVALID_HANDLE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t18VertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  4491. <dd><p>Set vertex buffer for draw primitive. </p>
  4492. <p><dl class="simple">
  4493. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_buffer</span></code>. </p>
  4494. </dd>
  4495. </dl>
  4496. </p>
  4497. <dl class="field-list simple">
  4498. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4499. <dd class="field-odd"><ul class="simple">
  4500. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  4501. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer. </p></li>
  4502. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> First vertex to render. </p></li>
  4503. <li><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices to render. </p></li>
  4504. <li><p><strong>_layoutHandle</strong> – <strong>[in]</strong> Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
  4505. </ul>
  4506. </dd>
  4507. </dl>
  4508. </dd></dl>
  4509. <dl class="cpp function">
  4510. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle">
  4511. <span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.DynamicVertexBufferHandle"></span><span class="target" id="namespacebgfx_1ad6b0c076f266b1b7954ddc60c2e21571"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle" title="Link to this definition"></a><br /></dt>
  4512. <dd><p>Set vertex buffer for draw primitive. </p>
  4513. <p><dl class="simple">
  4514. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_vertex_buffer</span></code>. </p>
  4515. </dd>
  4516. </dl>
  4517. </p>
  4518. <dl class="field-list simple">
  4519. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4520. <dd class="field-odd"><ul class="simple">
  4521. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  4522. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer.</p></li>
  4523. </ul>
  4524. </dd>
  4525. </dl>
  4526. </dd></dl>
  4527. <dl class="cpp function">
  4528. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle">
  4529. <span id="_CPPv3N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.DynamicVertexBufferHandle.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1a2c56422c88d052f09ba3144c9e200287"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span>, <span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layoutHandle</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_INVALID_HANDLE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_t25DynamicVertexBufferHandle8uint32_t8uint32_t18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  4530. <dd><p>Set vertex buffer for draw primitive. </p>
  4531. <p><dl class="simple">
  4532. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_dynamic_vertex_buffer</span></code>. </p>
  4533. </dd>
  4534. </dl>
  4535. </p>
  4536. <dl class="field-list simple">
  4537. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4538. <dd class="field-odd"><ul class="simple">
  4539. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  4540. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer. </p></li>
  4541. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> First vertex to render. </p></li>
  4542. <li><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices to render. </p></li>
  4543. <li><p><strong>_layoutHandle</strong> – <strong>[in]</strong> Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
  4544. </ul>
  4545. </dd>
  4546. </dl>
  4547. </dd></dl>
  4548. <dl class="cpp struct">
  4549. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBufferE">
  4550. <span id="_CPPv3N4bgfx21TransientVertexBufferE"></span><span id="_CPPv2N4bgfx21TransientVertexBufferE"></span><span id="bgfx::TransientVertexBuffer"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TransientVertexBuffer</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="Link to this definition"></a><br /></dt>
  4551. <dd><p>Transient vertex buffer. </p>
  4552. <p><dl class="simple">
  4553. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_transient_vertex_buffer_t</span></code>. </p>
  4554. </dd>
  4555. </dl>
  4556. </p>
  4557. <div class="breathe-sectiondef docutils container">
  4558. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  4559. <dl class="cpp var">
  4560. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBuffer4dataE">
  4561. <span id="_CPPv3N4bgfx21TransientVertexBuffer4dataE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer4dataE"></span><span id="bgfx::TransientVertexBuffer::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1af7347b77991e133505e1291db44b6953"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">data</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer4dataE" title="Link to this definition"></a><br /></dt>
  4562. <dd><p>Pointer to data. </p>
  4563. </dd></dl>
  4564. <dl class="cpp var">
  4565. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBuffer4sizeE">
  4566. <span id="_CPPv3N4bgfx21TransientVertexBuffer4sizeE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer4sizeE"></span><span id="bgfx::TransientVertexBuffer::size__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1a1bcf038e6540ba4ea9b717f4d3336747"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">size</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer4sizeE" title="Link to this definition"></a><br /></dt>
  4567. <dd><p>Data size. </p>
  4568. </dd></dl>
  4569. <dl class="cpp var">
  4570. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBuffer11startVertexE">
  4571. <span id="_CPPv3N4bgfx21TransientVertexBuffer11startVertexE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer11startVertexE"></span><span id="bgfx::TransientVertexBuffer::startVertex__uint32_t"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1a94bf9b08164f27ef2aa599871945e227"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">startVertex</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer11startVertexE" title="Link to this definition"></a><br /></dt>
  4572. <dd><p>First vertex. </p>
  4573. </dd></dl>
  4574. <dl class="cpp var">
  4575. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBuffer6strideE">
  4576. <span id="_CPPv3N4bgfx21TransientVertexBuffer6strideE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer6strideE"></span><span id="bgfx::TransientVertexBuffer::stride__uint16_t"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1afb88e19c370bc99c1facb5ba92ee1e50"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stride</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer6strideE" title="Link to this definition"></a><br /></dt>
  4577. <dd><p>Vertex stride. </p>
  4578. </dd></dl>
  4579. <dl class="cpp var">
  4580. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBuffer6handleE">
  4581. <span id="_CPPv3N4bgfx21TransientVertexBuffer6handleE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer6handleE"></span><span id="bgfx::TransientVertexBuffer::handle__VertexBufferHandle"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1aabfe2320c5979036798f5794ab21f977"></span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">handle</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer6handleE" title="Link to this definition"></a><br /></dt>
  4582. <dd><p>Vertex buffer handle. </p>
  4583. </dd></dl>
  4584. <dl class="cpp var">
  4585. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21TransientVertexBuffer12layoutHandleE">
  4586. <span id="_CPPv3N4bgfx21TransientVertexBuffer12layoutHandleE"></span><span id="_CPPv2N4bgfx21TransientVertexBuffer12layoutHandleE"></span><span id="bgfx::TransientVertexBuffer::layoutHandle__VertexLayoutHandle"></span><span class="target" id="structbgfx_1_1_transient_vertex_buffer_1a300fbc41ad9358c59aeb4614773c4a10"></span><span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">layoutHandle</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx21TransientVertexBuffer12layoutHandleE" title="Link to this definition"></a><br /></dt>
  4587. <dd><p>Vertex layout handle. </p>
  4588. </dd></dl>
  4589. </div>
  4590. </dd></dl>
  4591. <dl class="cpp function">
  4592. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer">
  4593. <span id="_CPPv3N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer"></span><span id="bgfx::setVertexBuffer__uint8_t.TransientVertexBufferCP"></span><span class="target" id="namespacebgfx_1adedeea9d83dc33076177b6c0657dbf6f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer"><span class="n"><span class="pre">TransientVertexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tvb</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer" title="Link to this definition"></a><br /></dt>
  4594. <dd><p>Set vertex buffer for draw primitive. </p>
  4595. <p><dl class="simple">
  4596. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_vertex_buffer</span></code>. </p>
  4597. </dd>
  4598. </dl>
  4599. </p>
  4600. <dl class="field-list simple">
  4601. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4602. <dd class="field-odd"><ul class="simple">
  4603. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  4604. <li><p><strong>_tvb</strong> – <strong>[in]</strong> Transient vertex buffer.</p></li>
  4605. </ul>
  4606. </dd>
  4607. </dl>
  4608. </dd></dl>
  4609. <dl class="cpp function">
  4610. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle">
  4611. <span id="_CPPv3N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle"></span><span id="bgfx::setVertexBuffer__uint8_t.TransientVertexBufferCP.uint32_t.uint32_t.VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1ab64ad6773a7ee049a59b366b139a7dc3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer"><span class="n"><span class="pre">TransientVertexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tvb</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span>, <span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layoutHandle</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_INVALID_HANDLE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setVertexBufferE7uint8_tPK21TransientVertexBuffer8uint32_t8uint32_t18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  4612. <dd><p>Set vertex buffer for draw primitive. </p>
  4613. <p><dl class="simple">
  4614. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_transient_vertex_buffer</span></code>. </p>
  4615. </dd>
  4616. </dl>
  4617. </p>
  4618. <dl class="field-list simple">
  4619. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4620. <dd class="field-odd"><ul class="simple">
  4621. <li><p><strong>_stream</strong> – <strong>[in]</strong> Vertex stream. </p></li>
  4622. <li><p><strong>_tvb</strong> – <strong>[in]</strong> Transient vertex buffer. </p></li>
  4623. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> First vertex to render. </p></li>
  4624. <li><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices to render. </p></li>
  4625. <li><p><strong>_layoutHandle</strong> – <strong>[in]</strong> Vertex layout for aliasing vertex buffer. If invalid handle is used, vertex layout used for creation of vertex buffer will be used.</p></li>
  4626. </ul>
  4627. </dd>
  4628. </dl>
  4629. </dd></dl>
  4630. <dl class="cpp function">
  4631. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setVertexCountE8uint32_t">
  4632. <span id="_CPPv3N4bgfx14setVertexCountE8uint32_t"></span><span id="_CPPv2N4bgfx14setVertexCountE8uint32_t"></span><span id="bgfx::setVertexCount__uint32_t"></span><span class="target" id="namespacebgfx_1ad86de33993e8c57ee016d5af8a2c51bd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setVertexCount</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numVertices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setVertexCountE8uint32_t" title="Link to this definition"></a><br /></dt>
  4633. <dd><p>Set number of vertices for auto generated vertices use in conjunction with gl_VertexID. </p>
  4634. <p><dl class="simple">
  4635. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
  4636. </dd>
  4637. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_count</span></code>. </p>
  4638. </dd>
  4639. </dl>
  4640. </p>
  4641. <dl class="field-list simple">
  4642. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4643. <dd class="field-odd"><p><strong>_numVertices</strong> – <strong>[in]</strong> Number of vertices.</p>
  4644. </dd>
  4645. </dl>
  4646. </dd></dl>
  4647. <dl class="cpp struct">
  4648. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBufferE">
  4649. <span id="_CPPv3N4bgfx18InstanceDataBufferE"></span><span id="_CPPv2N4bgfx18InstanceDataBufferE"></span><span id="bgfx::InstanceDataBuffer"></span><span class="target" id="structbgfx_1_1_instance_data_buffer"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">InstanceDataBuffer</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="Link to this definition"></a><br /></dt>
  4650. <dd><p>Instance data buffer info. </p>
  4651. <p><dl class="simple">
  4652. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_instance_data_buffer_t</span></code>. </p>
  4653. </dd>
  4654. </dl>
  4655. </p>
  4656. <div class="breathe-sectiondef docutils container">
  4657. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  4658. <dl class="cpp var">
  4659. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBuffer4dataE">
  4660. <span id="_CPPv3N4bgfx18InstanceDataBuffer4dataE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer4dataE"></span><span id="bgfx::InstanceDataBuffer::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a3ca64a920d51d545a2d55f9f4a07676b"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">data</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer4dataE" title="Link to this definition"></a><br /></dt>
  4661. <dd><p>Pointer to data. </p>
  4662. </dd></dl>
  4663. <dl class="cpp var">
  4664. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBuffer4sizeE">
  4665. <span id="_CPPv3N4bgfx18InstanceDataBuffer4sizeE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer4sizeE"></span><span id="bgfx::InstanceDataBuffer::size__uint32_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a9756b029b7456ff8968877ce74ab37df"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">size</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer4sizeE" title="Link to this definition"></a><br /></dt>
  4666. <dd><p>Data size. </p>
  4667. </dd></dl>
  4668. <dl class="cpp var">
  4669. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBuffer6offsetE">
  4670. <span id="_CPPv3N4bgfx18InstanceDataBuffer6offsetE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer6offsetE"></span><span id="bgfx::InstanceDataBuffer::offset__uint32_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a91b8b832bbb281e48803f38a5f732f36"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">offset</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer6offsetE" title="Link to this definition"></a><br /></dt>
  4671. <dd><p>Offset in vertex buffer. </p>
  4672. </dd></dl>
  4673. <dl class="cpp var">
  4674. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBuffer3numE">
  4675. <span id="_CPPv3N4bgfx18InstanceDataBuffer3numE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer3numE"></span><span id="bgfx::InstanceDataBuffer::num__uint32_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a1990052b31322da9be730efd026f24c4"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">num</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer3numE" title="Link to this definition"></a><br /></dt>
  4676. <dd><p>Number of instances. </p>
  4677. </dd></dl>
  4678. <dl class="cpp var">
  4679. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBuffer6strideE">
  4680. <span id="_CPPv3N4bgfx18InstanceDataBuffer6strideE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer6strideE"></span><span id="bgfx::InstanceDataBuffer::stride__uint16_t"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1a3dcc99168a618a698abaca9dc62033d6"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stride</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer6strideE" title="Link to this definition"></a><br /></dt>
  4681. <dd><p>Vertex buffer stride. </p>
  4682. </dd></dl>
  4683. <dl class="cpp var">
  4684. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18InstanceDataBuffer6handleE">
  4685. <span id="_CPPv3N4bgfx18InstanceDataBuffer6handleE"></span><span id="_CPPv2N4bgfx18InstanceDataBuffer6handleE"></span><span id="bgfx::InstanceDataBuffer::handle__VertexBufferHandle"></span><span class="target" id="structbgfx_1_1_instance_data_buffer_1ab24765df1ccf358a491f27931f0c91cc"></span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">handle</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx18InstanceDataBuffer6handleE" title="Link to this definition"></a><br /></dt>
  4686. <dd><p>Vertex buffer object handle. </p>
  4687. </dd></dl>
  4688. </div>
  4689. </dd></dl>
  4690. <dl class="cpp function">
  4691. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer">
  4692. <span id="_CPPv3N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer"></span><span id="bgfx::setInstanceDataBuffer__InstanceDataBufferCP"></span><span class="target" id="namespacebgfx_1aa99e46d4c06aacf639114d727eac87dd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer"><span class="n"><span class="pre">InstanceDataBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_idb</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer" title="Link to this definition"></a><br /></dt>
  4693. <dd><p>Set instance data buffer for draw primitive. </p>
  4694. <p><dl class="simple">
  4695. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_buffer</span></code>. </p>
  4696. </dd>
  4697. </dl>
  4698. </p>
  4699. <dl class="field-list simple">
  4700. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4701. <dd class="field-odd"><p><strong>_idb</strong> – <strong>[in]</strong> Transient instance data buffer.</p>
  4702. </dd>
  4703. </dl>
  4704. </dd></dl>
  4705. <dl class="cpp function">
  4706. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t">
  4707. <span id="_CPPv3N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t"></span><span id="bgfx::setInstanceDataBuffer__InstanceDataBufferCP.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1ad9b9b9217c22449bc4d18af7abe4651e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer"><span class="n"><span class="pre">InstanceDataBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_idb</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferEPK18InstanceDataBuffer8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4708. <dd><p>Set instance data buffer for draw primitive. </p>
  4709. <p><dl class="simple">
  4710. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_buffer</span></code>. </p>
  4711. </dd>
  4712. </dl>
  4713. </p>
  4714. <dl class="field-list simple">
  4715. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4716. <dd class="field-odd"><ul class="simple">
  4717. <li><p><strong>_idb</strong> – <strong>[in]</strong> Transient instance data buffer. </p></li>
  4718. <li><p><strong>_start</strong> – <strong>[in]</strong> First instance data. </p></li>
  4719. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of data instances.</p></li>
  4720. </ul>
  4721. </dd>
  4722. </dl>
  4723. </dd></dl>
  4724. <dl class="cpp function">
  4725. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t">
  4726. <span id="_CPPv3N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setInstanceDataBuffer__VertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1a20b0e58f00d16430069e045755e72bb0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferE18VertexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4727. <dd><p>Set instance data buffer for draw primitive. </p>
  4728. <p><dl class="simple">
  4729. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_from_vertex_buffer</span></code>. </p>
  4730. </dd>
  4731. </dl>
  4732. </p>
  4733. <dl class="field-list simple">
  4734. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4735. <dd class="field-odd"><ul class="simple">
  4736. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer. </p></li>
  4737. <li><p><strong>_start</strong> – <strong>[in]</strong> First instance data. </p></li>
  4738. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of data instances.</p></li>
  4739. </ul>
  4740. </dd>
  4741. </dl>
  4742. </dd></dl>
  4743. <dl class="cpp function">
  4744. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t">
  4745. <span id="_CPPv3N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="_CPPv2N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t"></span><span id="bgfx::setInstanceDataBuffer__DynamicVertexBufferHandle.uint32_t.uint32_t"></span><span class="target" id="namespacebgfx_1af5f5a928ce18fe1d2ea45e52e6d20238"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx21setInstanceDataBufferE25DynamicVertexBufferHandle8uint32_t8uint32_t" title="Link to this definition"></a><br /></dt>
  4746. <dd><p>Set instance data buffer for draw primitive. </p>
  4747. <p><dl class="simple">
  4748. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_data_from_dynamic_vertex_buffer</span></code>. </p>
  4749. </dd>
  4750. </dl>
  4751. </p>
  4752. <dl class="field-list simple">
  4753. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4754. <dd class="field-odd"><ul class="simple">
  4755. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer. </p></li>
  4756. <li><p><strong>_start</strong> – <strong>[in]</strong> First instance data. </p></li>
  4757. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of data instances.</p></li>
  4758. </ul>
  4759. </dd>
  4760. </dl>
  4761. </dd></dl>
  4762. <dl class="cpp function">
  4763. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx16setInstanceCountE8uint32_t">
  4764. <span id="_CPPv3N4bgfx16setInstanceCountE8uint32_t"></span><span id="_CPPv2N4bgfx16setInstanceCountE8uint32_t"></span><span id="bgfx::setInstanceCount__uint32_t"></span><span class="target" id="namespacebgfx_1aa41e297fd85870c1773f498cb7e51b05"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setInstanceCount</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numInstances</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx16setInstanceCountE8uint32_t" title="Link to this definition"></a><br /></dt>
  4765. <dd><p>Set number of instances for auto generated instances use in conjunction with gl_InstanceID. </p>
  4766. <p><dl class="simple">
  4767. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ID</span></code>. </p>
  4768. </dd>
  4769. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_instance_count</span></code>. </p>
  4770. </dd>
  4771. </dl>
  4772. </p>
  4773. <dl class="field-list simple">
  4774. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4775. <dd class="field-odd"><p><strong>_numInstances</strong> – <strong>[in]</strong> Number of instances.</p>
  4776. </dd>
  4777. </dl>
  4778. </dd></dl>
  4779. </section>
  4780. <section id="textures">
  4781. <h4>Textures<a class="headerlink" href="#textures" title="Link to this heading"></a></h4>
  4782. <dl class="cpp function">
  4783. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t">
  4784. <span id="_CPPv3N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="_CPPv2N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t"></span><span id="bgfx::setTexture__uint8_t.UniformHandle.TextureHandle.uint32_t"></span><span class="target" id="namespacebgfx_1a62ed3fb0f144798a2a8ba2e19d0e2dc0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setTexture</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_sampler</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setTextureE7uint8_t13UniformHandle13TextureHandle8uint32_t" title="Link to this definition"></a><br /></dt>
  4785. <dd><p>Set texture stage for draw primitive. </p>
  4786. <p><dl class="simple">
  4787. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_texture</span></code>. </p>
  4788. </dd>
  4789. </dl>
  4790. </p>
  4791. <dl class="field-list simple">
  4792. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4793. <dd class="field-odd"><ul class="simple">
  4794. <li><p><strong>_stage</strong> – <strong>[in]</strong> Texture unit. </p></li>
  4795. <li><p><strong>_sampler</strong> – <strong>[in]</strong> Program sampler. </p></li>
  4796. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  4797. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture sampling mode. Default value UINT32_MAX uses texture sampling settings from the texture.<ul>
  4798. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  4799. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  4800. </ul>
  4801. </p></li>
  4802. </ul>
  4803. </dd>
  4804. </dl>
  4805. </dd></dl>
  4806. </section>
  4807. <section id="uniforms">
  4808. <h4>Uniforms<a class="headerlink" href="#uniforms" title="Link to this heading"></a></h4>
  4809. <dl class="cpp function">
  4810. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10setUniformE13UniformHandlePKv8uint16_t">
  4811. <span id="_CPPv3N4bgfx10setUniformE13UniformHandlePKv8uint16_t"></span><span id="_CPPv2N4bgfx10setUniformE13UniformHandlePKv8uint16_t"></span><span id="bgfx::setUniform__UniformHandle.voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1ad3596bae1697a254d108e5a3002d198d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setUniform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_value</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10setUniformE13UniformHandlePKv8uint16_t" title="Link to this definition"></a><br /></dt>
  4812. <dd><p>Set shader uniform parameter for draw primitive. </p>
  4813. <p><dl class="simple">
  4814. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_uniform</span></code>. </p>
  4815. </dd>
  4816. </dl>
  4817. </p>
  4818. <dl class="field-list simple">
  4819. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4820. <dd class="field-odd"><ul class="simple">
  4821. <li><p><strong>_handle</strong> – <strong>[in]</strong> Uniform. </p></li>
  4822. <li><p><strong>_value</strong> – <strong>[in]</strong> Pointer to uniform data. </p></li>
  4823. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements. Passing <code class="docutils literal notranslate"><span class="pre">UINT16_MAX</span></code> will use the _num passed on uniform creation.</p></li>
  4824. </ul>
  4825. </dd>
  4826. </dl>
  4827. </dd></dl>
  4828. <dl class="cpp function">
  4829. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14setViewUniformE6ViewId13UniformHandlePKv8uint16_t">
  4830. <span id="_CPPv3N4bgfx14setViewUniformE6ViewId13UniformHandlePKv8uint16_t"></span><span id="_CPPv2N4bgfx14setViewUniformE6ViewId13UniformHandlePKv8uint16_t"></span><span id="bgfx::setViewUniform__ViewId.UniformHandle.voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1a0c9a25a116d975c0ef8e2c2e64495f5c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setViewUniform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_value</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14setViewUniformE6ViewId13UniformHandlePKv8uint16_t" title="Link to this definition"></a><br /></dt>
  4831. <dd><p>Set shader uniform parameter for view. </p>
  4832. <p><dl class="simple">
  4833. <dt><strong>Attention</strong></dt><dd><p>Uniform must be created with <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949a74de3d4c104a81e07c7b3dafc618ee52"><span class="std std-ref"><span class="pre">bgfx::UniformFreq::View</span></span></a></code> argument. </p>
  4834. </dd>
  4835. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_view_uniform</span></code>. </p>
  4836. </dd>
  4837. </dl>
  4838. </p>
  4839. <dl class="field-list simple">
  4840. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4841. <dd class="field-odd"><ul class="simple">
  4842. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  4843. <li><p><strong>_handle</strong> – <strong>[in]</strong> Uniform. </p></li>
  4844. <li><p><strong>_value</strong> – <strong>[in]</strong> Pointer to uniform data. </p></li>
  4845. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements. Passing <code class="docutils literal notranslate"><span class="pre">UINT16_MAX</span></code> will use the _num passed on uniform creation.</p></li>
  4846. </ul>
  4847. </dd>
  4848. </dl>
  4849. </dd></dl>
  4850. <dl class="cpp function">
  4851. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15setFrameUniformE13UniformHandlePKv8uint16_t">
  4852. <span id="_CPPv3N4bgfx15setFrameUniformE13UniformHandlePKv8uint16_t"></span><span id="_CPPv2N4bgfx15setFrameUniformE13UniformHandlePKv8uint16_t"></span><span id="bgfx::setFrameUniform__UniformHandle.voidCP.uint16_t"></span><span class="target" id="namespacebgfx_1a80cc46ec8f814a1442f51863ad0d0e99"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setFrameUniform</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_value</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15setFrameUniformE13UniformHandlePKv8uint16_t" title="Link to this definition"></a><br /></dt>
  4853. <dd><p>Set shader uniform parameter for frame. </p>
  4854. <p><dl class="simple">
  4855. <dt><strong>Attention</strong></dt><dd><p>Uniform must be created with <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949a74de3d4c104a81e07c7b3dafc618ee52"><span class="std std-ref"><span class="pre">bgfx::UniformFreq::View</span></span></a></code> argument. </p>
  4856. </dd>
  4857. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_frame_uniform</span></code>. </p>
  4858. </dd>
  4859. </dl>
  4860. </p>
  4861. <dl class="field-list simple">
  4862. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4863. <dd class="field-odd"><ul class="simple">
  4864. <li><p><strong>_handle</strong> – <strong>[in]</strong> Uniform. </p></li>
  4865. <li><p><strong>_value</strong> – <strong>[in]</strong> Pointer to uniform data. </p></li>
  4866. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements. Passing <code class="docutils literal notranslate"><span class="pre">UINT16_MAX</span></code> will use the _num passed on uniform creation.</p></li>
  4867. </ul>
  4868. </dd>
  4869. </dl>
  4870. </dd></dl>
  4871. </section>
  4872. <section id="submit">
  4873. <h4>Submit<a class="headerlink" href="#submit" title="Link to this heading"></a></h4>
  4874. <p>In Views, all draw commands are executed <strong>after</strong> blit and compute commands.</p>
  4875. <dl class="cpp function">
  4876. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t">
  4877. <span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1aac8f69b1ff11ad6c8a95db9f9e46d019"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  4878. <dd><p>Submit primitive for rendering. </p>
  4879. <p><dl class="simple">
  4880. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit</span></code>. </p>
  4881. </dd>
  4882. </dl>
  4883. </p>
  4884. <dl class="field-list simple">
  4885. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4886. <dd class="field-odd"><ul class="simple">
  4887. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  4888. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  4889. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  4890. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  4891. </ul>
  4892. </dd>
  4893. </dl>
  4894. </dd></dl>
  4895. <dl class="cpp function">
  4896. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t">
  4897. <span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.OcclusionQueryHandle.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1a469d2c9d5eae99e063a091d9b1816d26"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_occlusionQuery</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20OcclusionQueryHandle8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  4898. <dd><p>Submit primitive with occlusion query for rendering. </p>
  4899. <p><dl class="simple">
  4900. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit_occlusion_query</span></code>. </p>
  4901. </dd>
  4902. </dl>
  4903. </p>
  4904. <dl class="field-list simple">
  4905. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4906. <dd class="field-odd"><ul class="simple">
  4907. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  4908. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  4909. <li><p><strong>_occlusionQuery</strong> – <strong>[in]</strong> Occlusion query. </p></li>
  4910. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  4911. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  4912. </ul>
  4913. </dd>
  4914. </dl>
  4915. </dd></dl>
  4916. <dl class="cpp function">
  4917. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t">
  4918. <span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.IndirectBufferHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1a2f2f7978b3f41bdeddc8000a59a520e6"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_indirectHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  4919. <dd><p>Submit primitive for rendering with index and instance data info from indirect buffer. </p>
  4920. <p><dl class="simple">
  4921. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_DRAW_INDIRECT</span></code>. </p>
  4922. </dd>
  4923. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit_indirect</span></code>. </p>
  4924. </dd>
  4925. </dl>
  4926. </p>
  4927. <dl class="field-list simple">
  4928. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4929. <dd class="field-odd"><ul class="simple">
  4930. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  4931. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  4932. <li><p><strong>_indirectHandle</strong> – <strong>[in]</strong> Indirect buffer. </p></li>
  4933. <li><p><strong>_start</strong> – <strong>[in]</strong> First element in indirect buffer. </p></li>
  4934. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of draws. </p></li>
  4935. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  4936. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  4937. </ul>
  4938. </dd>
  4939. </dl>
  4940. </dd></dl>
  4941. <dl class="cpp function">
  4942. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t">
  4943. <span id="_CPPv3N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::submit__ViewId.ProgramHandle.IndirectBufferHandle.uint32_t.IndexBufferHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1abcfcde2229e9c39e4564da3618712447"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">submit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_program</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_indirectHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span>, <span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numIndex</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numMax</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT32_MAX</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6submitE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t17IndexBufferHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  4944. <dd><p>Submit primitive for rendering with index and instance data info and draw count from indirect buffers. </p>
  4945. <p><dl class="simple">
  4946. <dt><strong>Attention</strong></dt><dd><p>Availability depends on:<code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_DRAW_INDIRECT_COUNT</span></code>. </p>
  4947. </dd>
  4948. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_submit_indirect_count</span></code>. </p>
  4949. </dd>
  4950. </dl>
  4951. </p>
  4952. <dl class="field-list simple">
  4953. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  4954. <dd class="field-odd"><ul class="simple">
  4955. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  4956. <li><p><strong>_program</strong> – <strong>[in]</strong> Program. </p></li>
  4957. <li><p><strong>_indirectHandle</strong> – <strong>[in]</strong> Indirect buffer. </p></li>
  4958. <li><p><strong>_start</strong> – <strong>[in]</strong> First element in indirect buffer. </p></li>
  4959. <li><p><strong>_numHandle</strong> – <strong>[in]</strong> Buffer for number of draws. Must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> and <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_DRAW_INDIRECT</span></code>. </p></li>
  4960. <li><p><strong>_numIndex</strong> – <strong>[in]</strong> Element in number buffer. </p></li>
  4961. <li><p><strong>_numMax</strong> – <strong>[in]</strong> Max number of draws. </p></li>
  4962. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth for sorting. </p></li>
  4963. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  4964. </ul>
  4965. </dd>
  4966. </dl>
  4967. </dd></dl>
  4968. </section>
  4969. </section>
  4970. <section id="compute">
  4971. <h3>Compute<a class="headerlink" href="#compute" title="Link to this heading"></a></h3>
  4972. <p>Compute state is not preserved between compute dispatches; all state is cleared after calling <cite>bgfx::dispatch</cite>.</p>
  4973. <section id="id4">
  4974. <h4>Buffers<a class="headerlink" href="#id4" title="Link to this heading"></a></h4>
  4975. <dl class="cpp struct">
  4976. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6AccessE">
  4977. <span id="_CPPv3N4bgfx6AccessE"></span><span id="_CPPv2N4bgfx6AccessE"></span><span id="bgfx::Access"></span><span class="target" id="structbgfx_1_1_access"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Access</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6AccessE" title="Link to this definition"></a><br /></dt>
  4978. <dd><p><a class="reference internal" href="#structbgfx_1_1_access"><span class="std std-ref">Access</span></a> mode enum. </p>
  4979. <p><dl class="simple">
  4980. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_access_t</span></code>. </p>
  4981. </dd>
  4982. </dl>
  4983. </p>
  4984. <div class="breathe-sectiondef docutils container">
  4985. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  4986. <dl class="cpp enum">
  4987. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Access4EnumE">
  4988. <span id="_CPPv3N4bgfx6Access4EnumE"></span><span id="_CPPv2N4bgfx6Access4EnumE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Access4EnumE" title="Link to this definition"></a><br /></dt>
  4989. <dd><p><a class="reference internal" href="#structbgfx_1_1_access"><span class="std std-ref">Access</span></a>: </p>
  4990. <p><em>Values:</em></p>
  4991. <dl class="cpp enumerator">
  4992. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Access4Enum4ReadE">
  4993. <span id="_CPPv3N4bgfx6Access4Enum4ReadE"></span><span id="_CPPv2N4bgfx6Access4Enum4ReadE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180aa8c5d200b47f6eba1f1ad2dc4149bcd4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum4ReadE" title="Link to this definition"></a><br /></dt>
  4994. <dd><p>Read. </p>
  4995. </dd></dl>
  4996. <dl class="cpp enumerator">
  4997. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Access4Enum5WriteE">
  4998. <span id="_CPPv3N4bgfx6Access4Enum5WriteE"></span><span id="_CPPv2N4bgfx6Access4Enum5WriteE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180a10ed39a89f1207269328309b7238ad74"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum5WriteE" title="Link to this definition"></a><br /></dt>
  4999. <dd><p>Write. </p>
  5000. </dd></dl>
  5001. <dl class="cpp enumerator">
  5002. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Access4Enum9ReadWriteE">
  5003. <span id="_CPPv3N4bgfx6Access4Enum9ReadWriteE"></span><span id="_CPPv2N4bgfx6Access4Enum9ReadWriteE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180a844968ef8ec9575127437553bd0b128b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadWrite</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum9ReadWriteE" title="Link to this definition"></a><br /></dt>
  5004. <dd><p>Read and write. </p>
  5005. </dd></dl>
  5006. <dl class="cpp enumerator">
  5007. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Access4Enum5CountE">
  5008. <span id="_CPPv3N4bgfx6Access4Enum5CountE"></span><span id="_CPPv2N4bgfx6Access4Enum5CountE"></span><span class="target" id="structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180af48902f20e66734d9cf257c4f1f31340"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Access4Enum5CountE" title="Link to this definition"></a><br /></dt>
  5009. <dd></dd></dl>
  5010. </dd></dl>
  5011. </div>
  5012. </dd></dl>
  5013. <dl class="cpp function">
  5014. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE">
  5015. <span id="_CPPv3N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.IndexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a94c3195ced868b94a232428561a21d56"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t17IndexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  5016. <dd><p>Set compute index buffer. </p>
  5017. <p><dl class="simple">
  5018. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_index_buffer</span></code>. </p>
  5019. </dd>
  5020. </dl>
  5021. </p>
  5022. <dl class="field-list simple">
  5023. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5024. <dd class="field-odd"><ul class="simple">
  5025. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  5026. <li><p><strong>_handle</strong> – <strong>[in]</strong> Index buffer handle. </p></li>
  5027. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  5028. </ul>
  5029. </dd>
  5030. </dl>
  5031. </dd></dl>
  5032. <dl class="cpp function">
  5033. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE">
  5034. <span id="_CPPv3N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.VertexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a85f8bcfd59b5d298e0e0cfd69cdcf4ce"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t18VertexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  5035. <dd><p>Set compute vertex buffer. </p>
  5036. <p><dl class="simple">
  5037. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_vertex_buffer</span></code>. </p>
  5038. </dd>
  5039. </dl>
  5040. </p>
  5041. <dl class="field-list simple">
  5042. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5043. <dd class="field-odd"><ul class="simple">
  5044. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  5045. <li><p><strong>_handle</strong> – <strong>[in]</strong> Vertex buffer handle. </p></li>
  5046. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  5047. </ul>
  5048. </dd>
  5049. </dl>
  5050. </dd></dl>
  5051. <dl class="cpp function">
  5052. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE">
  5053. <span id="_CPPv3N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.DynamicIndexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a353d269041bba99cc86345ad7ac6dd9f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t24DynamicIndexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  5054. <dd><p>Set compute dynamic index buffer. </p>
  5055. <p><dl class="simple">
  5056. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_dynamic_index_buffer</span></code>. </p>
  5057. </dd>
  5058. </dl>
  5059. </p>
  5060. <dl class="field-list simple">
  5061. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5062. <dd class="field-odd"><ul class="simple">
  5063. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  5064. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer handle. </p></li>
  5065. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  5066. </ul>
  5067. </dd>
  5068. </dl>
  5069. </dd></dl>
  5070. <dl class="cpp function">
  5071. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE">
  5072. <span id="_CPPv3N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.DynamicVertexBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a02cd00cdf0cb59d423d03b7358331bff"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t25DynamicVertexBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  5073. <dd><p>Set compute dynamic vertex buffer. </p>
  5074. <p><dl class="simple">
  5075. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_dynamic_vertex_buffer</span></code>. </p>
  5076. </dd>
  5077. </dl>
  5078. </p>
  5079. <dl class="field-list simple">
  5080. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5081. <dd class="field-odd"><ul class="simple">
  5082. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  5083. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer handle. </p></li>
  5084. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  5085. </ul>
  5086. </dd>
  5087. </dl>
  5088. </dd></dl>
  5089. <dl class="cpp function">
  5090. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE">
  5091. <span id="_CPPv3N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="_CPPv2N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE"></span><span id="bgfx::setBuffer__uint8_t.IndirectBufferHandle.Access::Enum"></span><span class="target" id="namespacebgfx_1a52b241b7370222eea882474910cd49b4"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9setBufferE7uint8_t20IndirectBufferHandleN6Access4EnumE" title="Link to this definition"></a><br /></dt>
  5092. <dd><p>Set compute indirect buffer. </p>
  5093. <p><dl class="simple">
  5094. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_compute_indirect_buffer</span></code>. </p>
  5095. </dd>
  5096. </dl>
  5097. </p>
  5098. <dl class="field-list simple">
  5099. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5100. <dd class="field-odd"><ul class="simple">
  5101. <li><p><strong>_stage</strong> – <strong>[in]</strong> Compute stage. </p></li>
  5102. <li><p><strong>_handle</strong> – <strong>[in]</strong> Indirect buffer handle. </p></li>
  5103. <li><p><strong>_access</strong> – <strong>[in]</strong> Buffer access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>.</p></li>
  5104. </ul>
  5105. </dd>
  5106. </dl>
  5107. </dd></dl>
  5108. </section>
  5109. <section id="images">
  5110. <h4>Images<a class="headerlink" href="#images" title="Link to this heading"></a></h4>
  5111. <dl class="cpp function">
  5112. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE">
  5113. <span id="_CPPv3N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE"></span><span id="bgfx::setImage__uint8_t.TextureHandle.uint8_t.Access::Enum.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1aff6a7e1638d103b42340e553eed29796"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setImage</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stage</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count"><span class="n"><span class="pre">Count</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8setImageE7uint8_t13TextureHandle7uint8_tN6Access4EnumEN13TextureFormat4EnumE" title="Link to this definition"></a><br /></dt>
  5114. <dd><p>Set compute image from texture. </p>
  5115. <p><dl class="simple">
  5116. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_image</span></code>. </p>
  5117. </dd>
  5118. </dl>
  5119. </p>
  5120. <dl class="field-list simple">
  5121. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5122. <dd class="field-odd"><ul class="simple">
  5123. <li><p><strong>_stage</strong> – <strong>[in]</strong> Texture unit. </p></li>
  5124. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  5125. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level. </p></li>
  5126. <li><p><strong>_access</strong> – <strong>[in]</strong> Texture access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p></li>
  5127. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
  5128. </ul>
  5129. </dd>
  5130. </dl>
  5131. </dd></dl>
  5132. </section>
  5133. <section id="dispatch">
  5134. <h4>Dispatch<a class="headerlink" href="#dispatch" title="Link to this heading"></a></h4>
  5135. <p>In Views, all draw commands are executed <strong>after</strong> blit and compute commands.</p>
  5136. <dl class="cpp function">
  5137. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t">
  5138. <span id="_CPPv3N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::dispatch__ViewId.ProgramHandle.uint32_t.uint32_t.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1a3f99f5af2f277674422b56e60b5d8a91"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dispatch</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numX</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numY</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numZ</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle8uint32_t8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  5139. <dd><p>Dispatch compute. </p>
  5140. <p><dl class="simple">
  5141. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dispatch</span></code>. </p>
  5142. </dd>
  5143. </dl>
  5144. </p>
  5145. <dl class="field-list simple">
  5146. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5147. <dd class="field-odd"><ul class="simple">
  5148. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  5149. <li><p><strong>_handle</strong> – <strong>[in]</strong> Compute program. </p></li>
  5150. <li><p><strong>_numX</strong> – <strong>[in]</strong> Number of groups X. </p></li>
  5151. <li><p><strong>_numY</strong> – <strong>[in]</strong> Number of groups Y. </p></li>
  5152. <li><p><strong>_numZ</strong> – <strong>[in]</strong> Number of groups Z. </p></li>
  5153. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  5154. </ul>
  5155. </dd>
  5156. </dl>
  5157. </dd></dl>
  5158. <dl class="cpp function">
  5159. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t">
  5160. <span id="_CPPv3N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t"></span><span id="_CPPv2N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t"></span><span id="bgfx::dispatch__ViewId.ProgramHandle.IndirectBufferHandle.uint32_t.uint32_t.uint8_t"></span><span class="target" id="namespacebgfx_1ad98c6bbe1af4773a59342b1945347e3c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dispatch</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_indirectHandle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_start</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_DISCARD_ALL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx8dispatchE6ViewId13ProgramHandle20IndirectBufferHandle8uint32_t8uint32_t7uint8_t" title="Link to this definition"></a><br /></dt>
  5161. <dd><p>Dispatch compute indirect. </p>
  5162. <p><dl class="simple">
  5163. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_dispatch_indirect</span></code>. </p>
  5164. </dd>
  5165. </dl>
  5166. </p>
  5167. <dl class="field-list simple">
  5168. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5169. <dd class="field-odd"><ul class="simple">
  5170. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  5171. <li><p><strong>_handle</strong> – <strong>[in]</strong> Compute program. </p></li>
  5172. <li><p><strong>_indirectHandle</strong> – <strong>[in]</strong> Indirect buffer. </p></li>
  5173. <li><p><strong>_start</strong> – <strong>[in]</strong> First element in indirect buffer. </p></li>
  5174. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of dispatches. </p></li>
  5175. <li><p><strong>_flags</strong> – <strong>[in]</strong> Discard or preserve states. See <code class="docutils literal notranslate"><span class="pre">BGFX_DISCARD_*</span></code>.</p></li>
  5176. </ul>
  5177. </dd>
  5178. </dl>
  5179. </dd></dl>
  5180. </section>
  5181. </section>
  5182. <section id="blit">
  5183. <h3>Blit<a class="headerlink" href="#blit" title="Link to this heading"></a></h3>
  5184. <p>In Views, all draw commands are executed <strong>after</strong> blit and compute commands.</p>
  5185. <dl class="cpp function">
  5186. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t">
  5187. <span id="_CPPv3N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::blit__ViewId.TextureHandle.uint16_t.uint16_t.TextureHandle.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1aebd5560001cdeb76b4fa88ac04b660d6"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">blit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dst</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstY</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_src</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcX</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcY</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4blitE6ViewId13TextureHandle8uint16_t8uint16_t13TextureHandle8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  5188. <dd><p>Blit 2D texture region between two 2D textures. </p>
  5189. <p><dl class="simple">
  5190. <dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
  5191. </dd>
  5192. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
  5193. </dd>
  5194. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_blit</span></code>. </p>
  5195. </dd>
  5196. </dl>
  5197. </p>
  5198. <dl class="field-list simple">
  5199. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5200. <dd class="field-odd"><ul class="simple">
  5201. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  5202. <li><p><strong>_dst</strong> – <strong>[in]</strong> Destination texture handle. </p></li>
  5203. <li><p><strong>_dstX</strong> – <strong>[in]</strong> Destination texture X position. </p></li>
  5204. <li><p><strong>_dstY</strong> – <strong>[in]</strong> Destination texture Y position. </p></li>
  5205. <li><p><strong>_src</strong> – <strong>[in]</strong> Source texture handle. </p></li>
  5206. <li><p><strong>_srcX</strong> – <strong>[in]</strong> Source texture X position. </p></li>
  5207. <li><p><strong>_srcY</strong> – <strong>[in]</strong> Source texture Y position. </p></li>
  5208. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of region. </p></li>
  5209. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of region.</p></li>
  5210. </ul>
  5211. </dd>
  5212. </dl>
  5213. </dd></dl>
  5214. <dl class="cpp function">
  5215. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t">
  5216. <span id="_CPPv3N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="_CPPv2N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t"></span><span id="bgfx::blit__ViewId.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t"></span><span class="target" id="namespacebgfx_1a3a1768b60ba0a0f162afa485bd013844"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">blit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ViewId</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_id</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dst</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstMip</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstY</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_dstZ</span></span>, <span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_src</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcMip</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcX</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcY</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_srcZ</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4blitE6ViewId13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t" title="Link to this definition"></a><br /></dt>
  5217. <dd><p>Blit texture region between two textures. </p>
  5218. <p><dl class="simple">
  5219. <dt><strong>Attention</strong></dt><dd><p>Destination texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></code> flag. </p>
  5220. </dd>
  5221. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_BLIT</span></code>. </p>
  5222. </dd>
  5223. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_blit</span></code>. </p>
  5224. </dd>
  5225. </dl>
  5226. </p>
  5227. <dl class="field-list simple">
  5228. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5229. <dd class="field-odd"><ul class="simple">
  5230. <li><p><strong>_id</strong> – <strong>[in]</strong> View id. </p></li>
  5231. <li><p><strong>_dst</strong> – <strong>[in]</strong> Destination texture handle. </p></li>
  5232. <li><p><strong>_dstMip</strong> – <strong>[in]</strong> Destination texture mip level. </p></li>
  5233. <li><p><strong>_dstX</strong> – <strong>[in]</strong> Destination texture X position. </p></li>
  5234. <li><p><strong>_dstY</strong> – <strong>[in]</strong> Destination texture Y position. </p></li>
  5235. <li><p><strong>_dstZ</strong> – <strong>[in]</strong> If texture is 2D this argument should be 0. If destination texture is cube this argument represents destination texture cube face. For 3D texture this argument represents destination texture Z position. </p></li>
  5236. <li><p><strong>_src</strong> – <strong>[in]</strong> Source texture handle. </p></li>
  5237. <li><p><strong>_srcMip</strong> – <strong>[in]</strong> Source texture mip level. </p></li>
  5238. <li><p><strong>_srcX</strong> – <strong>[in]</strong> Source texture X position. </p></li>
  5239. <li><p><strong>_srcY</strong> – <strong>[in]</strong> Source texture Y position. </p></li>
  5240. <li><p><strong>_srcZ</strong> – <strong>[in]</strong> If texture is 2D this argument should be 0. If source texture is cube this argument represents source texture cube face. For 3D texture this argument represents source texture Z position. </p></li>
  5241. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of region. </p></li>
  5242. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of region. </p></li>
  5243. <li><p><strong>_depth</strong> – <strong>[in]</strong> If texture is 3D this argument represents depth of region, otherwise it’s unused.</p></li>
  5244. </ul>
  5245. </dd>
  5246. </dl>
  5247. </dd></dl>
  5248. </section>
  5249. </section>
  5250. <section id="resources">
  5251. <h2>Resources<a class="headerlink" href="#resources" title="Link to this heading"></a></h2>
  5252. <dl class="cpp struct">
  5253. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6MemoryE">
  5254. <span id="_CPPv3N4bgfx6MemoryE"></span><span id="_CPPv2N4bgfx6MemoryE"></span><span id="bgfx::Memory"></span><span class="target" id="structbgfx_1_1_memory"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Memory</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6MemoryE" title="Link to this definition"></a><br /></dt>
  5255. <dd><p><a class="reference internal" href="#structbgfx_1_1_memory"><span class="std std-ref">Memory</span></a> must be obtained by calling <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1ae03255c3aa53417e25e02c6c474b5a8b"><span class="std std-ref"><span class="pre">bgfx::alloc</span></span></a></code>, <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a65184c5e73a51036ec5d85b4ab739c9c"><span class="std std-ref"><span class="pre">bgfx::copy</span></span></a></code>, or <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a4b215a49843be5ef9465caad7e2820ed"><span class="std std-ref"><span class="pre">bgfx::makeRef</span></span></a></code>. </p>
  5256. <p><dl class="simple">
  5257. <dt><strong>Attention</strong></dt><dd><p>It is illegal to create this structure on stack and pass it to any bgfx API.</p>
  5258. </dd>
  5259. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_memory_t</span></code>. </p>
  5260. </dd>
  5261. </dl>
  5262. </p>
  5263. <div class="breathe-sectiondef docutils container">
  5264. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  5265. <dl class="cpp var">
  5266. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Memory4dataE">
  5267. <span id="_CPPv3N4bgfx6Memory4dataE"></span><span id="_CPPv2N4bgfx6Memory4dataE"></span><span id="bgfx::Memory::data__uint8_tP"></span><span class="target" id="structbgfx_1_1_memory_1a074d49f89140737540e6fb377ee02859"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">data</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Memory4dataE" title="Link to this definition"></a><br /></dt>
  5268. <dd><p>Pointer to data. </p>
  5269. </dd></dl>
  5270. <dl class="cpp var">
  5271. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Memory4sizeE">
  5272. <span id="_CPPv3N4bgfx6Memory4sizeE"></span><span id="_CPPv2N4bgfx6Memory4sizeE"></span><span id="bgfx::Memory::size__uint32_t"></span><span class="target" id="structbgfx_1_1_memory_1af2daa4c1c380a5055a5adb33d5cfaa0a"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">size</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Memory4sizeE" title="Link to this definition"></a><br /></dt>
  5273. <dd><p>Data size. </p>
  5274. </dd></dl>
  5275. </div>
  5276. </dd></dl>
  5277. <dl class="cpp function">
  5278. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx5allocE8uint32_t">
  5279. <span id="_CPPv3N4bgfx5allocE8uint32_t"></span><span id="_CPPv2N4bgfx5allocE8uint32_t"></span><span id="bgfx::alloc__uint32_t"></span><span class="target" id="namespacebgfx_1ae03255c3aa53417e25e02c6c474b5a8b"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">alloc</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx5allocE8uint32_t" title="Link to this definition"></a><br /></dt>
  5280. <dd><p>Allocate buffer to pass to bgfx calls. Data will be freed inside bgfx. </p>
  5281. <p><dl class="simple">
  5282. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc</span></code>. </p>
  5283. </dd>
  5284. </dl>
  5285. </p>
  5286. <dl class="field-list simple">
  5287. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5288. <dd class="field-odd"><p><strong>_size</strong> – <strong>[in]</strong> Size to allocate.</p>
  5289. </dd>
  5290. </dl>
  5291. </dd></dl>
  5292. <dl class="cpp function">
  5293. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx4copyEPKv8uint32_t">
  5294. <span id="_CPPv3N4bgfx4copyEPKv8uint32_t"></span><span id="_CPPv2N4bgfx4copyEPKv8uint32_t"></span><span id="bgfx::copy__voidCP.uint32_t"></span><span class="target" id="namespacebgfx_1a65184c5e73a51036ec5d85b4ab739c9c"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">copy</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx4copyEPKv8uint32_t" title="Link to this definition"></a><br /></dt>
  5295. <dd><p>Allocate buffer and copy data into it. Data will be freed inside bgfx. </p>
  5296. <p><dl class="simple">
  5297. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_copy</span></code>. </p>
  5298. </dd>
  5299. </dl>
  5300. </p>
  5301. <dl class="field-list simple">
  5302. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5303. <dd class="field-odd"><ul class="simple">
  5304. <li><p><strong>_data</strong> – <strong>[in]</strong> Pointer to data to be copied. </p></li>
  5305. <li><p><strong>_size</strong> – <strong>[in]</strong> Size of data to be copied.</p></li>
  5306. </ul>
  5307. </dd>
  5308. </dl>
  5309. </dd></dl>
  5310. <dl class="cpp function">
  5311. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv">
  5312. <span id="_CPPv3N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv"></span><span id="_CPPv2N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv"></span><span id="bgfx::makeRef__voidCP.uint32_t.ReleaseFn.voidP"></span><span class="target" id="namespacebgfx_1a4b215a49843be5ef9465caad7e2820ed"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">makeRef</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span>, <span class="n"><span class="pre">ReleaseFn</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_releaseFn</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_userData</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7makeRefEPKv8uint32_t9ReleaseFnPv" title="Link to this definition"></a><br /></dt>
  5313. <dd><p>Make reference to data to pass to bgfx. Unlike <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1ae03255c3aa53417e25e02c6c474b5a8b"><span class="std std-ref"><span class="pre">bgfx::alloc</span></span></a></code>, this call doesn’t allocate memory for data. It just copies the _data pointer. You can pass <code class="docutils literal notranslate"><span class="pre">ReleaseFn</span></code> function pointer to release this memory after it’s consumed, otherwise you must make sure _data is available for at least 2 <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> calls. <code class="docutils literal notranslate"><span class="pre">ReleaseFn</span></code> function must be able to be called from any thread. </p>
  5314. <p><dl class="simple">
  5315. <dt><strong>Attention</strong></dt><dd><p>Data passed must be available for at least 2 <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code> calls. </p>
  5316. </dd>
  5317. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent bindings are <code class="docutils literal notranslate"><span class="pre">bgfx_make_ref</span></code>, <code class="docutils literal notranslate"><span class="pre">bgfx_make_ref_release</span></code>. </p>
  5318. </dd>
  5319. </dl>
  5320. </p>
  5321. <dl class="field-list simple">
  5322. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5323. <dd class="field-odd"><ul class="simple">
  5324. <li><p><strong>_data</strong> – <strong>[in]</strong> Pointer to data. </p></li>
  5325. <li><p><strong>_size</strong> – <strong>[in]</strong> Size of data. </p></li>
  5326. <li><p><strong>_releaseFn</strong> – <strong>[in]</strong> Callback function to release memory after use. </p></li>
  5327. <li><p><strong>_userData</strong> – <strong>[in]</strong> User data to be passed to callback function.</p></li>
  5328. </ul>
  5329. </dd>
  5330. </dl>
  5331. </dd></dl>
  5332. <section id="shaders-and-programs">
  5333. <h3>Shaders and Programs<a class="headerlink" href="#shaders-and-programs" title="Link to this heading"></a></h3>
  5334. <div class="admonition note">
  5335. <p class="admonition-title">Note</p>
  5336. <p>Shaders must be compiled with offline command line too shaderc.</p>
  5337. </div>
  5338. <dl class="cpp function">
  5339. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12createShaderEPK6Memory">
  5340. <span id="_CPPv3N4bgfx12createShaderEPK6Memory"></span><span id="_CPPv2N4bgfx12createShaderEPK6Memory"></span><span id="bgfx::createShader__MemoryCP"></span><span class="target" id="namespacebgfx_1af575a29f8b3e555cb1b13f01fadbeb37"></span><span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createShader</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12createShaderEPK6Memory" title="Link to this definition"></a><br /></dt>
  5341. <dd><p>Create shader from memory buffer. </p>
  5342. <p><div class="remark admonition">
  5343. <p class="admonition-title">Remark</p>
  5344. <p>Shader binary is obtained by compiling shader offline with shaderc command line tool.</p>
  5345. </div>
  5346. <dl class="simple">
  5347. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_shader</span></code>. </p>
  5348. </dd>
  5349. </dl>
  5350. </p>
  5351. <dl class="field-list simple">
  5352. <dt class="field-odd">Returns<span class="colon">:</span></dt>
  5353. <dd class="field-odd"><p>Shader handle.</p>
  5354. </dd>
  5355. </dl>
  5356. </dd></dl>
  5357. <dl class="cpp function">
  5358. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t">
  5359. <span id="_CPPv3N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t"></span><span id="_CPPv2N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t"></span><span id="bgfx::getShaderUniforms__ShaderHandle.UniformHandleP.uint16_t"></span><span class="target" id="namespacebgfx_1a2e9de394b0d4aac971efa7b7f2fa3d3e"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getShaderUniforms</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_uniforms</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_max</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17getShaderUniformsE12ShaderHandleP13UniformHandle8uint16_t" title="Link to this definition"></a><br /></dt>
  5360. <dd><p>Returns the number of uniforms and uniform handles used inside a shader. </p>
  5361. <p><div class="remark admonition">
  5362. <p class="admonition-title">Remark</p>
  5363. <p>Only non-predefined uniforms are returned.</p>
  5364. </div>
  5365. <dl class="simple">
  5366. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_shader_uniforms</span></code>. </p>
  5367. </dd>
  5368. </dl>
  5369. </p>
  5370. <dl class="field-list simple">
  5371. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5372. <dd class="field-odd"><ul class="simple">
  5373. <li><p><strong>_handle</strong> – <strong>[in]</strong> Shader handle. </p></li>
  5374. <li><p><strong>_uniforms</strong> – <strong>[in]</strong> UniformHandle array where data will be stored. </p></li>
  5375. <li><p><strong>_max</strong> – <strong>[in]</strong> Maximum capacity of array. </p></li>
  5376. </ul>
  5377. </dd>
  5378. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5379. <dd class="field-even"><p>Number of uniforms used by shader.</p>
  5380. </dd>
  5381. </dl>
  5382. </dd></dl>
  5383. <dl class="cpp function">
  5384. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE12ShaderHandle">
  5385. <span id="_CPPv3N4bgfx7destroyE12ShaderHandle"></span><span id="_CPPv2N4bgfx7destroyE12ShaderHandle"></span><span id="bgfx::destroy__ShaderHandle"></span><span class="target" id="namespacebgfx_1aee6eab22226f936cc82291b261792597"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE12ShaderHandle" title="Link to this definition"></a><br /></dt>
  5386. <dd><p>Destroy shader. Once a shader program is created with _handle, it is safe to destroy that shader. </p>
  5387. <p><dl class="simple">
  5388. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_shader</span></code>. </p>
  5389. </dd>
  5390. </dl>
  5391. </p>
  5392. <dl class="field-list simple">
  5393. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5394. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Shader handle.</p>
  5395. </dd>
  5396. </dl>
  5397. </dd></dl>
  5398. <dl class="cpp function">
  5399. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13createProgramE12ShaderHandle12ShaderHandleb">
  5400. <span id="_CPPv3N4bgfx13createProgramE12ShaderHandle12ShaderHandleb"></span><span id="_CPPv2N4bgfx13createProgramE12ShaderHandle12ShaderHandleb"></span><span id="bgfx::createProgram__ShaderHandle.ShaderHandle.b"></span><span class="target" id="namespacebgfx_1a5b3bafcd7948f54136c7b731236e3b7a"></span><span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createProgram</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_vsh</span></span>, <span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_fsh</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_destroyShaders</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createProgramE12ShaderHandle12ShaderHandleb" title="Link to this definition"></a><br /></dt>
  5401. <dd><p>Create program with vertex and fragment shaders. </p>
  5402. <p><dl class="simple">
  5403. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_program</span></code>. </p>
  5404. </dd>
  5405. </dl>
  5406. </p>
  5407. <dl class="field-list simple">
  5408. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5409. <dd class="field-odd"><ul class="simple">
  5410. <li><p><strong>_vsh</strong> – <strong>[in]</strong> Vertex shader. </p></li>
  5411. <li><p><strong>_fsh</strong> – <strong>[in]</strong> Fragment shader. </p></li>
  5412. <li><p><strong>_destroyShaders</strong> – <strong>[in]</strong> If true, shaders will be destroyed when program is destroyed. </p></li>
  5413. </ul>
  5414. </dd>
  5415. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5416. <dd class="field-even"><p>Program handle if vertex shader output and fragment shader input are matching, otherwise returns invalid program handle.</p>
  5417. </dd>
  5418. </dl>
  5419. </dd></dl>
  5420. <dl class="cpp function">
  5421. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13createProgramE12ShaderHandleb">
  5422. <span id="_CPPv3N4bgfx13createProgramE12ShaderHandleb"></span><span id="_CPPv2N4bgfx13createProgramE12ShaderHandleb"></span><span id="bgfx::createProgram__ShaderHandle.b"></span><span class="target" id="namespacebgfx_1aca7241539155409a3aaa0f81e2a9c7ff"></span><span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createProgram</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ShaderHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_csh</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_destroyShader</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createProgramE12ShaderHandleb" title="Link to this definition"></a><br /></dt>
  5423. <dd><p>Create program with compute shader. </p>
  5424. <p><dl class="simple">
  5425. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_compute_program</span></code>. </p>
  5426. </dd>
  5427. </dl>
  5428. </p>
  5429. <dl class="field-list simple">
  5430. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5431. <dd class="field-odd"><ul class="simple">
  5432. <li><p><strong>_csh</strong> – <strong>[in]</strong> Compute shader. </p></li>
  5433. <li><p><strong>_destroyShader</strong> – <strong>[in]</strong> If true, shader will be destroyed when program is destroyed. </p></li>
  5434. </ul>
  5435. </dd>
  5436. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5437. <dd class="field-even"><p>Program handle.</p>
  5438. </dd>
  5439. </dl>
  5440. </dd></dl>
  5441. <dl class="cpp function">
  5442. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE13ProgramHandle">
  5443. <span id="_CPPv3N4bgfx7destroyE13ProgramHandle"></span><span id="_CPPv2N4bgfx7destroyE13ProgramHandle"></span><span id="bgfx::destroy__ProgramHandle"></span><span class="target" id="namespacebgfx_1a2b851eb71165e274b9a3d83388e45ed0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ProgramHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE13ProgramHandle" title="Link to this definition"></a><br /></dt>
  5444. <dd><p>Destroy program. </p>
  5445. <p><dl class="simple">
  5446. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_program</span></code>. </p>
  5447. </dd>
  5448. </dl>
  5449. </p>
  5450. <dl class="field-list simple">
  5451. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5452. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Program handle.</p>
  5453. </dd>
  5454. </dl>
  5455. </dd></dl>
  5456. </section>
  5457. <section id="id5">
  5458. <h3>Uniforms<a class="headerlink" href="#id5" title="Link to this heading"></a></h3>
  5459. <dl class="cpp struct">
  5460. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformTypeE">
  5461. <span id="_CPPv3N4bgfx11UniformTypeE"></span><span id="_CPPv2N4bgfx11UniformTypeE"></span><span id="bgfx::UniformType"></span><span class="target" id="structbgfx_1_1_uniform_type"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">UniformType</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformTypeE" title="Link to this definition"></a><br /></dt>
  5462. <dd><p>Uniform type enum. </p>
  5463. <p><dl class="simple">
  5464. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_uniform_type_t</span></code>. </p>
  5465. </dd>
  5466. </dl>
  5467. </p>
  5468. <div class="breathe-sectiondef docutils container">
  5469. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  5470. <dl class="cpp enum">
  5471. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4EnumE">
  5472. <span id="_CPPv3N4bgfx11UniformType4EnumE"></span><span id="_CPPv2N4bgfx11UniformType4EnumE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4EnumE" title="Link to this definition"></a><br /></dt>
  5473. <dd><p>Uniform types: </p>
  5474. <p><em>Values:</em></p>
  5475. <dl class="cpp enumerator">
  5476. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4Enum7SamplerE">
  5477. <span id="_CPPv3N4bgfx11UniformType4Enum7SamplerE"></span><span id="_CPPv2N4bgfx11UniformType4Enum7SamplerE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79ace9711112b33ae973d0c3fa9c2e14c2e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Sampler</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum7SamplerE" title="Link to this definition"></a><br /></dt>
  5478. <dd><p>Sampler. </p>
  5479. </dd></dl>
  5480. <dl class="cpp enumerator">
  5481. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4Enum3EndE">
  5482. <span id="_CPPv3N4bgfx11UniformType4Enum3EndE"></span><span id="_CPPv2N4bgfx11UniformType4Enum3EndE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79af032fc38d9876bbc4f4609116ced94c9"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">End</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum3EndE" title="Link to this definition"></a><br /></dt>
  5483. <dd><p>Reserved, do not use. </p>
  5484. </dd></dl>
  5485. <dl class="cpp enumerator">
  5486. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4Enum4Vec4E">
  5487. <span id="_CPPv3N4bgfx11UniformType4Enum4Vec4E"></span><span id="_CPPv2N4bgfx11UniformType4Enum4Vec4E"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79ad3a487a974362da30ed861d5e60134dd"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Vec4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum4Vec4E" title="Link to this definition"></a><br /></dt>
  5488. <dd><p>4 floats vector. </p>
  5489. </dd></dl>
  5490. <dl class="cpp enumerator">
  5491. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4Enum4Mat3E">
  5492. <span id="_CPPv3N4bgfx11UniformType4Enum4Mat3E"></span><span id="_CPPv2N4bgfx11UniformType4Enum4Mat3E"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79a4912934f4e16efd08a14a396fed267f2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Mat3</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum4Mat3E" title="Link to this definition"></a><br /></dt>
  5493. <dd><p>3x3 matrix. </p>
  5494. </dd></dl>
  5495. <dl class="cpp enumerator">
  5496. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4Enum4Mat4E">
  5497. <span id="_CPPv3N4bgfx11UniformType4Enum4Mat4E"></span><span id="_CPPv2N4bgfx11UniformType4Enum4Mat4E"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79ac875f375dfc3adf73780a4114c6cc851"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Mat4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum4Mat4E" title="Link to this definition"></a><br /></dt>
  5498. <dd><p>4x4 matrix. </p>
  5499. </dd></dl>
  5500. <dl class="cpp enumerator">
  5501. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformType4Enum5CountE">
  5502. <span id="_CPPv3N4bgfx11UniformType4Enum5CountE"></span><span id="_CPPv2N4bgfx11UniformType4Enum5CountE"></span><span class="target" id="structbgfx_1_1_uniform_type_1a50bf3685e07ddb0cbcf34b4a2e134c79aa7cf5e8e3c979dcb60476fe4dc891dd1"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformType4Enum5CountE" title="Link to this definition"></a><br /></dt>
  5503. <dd></dd></dl>
  5504. </dd></dl>
  5505. </div>
  5506. </dd></dl>
  5507. <dl class="cpp function">
  5508. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t">
  5509. <span id="_CPPv3N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t"></span><span id="_CPPv2N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t"></span><span id="bgfx::createUniform__cCP.UniformType::Enum.uint16_t"></span><span class="target" id="namespacebgfx_1a45614b96172b438fd644c858e2c434b2"></span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createUniform</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx11UniformTypeE" title="bgfx::UniformType"><span class="n"><span class="pre">UniformType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx11UniformType4EnumE" title="bgfx::UniformType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_type</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createUniformEPKcN11UniformType4EnumE8uint16_t" title="Link to this definition"></a><br /></dt>
  5510. <dd><p>Create shader uniform parameter. </p>
  5511. <p><ul class="simple">
  5512. <li><p><code class="docutils literal notranslate"><span class="pre">u_modelViewProj</span> <span class="pre">mat4</span></code> - concatenated model view projection matrix.<ul>
  5513. <li><p><code class="docutils literal notranslate"><span class="pre">u_alphaRef</span> <span class="pre">float</span></code> - alpha reference value for alpha test.</p></li>
  5514. </ul>
  5515. </p></li>
  5516. </ul>
  5517. <div class="remark admonition">
  5518. <p class="admonition-title">Remark</p>
  5519. <p><ol class="loweralpha simple">
  5520. <li><p>Uniform names are unique. It’s valid to call <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a45614b96172b438fd644c858e2c434b2"><span class="std std-ref"><span class="pre">bgfx::createUniform</span></span></a></code> multiple times with the same uniform name. The library will always return the same handle, but the handle reference count will be incremented. This means that the same number of <code class="docutils literal notranslate"><span class="pre">bgfx::destroyUniform</span></code> must be called to properly destroy the uniform.</p></li>
  5521. <li><p>Predefined uniforms (declared in <code class="docutils literal notranslate"><span class="pre">bgfx_shader.sh</span></code>):<ul class="simple">
  5522. <li><p><code class="docutils literal notranslate"><span class="pre">u_viewRect</span> <span class="pre">vec4(x,</span> <span class="pre">y,</span> <span class="pre">width,</span> <span class="pre">height)</span></code> - view rectangle for current view, in pixels.</p></li>
  5523. <li><p><code class="docutils literal notranslate"><span class="pre">u_viewTexel</span> <span class="pre">vec4(1.0/width,</span> <span class="pre">1.0/height,</span> <span class="pre">undef,</span> <span class="pre">undef)</span></code> - inverse width and height</p></li>
  5524. <li><p><code class="docutils literal notranslate"><span class="pre">u_view</span> <span class="pre">mat4</span></code> - view matrix</p></li>
  5525. <li><p><code class="docutils literal notranslate"><span class="pre">u_invView</span> <span class="pre">mat4</span></code> - inverted view matrix</p></li>
  5526. <li><p><code class="docutils literal notranslate"><span class="pre">u_proj</span> <span class="pre">mat4</span></code> - projection matrix</p></li>
  5527. <li><p><code class="docutils literal notranslate"><span class="pre">u_invProj</span> <span class="pre">mat4</span></code> - inverted projection matrix</p></li>
  5528. <li><p><code class="docutils literal notranslate"><span class="pre">u_viewProj</span> <span class="pre">mat4</span></code> - concatenated view projection matrix</p></li>
  5529. <li><p><code class="docutils literal notranslate"><span class="pre">u_invViewProj</span> <span class="pre">mat4</span></code> - concatenated inverted view projection matrix</p></li>
  5530. <li><p><code class="docutils literal notranslate"><span class="pre">u_model</span> <span class="pre">mat4[BGFX_CONFIG_MAX_BONES]</span></code> - array of model matrices.</p></li>
  5531. <li><p><code class="docutils literal notranslate"><span class="pre">u_modelView</span> <span class="pre">mat4</span></code> - concatenated model view matrix, only first model matrix from array is used.</p></li>
  5532. </ul>
  5533. </p></li>
  5534. </ol>
  5535. </p>
  5536. </div>
  5537. </p>
  5538. <p><dl class="simple">
  5539. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_uniform</span></code>. </p>
  5540. </dd>
  5541. </dl>
  5542. </p>
  5543. <dl class="field-list simple">
  5544. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5545. <dd class="field-odd"><ul class="simple">
  5546. <li><p><strong>_name</strong> – <strong>[in]</strong> Uniform name in shader. </p></li>
  5547. <li><p><strong>_type</strong> – <strong>[in]</strong> Type of uniform (See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_uniform_type"><span class="std std-ref"><span class="pre">bgfx::UniformType</span></span></a></code>). </p></li>
  5548. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements in array.</p></li>
  5549. </ul>
  5550. </dd>
  5551. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5552. <dd class="field-even"><p>Handle to uniform object.</p>
  5553. </dd>
  5554. </dl>
  5555. </dd></dl>
  5556. <dl class="cpp struct">
  5557. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformFreqE">
  5558. <span id="_CPPv3N4bgfx11UniformFreqE"></span><span id="_CPPv2N4bgfx11UniformFreqE"></span><span id="bgfx::UniformFreq"></span><span class="target" id="structbgfx_1_1_uniform_freq"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">UniformFreq</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformFreqE" title="Link to this definition"></a><br /></dt>
  5559. <dd><p>Uniform frequency enum. </p>
  5560. <p><dl class="simple">
  5561. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_bgfx_uniform_freq_t</span></code>. </p>
  5562. </dd>
  5563. </dl>
  5564. </p>
  5565. <div class="breathe-sectiondef docutils container">
  5566. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  5567. <dl class="cpp enum">
  5568. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformFreq4EnumE">
  5569. <span id="_CPPv3N4bgfx11UniformFreq4EnumE"></span><span id="_CPPv2N4bgfx11UniformFreq4EnumE"></span><span class="target" id="structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformFreq4EnumE" title="Link to this definition"></a><br /></dt>
  5570. <dd><p>Uniform frequency: </p>
  5571. <p><em>Values:</em></p>
  5572. <dl class="cpp enumerator">
  5573. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformFreq4Enum4DrawE">
  5574. <span id="_CPPv3N4bgfx11UniformFreq4Enum4DrawE"></span><span id="_CPPv2N4bgfx11UniformFreq4Enum4DrawE"></span><span class="target" id="structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949a62ed5446610d6169cc43f0cb4fa6c513"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Draw</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformFreq4Enum4DrawE" title="Link to this definition"></a><br /></dt>
  5575. <dd><p>Changing per draw call. </p>
  5576. </dd></dl>
  5577. <dl class="cpp enumerator">
  5578. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformFreq4Enum4ViewE">
  5579. <span id="_CPPv3N4bgfx11UniformFreq4Enum4ViewE"></span><span id="_CPPv2N4bgfx11UniformFreq4Enum4ViewE"></span><span class="target" id="structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949a74de3d4c104a81e07c7b3dafc618ee52"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">View</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformFreq4Enum4ViewE" title="Link to this definition"></a><br /></dt>
  5580. <dd><p>Changing per view. </p>
  5581. </dd></dl>
  5582. <dl class="cpp enumerator">
  5583. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformFreq4Enum5FrameE">
  5584. <span id="_CPPv3N4bgfx11UniformFreq4Enum5FrameE"></span><span id="_CPPv2N4bgfx11UniformFreq4Enum5FrameE"></span><span class="target" id="structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949ad4f13c15747b7025a9ee8d270549aefc"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Frame</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformFreq4Enum5FrameE" title="Link to this definition"></a><br /></dt>
  5585. <dd><p>Changing per frame. </p>
  5586. </dd></dl>
  5587. <dl class="cpp enumerator">
  5588. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformFreq4Enum5CountE">
  5589. <span id="_CPPv3N4bgfx11UniformFreq4Enum5CountE"></span><span id="_CPPv2N4bgfx11UniformFreq4Enum5CountE"></span><span class="target" id="structbgfx_1_1_uniform_freq_1af7954f9776a0230250b239b6c11c9949af107c612985acad59491315c1d97f44d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformFreq4Enum5CountE" title="Link to this definition"></a><br /></dt>
  5590. <dd></dd></dl>
  5591. </dd></dl>
  5592. </div>
  5593. </dd></dl>
  5594. <dl class="cpp function">
  5595. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13createUniformEPKcN11UniformFreq4EnumEN11UniformType4EnumE8uint16_t">
  5596. <span id="_CPPv3N4bgfx13createUniformEPKcN11UniformFreq4EnumEN11UniformType4EnumE8uint16_t"></span><span id="_CPPv2N4bgfx13createUniformEPKcN11UniformFreq4EnumEN11UniformType4EnumE8uint16_t"></span><span id="bgfx::createUniform__cCP.UniformFreq::Enum.UniformType::Enum.uint16_t"></span><span class="target" id="namespacebgfx_1a876197db6d0f431b608829eaa5e7908a"></span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createUniform</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx11UniformFreqE" title="bgfx::UniformFreq"><span class="n"><span class="pre">UniformFreq</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx11UniformFreq4EnumE" title="bgfx::UniformFreq::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_freq</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx11UniformTypeE" title="bgfx::UniformType"><span class="n"><span class="pre">UniformType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx11UniformType4EnumE" title="bgfx::UniformType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_type</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createUniformEPKcN11UniformFreq4EnumEN11UniformType4EnumE8uint16_t" title="Link to this definition"></a><br /></dt>
  5597. <dd><p>Create shader uniform parameter. </p>
  5598. <p><div class="remark admonition">
  5599. <p class="admonition-title">Remark</p>
  5600. <p><ol class="loweralpha simple">
  5601. <li><p>Uniform names are unique. It’s valid to call <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a45614b96172b438fd644c858e2c434b2"><span class="std std-ref"><span class="pre">bgfx::createUniform</span></span></a></code> multiple times with the same uniform name. The library will always return the same handle, but the handle reference count will be incremented. This means that the same number of <code class="docutils literal notranslate"><span class="pre">bgfx::destroyUniform</span></code> must be called to properly destroy the uniform.</p></li>
  5602. <li><p>Predefined uniforms (declared in <code class="docutils literal notranslate"><span class="pre">bgfx_shader.sh</span></code>):<ul class="simple">
  5603. <li><p><code class="docutils literal notranslate"><span class="pre">u_viewRect</span> <span class="pre">vec4(x,</span> <span class="pre">y,</span> <span class="pre">width,</span> <span class="pre">height)</span></code> - view rectangle for current view, in pixels.</p></li>
  5604. <li><p><code class="docutils literal notranslate"><span class="pre">u_viewTexel</span> <span class="pre">vec4(1.0/width,</span> <span class="pre">1.0/height,</span> <span class="pre">undef,</span> <span class="pre">undef)</span></code> - inverse width and height</p></li>
  5605. <li><p><code class="docutils literal notranslate"><span class="pre">u_view</span> <span class="pre">mat4</span></code> - view matrix</p></li>
  5606. <li><p><code class="docutils literal notranslate"><span class="pre">u_invView</span> <span class="pre">mat4</span></code> - inverted view matrix</p></li>
  5607. <li><p><code class="docutils literal notranslate"><span class="pre">u_proj</span> <span class="pre">mat4</span></code> - projection matrix</p></li>
  5608. <li><p><code class="docutils literal notranslate"><span class="pre">u_invProj</span> <span class="pre">mat4</span></code> - inverted projection matrix</p></li>
  5609. <li><p><code class="docutils literal notranslate"><span class="pre">u_viewProj</span> <span class="pre">mat4</span></code> - concatenated view projection matrix</p></li>
  5610. <li><p><code class="docutils literal notranslate"><span class="pre">u_invViewProj</span> <span class="pre">mat4</span></code> - concatenated inverted view projection matrix</p></li>
  5611. <li><p><code class="docutils literal notranslate"><span class="pre">u_model</span> <span class="pre">mat4[BGFX_CONFIG_MAX_BONES]</span></code> - array of model matrices.</p></li>
  5612. <li><p><code class="docutils literal notranslate"><span class="pre">u_modelView</span> <span class="pre">mat4</span></code> - concatenated model view matrix, only first model matrix from array is used.</p></li>
  5613. <li><p><code class="docutils literal notranslate"><span class="pre">u_invModelView</span> <span class="pre">mat4</span></code> - inverted concatenated model view matrix.</p></li>
  5614. <li><p><code class="docutils literal notranslate"><span class="pre">u_modelViewProj</span> <span class="pre">mat4</span></code> - concatenated model view projection matrix.</p></li>
  5615. <li><p><code class="docutils literal notranslate"><span class="pre">u_alphaRef</span> <span class="pre">float</span></code> - alpha reference value for alpha test.</p></li>
  5616. </ul>
  5617. </p></li>
  5618. </ol>
  5619. </p>
  5620. </div>
  5621. <dl class="simple">
  5622. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_uniform_with_freq</span></code>. </p>
  5623. </dd>
  5624. </dl>
  5625. </p>
  5626. <dl class="field-list simple">
  5627. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5628. <dd class="field-odd"><ul class="simple">
  5629. <li><p><strong>_name</strong> – <strong>[in]</strong> Uniform name in shader. </p></li>
  5630. <li><p><strong>_freq</strong> – <strong>[in]</strong> Uniform change frequency (See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_uniform_freq"><span class="std std-ref"><span class="pre">bgfx::UniformFreq</span></span></a></code>). </p></li>
  5631. <li><p><strong>_type</strong> – <strong>[in]</strong> Type of uniform (See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_uniform_type"><span class="std std-ref"><span class="pre">bgfx::UniformType</span></span></a></code>). </p></li>
  5632. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements in array.</p></li>
  5633. </ul>
  5634. </dd>
  5635. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5636. <dd class="field-even"><p>Handle to uniform object.</p>
  5637. </dd>
  5638. </dl>
  5639. </dd></dl>
  5640. <dl class="cpp struct">
  5641. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformInfoE">
  5642. <span id="_CPPv3N4bgfx11UniformInfoE"></span><span id="_CPPv2N4bgfx11UniformInfoE"></span><span id="bgfx::UniformInfo"></span><span class="target" id="structbgfx_1_1_uniform_info"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">UniformInfo</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfoE" title="Link to this definition"></a><br /></dt>
  5643. <dd><p>Uniform info. </p>
  5644. <p><dl class="simple">
  5645. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_uniform_info_t</span></code>. </p>
  5646. </dd>
  5647. </dl>
  5648. </p>
  5649. <div class="breathe-sectiondef docutils container">
  5650. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  5651. <dl class="cpp var">
  5652. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformInfo4nameE">
  5653. <span id="_CPPv3N4bgfx11UniformInfo4nameE"></span><span id="_CPPv2N4bgfx11UniformInfo4nameE"></span><span id="bgfx::UniformInfo::name__cA"></span><span class="target" id="structbgfx_1_1_uniform_info_1a31297c5b74a406c6a3aeb992524076ad"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">256</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfo4nameE" title="Link to this definition"></a><br /></dt>
  5654. <dd><p>Uniform name. </p>
  5655. </dd></dl>
  5656. <dl class="cpp var">
  5657. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformInfo4typeE">
  5658. <span id="_CPPv3N4bgfx11UniformInfo4typeE"></span><span id="_CPPv2N4bgfx11UniformInfo4typeE"></span><span id="bgfx::UniformInfo::type__UniformType::Enum"></span><span class="target" id="structbgfx_1_1_uniform_info_1a0f485153be537102d0350111bb58efbd"></span><a class="reference internal" href="#_CPPv4N4bgfx11UniformTypeE" title="bgfx::UniformType"><span class="n"><span class="pre">UniformType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx11UniformType4EnumE" title="bgfx::UniformType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">type</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfo4typeE" title="Link to this definition"></a><br /></dt>
  5659. <dd><p>Uniform type. </p>
  5660. </dd></dl>
  5661. <dl class="cpp var">
  5662. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11UniformInfo3numE">
  5663. <span id="_CPPv3N4bgfx11UniformInfo3numE"></span><span id="_CPPv2N4bgfx11UniformInfo3numE"></span><span id="bgfx::UniformInfo::num__uint16_t"></span><span class="target" id="structbgfx_1_1_uniform_info_1acab624b397b0c788e6bd011f92823e88"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">num</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11UniformInfo3numE" title="Link to this definition"></a><br /></dt>
  5664. <dd><p>Number of elements in array. </p>
  5665. </dd></dl>
  5666. </div>
  5667. </dd></dl>
  5668. <dl class="cpp function">
  5669. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo">
  5670. <span id="_CPPv3N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo"></span><span id="_CPPv2N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo"></span><span id="bgfx::getUniformInfo__UniformHandle.UniformInfoR"></span><span class="target" id="namespacebgfx_1aa57213d4971e397983c217ee97326e37"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getUniformInfo</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx11UniformInfoE" title="bgfx::UniformInfo"><span class="n"><span class="pre">UniformInfo</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_info</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14getUniformInfoE13UniformHandleR11UniformInfo" title="Link to this definition"></a><br /></dt>
  5671. <dd><p>Retrieve uniform info. </p>
  5672. <p><dl class="simple">
  5673. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_uniform_info</span></code>. </p>
  5674. </dd>
  5675. </dl>
  5676. </p>
  5677. <dl class="field-list simple">
  5678. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5679. <dd class="field-odd"><ul class="simple">
  5680. <li><p><strong>_handle</strong> – <strong>[in]</strong> Handle to uniform object. </p></li>
  5681. <li><p><strong>_info</strong> – <strong>[out]</strong> Uniform info.</p></li>
  5682. </ul>
  5683. </dd>
  5684. </dl>
  5685. </dd></dl>
  5686. <dl class="cpp function">
  5687. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE13UniformHandle">
  5688. <span id="_CPPv3N4bgfx7destroyE13UniformHandle"></span><span id="_CPPv2N4bgfx7destroyE13UniformHandle"></span><span id="bgfx::destroy__UniformHandle"></span><span class="target" id="namespacebgfx_1a3758fba789e327a1f3b02f887a95052b"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">UniformHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE13UniformHandle" title="Link to this definition"></a><br /></dt>
  5689. <dd><p>Destroy shader uniform parameter. </p>
  5690. <p><dl class="simple">
  5691. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_uniform</span></code>. </p>
  5692. </dd>
  5693. </dl>
  5694. </p>
  5695. <dl class="field-list simple">
  5696. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5697. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Handle to uniform object.</p>
  5698. </dd>
  5699. </dl>
  5700. </dd></dl>
  5701. </section>
  5702. <section id="vertex-buffers">
  5703. <h3>Vertex Buffers<a class="headerlink" href="#vertex-buffers" title="Link to this heading"></a></h3>
  5704. <dl class="cpp function">
  5705. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18createVertexLayoutERK12VertexLayout">
  5706. <span id="_CPPv3N4bgfx18createVertexLayoutERK12VertexLayout"></span><span id="_CPPv2N4bgfx18createVertexLayoutERK12VertexLayout"></span><span id="bgfx::createVertexLayout__VertexLayoutCR"></span><span class="target" id="namespacebgfx_1a72d2f7b66a243675ac264ec16aae514e"></span><span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createVertexLayout</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18createVertexLayoutERK12VertexLayout" title="Link to this definition"></a><br /></dt>
  5707. <dd><p>Create vertex layout. </p>
  5708. <p><dl class="simple">
  5709. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_vertex_layout</span></code>. </p>
  5710. </dd>
  5711. </dl>
  5712. </p>
  5713. </dd></dl>
  5714. <dl class="cpp function">
  5715. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE18VertexLayoutHandle">
  5716. <span id="_CPPv3N4bgfx7destroyE18VertexLayoutHandle"></span><span id="_CPPv2N4bgfx7destroyE18VertexLayoutHandle"></span><span id="bgfx::destroy__VertexLayoutHandle"></span><span class="target" id="namespacebgfx_1a56766b21d7adc66ea907d29f8a6300f0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">VertexLayoutHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE18VertexLayoutHandle" title="Link to this definition"></a><br /></dt>
  5717. <dd><p>Destroy vertex layout. </p>
  5718. <p><dl class="simple">
  5719. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_vertex_layout</span></code>. </p>
  5720. </dd>
  5721. </dl>
  5722. </p>
  5723. </dd></dl>
  5724. <dl class="cpp function">
  5725. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t">
  5726. <span id="_CPPv3N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="_CPPv2N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="bgfx::createVertexBuffer__MemoryCP.VertexLayoutCR.uint16_t"></span><span class="target" id="namespacebgfx_1ae1bcdc7c5de06d95b484e85e5b294859"></span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_BUFFER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18createVertexBufferEPK6MemoryRK12VertexLayout8uint16_t" title="Link to this definition"></a><br /></dt>
  5727. <dd><p>Create static vertex buffer. </p>
  5728. <p><dl class="simple">
  5729. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_vertex_buffer</span></code>. </p>
  5730. </dd>
  5731. </dl>
  5732. </p>
  5733. <dl class="field-list simple">
  5734. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5735. <dd class="field-odd"><ul class="simple">
  5736. <li><p><strong>_mem</strong> – <strong>[in]</strong> Vertex buffer data. </p></li>
  5737. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex layout. </p></li>
  5738. <li><p><strong>_flags</strong> – <strong>[in]</strong> Buffer creation flags.<ul>
  5739. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
  5740. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
  5741. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
  5742. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
  5743. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
  5744. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
  5745. </ul>
  5746. </p></li>
  5747. </ul>
  5748. </dd>
  5749. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5750. <dd class="field-even"><p>Static vertex buffer handle.</p>
  5751. </dd>
  5752. </dl>
  5753. </dd></dl>
  5754. <dl class="cpp function">
  5755. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7setNameE18VertexBufferHandlePKc7int32_t">
  5756. <span id="_CPPv3N4bgfx7setNameE18VertexBufferHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE18VertexBufferHandlePKc7int32_t"></span><span id="bgfx::setName__VertexBufferHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a5772f1aa8ef386f46e185b8f6c4d0ee5"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE18VertexBufferHandlePKc7int32_t" title="Link to this definition"></a><br /></dt>
  5757. <dd><p>Set static vertex buffer debug name. </p>
  5758. <p><dl class="simple">
  5759. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_vertex_buffer_name</span></code>. </p>
  5760. </dd>
  5761. </dl>
  5762. </p>
  5763. <dl class="field-list simple">
  5764. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5765. <dd class="field-odd"><ul class="simple">
  5766. <li><p><strong>_handle</strong> – <strong>[in]</strong> Static vertex buffer handle. </p></li>
  5767. <li><p><strong>_name</strong> – <strong>[in]</strong> Static vertex buffer name. </p></li>
  5768. <li><p><strong>_len</strong> – <strong>[in]</strong> Static vertex buffer name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  5769. </ul>
  5770. </dd>
  5771. </dl>
  5772. </dd></dl>
  5773. <dl class="cpp function">
  5774. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE18VertexBufferHandle">
  5775. <span id="_CPPv3N4bgfx7destroyE18VertexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE18VertexBufferHandle"></span><span id="bgfx::destroy__VertexBufferHandle"></span><span class="target" id="namespacebgfx_1aca9e51180be7d3e391cc8601e443e9ea"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">VertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE18VertexBufferHandle" title="Link to this definition"></a><br /></dt>
  5776. <dd><p>Destroy static vertex buffer. </p>
  5777. <p><dl class="simple">
  5778. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_vertex_buffer</span></code>. </p>
  5779. </dd>
  5780. </dl>
  5781. </p>
  5782. <dl class="field-list simple">
  5783. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5784. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Static vertex buffer handle.</p>
  5785. </dd>
  5786. </dl>
  5787. </dd></dl>
  5788. <dl class="cpp struct">
  5789. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayoutE">
  5790. <span id="_CPPv3N4bgfx12VertexLayoutE"></span><span id="_CPPv2N4bgfx12VertexLayoutE"></span><span id="bgfx::VertexLayout"></span><span class="target" id="structbgfx_1_1_vertex_layout"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">VertexLayout</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayoutE" title="Link to this definition"></a><br /></dt>
  5791. <dd><p>Vertex layout. </p>
  5792. <p><dl class="simple">
  5793. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_t</span></code>. </p>
  5794. </dd>
  5795. </dl>
  5796. </p>
  5797. <div class="breathe-sectiondef docutils container">
  5798. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
  5799. <dl class="cpp function">
  5800. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout5beginEN12RendererType4EnumE">
  5801. <span id="_CPPv3N4bgfx12VertexLayout5beginEN12RendererType4EnumE"></span><span id="_CPPv2N4bgfx12VertexLayout5beginEN12RendererType4EnumE"></span><span id="bgfx::VertexLayout::begin__RendererType::Enum"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a9b8ad37cb29df22a3323249ff16ad7be"></span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">begin</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType"><span class="n"><span class="pre">RendererType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererType4EnumE" title="bgfx::RendererType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_renderer</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12RendererTypeE" title="bgfx::RendererType"><span class="n"><span class="pre">RendererType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx12RendererType4Enum4NoopE" title="bgfx::RendererType::Noop"><span class="n"><span class="pre">Noop</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout5beginEN12RendererType4EnumE" title="Link to this definition"></a><br /></dt>
  5802. <dd><p>Start <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a>. </p>
  5803. <p><dl class="simple">
  5804. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_begin</span></code>. </p>
  5805. </dd>
  5806. </dl>
  5807. </p>
  5808. <dl class="field-list simple">
  5809. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5810. <dd class="field-odd"><p><strong>_renderer</strong> – <strong>[in]</strong> Renderer backend type. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_renderer_type"><span class="std std-ref"><span class="pre">bgfx::RendererType</span></span></a></code></p>
  5811. </dd>
  5812. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5813. <dd class="field-even"><p>Returns itself.</p>
  5814. </dd>
  5815. </dl>
  5816. </dd></dl>
  5817. <dl class="cpp function">
  5818. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout3endEv">
  5819. <span id="_CPPv3N4bgfx12VertexLayout3endEv"></span><span id="_CPPv2N4bgfx12VertexLayout3endEv"></span><span id="bgfx::VertexLayout::end"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a65d865c726182c68165c507316a48772"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">end</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout3endEv" title="Link to this definition"></a><br /></dt>
  5820. <dd><p>End <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a>. </p>
  5821. <p><dl class="simple">
  5822. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_end</span></code>. </p>
  5823. </dd>
  5824. </dl>
  5825. </p>
  5826. </dd></dl>
  5827. <dl class="cpp function">
  5828. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb">
  5829. <span id="_CPPv3N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb"></span><span id="_CPPv2N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb"></span><span id="bgfx::VertexLayout::add__Attrib::Enum.uint8_t.AttribType::Enum.b.b"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a3037152cd96c7a40e554a1d8410d4cd7"></span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">add</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_attrib</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx10AttribTypeE" title="bgfx::AttribType"><span class="n"><span class="pre">AttribType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx10AttribType4EnumE" title="bgfx::AttribType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_type</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_normalized</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_asInt</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout3addEN6Attrib4EnumE7uint8_tN10AttribType4EnumEbb" title="Link to this definition"></a><br /></dt>
  5830. <dd><p>Add attribute to <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a>. </p>
  5831. <p><div class="remark admonition">
  5832. <p class="admonition-title">Remark</p>
  5833. <p>Must be called between begin/end.</p>
  5834. </div>
  5835. <dl class="simple">
  5836. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_add</span></code>. </p>
  5837. </dd>
  5838. </dl>
  5839. </p>
  5840. <dl class="field-list simple">
  5841. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5842. <dd class="field-odd"><ul class="simple">
  5843. <li><p><strong>_attrib</strong> – <strong>[in]</strong> Attribute semantics. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attrib"><span class="std std-ref"><span class="pre">bgfx::Attrib</span></span></a></code></p></li>
  5844. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of elements 1, 2, 3 or 4. </p></li>
  5845. <li><p><strong>_type</strong> – <strong>[in]</strong> Element type. </p></li>
  5846. <li><p><strong>_normalized</strong> – <strong>[in]</strong> When using fixed point <a class="reference internal" href="#structbgfx_1_1_attrib_type"><span class="std std-ref">AttribType</span></a> (f.e. Uint8) value will be normalized for vertex shader usage. When normalized is set to true, <a class="reference internal" href="#structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a68937a9abcfa9556980f9e127e234748"><span class="std std-ref">AttribType::Uint8</span></a> value in range 0-255 will be in range 0.0-1.0 in vertex shader. </p></li>
  5847. <li><p><strong>_asInt</strong> – <strong>[in]</strong> Packaging rule for vertexPack, vertexUnpack, and vertexConvert for <a class="reference internal" href="#structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a68937a9abcfa9556980f9e127e234748"><span class="std std-ref">AttribType::Uint8</span></a> and <a class="reference internal" href="#structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ae0cd559664652e9d0086ea4316280f1b"><span class="std std-ref">AttribType::Int16</span></a>. Unpacking code must be implemented inside vertex shader. </p></li>
  5848. </ul>
  5849. </dd>
  5850. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5851. <dd class="field-even"><p>Returns itself.</p>
  5852. </dd>
  5853. </dl>
  5854. </dd></dl>
  5855. <dl class="cpp function">
  5856. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout4skipE7uint8_t">
  5857. <span id="_CPPv3N4bgfx12VertexLayout4skipE7uint8_t"></span><span id="_CPPv2N4bgfx12VertexLayout4skipE7uint8_t"></span><span id="bgfx::VertexLayout::skip__uint8_t"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a49ffb1fd66499c1a3500d880752f81c5"></span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">skip</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout4skipE7uint8_t" title="Link to this definition"></a><br /></dt>
  5858. <dd><p>Skip _num bytes in vertex stream. </p>
  5859. <p><dl class="simple">
  5860. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_skip</span></code>. </p>
  5861. </dd>
  5862. </dl>
  5863. </p>
  5864. <dl class="field-list simple">
  5865. <dt class="field-odd">Returns<span class="colon">:</span></dt>
  5866. <dd class="field-odd"><p>Returns itself.</p>
  5867. </dd>
  5868. </dl>
  5869. </dd></dl>
  5870. <dl class="cpp function">
  5871. <dt class="sig sig-object cpp" id="_CPPv4NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb">
  5872. <span id="_CPPv3NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb"></span><span id="_CPPv2NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb"></span><span id="bgfx::VertexLayout::decode__Attrib::Enum.uint8_tR.AttribType::EnumR.bR.bRC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a706fb12268b81c666ddcfbbb0a6ecc20"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">decode</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_attrib</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_num</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx10AttribTypeE" title="bgfx::AttribType"><span class="n"><span class="pre">AttribType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx10AttribType4EnumE" title="bgfx::AttribType::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_type</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_normalized</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_asInt</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout6decodeEN6Attrib4EnumER7uint8_tRN10AttribType4EnumERbRb" title="Link to this definition"></a><br /></dt>
  5873. <dd><p>Decode attribute. </p>
  5874. <p><dl class="simple">
  5875. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_decode</span></code>. </p>
  5876. </dd>
  5877. </dl>
  5878. </p>
  5879. </dd></dl>
  5880. <dl class="cpp function">
  5881. <dt class="sig sig-object cpp" id="_CPPv4NK4bgfx12VertexLayout3hasEN6Attrib4EnumE">
  5882. <span id="_CPPv3NK4bgfx12VertexLayout3hasEN6Attrib4EnumE"></span><span id="_CPPv2NK4bgfx12VertexLayout3hasEN6Attrib4EnumE"></span><span id="bgfx::VertexLayout::has__Attrib::EnumC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a1da9c673f86b51221a30ee3626783c78"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">has</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_attrib</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout3hasEN6Attrib4EnumE" title="Link to this definition"></a><br /></dt>
  5883. <dd><p>Returns <code class="docutils literal notranslate"><span class="pre">true</span></code> if <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a> contains attribute. </p>
  5884. <p><dl class="simple">
  5885. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_vertex_layout_has</span></code>. </p>
  5886. </dd>
  5887. </dl>
  5888. </p>
  5889. <dl class="field-list simple">
  5890. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5891. <dd class="field-odd"><p><strong>_attrib</strong> – <strong>[in]</strong> Attribute semantics. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attrib"><span class="std std-ref"><span class="pre">bgfx::Attrib</span></span></a></code></p>
  5892. </dd>
  5893. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5894. <dd class="field-even"><p>True if <a class="reference internal" href="#structbgfx_1_1_vertex_layout"><span class="std std-ref">VertexLayout</span></a> contains attribute.</p>
  5895. </dd>
  5896. </dl>
  5897. </dd></dl>
  5898. <dl class="cpp function">
  5899. <dt class="sig sig-object cpp" id="_CPPv4NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE">
  5900. <span id="_CPPv3NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE"></span><span id="_CPPv2NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE"></span><span id="bgfx::VertexLayout::getOffset__Attrib::EnumC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a754e7b0c5a0c27b9e3aaad13566151a9"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getOffset</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4EnumE" title="bgfx::Attrib::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_attrib</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout9getOffsetEN6Attrib4EnumE" title="Link to this definition"></a><br /></dt>
  5901. <dd><p>Returns relative attribute offset from the vertex. </p>
  5902. <dl class="field-list simple">
  5903. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5904. <dd class="field-odd"><p><strong>_attrib</strong> – <strong>[in]</strong> Attribute semantics. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attrib"><span class="std std-ref"><span class="pre">bgfx::Attrib</span></span></a></code></p>
  5905. </dd>
  5906. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5907. <dd class="field-even"><p>Relative attribute offset from the vertex. </p>
  5908. </dd>
  5909. </dl>
  5910. </dd></dl>
  5911. <dl class="cpp function">
  5912. <dt class="sig sig-object cpp" id="_CPPv4NK4bgfx12VertexLayout9getStrideEv">
  5913. <span id="_CPPv3NK4bgfx12VertexLayout9getStrideEv"></span><span id="_CPPv2NK4bgfx12VertexLayout9getStrideEv"></span><span id="bgfx::VertexLayout::getStrideC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a1f12bca7a530bc1c01cfca30266a85de"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getStride</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout9getStrideEv" title="Link to this definition"></a><br /></dt>
  5914. <dd><p>Returns vertex stride. </p>
  5915. <dl class="field-list simple">
  5916. <dt class="field-odd">Returns<span class="colon">:</span></dt>
  5917. <dd class="field-odd"><p>Vertex stride. </p>
  5918. </dd>
  5919. </dl>
  5920. </dd></dl>
  5921. <dl class="cpp function">
  5922. <dt class="sig sig-object cpp" id="_CPPv4NK4bgfx12VertexLayout7getSizeE8uint32_t">
  5923. <span id="_CPPv3NK4bgfx12VertexLayout7getSizeE8uint32_t"></span><span id="_CPPv2NK4bgfx12VertexLayout7getSizeE8uint32_t"></span><span id="bgfx::VertexLayout::getSize__uint32_tC"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a269660c1f51a12dda654f1d69cffd69a"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">getSize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK4bgfx12VertexLayout7getSizeE8uint32_t" title="Link to this definition"></a><br /></dt>
  5924. <dd><p>Returns size of vertex buffer for number of vertices. </p>
  5925. <dl class="field-list simple">
  5926. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  5927. <dd class="field-odd"><p><strong>_num</strong> – <strong>[in]</strong> Number of vertices. </p>
  5928. </dd>
  5929. <dt class="field-even">Returns<span class="colon">:</span></dt>
  5930. <dd class="field-even"><p>Size of vertex buffer for number of vertices. </p>
  5931. </dd>
  5932. </dl>
  5933. </dd></dl>
  5934. </div>
  5935. <div class="breathe-sectiondef docutils container">
  5936. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  5937. <dl class="cpp var">
  5938. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout6m_hashE">
  5939. <span id="_CPPv3N4bgfx12VertexLayout6m_hashE"></span><span id="_CPPv2N4bgfx12VertexLayout6m_hashE"></span><span id="bgfx::VertexLayout::m_hash__uint32_t"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a32439f8faf9f68d9ac021a91fe16d424"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">m_hash</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout6m_hashE" title="Link to this definition"></a><br /></dt>
  5940. <dd><p>Hash. </p>
  5941. </dd></dl>
  5942. <dl class="cpp var">
  5943. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout8m_strideE">
  5944. <span id="_CPPv3N4bgfx12VertexLayout8m_strideE"></span><span id="_CPPv2N4bgfx12VertexLayout8m_strideE"></span><span id="bgfx::VertexLayout::m_stride__uint16_t"></span><span class="target" id="structbgfx_1_1_vertex_layout_1a80a56f976bde20a46dd471a7cea9e445"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">m_stride</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout8m_strideE" title="Link to this definition"></a><br /></dt>
  5945. <dd><p>Stride. </p>
  5946. </dd></dl>
  5947. <dl class="cpp var">
  5948. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout8m_offsetE">
  5949. <span id="_CPPv3N4bgfx12VertexLayout8m_offsetE"></span><span id="_CPPv2N4bgfx12VertexLayout8m_offsetE"></span><span id="bgfx::VertexLayout::m_offset__uint16_tA"></span><span class="target" id="structbgfx_1_1_vertex_layout_1ae5cfc316c1df05a165ad50cb6ce0177c"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">m_offset</span></span></span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4Enum5CountE" title="bgfx::Attrib::Count"><span class="n"><span class="pre">Count</span></span></a><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout8m_offsetE" title="Link to this definition"></a><br /></dt>
  5950. <dd><p>Attribute offsets. </p>
  5951. </dd></dl>
  5952. <dl class="cpp var">
  5953. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx12VertexLayout12m_attributesE">
  5954. <span id="_CPPv3N4bgfx12VertexLayout12m_attributesE"></span><span id="_CPPv2N4bgfx12VertexLayout12m_attributesE"></span><span id="bgfx::VertexLayout::m_attributes__uint16_tA"></span><span class="target" id="structbgfx_1_1_vertex_layout_1adb4140562c657f2b6d8bee1c16b5eaec"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">m_attributes</span></span></span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#_CPPv4N4bgfx6AttribE" title="bgfx::Attrib"><span class="n"><span class="pre">Attrib</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Attrib4Enum5CountE" title="bgfx::Attrib::Count"><span class="n"><span class="pre">Count</span></span></a><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N4bgfx12VertexLayout12m_attributesE" title="Link to this definition"></a><br /></dt>
  5955. <dd><p>Used attributes. </p>
  5956. </dd></dl>
  5957. </div>
  5958. </dd></dl>
  5959. <dl class="cpp struct">
  5960. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6AttribE">
  5961. <span id="_CPPv3N4bgfx6AttribE"></span><span id="_CPPv2N4bgfx6AttribE"></span><span id="bgfx::Attrib"></span><span class="target" id="structbgfx_1_1_attrib"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Attrib</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6AttribE" title="Link to this definition"></a><br /></dt>
  5962. <dd><p>Vertex attribute enum. </p>
  5963. <p><dl class="simple">
  5964. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_attrib_t</span></code>. </p>
  5965. </dd>
  5966. </dl>
  5967. </p>
  5968. <div class="breathe-sectiondef docutils container">
  5969. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  5970. <dl class="cpp enum">
  5971. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4EnumE">
  5972. <span id="_CPPv3N4bgfx6Attrib4EnumE"></span><span id="_CPPv2N4bgfx6Attrib4EnumE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4EnumE" title="Link to this definition"></a><br /></dt>
  5973. <dd><p>Corresponds to vertex shader attribute. </p>
  5974. <p><em>Values:</em></p>
  5975. <dl class="cpp enumerator">
  5976. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum8PositionE">
  5977. <span id="_CPPv3N4bgfx6Attrib4Enum8PositionE"></span><span id="_CPPv2N4bgfx6Attrib4Enum8PositionE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a444e880622319fc0eb0c7780d31cbc9d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Position</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum8PositionE" title="Link to this definition"></a><br /></dt>
  5978. <dd><p>a_position </p>
  5979. </dd></dl>
  5980. <dl class="cpp enumerator">
  5981. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum6NormalE">
  5982. <span id="_CPPv3N4bgfx6Attrib4Enum6NormalE"></span><span id="_CPPv2N4bgfx6Attrib4Enum6NormalE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a09cc6a5be35f6888511d48dab335d8aa"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Normal</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6NormalE" title="Link to this definition"></a><br /></dt>
  5983. <dd><p>a_normal </p>
  5984. </dd></dl>
  5985. <dl class="cpp enumerator">
  5986. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum7TangentE">
  5987. <span id="_CPPv3N4bgfx6Attrib4Enum7TangentE"></span><span id="_CPPv2N4bgfx6Attrib4Enum7TangentE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804abe44e93b67a4e48aabe3218eabd5d2c7"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Tangent</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum7TangentE" title="Link to this definition"></a><br /></dt>
  5988. <dd><p>a_tangent </p>
  5989. </dd></dl>
  5990. <dl class="cpp enumerator">
  5991. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9BitangentE">
  5992. <span id="_CPPv3N4bgfx6Attrib4Enum9BitangentE"></span><span id="_CPPv2N4bgfx6Attrib4Enum9BitangentE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a50aec54f390f3a2c7a8c1e0b10b65796"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Bitangent</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9BitangentE" title="Link to this definition"></a><br /></dt>
  5993. <dd><p>a_bitangent </p>
  5994. </dd></dl>
  5995. <dl class="cpp enumerator">
  5996. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum6Color0E">
  5997. <span id="_CPPv3N4bgfx6Attrib4Enum6Color0E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color0E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804aa338a476b1dfd61f3ed33bbb87c7f50d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Color0</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color0E" title="Link to this definition"></a><br /></dt>
  5998. <dd><p>a_color0 </p>
  5999. </dd></dl>
  6000. <dl class="cpp enumerator">
  6001. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum6Color1E">
  6002. <span id="_CPPv3N4bgfx6Attrib4Enum6Color1E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color1E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804acf56be5ceeef8242b540cbd6fd5fa35d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Color1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color1E" title="Link to this definition"></a><br /></dt>
  6003. <dd><p>a_color1 </p>
  6004. </dd></dl>
  6005. <dl class="cpp enumerator">
  6006. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum6Color2E">
  6007. <span id="_CPPv3N4bgfx6Attrib4Enum6Color2E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color2E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a5f72a5fba4d62dd373c8c8387d120270"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Color2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color2E" title="Link to this definition"></a><br /></dt>
  6008. <dd><p>a_color2 </p>
  6009. </dd></dl>
  6010. <dl class="cpp enumerator">
  6011. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum6Color3E">
  6012. <span id="_CPPv3N4bgfx6Attrib4Enum6Color3E"></span><span id="_CPPv2N4bgfx6Attrib4Enum6Color3E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a345365a6d18a7fea2d4cbfc10cd8e699"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Color3</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6Color3E" title="Link to this definition"></a><br /></dt>
  6013. <dd><p>a_color3 </p>
  6014. </dd></dl>
  6015. <dl class="cpp enumerator">
  6016. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum7IndicesE">
  6017. <span id="_CPPv3N4bgfx6Attrib4Enum7IndicesE"></span><span id="_CPPv2N4bgfx6Attrib4Enum7IndicesE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804aec853fa913eaa3fe7000e8de29221251"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Indices</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum7IndicesE" title="Link to this definition"></a><br /></dt>
  6018. <dd><p>a_indices </p>
  6019. </dd></dl>
  6020. <dl class="cpp enumerator">
  6021. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum6WeightE">
  6022. <span id="_CPPv3N4bgfx6Attrib4Enum6WeightE"></span><span id="_CPPv2N4bgfx6Attrib4Enum6WeightE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804ab2b1c6cdb809113d4e7a00d1ea3e9553"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Weight</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum6WeightE" title="Link to this definition"></a><br /></dt>
  6023. <dd><p>a_weight </p>
  6024. </dd></dl>
  6025. <dl class="cpp enumerator">
  6026. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord0E">
  6027. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord0E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord0E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804af411508986750772763964faf2cd9f30"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord0</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord0E" title="Link to this definition"></a><br /></dt>
  6028. <dd><p>a_texcoord0 </p>
  6029. </dd></dl>
  6030. <dl class="cpp enumerator">
  6031. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord1E">
  6032. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord1E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord1E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804aaa9c4433664b958ea22b848d42800c0e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord1E" title="Link to this definition"></a><br /></dt>
  6033. <dd><p>a_texcoord1 </p>
  6034. </dd></dl>
  6035. <dl class="cpp enumerator">
  6036. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord2E">
  6037. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord2E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord2E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a06241a5d80e48e22c7298b293d2365d1"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord2E" title="Link to this definition"></a><br /></dt>
  6038. <dd><p>a_texcoord2 </p>
  6039. </dd></dl>
  6040. <dl class="cpp enumerator">
  6041. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord3E">
  6042. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord3E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord3E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a6100dccd6abe910c75c7510736100746"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord3</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord3E" title="Link to this definition"></a><br /></dt>
  6043. <dd><p>a_texcoord3 </p>
  6044. </dd></dl>
  6045. <dl class="cpp enumerator">
  6046. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord4E">
  6047. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord4E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord4E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a0db1ca4e5406499e8c99e8fba13b9c6c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord4E" title="Link to this definition"></a><br /></dt>
  6048. <dd><p>a_texcoord4 </p>
  6049. </dd></dl>
  6050. <dl class="cpp enumerator">
  6051. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord5E">
  6052. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord5E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord5E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a6c9428b5dab98f29bc21c3a4dd754a9a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord5E" title="Link to this definition"></a><br /></dt>
  6053. <dd><p>a_texcoord5 </p>
  6054. </dd></dl>
  6055. <dl class="cpp enumerator">
  6056. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord6E">
  6057. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord6E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord6E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a788ec43ba852d3aaee1b936bcd90867d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord6</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord6E" title="Link to this definition"></a><br /></dt>
  6058. <dd><p>a_texcoord6 </p>
  6059. </dd></dl>
  6060. <dl class="cpp enumerator">
  6061. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum9TexCoord7E">
  6062. <span id="_CPPv3N4bgfx6Attrib4Enum9TexCoord7E"></span><span id="_CPPv2N4bgfx6Attrib4Enum9TexCoord7E"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804a52f610def404c268cb1eb4108770529f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TexCoord7</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum9TexCoord7E" title="Link to this definition"></a><br /></dt>
  6063. <dd><p>a_texcoord7 </p>
  6064. </dd></dl>
  6065. <dl class="cpp enumerator">
  6066. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6Attrib4Enum5CountE">
  6067. <span id="_CPPv3N4bgfx6Attrib4Enum5CountE"></span><span id="_CPPv2N4bgfx6Attrib4Enum5CountE"></span><span class="target" id="structbgfx_1_1_attrib_1a1c2416ba7a7a1bbd4d6e74bf57f03804af776fac0e35a1394d9fcf135f1a77ad0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx6Attrib4Enum5CountE" title="Link to this definition"></a><br /></dt>
  6068. <dd></dd></dl>
  6069. </dd></dl>
  6070. </div>
  6071. </dd></dl>
  6072. <dl class="cpp struct">
  6073. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribTypeE">
  6074. <span id="_CPPv3N4bgfx10AttribTypeE"></span><span id="_CPPv2N4bgfx10AttribTypeE"></span><span id="bgfx::AttribType"></span><span class="target" id="structbgfx_1_1_attrib_type"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">AttribType</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribTypeE" title="Link to this definition"></a><br /></dt>
  6075. <dd><p>Vertex attribute type enum. </p>
  6076. <p><dl class="simple">
  6077. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_attrib_type_t</span></code>. </p>
  6078. </dd>
  6079. </dl>
  6080. </p>
  6081. <div class="breathe-sectiondef docutils container">
  6082. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  6083. <dl class="cpp enum">
  6084. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4EnumE">
  6085. <span id="_CPPv3N4bgfx10AttribType4EnumE"></span><span id="_CPPv2N4bgfx10AttribType4EnumE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4EnumE" title="Link to this definition"></a><br /></dt>
  6086. <dd><p>Attribute types: </p>
  6087. <p><em>Values:</em></p>
  6088. <dl class="cpp enumerator">
  6089. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4Enum5Uint8E">
  6090. <span id="_CPPv3N4bgfx10AttribType4Enum5Uint8E"></span><span id="_CPPv2N4bgfx10AttribType4Enum5Uint8E"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a68937a9abcfa9556980f9e127e234748"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Uint8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5Uint8E" title="Link to this definition"></a><br /></dt>
  6091. <dd><p>Uint8. </p>
  6092. </dd></dl>
  6093. <dl class="cpp enumerator">
  6094. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4Enum6Uint10E">
  6095. <span id="_CPPv3N4bgfx10AttribType4Enum6Uint10E"></span><span id="_CPPv2N4bgfx10AttribType4Enum6Uint10E"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4aa208b1e17e7dc91ff1bf6c5c2866be9b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Uint10</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum6Uint10E" title="Link to this definition"></a><br /></dt>
  6096. <dd><p>Uint10, availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ATTRIB_UINT10</span></code>. </p>
  6097. </dd></dl>
  6098. <dl class="cpp enumerator">
  6099. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4Enum5Int16E">
  6100. <span id="_CPPv3N4bgfx10AttribType4Enum5Int16E"></span><span id="_CPPv2N4bgfx10AttribType4Enum5Int16E"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ae0cd559664652e9d0086ea4316280f1b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Int16</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5Int16E" title="Link to this definition"></a><br /></dt>
  6101. <dd><p>Int16. </p>
  6102. </dd></dl>
  6103. <dl class="cpp enumerator">
  6104. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4Enum4HalfE">
  6105. <span id="_CPPv3N4bgfx10AttribType4Enum4HalfE"></span><span id="_CPPv2N4bgfx10AttribType4Enum4HalfE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4a83110aa60dc97cbd54efe3f7aefe8883"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Half</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum4HalfE" title="Link to this definition"></a><br /></dt>
  6106. <dd><p>Half, availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_VERTEX_ATTRIB_HALF</span></code>. </p>
  6107. </dd></dl>
  6108. <dl class="cpp enumerator">
  6109. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4Enum5FloatE">
  6110. <span id="_CPPv3N4bgfx10AttribType4Enum5FloatE"></span><span id="_CPPv2N4bgfx10AttribType4Enum5FloatE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ac2efa452accd984882d0e93b3a42aef6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Float</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5FloatE" title="Link to this definition"></a><br /></dt>
  6111. <dd><p>Float. </p>
  6112. </dd></dl>
  6113. <dl class="cpp enumerator">
  6114. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttribType4Enum5CountE">
  6115. <span id="_CPPv3N4bgfx10AttribType4Enum5CountE"></span><span id="_CPPv2N4bgfx10AttribType4Enum5CountE"></span><span class="target" id="structbgfx_1_1_attrib_type_1a5cfa80e17fd4932a9704f95ed80ae3b4ae6135e6c7c4e885761c3fffe5613fac0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttribType4Enum5CountE" title="Link to this definition"></a><br /></dt>
  6116. <dd></dd></dl>
  6117. </dd></dl>
  6118. </div>
  6119. </dd></dl>
  6120. <dl class="cpp function">
  6121. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t">
  6122. <span id="_CPPv3N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t"></span><span id="_CPPv2N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t"></span><span id="bgfx::createDynamicVertexBuffer__uint32_t.VertexLayoutCR.uint16_t"></span><span class="target" id="namespacebgfx_1ad5d611f40aaca84733d9ff4543660248"></span><span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createDynamicVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_BUFFER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx25createDynamicVertexBufferE8uint32_tRK12VertexLayout8uint16_t" title="Link to this definition"></a><br /></dt>
  6123. <dd><p>Create empty dynamic vertex buffer. </p>
  6124. <p><dl class="simple">
  6125. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_vertex_buffer</span></code>. </p>
  6126. </dd>
  6127. </dl>
  6128. </p>
  6129. <dl class="field-list simple">
  6130. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6131. <dd class="field-odd"><ul class="simple">
  6132. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of vertices. </p></li>
  6133. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex layout. </p></li>
  6134. <li><p><strong>_flags</strong> – <strong>[in]</strong> Buffer creation flags.<ul>
  6135. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
  6136. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
  6137. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
  6138. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
  6139. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
  6140. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
  6141. </ul>
  6142. </p></li>
  6143. </ul>
  6144. </dd>
  6145. <dt class="field-even">Returns<span class="colon">:</span></dt>
  6146. <dd class="field-even"><p>Dynamic vertex buffer handle.</p>
  6147. </dd>
  6148. </dl>
  6149. </dd></dl>
  6150. <dl class="cpp function">
  6151. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t">
  6152. <span id="_CPPv3N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="_CPPv2N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t"></span><span id="bgfx::createDynamicVertexBuffer__MemoryCP.VertexLayoutCR.uint16_t"></span><span class="target" id="namespacebgfx_1ae8e6efb0d042222c6d705ed60f4b6627"></span><span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createDynamicVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_BUFFER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx25createDynamicVertexBufferEPK6MemoryRK12VertexLayout8uint16_t" title="Link to this definition"></a><br /></dt>
  6153. <dd><p>Create dynamic vertex buffer and initialize it. </p>
  6154. <p><dl class="simple">
  6155. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_vertex_buffer_mem</span></code>. </p>
  6156. </dd>
  6157. </dl>
  6158. </p>
  6159. <dl class="field-list simple">
  6160. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6161. <dd class="field-odd"><ul class="simple">
  6162. <li><p><strong>_mem</strong> – <strong>[in]</strong> Vertex buffer data. </p></li>
  6163. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex layout. </p></li>
  6164. <li><p><strong>_flags</strong> – <strong>[in]</strong> Buffer creation flags.<ul>
  6165. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
  6166. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
  6167. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
  6168. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
  6169. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
  6170. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
  6171. </ul>
  6172. </p></li>
  6173. </ul>
  6174. </dd>
  6175. <dt class="field-even">Returns<span class="colon">:</span></dt>
  6176. <dd class="field-even"><p>Dynamic vertex buffer handle.</p>
  6177. </dd>
  6178. </dl>
  6179. </dd></dl>
  6180. <dl class="cpp function">
  6181. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory">
  6182. <span id="_CPPv3N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory"></span><span id="_CPPv2N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory"></span><span id="bgfx::update__DynamicVertexBufferHandle.uint32_t.MemoryCP"></span><span class="target" id="namespacebgfx_1ae443751595715ba47e61a97c45cbf939"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">update</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startVertex</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6updateE25DynamicVertexBufferHandle8uint32_tPK6Memory" title="Link to this definition"></a><br /></dt>
  6183. <dd><p>Update dynamic vertex buffer. </p>
  6184. <p><dl class="simple">
  6185. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_dynamic_vertex_buffer</span></code>. </p>
  6186. </dd>
  6187. </dl>
  6188. </p>
  6189. <dl class="field-list simple">
  6190. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6191. <dd class="field-odd"><ul class="simple">
  6192. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer handle. </p></li>
  6193. <li><p><strong>_startVertex</strong> – <strong>[in]</strong> Start vertex. </p></li>
  6194. <li><p><strong>_mem</strong> – <strong>[in]</strong> Vertex buffer data.</p></li>
  6195. </ul>
  6196. </dd>
  6197. </dl>
  6198. </dd></dl>
  6199. <dl class="cpp function">
  6200. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE25DynamicVertexBufferHandle">
  6201. <span id="_CPPv3N4bgfx7destroyE25DynamicVertexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE25DynamicVertexBufferHandle"></span><span id="bgfx::destroy__DynamicVertexBufferHandle"></span><span class="target" id="namespacebgfx_1ade001e8189baaa5b3f9f1fbaf1f40055"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicVertexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE25DynamicVertexBufferHandle" title="Link to this definition"></a><br /></dt>
  6202. <dd><p>Destroy dynamic vertex buffer. </p>
  6203. <p><dl class="simple">
  6204. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_dynamic_vertex_buffer</span></code>. </p>
  6205. </dd>
  6206. </dl>
  6207. </p>
  6208. <dl class="field-list simple">
  6209. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6210. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic vertex buffer handle.</p>
  6211. </dd>
  6212. </dl>
  6213. </dd></dl>
  6214. <dl class="cpp function">
  6215. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout">
  6216. <span id="_CPPv3N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout"></span><span id="_CPPv2N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout"></span><span id="bgfx::getAvailTransientVertexBuffer__uint32_t.VertexLayoutCR"></span><span class="target" id="namespacebgfx_1ad980aa10915e316db79c16fae09a257c"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getAvailTransientVertexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx29getAvailTransientVertexBufferE8uint32_tRK12VertexLayout" title="Link to this definition"></a><br /></dt>
  6217. <dd><p>Returns number of requested or maximum available vertices. </p>
  6218. <p><dl class="simple">
  6219. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_avail_transient_vertex_buffer</span></code>. </p>
  6220. </dd>
  6221. </dl>
  6222. </p>
  6223. <dl class="field-list simple">
  6224. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6225. <dd class="field-odd"><ul class="simple">
  6226. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of required vertices. </p></li>
  6227. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex layout.</p></li>
  6228. </ul>
  6229. </dd>
  6230. </dl>
  6231. </dd></dl>
  6232. <dl class="cpp function">
  6233. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout">
  6234. <span id="_CPPv3N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout"></span><span id="_CPPv2N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout"></span><span id="bgfx::allocTransientVertexBuffer__TransientVertexBufferP.uint32_t.VertexLayoutCR"></span><span class="target" id="namespacebgfx_1ad8d5d81703ce3064c88e5d7b26ac3794"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">allocTransientVertexBuffer</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx21TransientVertexBufferE" title="bgfx::TransientVertexBuffer"><span class="n"><span class="pre">TransientVertexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tvb</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx12VertexLayoutE" title="bgfx::VertexLayout"><span class="n"><span class="pre">VertexLayout</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_layout</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx26allocTransientVertexBufferEP21TransientVertexBuffer8uint32_tRK12VertexLayout" title="Link to this definition"></a><br /></dt>
  6235. <dd><p>Allocate transient vertex buffer. </p>
  6236. <p><dl class="simple">
  6237. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_transient_vertex_buffer</span></code>. </p>
  6238. </dd>
  6239. </dl>
  6240. </p>
  6241. <dl class="field-list simple">
  6242. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6243. <dd class="field-odd"><ul class="simple">
  6244. <li><p><strong>_tvb</strong> – <strong>[out]</strong> <a class="reference internal" href="#structbgfx_1_1_transient_vertex_buffer"><span class="std std-ref">TransientVertexBuffer</span></a> structure will be filled, and will be valid for the duration of frame, and can be reused for multiple draw calls. </p></li>
  6245. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of vertices to allocate. </p></li>
  6246. <li><p><strong>_layout</strong> – <strong>[in]</strong> Vertex layout.</p></li>
  6247. </ul>
  6248. </dd>
  6249. </dl>
  6250. </dd></dl>
  6251. </section>
  6252. <section id="index-buffers">
  6253. <h3>Index Buffers<a class="headerlink" href="#index-buffers" title="Link to this heading"></a></h3>
  6254. <dl class="cpp function">
  6255. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createIndexBufferEPK6Memory8uint16_t">
  6256. <span id="_CPPv3N4bgfx17createIndexBufferEPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx17createIndexBufferEPK6Memory8uint16_t"></span><span id="bgfx::createIndexBuffer__MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1aee241406cd5d456d3e0a1fdb7da18309"></span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_BUFFER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createIndexBufferEPK6Memory8uint16_t" title="Link to this definition"></a><br /></dt>
  6257. <dd><p>Create static index buffer. </p>
  6258. <p><dl class="simple">
  6259. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_index_buffer</span></code>. </p>
  6260. </dd>
  6261. </dl>
  6262. </p>
  6263. <dl class="field-list simple">
  6264. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6265. <dd class="field-odd"><ul class="simple">
  6266. <li><p><strong>_mem</strong> – <strong>[in]</strong> Index buffer data. </p></li>
  6267. <li><p><strong>_flags</strong> – <strong>[in]</strong> Buffer creation flags.<ul>
  6268. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
  6269. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
  6270. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
  6271. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
  6272. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
  6273. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers.</p></li>
  6274. </ul>
  6275. </p></li>
  6276. </ul>
  6277. </dd>
  6278. </dl>
  6279. </dd></dl>
  6280. <dl class="cpp function">
  6281. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7setNameE17IndexBufferHandlePKc7int32_t">
  6282. <span id="_CPPv3N4bgfx7setNameE17IndexBufferHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE17IndexBufferHandlePKc7int32_t"></span><span id="bgfx::setName__IndexBufferHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a9898cf86ba2f7c0915ee42e81e7e3414"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE17IndexBufferHandlePKc7int32_t" title="Link to this definition"></a><br /></dt>
  6283. <dd><p>Set static index buffer debug name. </p>
  6284. <p><dl class="simple">
  6285. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_index_buffer_name</span></code>. </p>
  6286. </dd>
  6287. </dl>
  6288. </p>
  6289. <dl class="field-list simple">
  6290. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6291. <dd class="field-odd"><ul class="simple">
  6292. <li><p><strong>_handle</strong> – <strong>[in]</strong> Static index buffer handle. </p></li>
  6293. <li><p><strong>_name</strong> – <strong>[in]</strong> Static index buffer name. </p></li>
  6294. <li><p><strong>_len</strong> – <strong>[in]</strong> Static index buffer name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  6295. </ul>
  6296. </dd>
  6297. </dl>
  6298. </dd></dl>
  6299. <dl class="cpp function">
  6300. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE17IndexBufferHandle">
  6301. <span id="_CPPv3N4bgfx7destroyE17IndexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE17IndexBufferHandle"></span><span id="bgfx::destroy__IndexBufferHandle"></span><span class="target" id="namespacebgfx_1a0947090e39a6a46433418166d7e09cc1"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE17IndexBufferHandle" title="Link to this definition"></a><br /></dt>
  6302. <dd><p>Destroy static index buffer. </p>
  6303. <p><dl class="simple">
  6304. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_index_buffer</span></code>. </p>
  6305. </dd>
  6306. </dl>
  6307. </p>
  6308. <dl class="field-list simple">
  6309. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6310. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Static index buffer handle.</p>
  6311. </dd>
  6312. </dl>
  6313. </dd></dl>
  6314. <dl class="cpp function">
  6315. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t">
  6316. <span id="_CPPv3N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t"></span><span id="bgfx::createDynamicIndexBuffer__uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1abc0f27b5cc29b3fb0c5f3c2fe9571429"></span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createDynamicIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_BUFFER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx24createDynamicIndexBufferE8uint32_t8uint16_t" title="Link to this definition"></a><br /></dt>
  6317. <dd><p>Create empty dynamic index buffer. </p>
  6318. <p><dl class="simple">
  6319. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_index_buffer</span></code>. </p>
  6320. </dd>
  6321. </dl>
  6322. </p>
  6323. <dl class="field-list simple">
  6324. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6325. <dd class="field-odd"><ul class="simple">
  6326. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of indices. </p></li>
  6327. <li><p><strong>_flags</strong> – <strong>[in]</strong> Buffer creation flags.<ul>
  6328. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
  6329. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
  6330. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
  6331. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
  6332. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
  6333. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
  6334. </ul>
  6335. </p></li>
  6336. </ul>
  6337. </dd>
  6338. <dt class="field-even">Returns<span class="colon">:</span></dt>
  6339. <dd class="field-even"><p>Dynamic index buffer handle.</p>
  6340. </dd>
  6341. </dl>
  6342. </dd></dl>
  6343. <dl class="cpp function">
  6344. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t">
  6345. <span id="_CPPv3N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t"></span><span id="bgfx::createDynamicIndexBuffer__MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1a5d05655535947b053858b2abed7e3cb9"></span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createDynamicIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_BUFFER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx24createDynamicIndexBufferEPK6Memory8uint16_t" title="Link to this definition"></a><br /></dt>
  6346. <dd><p>Create a dynamic index buffer and initialize it. </p>
  6347. <p><dl class="simple">
  6348. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_dynamic_index_buffer_mem</span></code>. </p>
  6349. </dd>
  6350. </dl>
  6351. </p>
  6352. <dl class="field-list simple">
  6353. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6354. <dd class="field-odd"><ul class="simple">
  6355. <li><p><strong>_mem</strong> – <strong>[in]</strong> Index buffer data. </p></li>
  6356. <li><p><strong>_flags</strong> – <strong>[in]</strong> Buffer creation flags.<ul>
  6357. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_NONE</span></code> - No flags.</p></li>
  6358. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ</span></code> - Buffer will be read from by compute shader.</p></li>
  6359. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> - Buffer will be written into by compute shader. When buffer is created with <code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_WRITE</span></code> flag it cannot be updated from CPU.</p></li>
  6360. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_COMPUTE_READ_WRITE</span></code> - Buffer will be used for read/write by compute shader.</p></li>
  6361. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_ALLOW_RESIZE</span></code> - Buffer will resize on buffer update if a different amount of data is passed. If this flag is not specified, and more data is passed on update, the buffer will be trimmed to fit the existing buffer size. This flag has effect only on dynamic buffers.</p></li>
  6362. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_BUFFER_INDEX32</span></code> - Buffer is using 32-bit indices. This flag has effect only on index buffers. </p></li>
  6363. </ul>
  6364. </p></li>
  6365. </ul>
  6366. </dd>
  6367. <dt class="field-even">Returns<span class="colon">:</span></dt>
  6368. <dd class="field-even"><p>Dynamic index buffer handle.</p>
  6369. </dd>
  6370. </dl>
  6371. </dd></dl>
  6372. <dl class="cpp function">
  6373. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory">
  6374. <span id="_CPPv3N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory"></span><span id="_CPPv2N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory"></span><span id="bgfx::update__DynamicIndexBufferHandle.uint32_t.MemoryCP"></span><span class="target" id="namespacebgfx_1abdc14b2d18b00e5c85b9b099d63c5d99"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">update</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_startIndex</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx6updateE24DynamicIndexBufferHandle8uint32_tPK6Memory" title="Link to this definition"></a><br /></dt>
  6375. <dd><p>Update dynamic index buffer. </p>
  6376. <p><dl class="simple">
  6377. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_dynamic_index_buffer</span></code>. </p>
  6378. </dd>
  6379. </dl>
  6380. </p>
  6381. <dl class="field-list simple">
  6382. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6383. <dd class="field-odd"><ul class="simple">
  6384. <li><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer handle. </p></li>
  6385. <li><p><strong>_startIndex</strong> – <strong>[in]</strong> Start index. </p></li>
  6386. <li><p><strong>_mem</strong> – <strong>[in]</strong> Index buffer data.</p></li>
  6387. </ul>
  6388. </dd>
  6389. </dl>
  6390. </dd></dl>
  6391. <dl class="cpp function">
  6392. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE24DynamicIndexBufferHandle">
  6393. <span id="_CPPv3N4bgfx7destroyE24DynamicIndexBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE24DynamicIndexBufferHandle"></span><span id="bgfx::destroy__DynamicIndexBufferHandle"></span><span class="target" id="namespacebgfx_1a18d6f331ad2fdb0adfbbc5b907d7559b"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">DynamicIndexBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE24DynamicIndexBufferHandle" title="Link to this definition"></a><br /></dt>
  6394. <dd><p>Destroy dynamic index buffer. </p>
  6395. <p><dl class="simple">
  6396. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_dynamic_index_buffer</span></code>. </p>
  6397. </dd>
  6398. </dl>
  6399. </p>
  6400. <dl class="field-list simple">
  6401. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6402. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Dynamic index buffer handle.</p>
  6403. </dd>
  6404. </dl>
  6405. </dd></dl>
  6406. <dl class="cpp function">
  6407. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx28getAvailTransientIndexBufferE8uint32_tb">
  6408. <span id="_CPPv3N4bgfx28getAvailTransientIndexBufferE8uint32_tb"></span><span id="_CPPv2N4bgfx28getAvailTransientIndexBufferE8uint32_tb"></span><span id="bgfx::getAvailTransientIndexBuffer__uint32_t.b"></span><span class="target" id="namespacebgfx_1a17b4d614364135f5762c142661902d06"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getAvailTransientIndexBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index32</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx28getAvailTransientIndexBufferE8uint32_tb" title="Link to this definition"></a><br /></dt>
  6409. <dd><p>Returns number of requested or maximum available indices. </p>
  6410. <p><dl class="simple">
  6411. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_avail_transient_index_buffer</span></code>. </p>
  6412. </dd>
  6413. </dl>
  6414. </p>
  6415. <dl class="field-list simple">
  6416. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6417. <dd class="field-odd"><ul class="simple">
  6418. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of required indices. </p></li>
  6419. <li><p><strong>_index32</strong> – <strong>[in]</strong> Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices will be 32-bit.</p></li>
  6420. </ul>
  6421. </dd>
  6422. </dl>
  6423. </dd></dl>
  6424. <dl class="cpp function">
  6425. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb">
  6426. <span id="_CPPv3N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb"></span><span id="_CPPv2N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb"></span><span id="bgfx::allocTransientIndexBuffer__TransientIndexBufferP.uint32_t.b"></span><span class="target" id="namespacebgfx_1a84f22d4feadc176f2b70846ae3b7c85f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">allocTransientIndexBuffer</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx20TransientIndexBufferE" title="bgfx::TransientIndexBuffer"><span class="n"><span class="pre">TransientIndexBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_tib</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_index32</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx25allocTransientIndexBufferEP20TransientIndexBuffer8uint32_tb" title="Link to this definition"></a><br /></dt>
  6427. <dd><p>Allocate transient index buffer. </p>
  6428. <p><dl class="simple">
  6429. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_transient_index_buffer</span></code>. </p>
  6430. </dd>
  6431. </dl>
  6432. </p>
  6433. <dl class="field-list simple">
  6434. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6435. <dd class="field-odd"><ul class="simple">
  6436. <li><p><strong>_tib</strong> – <strong>[out]</strong> <a class="reference internal" href="#structbgfx_1_1_transient_index_buffer"><span class="std std-ref">TransientIndexBuffer</span></a> structure will be filled, and will be valid for the duration of frame, and can be reused for multiple draw calls. </p></li>
  6437. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of indices to allocate. </p></li>
  6438. <li><p><strong>_index32</strong> – <strong>[in]</strong> Set to <code class="docutils literal notranslate"><span class="pre">true</span></code> if input indices will be 32-bit.</p></li>
  6439. </ul>
  6440. </dd>
  6441. </dl>
  6442. </dd></dl>
  6443. </section>
  6444. <section id="id6">
  6445. <h3>Textures<a class="headerlink" href="#id6" title="Link to this heading"></a></h3>
  6446. <dl class="cpp struct">
  6447. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormatE">
  6448. <span id="_CPPv3N4bgfx13TextureFormatE"></span><span id="_CPPv2N4bgfx13TextureFormatE"></span><span id="bgfx::TextureFormat"></span><span class="target" id="structbgfx_1_1_texture_format"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TextureFormat</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormatE" title="Link to this definition"></a><br /></dt>
  6449. <dd><p>Texture format enum. </p>
  6450. <p>Notation: <div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">RGBA16S</span>
  6451. <span class="o">^</span> <span class="o">^</span> <span class="o">^</span>
  6452. <span class="o">|</span> <span class="o">|</span> <span class="o">+--</span> <span class="p">[</span> <span class="p">]</span><span class="n">Unorm</span>
  6453. <span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">F</span><span class="p">]</span><span class="n">loat</span>
  6454. <span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">S</span><span class="p">]</span><span class="n">norm</span>
  6455. <span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">I</span><span class="p">]</span><span class="n">nt</span>
  6456. <span class="o">|</span> <span class="o">|</span> <span class="p">[</span><span class="n">U</span><span class="p">]</span><span class="nb">int</span>
  6457. <span class="o">|</span> <span class="o">+----</span> <span class="n">Number</span> <span class="n">of</span> <span class="n">bits</span> <span class="n">per</span> <span class="n">component</span>
  6458. <span class="o">+--------</span> <span class="n">Components</span>
  6459. </pre></div>
  6460. </div>
  6461. <dl class="simple">
  6462. <dt><strong>Attention</strong></dt><dd><p>Availability depends on <a class="reference internal" href="#structbgfx_1_1_caps"><span class="std std-ref">Caps</span></a> (see: formats).</p>
  6463. </dd>
  6464. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_texture_format_t</span></code>. </p>
  6465. </dd>
  6466. </dl>
  6467. </p>
  6468. <div class="breathe-sectiondef docutils container">
  6469. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  6470. <dl class="cpp enum">
  6471. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4EnumE">
  6472. <span id="_CPPv3N4bgfx13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx13TextureFormat4EnumE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="Link to this definition"></a><br /></dt>
  6473. <dd><p>Texture formats: </p>
  6474. <p><em>Values:</em></p>
  6475. <dl class="cpp enumerator">
  6476. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3BC1E">
  6477. <span id="_CPPv3N4bgfx13TextureFormat4Enum3BC1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aee125d92e0e80015bd586b5621cc3d83"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC1E" title="Link to this definition"></a><br /></dt>
  6478. <dd><p>DXT1 R5G6B5A1. </p>
  6479. </dd></dl>
  6480. <dl class="cpp enumerator">
  6481. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3BC2E">
  6482. <span id="_CPPv3N4bgfx13TextureFormat4Enum3BC2E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC2E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4d77afc75cacfa609303940e1c9cddc2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC2E" title="Link to this definition"></a><br /></dt>
  6483. <dd><p>DXT3 R5G6B5A4. </p>
  6484. </dd></dl>
  6485. <dl class="cpp enumerator">
  6486. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3BC3E">
  6487. <span id="_CPPv3N4bgfx13TextureFormat4Enum3BC3E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC3E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a113e64fa135fca0459a7c2ea40425c4f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC3</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC3E" title="Link to this definition"></a><br /></dt>
  6488. <dd><p>DXT5 R5G6B5A8. </p>
  6489. </dd></dl>
  6490. <dl class="cpp enumerator">
  6491. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3BC4E">
  6492. <span id="_CPPv3N4bgfx13TextureFormat4Enum3BC4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1937f7640ffa842f2c6678286c313e7a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC4E" title="Link to this definition"></a><br /></dt>
  6493. <dd><p>LATC1/ATI1 R8. </p>
  6494. </dd></dl>
  6495. <dl class="cpp enumerator">
  6496. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3BC5E">
  6497. <span id="_CPPv3N4bgfx13TextureFormat4Enum3BC5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9696af3d8af5c8b8dcdb2bba18df54c8"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC5E" title="Link to this definition"></a><br /></dt>
  6498. <dd><p>LATC2/ATI2 RG8. </p>
  6499. </dd></dl>
  6500. <dl class="cpp enumerator">
  6501. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4BC6HE">
  6502. <span id="_CPPv3N4bgfx13TextureFormat4Enum4BC6HE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4BC6HE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a3e149dd90ceda8997bcf54a97debd703"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC6H</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4BC6HE" title="Link to this definition"></a><br /></dt>
  6503. <dd><p>BC6H RGB16F. </p>
  6504. </dd></dl>
  6505. <dl class="cpp enumerator">
  6506. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3BC7E">
  6507. <span id="_CPPv3N4bgfx13TextureFormat4Enum3BC7E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3BC7E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a880c61bb22f0950eec832c77e7667d96"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BC7</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3BC7E" title="Link to this definition"></a><br /></dt>
  6508. <dd><p>BC7 RGB 4-7 bits per color channel, 0-8 bits alpha. </p>
  6509. </dd></dl>
  6510. <dl class="cpp enumerator">
  6511. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4ETC1E">
  6512. <span id="_CPPv3N4bgfx13TextureFormat4Enum4ETC1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ETC1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac789a4e13dc4efbb9239fa89f54b8205"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ETC1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ETC1E" title="Link to this definition"></a><br /></dt>
  6513. <dd><p>ETC1 RGB8. </p>
  6514. </dd></dl>
  6515. <dl class="cpp enumerator">
  6516. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4ETC2E">
  6517. <span id="_CPPv3N4bgfx13TextureFormat4Enum4ETC2E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ETC2E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aba5a8c2a63daebe7f7b6e6530e384662"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ETC2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ETC2E" title="Link to this definition"></a><br /></dt>
  6518. <dd><p>ETC2 RGB8. </p>
  6519. </dd></dl>
  6520. <dl class="cpp enumerator">
  6521. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5ETC2AE">
  6522. <span id="_CPPv3N4bgfx13TextureFormat4Enum5ETC2AE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5ETC2AE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aeae9b14b230f8576efb154b961836ca5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ETC2A</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5ETC2AE" title="Link to this definition"></a><br /></dt>
  6523. <dd><p>ETC2 RGBA8. </p>
  6524. </dd></dl>
  6525. <dl class="cpp enumerator">
  6526. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6ETC2A1E">
  6527. <span id="_CPPv3N4bgfx13TextureFormat4Enum6ETC2A1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6ETC2A1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a971bf46d4c28a7b708a2c6df44593720"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ETC2A1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6ETC2A1E" title="Link to this definition"></a><br /></dt>
  6528. <dd><p>ETC2 RGB8A1. </p>
  6529. </dd></dl>
  6530. <dl class="cpp enumerator">
  6531. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6EACR11E">
  6532. <span id="_CPPv3N4bgfx13TextureFormat4Enum6EACR11E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6EACR11E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a8c795a2056f9d540d7a7eaf6ec7518e3"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EACR11</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6EACR11E" title="Link to this definition"></a><br /></dt>
  6533. <dd><p>EAC R11 UNORM. </p>
  6534. </dd></dl>
  6535. <dl class="cpp enumerator">
  6536. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7EACR11SE">
  6537. <span id="_CPPv3N4bgfx13TextureFormat4Enum7EACR11SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7EACR11SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a392e32d57888acc4d6e821af9d638636"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EACR11S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7EACR11SE" title="Link to this definition"></a><br /></dt>
  6538. <dd><p>EAC R11 SNORM. </p>
  6539. </dd></dl>
  6540. <dl class="cpp enumerator">
  6541. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7EACRG11E">
  6542. <span id="_CPPv3N4bgfx13TextureFormat4Enum7EACRG11E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7EACRG11E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a16a7fbdce6125f429802dac0b28143ba"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EACRG11</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7EACRG11E" title="Link to this definition"></a><br /></dt>
  6543. <dd><p>EAC RG11 UNORM. </p>
  6544. </dd></dl>
  6545. <dl class="cpp enumerator">
  6546. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum8EACRG11SE">
  6547. <span id="_CPPv3N4bgfx13TextureFormat4Enum8EACRG11SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8EACRG11SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aaaf76afc94dc45b9560593119cc1070d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EACRG11S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8EACRG11SE" title="Link to this definition"></a><br /></dt>
  6548. <dd><p>EAC RG11 SNORM. </p>
  6549. </dd></dl>
  6550. <dl class="cpp enumerator">
  6551. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5PTC12E">
  6552. <span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC12E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC12E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6abf2b55f4dfd7effbfa64f27d9546512c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PTC12</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC12E" title="Link to this definition"></a><br /></dt>
  6553. <dd><p>PVRTC1 RGB 2BPP. </p>
  6554. </dd></dl>
  6555. <dl class="cpp enumerator">
  6556. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5PTC14E">
  6557. <span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC14E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC14E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1b68442c2e582657d2e9c5b2af7480c5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PTC14</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC14E" title="Link to this definition"></a><br /></dt>
  6558. <dd><p>PVRTC1 RGB 4BPP. </p>
  6559. </dd></dl>
  6560. <dl class="cpp enumerator">
  6561. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6PTC12AE">
  6562. <span id="_CPPv3N4bgfx13TextureFormat4Enum6PTC12AE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6PTC12AE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a78128a646efda9393122f3a0cbb47ba7"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PTC12A</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6PTC12AE" title="Link to this definition"></a><br /></dt>
  6563. <dd><p>PVRTC1 RGBA 2BPP. </p>
  6564. </dd></dl>
  6565. <dl class="cpp enumerator">
  6566. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6PTC14AE">
  6567. <span id="_CPPv3N4bgfx13TextureFormat4Enum6PTC14AE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6PTC14AE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a106b764dde7bcb1eb0c4ea6034ea3b24"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PTC14A</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6PTC14AE" title="Link to this definition"></a><br /></dt>
  6568. <dd><p>PVRTC1 RGBA 4BPP. </p>
  6569. </dd></dl>
  6570. <dl class="cpp enumerator">
  6571. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5PTC22E">
  6572. <span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC22E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC22E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a10791d050f8fc01881fb9ce4dfcdaa6d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PTC22</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC22E" title="Link to this definition"></a><br /></dt>
  6573. <dd><p>PVRTC2 RGBA 2BPP. </p>
  6574. </dd></dl>
  6575. <dl class="cpp enumerator">
  6576. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5PTC24E">
  6577. <span id="_CPPv3N4bgfx13TextureFormat4Enum5PTC24E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5PTC24E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab4e6bd17ebbcaa1085dd1285aa2c6e23"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PTC24</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5PTC24E" title="Link to this definition"></a><br /></dt>
  6578. <dd><p>PVRTC2 RGBA 4BPP. </p>
  6579. </dd></dl>
  6580. <dl class="cpp enumerator">
  6581. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3ATCE">
  6582. <span id="_CPPv3N4bgfx13TextureFormat4Enum3ATCE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3ATCE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6abfbaa50ea905a9af71c60cbfd80e7c66"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ATC</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3ATCE" title="Link to this definition"></a><br /></dt>
  6583. <dd><p>ATC RGB 4BPP. </p>
  6584. </dd></dl>
  6585. <dl class="cpp enumerator">
  6586. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4ATCEE">
  6587. <span id="_CPPv3N4bgfx13TextureFormat4Enum4ATCEE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ATCEE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a27c3773c6bdbf033c9f14623e569a187"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ATCE</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ATCEE" title="Link to this definition"></a><br /></dt>
  6588. <dd><p>ATCE RGBA 8 BPP explicit alpha. </p>
  6589. </dd></dl>
  6590. <dl class="cpp enumerator">
  6591. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4ATCIE">
  6592. <span id="_CPPv3N4bgfx13TextureFormat4Enum4ATCIE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4ATCIE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1ba5cdc0c5cc60853fa37209452d6ec3"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ATCI</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4ATCIE" title="Link to this definition"></a><br /></dt>
  6593. <dd><p>ATCI RGBA 8 BPP interpolated alpha. </p>
  6594. </dd></dl>
  6595. <dl class="cpp enumerator">
  6596. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC4x4E">
  6597. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC4x4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC4x4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae992925acb9b25166b93cc445c62daea"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC4x4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC4x4E" title="Link to this definition"></a><br /></dt>
  6598. <dd><p>ASTC 4x4 8.0 BPP. </p>
  6599. </dd></dl>
  6600. <dl class="cpp enumerator">
  6601. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC5x4E">
  6602. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC5x4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC5x4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6b60a45e97d3e31f00694d93828f08eb"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC5x4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC5x4E" title="Link to this definition"></a><br /></dt>
  6603. <dd><p>ASTC 5x4 6.40 BPP. </p>
  6604. </dd></dl>
  6605. <dl class="cpp enumerator">
  6606. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC5x5E">
  6607. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC5x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC5x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6bdec333c7fc2259310ba8252665f22a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC5x5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC5x5E" title="Link to this definition"></a><br /></dt>
  6608. <dd><p>ASTC 5x5 5.12 BPP. </p>
  6609. </dd></dl>
  6610. <dl class="cpp enumerator">
  6611. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC6x5E">
  6612. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC6x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC6x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a7225af3087a22971bdcec3a1ae97957e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC6x5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC6x5E" title="Link to this definition"></a><br /></dt>
  6613. <dd><p>ASTC 6x5 4.27 BPP. </p>
  6614. </dd></dl>
  6615. <dl class="cpp enumerator">
  6616. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC6x6E">
  6617. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC6x6E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC6x6E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ade44f5a267e9e98a8e1b5506061237b4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC6x6</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC6x6E" title="Link to this definition"></a><br /></dt>
  6618. <dd><p>ASTC 6x6 3.56 BPP. </p>
  6619. </dd></dl>
  6620. <dl class="cpp enumerator">
  6621. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x5E">
  6622. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC8x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC8x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab3d82634d3764b46e0b0b2c0101f6792"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC8x5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x5E" title="Link to this definition"></a><br /></dt>
  6623. <dd><p>ASTC 8x5 3.20 BPP. </p>
  6624. </dd></dl>
  6625. <dl class="cpp enumerator">
  6626. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x6E">
  6627. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC8x6E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC8x6E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6acba83554ed1e182a631b6bb68204cc96"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC8x6</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x6E" title="Link to this definition"></a><br /></dt>
  6628. <dd><p>ASTC 8x6 2.67 BPP. </p>
  6629. </dd></dl>
  6630. <dl class="cpp enumerator">
  6631. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x8E">
  6632. <span id="_CPPv3N4bgfx13TextureFormat4Enum7ASTC8x8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7ASTC8x8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a80346507cd0e9c2aaf40a7b94ca64521"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC8x8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7ASTC8x8E" title="Link to this definition"></a><br /></dt>
  6633. <dd><p>ASTC 8x8 2.00 BPP. </p>
  6634. </dd></dl>
  6635. <dl class="cpp enumerator">
  6636. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x5E">
  6637. <span id="_CPPv3N4bgfx13TextureFormat4Enum8ASTC10x5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8ASTC10x5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0767d4af475f555f330fe814e7937838"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC10x5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x5E" title="Link to this definition"></a><br /></dt>
  6638. <dd><p>ASTC 10x5 2.56 BPP. </p>
  6639. </dd></dl>
  6640. <dl class="cpp enumerator">
  6641. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x6E">
  6642. <span id="_CPPv3N4bgfx13TextureFormat4Enum8ASTC10x6E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8ASTC10x6E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a3493533d40fdbbfad9b3eaf10d3bab7c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC10x6</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x6E" title="Link to this definition"></a><br /></dt>
  6643. <dd><p>ASTC 10x6 2.13 BPP. </p>
  6644. </dd></dl>
  6645. <dl class="cpp enumerator">
  6646. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x8E">
  6647. <span id="_CPPv3N4bgfx13TextureFormat4Enum8ASTC10x8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8ASTC10x8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a68369858c21d6c9f50716eb1766f776b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC10x8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8ASTC10x8E" title="Link to this definition"></a><br /></dt>
  6648. <dd><p>ASTC 10x8 1.60 BPP. </p>
  6649. </dd></dl>
  6650. <dl class="cpp enumerator">
  6651. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum9ASTC10x10E">
  6652. <span id="_CPPv3N4bgfx13TextureFormat4Enum9ASTC10x10E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum9ASTC10x10E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9738732b626beb9597104b49914847ef"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC10x10</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum9ASTC10x10E" title="Link to this definition"></a><br /></dt>
  6653. <dd><p>ASTC 10x10 1.28 BPP. </p>
  6654. </dd></dl>
  6655. <dl class="cpp enumerator">
  6656. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum9ASTC12x10E">
  6657. <span id="_CPPv3N4bgfx13TextureFormat4Enum9ASTC12x10E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum9ASTC12x10E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a04c2815b53ee2c5a27757a98c1049103"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC12x10</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum9ASTC12x10E" title="Link to this definition"></a><br /></dt>
  6658. <dd><p>ASTC 12x10 1.07 BPP. </p>
  6659. </dd></dl>
  6660. <dl class="cpp enumerator">
  6661. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum9ASTC12x12E">
  6662. <span id="_CPPv3N4bgfx13TextureFormat4Enum9ASTC12x12E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum9ASTC12x12E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1292ae8ced5ee2b58e47de4b06ad5a6e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ASTC12x12</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum9ASTC12x12E" title="Link to this definition"></a><br /></dt>
  6663. <dd><p>ASTC 12x12 0.89 BPP. </p>
  6664. </dd></dl>
  6665. <dl class="cpp enumerator">
  6666. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7UnknownE">
  6667. <span id="_CPPv3N4bgfx13TextureFormat4Enum7UnknownE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7UnknownE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a2113f0ca58d6c12c10663c0ed360681e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Unknown</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7UnknownE" title="Link to this definition"></a><br /></dt>
  6668. <dd></dd></dl>
  6669. <dl class="cpp enumerator">
  6670. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum2R1E">
  6671. <span id="_CPPv3N4bgfx13TextureFormat4Enum2R1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum2R1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab01e6044eaff1fe4451232325ad4f9a6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum2R1E" title="Link to this definition"></a><br /></dt>
  6672. <dd></dd></dl>
  6673. <dl class="cpp enumerator">
  6674. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum2A8E">
  6675. <span id="_CPPv3N4bgfx13TextureFormat4Enum2A8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum2A8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9b43602e80b02cddbaa066bddc137bc6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">A8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum2A8E" title="Link to this definition"></a><br /></dt>
  6676. <dd></dd></dl>
  6677. <dl class="cpp enumerator">
  6678. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum2R8E">
  6679. <span id="_CPPv3N4bgfx13TextureFormat4Enum2R8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum2R8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a366a4683758cef76e007f4f33801f7b2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum2R8E" title="Link to this definition"></a><br /></dt>
  6680. <dd></dd></dl>
  6681. <dl class="cpp enumerator">
  6682. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3R8IE">
  6683. <span id="_CPPv3N4bgfx13TextureFormat4Enum3R8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae777e9061538de54841dfd96cc4070c2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R8I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R8IE" title="Link to this definition"></a><br /></dt>
  6684. <dd></dd></dl>
  6685. <dl class="cpp enumerator">
  6686. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3R8UE">
  6687. <span id="_CPPv3N4bgfx13TextureFormat4Enum3R8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aecd6d1d295020dc61bad08ab39b609df"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R8U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R8UE" title="Link to this definition"></a><br /></dt>
  6688. <dd></dd></dl>
  6689. <dl class="cpp enumerator">
  6690. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3R8SE">
  6691. <span id="_CPPv3N4bgfx13TextureFormat4Enum3R8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a86b354d3bf6d634605f6d93fad966fd5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R8S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R8SE" title="Link to this definition"></a><br /></dt>
  6692. <dd></dd></dl>
  6693. <dl class="cpp enumerator">
  6694. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3R16E">
  6695. <span id="_CPPv3N4bgfx13TextureFormat4Enum3R16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3R16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9f2a1e70d71e48558cfae60650b5da1c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R16</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3R16E" title="Link to this definition"></a><br /></dt>
  6696. <dd></dd></dl>
  6697. <dl class="cpp enumerator">
  6698. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R16IE">
  6699. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R16IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4ea4bea5f457d7aaa855d253ae967538"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R16I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16IE" title="Link to this definition"></a><br /></dt>
  6700. <dd></dd></dl>
  6701. <dl class="cpp enumerator">
  6702. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R16UE">
  6703. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R16UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6509456e2fb58fc523abd92bfa4f67ce"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R16U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16UE" title="Link to this definition"></a><br /></dt>
  6704. <dd></dd></dl>
  6705. <dl class="cpp enumerator">
  6706. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R16FE">
  6707. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0808adf629c43dbaf932e62b48696b41"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R16F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16FE" title="Link to this definition"></a><br /></dt>
  6708. <dd></dd></dl>
  6709. <dl class="cpp enumerator">
  6710. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R16SE">
  6711. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R16SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R16SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aedfd375d04e3cd2a35992d35657def41"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R16S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R16SE" title="Link to this definition"></a><br /></dt>
  6712. <dd></dd></dl>
  6713. <dl class="cpp enumerator">
  6714. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R32IE">
  6715. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R32IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R32IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0cfc961a23995b91f1dfba97b4778fc9"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R32I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R32IE" title="Link to this definition"></a><br /></dt>
  6716. <dd></dd></dl>
  6717. <dl class="cpp enumerator">
  6718. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R32UE">
  6719. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R32UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R32UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a56674c00d24eff7b1b96005d66842fed"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R32U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R32UE" title="Link to this definition"></a><br /></dt>
  6720. <dd></dd></dl>
  6721. <dl class="cpp enumerator">
  6722. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4R32FE">
  6723. <span id="_CPPv3N4bgfx13TextureFormat4Enum4R32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4R32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6a20e5c95f27448745e6252fbaa63752"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R32F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4R32FE" title="Link to this definition"></a><br /></dt>
  6724. <dd></dd></dl>
  6725. <dl class="cpp enumerator">
  6726. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3RG8E">
  6727. <span id="_CPPv3N4bgfx13TextureFormat4Enum3RG8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3RG8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a044f11d086916dd993181a298b713fe5"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3RG8E" title="Link to this definition"></a><br /></dt>
  6728. <dd></dd></dl>
  6729. <dl class="cpp enumerator">
  6730. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4RG8IE">
  6731. <span id="_CPPv3N4bgfx13TextureFormat4Enum4RG8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac022360e199eafdc5965bb16d8e1596b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG8I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG8IE" title="Link to this definition"></a><br /></dt>
  6732. <dd></dd></dl>
  6733. <dl class="cpp enumerator">
  6734. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4RG8UE">
  6735. <span id="_CPPv3N4bgfx13TextureFormat4Enum4RG8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae6e1a34243df2512cde0d768fe27831d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG8U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG8UE" title="Link to this definition"></a><br /></dt>
  6736. <dd></dd></dl>
  6737. <dl class="cpp enumerator">
  6738. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4RG8SE">
  6739. <span id="_CPPv3N4bgfx13TextureFormat4Enum4RG8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a30ffb32ec2a2f303f3f3c0618d3097b7"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG8S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG8SE" title="Link to this definition"></a><br /></dt>
  6740. <dd></dd></dl>
  6741. <dl class="cpp enumerator">
  6742. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4RG16E">
  6743. <span id="_CPPv3N4bgfx13TextureFormat4Enum4RG16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RG16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6abd5c94677dbbcdb12c9137741f71f5a0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG16</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RG16E" title="Link to this definition"></a><br /></dt>
  6744. <dd></dd></dl>
  6745. <dl class="cpp enumerator">
  6746. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG16IE">
  6747. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4d7378aee4f0c28a3e9dd49733cbc7d4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG16I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16IE" title="Link to this definition"></a><br /></dt>
  6748. <dd></dd></dl>
  6749. <dl class="cpp enumerator">
  6750. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG16UE">
  6751. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6add597603c407eea23cd3a076e2799a23"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG16U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16UE" title="Link to this definition"></a><br /></dt>
  6752. <dd></dd></dl>
  6753. <dl class="cpp enumerator">
  6754. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG16FE">
  6755. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aa01f725e68722ccd7e8a842f697ef7b4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG16F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16FE" title="Link to this definition"></a><br /></dt>
  6756. <dd></dd></dl>
  6757. <dl class="cpp enumerator">
  6758. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG16SE">
  6759. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG16SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG16SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ada99abb273ad49596e5645a870913203"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG16S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG16SE" title="Link to this definition"></a><br /></dt>
  6760. <dd></dd></dl>
  6761. <dl class="cpp enumerator">
  6762. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG32IE">
  6763. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG32IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG32IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1e9f0cde8652d9582ca00d3cf0522481"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG32I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG32IE" title="Link to this definition"></a><br /></dt>
  6764. <dd></dd></dl>
  6765. <dl class="cpp enumerator">
  6766. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG32UE">
  6767. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG32UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG32UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a10202973fabca8f138748e4829a5a454"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG32U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG32UE" title="Link to this definition"></a><br /></dt>
  6768. <dd></dd></dl>
  6769. <dl class="cpp enumerator">
  6770. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RG32FE">
  6771. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RG32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RG32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0570aa288a4cf06073ecfc272ff66bfa"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG32F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RG32FE" title="Link to this definition"></a><br /></dt>
  6772. <dd></dd></dl>
  6773. <dl class="cpp enumerator">
  6774. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4RGB8E">
  6775. <span id="_CPPv3N4bgfx13TextureFormat4Enum4RGB8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4RGB8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a343bee8db4bf2bd967aca4422804da99"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4RGB8E" title="Link to this definition"></a><br /></dt>
  6776. <dd></dd></dl>
  6777. <dl class="cpp enumerator">
  6778. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RGB8IE">
  6779. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RGB8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGB8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a86364d64bd522cd53ed3f388316f16c4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB8I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGB8IE" title="Link to this definition"></a><br /></dt>
  6780. <dd></dd></dl>
  6781. <dl class="cpp enumerator">
  6782. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RGB8UE">
  6783. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RGB8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGB8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a67a188a9c637a007b21a6b494497fae8"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB8U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGB8UE" title="Link to this definition"></a><br /></dt>
  6784. <dd></dd></dl>
  6785. <dl class="cpp enumerator">
  6786. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RGB8SE">
  6787. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RGB8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGB8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a07efdf9e67260607b65e4c818cf5dbc2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB8S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGB8SE" title="Link to this definition"></a><br /></dt>
  6788. <dd></dd></dl>
  6789. <dl class="cpp enumerator">
  6790. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGB9E5FE">
  6791. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGB9E5FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGB9E5FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ae16f6d03d3fb347cf375b35bca2a0211"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB9E5F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGB9E5FE" title="Link to this definition"></a><br /></dt>
  6792. <dd></dd></dl>
  6793. <dl class="cpp enumerator">
  6794. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5BGRA8E">
  6795. <span id="_CPPv3N4bgfx13TextureFormat4Enum5BGRA8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5BGRA8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a8f9737f30497f922acb85eabfab5bd8b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BGRA8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5BGRA8E" title="Link to this definition"></a><br /></dt>
  6796. <dd></dd></dl>
  6797. <dl class="cpp enumerator">
  6798. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RGBA8E">
  6799. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RGBA8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGBA8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a76f725de734f6f57124bce94ecf6b857"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGBA8E" title="Link to this definition"></a><br /></dt>
  6800. <dd></dd></dl>
  6801. <dl class="cpp enumerator">
  6802. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA8IE">
  6803. <span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA8IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA8IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9d2eaf79b30d325f6c02d91c6c83fa9d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA8I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA8IE" title="Link to this definition"></a><br /></dt>
  6804. <dd></dd></dl>
  6805. <dl class="cpp enumerator">
  6806. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA8UE">
  6807. <span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA8UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA8UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a58a5c9b3c280930e63443e58b8b54514"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA8U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA8UE" title="Link to this definition"></a><br /></dt>
  6808. <dd></dd></dl>
  6809. <dl class="cpp enumerator">
  6810. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA8SE">
  6811. <span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA8SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA8SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a1f654f103d5ed7c2e3254402c9b25b3e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA8S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA8SE" title="Link to this definition"></a><br /></dt>
  6812. <dd></dd></dl>
  6813. <dl class="cpp enumerator">
  6814. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6RGBA16E">
  6815. <span id="_CPPv3N4bgfx13TextureFormat4Enum6RGBA16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGBA16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac84e3e8918ad3ae651fa77cf7c3d1a1f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA16</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGBA16E" title="Link to this definition"></a><br /></dt>
  6816. <dd></dd></dl>
  6817. <dl class="cpp enumerator">
  6818. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16IE">
  6819. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ac1ee33c840c8ca2bee1dcd21ab8fcf91"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA16I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16IE" title="Link to this definition"></a><br /></dt>
  6820. <dd></dd></dl>
  6821. <dl class="cpp enumerator">
  6822. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16UE">
  6823. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aa34499e3da11fe380fef67248d7b5ba6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA16U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16UE" title="Link to this definition"></a><br /></dt>
  6824. <dd></dd></dl>
  6825. <dl class="cpp enumerator">
  6826. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16FE">
  6827. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6adadd1cd35bb81b2b43f396a5f5903ac4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA16F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16FE" title="Link to this definition"></a><br /></dt>
  6828. <dd></dd></dl>
  6829. <dl class="cpp enumerator">
  6830. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA16SE">
  6831. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA16SE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA16SE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a6001607ef039dd349cc48155438ab00f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA16S</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA16SE" title="Link to this definition"></a><br /></dt>
  6832. <dd></dd></dl>
  6833. <dl class="cpp enumerator">
  6834. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA32IE">
  6835. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA32IE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA32IE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4b5db87abcf93819d12a7a0493bc0283"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA32I</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA32IE" title="Link to this definition"></a><br /></dt>
  6836. <dd></dd></dl>
  6837. <dl class="cpp enumerator">
  6838. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA32UE">
  6839. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA32UE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA32UE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6acf97df6b0145396940f5ea893fc3873b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA32U</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA32UE" title="Link to this definition"></a><br /></dt>
  6840. <dd></dd></dl>
  6841. <dl class="cpp enumerator">
  6842. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGBA32FE">
  6843. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGBA32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGBA32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ad21d8c3be31a08140a7abbafb1719166"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA32F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGBA32FE" title="Link to this definition"></a><br /></dt>
  6844. <dd></dd></dl>
  6845. <dl class="cpp enumerator">
  6846. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6B5G6R5E">
  6847. <span id="_CPPv3N4bgfx13TextureFormat4Enum6B5G6R5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6B5G6R5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a9132b9c53a5e2dafd1a6a6ade302f33b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">B5G6R5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6B5G6R5E" title="Link to this definition"></a><br /></dt>
  6848. <dd></dd></dl>
  6849. <dl class="cpp enumerator">
  6850. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6R5G6B5E">
  6851. <span id="_CPPv3N4bgfx13TextureFormat4Enum6R5G6B5E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6R5G6B5E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aec8537567352a4db4088e3e9f1cf978d"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">R5G6B5</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6R5G6B5E" title="Link to this definition"></a><br /></dt>
  6852. <dd></dd></dl>
  6853. <dl class="cpp enumerator">
  6854. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5BGRA4E">
  6855. <span id="_CPPv3N4bgfx13TextureFormat4Enum5BGRA4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5BGRA4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aa45c193e57e5b9bf0a8693438f1c2256"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BGRA4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5BGRA4E" title="Link to this definition"></a><br /></dt>
  6856. <dd></dd></dl>
  6857. <dl class="cpp enumerator">
  6858. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5RGBA4E">
  6859. <span id="_CPPv3N4bgfx13TextureFormat4Enum5RGBA4E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5RGBA4E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a4e9ceae8c33292ac988c494f79bccbe3"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGBA4</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5RGBA4E" title="Link to this definition"></a><br /></dt>
  6860. <dd></dd></dl>
  6861. <dl class="cpp enumerator">
  6862. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6BGR5A1E">
  6863. <span id="_CPPv3N4bgfx13TextureFormat4Enum6BGR5A1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6BGR5A1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a45b848a845dc1081fa04570b1bc7bc2a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BGR5A1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6BGR5A1E" title="Link to this definition"></a><br /></dt>
  6864. <dd></dd></dl>
  6865. <dl class="cpp enumerator">
  6866. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum6RGB5A1E">
  6867. <span id="_CPPv3N4bgfx13TextureFormat4Enum6RGB5A1E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum6RGB5A1E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a38bfd7f727149e6458f39ade896d18a7"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB5A1</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum6RGB5A1E" title="Link to this definition"></a><br /></dt>
  6868. <dd></dd></dl>
  6869. <dl class="cpp enumerator">
  6870. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum7RGB10A2E">
  6871. <span id="_CPPv3N4bgfx13TextureFormat4Enum7RGB10A2E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum7RGB10A2E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a7c125c1a4eceb2bbc6f7600bb7ccdf92"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RGB10A2</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum7RGB10A2E" title="Link to this definition"></a><br /></dt>
  6872. <dd></dd></dl>
  6873. <dl class="cpp enumerator">
  6874. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum8RG11B10FE">
  6875. <span id="_CPPv3N4bgfx13TextureFormat4Enum8RG11B10FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum8RG11B10FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a41ac710aca293e8831029481b9636a8f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RG11B10F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum8RG11B10FE" title="Link to this definition"></a><br /></dt>
  6876. <dd></dd></dl>
  6877. <dl class="cpp enumerator">
  6878. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum12UnknownDepthE">
  6879. <span id="_CPPv3N4bgfx13TextureFormat4Enum12UnknownDepthE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum12UnknownDepthE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6aaffdadbf432e0a4ea3f20330d9e548c6"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">UnknownDepth</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum12UnknownDepthE" title="Link to this definition"></a><br /></dt>
  6880. <dd></dd></dl>
  6881. <dl class="cpp enumerator">
  6882. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3D16E">
  6883. <span id="_CPPv3N4bgfx13TextureFormat4Enum3D16E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3D16E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a086d2b11ba5e98dd6453f26a306366d0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D16</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3D16E" title="Link to this definition"></a><br /></dt>
  6884. <dd></dd></dl>
  6885. <dl class="cpp enumerator">
  6886. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3D24E">
  6887. <span id="_CPPv3N4bgfx13TextureFormat4Enum3D24E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3D24E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a27a39685dd5aaafcad65736692fa5eff"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D24</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3D24E" title="Link to this definition"></a><br /></dt>
  6888. <dd></dd></dl>
  6889. <dl class="cpp enumerator">
  6890. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5D24S8E">
  6891. <span id="_CPPv3N4bgfx13TextureFormat4Enum5D24S8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5D24S8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a21a275083cbc63cf567bbe435de52628"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D24S8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5D24S8E" title="Link to this definition"></a><br /></dt>
  6892. <dd></dd></dl>
  6893. <dl class="cpp enumerator">
  6894. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum3D32E">
  6895. <span id="_CPPv3N4bgfx13TextureFormat4Enum3D32E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum3D32E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a993af3f99854f2b0b1d879f652da5ea3"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D32</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum3D32E" title="Link to this definition"></a><br /></dt>
  6896. <dd></dd></dl>
  6897. <dl class="cpp enumerator">
  6898. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4D16FE">
  6899. <span id="_CPPv3N4bgfx13TextureFormat4Enum4D16FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D16FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a0322a3bb98e826a25a3f63d369eb341f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D16F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D16FE" title="Link to this definition"></a><br /></dt>
  6900. <dd></dd></dl>
  6901. <dl class="cpp enumerator">
  6902. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4D24FE">
  6903. <span id="_CPPv3N4bgfx13TextureFormat4Enum4D24FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D24FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ad0e87f93c89a2d4661764eb56956b64e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D24F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D24FE" title="Link to this definition"></a><br /></dt>
  6904. <dd></dd></dl>
  6905. <dl class="cpp enumerator">
  6906. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4D32FE">
  6907. <span id="_CPPv3N4bgfx13TextureFormat4Enum4D32FE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D32FE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6acb8eb8bd274644a29aac381ef53c5c69"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D32F</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D32FE" title="Link to this definition"></a><br /></dt>
  6908. <dd></dd></dl>
  6909. <dl class="cpp enumerator">
  6910. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum4D0S8E">
  6911. <span id="_CPPv3N4bgfx13TextureFormat4Enum4D0S8E"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum4D0S8E"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6ab21986c97b19c1b8d198c171f34e4471"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">D0S8</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum4D0S8E" title="Link to this definition"></a><br /></dt>
  6912. <dd></dd></dl>
  6913. <dl class="cpp enumerator">
  6914. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13TextureFormat4Enum5CountE">
  6915. <span id="_CPPv3N4bgfx13TextureFormat4Enum5CountE"></span><span id="_CPPv2N4bgfx13TextureFormat4Enum5CountE"></span><span class="target" id="structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6a18ef8eeb88705ba0fcbbd0e83bd5c401"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="Link to this definition"></a><br /></dt>
  6916. <dd></dd></dl>
  6917. </dd></dl>
  6918. </div>
  6919. </dd></dl>
  6920. <p><strong>Texture Flags</strong></p>
  6921. <dl class="cpp macro">
  6922. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_MSAA_SAMPLE">
  6923. <span class="target" id="defines_8h_1a76154ddf9e9faab72fa2ccff0c697c21"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_MSAA_SAMPLE</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_MSAA_SAMPLE" title="Link to this definition"></a><br /></dt>
  6924. <dd><p>Texture will be used for MSAA sampling. </p>
  6925. </dd></dl>
  6926. <dl class="cpp macro">
  6927. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_RT">
  6928. <span class="target" id="defines_8h_1af21bb78cea0412a9b32725ad43ea083d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_RT</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_RT" title="Link to this definition"></a><br /></dt>
  6929. <dd><p>Render target no MSAA. </p>
  6930. </dd></dl>
  6931. <dl class="cpp macro">
  6932. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_COMPUTE_WRITE">
  6933. <span class="target" id="defines_8h_1a462114d88d2071399c42e5cb765222c1"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_COMPUTE_WRITE</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_COMPUTE_WRITE" title="Link to this definition"></a><br /></dt>
  6934. <dd><p>Texture will be used for compute write. </p>
  6935. </dd></dl>
  6936. <dl class="cpp macro">
  6937. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_SRGB">
  6938. <span class="target" id="defines_8h_1aebd7503e06444d5583290533187985eb"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_SRGB</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_SRGB" title="Link to this definition"></a><br /></dt>
  6939. <dd><p>Sample texture as sRGB. </p>
  6940. </dd></dl>
  6941. <dl class="cpp macro">
  6942. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_BLIT_DST">
  6943. <span class="target" id="defines_8h_1a11c19f016fcada66e1b1dd93b0bac7b9"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_BLIT_DST</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_BLIT_DST" title="Link to this definition"></a><br /></dt>
  6944. <dd><p>Texture will be used as blit destination. </p>
  6945. </dd></dl>
  6946. <dl class="cpp macro">
  6947. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_READ_BACK">
  6948. <span class="target" id="defines_8h_1ad4152b462fea0ac4574859c63cd59d71"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_READ_BACK</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_READ_BACK" title="Link to this definition"></a><br /></dt>
  6949. <dd><p>Texture will be used for read back from GPU. </p>
  6950. </dd></dl>
  6951. <dl class="cpp macro">
  6952. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_RT_MSAA_X2">
  6953. <span class="target" id="defines_8h_1aab482f43f34de94220631240291e1113"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_RT_MSAA_X2</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_RT_MSAA_X2" title="Link to this definition"></a><br /></dt>
  6954. <dd><p>Render target MSAAx2 mode. </p>
  6955. </dd></dl>
  6956. <dl class="cpp macro">
  6957. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_RT_MSAA_X4">
  6958. <span class="target" id="defines_8h_1a396ec52846e523295010f5d53cf7cb1b"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_RT_MSAA_X4</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_RT_MSAA_X4" title="Link to this definition"></a><br /></dt>
  6959. <dd><p>Render target MSAAx4 mode. </p>
  6960. </dd></dl>
  6961. <dl class="cpp macro">
  6962. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_RT_MSAA_X8">
  6963. <span class="target" id="defines_8h_1af709d9d286ba1b99eae3484ba46ab719"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_RT_MSAA_X8</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_RT_MSAA_X8" title="Link to this definition"></a><br /></dt>
  6964. <dd><p>Render target MSAAx8 mode. </p>
  6965. </dd></dl>
  6966. <dl class="cpp macro">
  6967. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_RT_MSAA_X16">
  6968. <span class="target" id="defines_8h_1ac939cc04e1bb33d089943e6bac8dc94d"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_RT_MSAA_X16</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_RT_MSAA_X16" title="Link to this definition"></a><br /></dt>
  6969. <dd><p>Render target MSAAx16 mode. </p>
  6970. </dd></dl>
  6971. <dl class="cpp macro">
  6972. <dt class="sig sig-object cpp" id="c.BGFX_TEXTURE_RT_WRITE_ONLY">
  6973. <span class="target" id="defines_8h_1a651e6b0cfbf8cfbb9f4b978857214ee5"></span><span class="sig-name descname"><span class="n"><span class="pre">BGFX_TEXTURE_RT_WRITE_ONLY</span></span></span><a class="headerlink" href="#c.BGFX_TEXTURE_RT_WRITE_ONLY" title="Link to this definition"></a><br /></dt>
  6974. <dd><p>Render target will be used for writing. </p>
  6975. </dd></dl>
  6976. <dl class="cpp function">
  6977. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t">
  6978. <span id="_CPPv3N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::isTextureValid__uint16_t.b.uint16_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a3c7386558ec793583dd0ce0db77b8c17"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">isTextureValid</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_cubeMap</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numLayers</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx14isTextureValidE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_t" title="Link to this definition"></a><br /></dt>
  6979. <dd><p>Validate texture parameters. </p>
  6980. <p><dl class="simple">
  6981. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_is_texture_valid</span></code>. </p>
  6982. </dd>
  6983. </dl>
  6984. </p>
  6985. <dl class="field-list simple">
  6986. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  6987. <dd class="field-odd"><ul class="simple">
  6988. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth dimension of volume texture. </p></li>
  6989. <li><p><strong>_cubeMap</strong> – <strong>[in]</strong> Indicates that texture contains cubemap. </p></li>
  6990. <li><p><strong>_numLayers</strong> – <strong>[in]</strong> Number of layers in texture array. </p></li>
  6991. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  6992. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture flags. See <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>. </p></li>
  6993. </ul>
  6994. </dd>
  6995. <dt class="field-even">Returns<span class="colon">:</span></dt>
  6996. <dd class="field-even"><p>True if a texture with the same parameters can be created.</p>
  6997. </dd>
  6998. </dl>
  6999. </dd></dl>
  7000. <dl class="cpp struct">
  7001. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfoE">
  7002. <span id="_CPPv3N4bgfx11TextureInfoE"></span><span id="_CPPv2N4bgfx11TextureInfoE"></span><span id="bgfx::TextureInfo"></span><span class="target" id="structbgfx_1_1_texture_info"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TextureInfo</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfoE" title="Link to this definition"></a><br /></dt>
  7003. <dd><p>Texture info. </p>
  7004. <p><dl class="simple">
  7005. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_texture_info_t</span></code>. </p>
  7006. </dd>
  7007. </dl>
  7008. </p>
  7009. <div class="breathe-sectiondef docutils container">
  7010. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  7011. <dl class="cpp var">
  7012. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo6formatE">
  7013. <span id="_CPPv3N4bgfx11TextureInfo6formatE"></span><span id="_CPPv2N4bgfx11TextureInfo6formatE"></span><span id="bgfx::TextureInfo::format__TextureFormat::Enum"></span><span class="target" id="structbgfx_1_1_texture_info_1ad0efbc4181697f7d6c56808be2f1e138"></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">format</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo6formatE" title="Link to this definition"></a><br /></dt>
  7014. <dd><p>Texture format. </p>
  7015. </dd></dl>
  7016. <dl class="cpp var">
  7017. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo11storageSizeE">
  7018. <span id="_CPPv3N4bgfx11TextureInfo11storageSizeE"></span><span id="_CPPv2N4bgfx11TextureInfo11storageSizeE"></span><span id="bgfx::TextureInfo::storageSize__uint32_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a49ce6106d8eb4aa6b26f798c152b2d0d"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">storageSize</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo11storageSizeE" title="Link to this definition"></a><br /></dt>
  7019. <dd><p>Total amount of bytes required to store texture. </p>
  7020. </dd></dl>
  7021. <dl class="cpp var">
  7022. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo5widthE">
  7023. <span id="_CPPv3N4bgfx11TextureInfo5widthE"></span><span id="_CPPv2N4bgfx11TextureInfo5widthE"></span><span id="bgfx::TextureInfo::width__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a5a9c554958a2d2d039bb3594ac87e5ab"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">width</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo5widthE" title="Link to this definition"></a><br /></dt>
  7024. <dd><p>Texture width. </p>
  7025. </dd></dl>
  7026. <dl class="cpp var">
  7027. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo6heightE">
  7028. <span id="_CPPv3N4bgfx11TextureInfo6heightE"></span><span id="_CPPv2N4bgfx11TextureInfo6heightE"></span><span id="bgfx::TextureInfo::height__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1aef88aff888246b3f26e8ce5eb59da546"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">height</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo6heightE" title="Link to this definition"></a><br /></dt>
  7029. <dd><p>Texture height. </p>
  7030. </dd></dl>
  7031. <dl class="cpp var">
  7032. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo5depthE">
  7033. <span id="_CPPv3N4bgfx11TextureInfo5depthE"></span><span id="_CPPv2N4bgfx11TextureInfo5depthE"></span><span id="bgfx::TextureInfo::depth__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1afe3fb6aa842fadafe389a396db8d6fb8"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">depth</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo5depthE" title="Link to this definition"></a><br /></dt>
  7034. <dd><p>Texture depth. </p>
  7035. </dd></dl>
  7036. <dl class="cpp var">
  7037. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo9numLayersE">
  7038. <span id="_CPPv3N4bgfx11TextureInfo9numLayersE"></span><span id="_CPPv2N4bgfx11TextureInfo9numLayersE"></span><span id="bgfx::TextureInfo::numLayers__uint16_t"></span><span class="target" id="structbgfx_1_1_texture_info_1adf5283a6c14310b4c57a6f64a357f7cd"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numLayers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo9numLayersE" title="Link to this definition"></a><br /></dt>
  7039. <dd><p>Number of layers in texture array. </p>
  7040. </dd></dl>
  7041. <dl class="cpp var">
  7042. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo7numMipsE">
  7043. <span id="_CPPv3N4bgfx11TextureInfo7numMipsE"></span><span id="_CPPv2N4bgfx11TextureInfo7numMipsE"></span><span id="bgfx::TextureInfo::numMips__uint8_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a0c381eb6e68dd577a4cbcb5600b1b613"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numMips</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo7numMipsE" title="Link to this definition"></a><br /></dt>
  7044. <dd><p>Number of MIP maps. </p>
  7045. </dd></dl>
  7046. <dl class="cpp var">
  7047. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo12bitsPerPixelE">
  7048. <span id="_CPPv3N4bgfx11TextureInfo12bitsPerPixelE"></span><span id="_CPPv2N4bgfx11TextureInfo12bitsPerPixelE"></span><span id="bgfx::TextureInfo::bitsPerPixel__uint8_t"></span><span class="target" id="structbgfx_1_1_texture_info_1a5696ec9eee2fcacaab72ab30081417ac"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bitsPerPixel</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo12bitsPerPixelE" title="Link to this definition"></a><br /></dt>
  7049. <dd><p>Format bits per pixel. </p>
  7050. </dd></dl>
  7051. <dl class="cpp var">
  7052. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11TextureInfo7cubeMapE">
  7053. <span id="_CPPv3N4bgfx11TextureInfo7cubeMapE"></span><span id="_CPPv2N4bgfx11TextureInfo7cubeMapE"></span><span id="bgfx::TextureInfo::cubeMap__b"></span><span class="target" id="structbgfx_1_1_texture_info_1a74ae39231524ae3ddad50cf26fe0f07c"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cubeMap</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx11TextureInfo7cubeMapE" title="Link to this definition"></a><br /></dt>
  7054. <dd><p>Texture is cubemap. </p>
  7055. </dd></dl>
  7056. </div>
  7057. </dd></dl>
  7058. <dl class="cpp function">
  7059. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE">
  7060. <span id="_CPPv3N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE"></span><span id="bgfx::calcTextureSize__TextureInfoR.uint16_t.uint16_t.uint16_t.b.b.uint16_t.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1afad0573ceede40bc76bb9fe7c938655c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">calcTextureSize</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx11TextureInfoE" title="bgfx::TextureInfo"><span class="n"><span class="pre">TextureInfo</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">_info</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_cubeMap</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_hasMips</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numLayers</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15calcTextureSizeER11TextureInfo8uint16_t8uint16_t8uint16_tbb8uint16_tN13TextureFormat4EnumE" title="Link to this definition"></a><br /></dt>
  7061. <dd><p>Calculate amount of memory required for texture. </p>
  7062. <p><dl class="simple">
  7063. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_calc_texture_size</span></code>. </p>
  7064. </dd>
  7065. </dl>
  7066. </p>
  7067. <dl class="field-list simple">
  7068. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7069. <dd class="field-odd"><ul class="simple">
  7070. <li><p><strong>_info</strong> – <strong>[out]</strong> Resulting texture info structure. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_info"><span class="std std-ref"><span class="pre">TextureInfo</span></span></a></code>. </p></li>
  7071. <li><p><strong>_width</strong> – <strong>[in]</strong> Width. </p></li>
  7072. <li><p><strong>_height</strong> – <strong>[in]</strong> Height. </p></li>
  7073. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth dimension of volume texture. </p></li>
  7074. <li><p><strong>_cubeMap</strong> – <strong>[in]</strong> Indicates that texture contains cubemap. </p></li>
  7075. <li><p><strong>_hasMips</strong> – <strong>[in]</strong> Indicates that texture contains full mip-map chain. </p></li>
  7076. <li><p><strong>_numLayers</strong> – <strong>[in]</strong> Number of layers in texture array. </p></li>
  7077. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>.</p></li>
  7078. </ul>
  7079. </dd>
  7080. </dl>
  7081. </dd></dl>
  7082. <dl class="cpp function">
  7083. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo">
  7084. <span id="_CPPv3N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo"></span><span id="_CPPv2N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo"></span><span id="bgfx::createTexture__MemoryCP.uint64_t.uint8_t.TextureInfoP"></span><span class="target" id="namespacebgfx_1a0d47613a70e82fb734b058f6a707cef5"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createTexture</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_TEXTURE_NONE</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_NONE</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_skip</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx11TextureInfoE" title="bgfx::TextureInfo"><span class="n"><span class="pre">TextureInfo</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_info</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx13createTextureEPK6Memory8uint64_t7uint8_tP11TextureInfo" title="Link to this definition"></a><br /></dt>
  7085. <dd><p>Create texture from memory buffer. </p>
  7086. <p><dl class="simple">
  7087. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture</span></code>. </p>
  7088. </dd>
  7089. </dl>
  7090. </p>
  7091. <dl class="field-list simple">
  7092. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7093. <dd class="field-odd"><ul class="simple">
  7094. <li><p><strong>_mem</strong> – <strong>[in]</strong> DDS, KTX or PVR texture data. </p></li>
  7095. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7096. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7097. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7098. </ul>
  7099. </p></li>
  7100. <li><p><strong>_skip</strong> – <strong>[in]</strong> Skip top level mips when parsing texture. </p></li>
  7101. <li><p><strong>_info</strong> – <strong>[out]</strong> When non-<code class="docutils literal notranslate"><span class="pre">NULL</span></code> is specified it returns parsed texture information. </p></li>
  7102. </ul>
  7103. </dd>
  7104. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7105. <dd class="field-even"><p>Texture handle.</p>
  7106. </dd>
  7107. </dl>
  7108. </dd></dl>
  7109. <dl class="cpp function">
  7110. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory">
  7111. <span id="_CPPv3N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="_CPPv2N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="bgfx::createTexture2D__uint16_t.uint16_t.b.uint16_t.TextureFormat::Enum.uint64_t.MemoryCP"></span><span class="target" id="namespacebgfx_1a5164c7c2fb433f680dc888eaf752c31b"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createTexture2D</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_hasMips</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numLayers</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_TEXTURE_NONE</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_NONE</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15createTexture2DE8uint16_t8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory" title="Link to this definition"></a><br /></dt>
  7112. <dd><p>Create 2D texture. </p>
  7113. <p><dl class="simple">
  7114. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_2d</span></code>. </p>
  7115. </dd>
  7116. </dl>
  7117. </p>
  7118. <dl class="field-list simple">
  7119. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7120. <dd class="field-odd"><ul class="simple">
  7121. <li><p><strong>_width</strong> – <strong>[in]</strong> Width. </p></li>
  7122. <li><p><strong>_height</strong> – <strong>[in]</strong> Height. </p></li>
  7123. <li><p><strong>_hasMips</strong> – <strong>[in]</strong> Indicates that texture contains full mip-map chain. </p></li>
  7124. <li><p><strong>_numLayers</strong> – <strong>[in]</strong> Number of layers in texture array. Must be 1 if caps <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_2D_ARRAY</span></code> flag is not set. </p></li>
  7125. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  7126. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7127. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7128. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7129. </ul>
  7130. </p></li>
  7131. <li><p><strong>_mem</strong> – <strong>[in]</strong> Texture data. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is non-NULL, created texture will be immutable. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is NULL content of the texture is uninitialized. When <code class="docutils literal notranslate"><span class="pre">_numLayers</span></code> is more than 1, expected memory layout is texture and all mips together for each array element.</p></li>
  7132. </ul>
  7133. </dd>
  7134. </dl>
  7135. </dd></dl>
  7136. <dl class="cpp function">
  7137. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t">
  7138. <span id="_CPPv3N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::createTexture2D__BackbufferRatio::Enum.b.uint16_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a67620ab3afd29e7acdacd9180ae86cd4"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createTexture2D</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">BackbufferRatio</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Enum</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_ratio</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_hasMips</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numLayers</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_TEXTURE_NONE</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_NONE</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15createTexture2DEN15BackbufferRatio4EnumEb8uint16_tN13TextureFormat4EnumE8uint64_t" title="Link to this definition"></a><br /></dt>
  7139. <dd><p>Create texture with size based on back-buffer ratio. Texture will maintain ratio if back buffer resolution changes. </p>
  7140. <p><dl class="simple">
  7141. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_2d_scaled</span></code>. </p>
  7142. </dd>
  7143. </dl>
  7144. </p>
  7145. <dl class="field-list simple">
  7146. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7147. <dd class="field-odd"><ul class="simple">
  7148. <li><p><strong>_ratio</strong> – <strong>[in]</strong> Frame buffer size in respect to back-buffer size. See: <code class="docutils literal notranslate"><span class="pre">BackbufferRatio::Enum</span></code>. </p></li>
  7149. <li><p><strong>_hasMips</strong> – <strong>[in]</strong> Indicates that texture contains full mip-map chain. </p></li>
  7150. <li><p><strong>_numLayers</strong> – <strong>[in]</strong> Number of layers in texture array. Must be 1 if caps <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_2D_ARRAY</span></code> flag is not set. </p></li>
  7151. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  7152. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7153. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7154. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7155. </ul>
  7156. </p></li>
  7157. </ul>
  7158. </dd>
  7159. </dl>
  7160. </dd></dl>
  7161. <dl class="cpp function">
  7162. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t">
  7163. <span id="_CPPv3N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="bgfx::updateTexture2D__TextureHandle.uint16_t.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1af47f352c1dcfd2c67dab1a58bb448541"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">updateTexture2D</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layer</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_pitch</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15updateTexture2DE13TextureHandle8uint16_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t" title="Link to this definition"></a><br /></dt>
  7164. <dd><p>Update 2D texture. </p>
  7165. <p><dl class="simple">
  7166. <dt><strong>Attention</strong></dt><dd><p>It’s valid to update only mutable texture. See <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a5164c7c2fb433f680dc888eaf752c31b"><span class="std std-ref"><span class="pre">bgfx::createTexture2D</span></span></a></code> for more info.</p>
  7167. </dd>
  7168. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_texture_2d</span></code>. </p>
  7169. </dd>
  7170. </dl>
  7171. </p>
  7172. <dl class="field-list simple">
  7173. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7174. <dd class="field-odd"><ul class="simple">
  7175. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  7176. <li><p><strong>_layer</strong> – <strong>[in]</strong> Layers in texture array. </p></li>
  7177. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level. </p></li>
  7178. <li><p><strong>_x</strong> – <strong>[in]</strong> X offset in texture. </p></li>
  7179. <li><p><strong>_y</strong> – <strong>[in]</strong> Y offset in texture. </p></li>
  7180. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of texture block. </p></li>
  7181. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of texture block. </p></li>
  7182. <li><p><strong>_mem</strong> – <strong>[in]</strong> Texture update data. </p></li>
  7183. <li><p><strong>_pitch</strong> – <strong>[in]</strong> Pitch of input image (bytes). When _pitch is set to UINT16_MAX, it will be calculated internally based on _width.</p></li>
  7184. </ul>
  7185. </dd>
  7186. </dl>
  7187. </dd></dl>
  7188. <dl class="cpp function">
  7189. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory">
  7190. <span id="_CPPv3N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="_CPPv2N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="bgfx::createTexture3D__uint16_t.uint16_t.uint16_t.b.TextureFormat::Enum.uint64_t.MemoryCP"></span><span class="target" id="namespacebgfx_1a5b3e757ceb8eaa783856c39e3e18e985"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createTexture3D</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_hasMips</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_TEXTURE_NONE</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_NONE</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15createTexture3DE8uint16_t8uint16_t8uint16_tbN13TextureFormat4EnumE8uint64_tPK6Memory" title="Link to this definition"></a><br /></dt>
  7191. <dd><p>Create 3D texture. </p>
  7192. <p><dl class="simple">
  7193. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_3d</span></code>. </p>
  7194. </dd>
  7195. </dl>
  7196. </p>
  7197. <dl class="field-list simple">
  7198. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7199. <dd class="field-odd"><ul class="simple">
  7200. <li><p><strong>_width</strong> – <strong>[in]</strong> Width. </p></li>
  7201. <li><p><strong>_height</strong> – <strong>[in]</strong> Height. </p></li>
  7202. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth. </p></li>
  7203. <li><p><strong>_hasMips</strong> – <strong>[in]</strong> Indicates that texture contains full mip-map chain. </p></li>
  7204. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  7205. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7206. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7207. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7208. </ul>
  7209. </p></li>
  7210. <li><p><strong>_mem</strong> – <strong>[in]</strong> Texture data. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is non-NULL, created texture will be immutable. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is NULL content of the texture is uninitialized.</p></li>
  7211. </ul>
  7212. </dd>
  7213. </dl>
  7214. </dd></dl>
  7215. <dl class="cpp function">
  7216. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory">
  7217. <span id="_CPPv3N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory"></span><span id="_CPPv2N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory"></span><span id="bgfx::updateTexture3D__TextureHandle.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.uint16_t.MemoryCP"></span><span class="target" id="namespacebgfx_1a06eac3248ec624cabb955c1798d70f6a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">updateTexture3D</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_z</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_depth</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx15updateTexture3DE13TextureHandle7uint8_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory" title="Link to this definition"></a><br /></dt>
  7218. <dd><p>Update 3D texture. </p>
  7219. <p><dl class="simple">
  7220. <dt><strong>Attention</strong></dt><dd><p>It’s valid to update only mutable texture. See <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a5b3e757ceb8eaa783856c39e3e18e985"><span class="std std-ref"><span class="pre">bgfx::createTexture3D</span></span></a></code> for more info.</p>
  7221. </dd>
  7222. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_texture_3d</span></code>. </p>
  7223. </dd>
  7224. </dl>
  7225. </p>
  7226. <dl class="field-list simple">
  7227. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7228. <dd class="field-odd"><ul class="simple">
  7229. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  7230. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level. </p></li>
  7231. <li><p><strong>_x</strong> – <strong>[in]</strong> X offset in texture. </p></li>
  7232. <li><p><strong>_y</strong> – <strong>[in]</strong> Y offset in texture. </p></li>
  7233. <li><p><strong>_z</strong> – <strong>[in]</strong> Z offset in texture. </p></li>
  7234. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of texture block. </p></li>
  7235. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of texture block. </p></li>
  7236. <li><p><strong>_depth</strong> – <strong>[in]</strong> Depth of texture block. </p></li>
  7237. <li><p><strong>_mem</strong> – <strong>[in]</strong> Texture update data.</p></li>
  7238. </ul>
  7239. </dd>
  7240. </dl>
  7241. </dd></dl>
  7242. <dl class="cpp function">
  7243. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory">
  7244. <span id="_CPPv3N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="_CPPv2N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory"></span><span id="bgfx::createTextureCube__uint16_t.b.uint16_t.TextureFormat::Enum.uint64_t.MemoryCP"></span><span class="target" id="namespacebgfx_1aa78aaf8f1d6f52a956330e7336d403f8"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createTextureCube</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_size</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_hasMips</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numLayers</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_flags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_TEXTURE_NONE</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_NONE</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createTextureCubeE8uint16_tb8uint16_tN13TextureFormat4EnumE8uint64_tPK6Memory" title="Link to this definition"></a><br /></dt>
  7245. <dd><p>Create Cube texture. </p>
  7246. <p><dl class="simple">
  7247. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_texture_cube</span></code>. </p>
  7248. </dd>
  7249. </dl>
  7250. </p>
  7251. <dl class="field-list simple">
  7252. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7253. <dd class="field-odd"><ul class="simple">
  7254. <li><p><strong>_size</strong> – <strong>[in]</strong> Cube side size. </p></li>
  7255. <li><p><strong>_hasMips</strong> – <strong>[in]</strong> Indicates that texture contains full mip-map chain. </p></li>
  7256. <li><p><strong>_numLayers</strong> – <strong>[in]</strong> Number of layers in texture array. Must be 1 if caps <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_CUBE_ARRAY</span></code> flag is not set. </p></li>
  7257. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  7258. <li><p><strong>_flags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7259. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7260. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7261. </ul>
  7262. </p></li>
  7263. <li><p><strong>_mem</strong> – <strong>[in]</strong> Texture data. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is non-NULL, created texture will be immutable. If <code class="docutils literal notranslate"><span class="pre">_mem</span></code> is NULL content of the texture is uninitialized. When <code class="docutils literal notranslate"><span class="pre">_numLayers</span></code> is more than 1, expected memory layout is texture and all mips together for each array element.</p></li>
  7264. </ul>
  7265. </dd>
  7266. </dl>
  7267. </dd></dl>
  7268. <dl class="cpp function">
  7269. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t">
  7270. <span id="_CPPv3N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="_CPPv2N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t"></span><span id="bgfx::updateTextureCube__TextureHandle.uint16_t.uint8_t.uint8_t.uint16_t.uint16_t.uint16_t.uint16_t.MemoryCP.uint16_t"></span><span class="target" id="namespacebgfx_1ac9d22140d3eb8366a77e14dbd02a89d2"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">updateTextureCube</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layer</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_side</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_x</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_y</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6MemoryE" title="bgfx::Memory"><span class="n"><span class="pre">Memory</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_mem</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_pitch</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">UINT16_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17updateTextureCubeE13TextureHandle8uint16_t7uint8_t7uint8_t8uint16_t8uint16_t8uint16_t8uint16_tPK6Memory8uint16_t" title="Link to this definition"></a><br /></dt>
  7271. <dd><p>Update Cube texture. </p>
  7272. <p><dl class="simple">
  7273. <dt><strong>Attention</strong></dt><dd><p>It’s valid to update only mutable texture. See <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1aa78aaf8f1d6f52a956330e7336d403f8"><span class="std std-ref"><span class="pre">bgfx::createTextureCube</span></span></a></code> for more info.</p>
  7274. </dd>
  7275. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_update_texture_cube</span></code>. </p>
  7276. </dd>
  7277. </dl>
  7278. </p>
  7279. <dl class="field-list simple">
  7280. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7281. <dd class="field-odd"><ul class="simple">
  7282. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  7283. <li><p><strong>_layer</strong> – <strong>[in]</strong> Layers in texture array. </p></li>
  7284. <li><p><strong>_side</strong> – <strong>[in]</strong> Cubemap side <code class="docutils literal notranslate"><span class="pre">BGFX_CUBE_MAP_&lt;POSITIVE</span> <span class="pre">or</span> <span class="pre">NEGATIVE&gt;_&lt;X,</span> <span class="pre">Y</span> <span class="pre">or</span> <span class="pre">Z&gt;</span></code>, where 0 is +X, 1 is -X, 2 is +Y, 3 is -Y, 4 is +Z, and 5 is -Z. <div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">+----------+</span>
  7285. <span class="o">|-</span><span class="n">z</span> <span class="mi">2</span><span class="o">|</span>
  7286. <span class="o">|</span> <span class="o">^</span> <span class="o">+</span><span class="n">y</span> <span class="o">|</span>
  7287. <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="n">Unfolded</span> <span class="n">cube</span><span class="p">:</span>
  7288. <span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">x</span> <span class="o">|</span>
  7289. <span class="o">+----------+----------+----------+----------+</span>
  7290. <span class="o">|+</span><span class="n">y</span> <span class="mi">1</span><span class="o">|+</span><span class="n">y</span> <span class="mi">4</span><span class="o">|+</span><span class="n">y</span> <span class="mi">0</span><span class="o">|+</span><span class="n">y</span> <span class="mi">5</span><span class="o">|</span>
  7291. <span class="o">|</span> <span class="o">^</span> <span class="o">-</span><span class="n">x</span> <span class="o">|</span> <span class="o">^</span> <span class="o">+</span><span class="n">z</span> <span class="o">|</span> <span class="o">^</span> <span class="o">+</span><span class="n">x</span> <span class="o">|</span> <span class="o">^</span> <span class="o">-</span><span class="n">z</span> <span class="o">|</span>
  7292. <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span> <span class="o">|</span>
  7293. <span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">z</span> <span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">x</span> <span class="o">|</span> <span class="o">+----&gt;-</span><span class="n">z</span> <span class="o">|</span> <span class="o">+----&gt;-</span><span class="n">x</span> <span class="o">|</span>
  7294. <span class="o">+----------+----------+----------+----------+</span>
  7295. <span class="o">|+</span><span class="n">z</span> <span class="mi">3</span><span class="o">|</span>
  7296. <span class="o">|</span> <span class="o">^</span> <span class="o">-</span><span class="n">y</span> <span class="o">|</span>
  7297. <span class="o">|</span> <span class="o">|</span> <span class="o">|</span>
  7298. <span class="o">|</span> <span class="o">+----&gt;+</span><span class="n">x</span> <span class="o">|</span>
  7299. <span class="o">+----------+</span>
  7300. </pre></div>
  7301. </div>
  7302. </p></li>
  7303. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level. </p></li>
  7304. <li><p><strong>_x</strong> – <strong>[in]</strong> X offset in texture. </p></li>
  7305. <li><p><strong>_y</strong> – <strong>[in]</strong> Y offset in texture. </p></li>
  7306. <li><p><strong>_width</strong> – <strong>[in]</strong> Width of texture block. </p></li>
  7307. <li><p><strong>_height</strong> – <strong>[in]</strong> Height of texture block. </p></li>
  7308. <li><p><strong>_mem</strong> – <strong>[in]</strong> Texture update data. </p></li>
  7309. <li><p><strong>_pitch</strong> – <strong>[in]</strong> Pitch of input image (bytes). When _pitch is set to UINT16_MAX, it will be calculated internally based on _width.</p></li>
  7310. </ul>
  7311. </dd>
  7312. </dl>
  7313. </dd></dl>
  7314. <dl class="cpp function">
  7315. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx11readTextureE13TextureHandlePv7uint8_t">
  7316. <span id="_CPPv3N4bgfx11readTextureE13TextureHandlePv7uint8_t"></span><span id="_CPPv2N4bgfx11readTextureE13TextureHandlePv7uint8_t"></span><span id="bgfx::readTexture__TextureHandle.voidP.uint8_t"></span><span class="target" id="namespacebgfx_1a917250df0398e10837853d1a2d416279"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">readTexture</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_data</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx11readTextureE13TextureHandlePv7uint8_t" title="Link to this definition"></a><br /></dt>
  7317. <dd><p>Read back texture content. </p>
  7318. <p><dl class="simple">
  7319. <dt><strong>Attention</strong></dt><dd><p>Texture must be created with <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_READ_BACK</span></code> flag. </p>
  7320. </dd>
  7321. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_READ_BACK</span></code>. </p>
  7322. </dd>
  7323. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_read_texture</span></code>. </p>
  7324. </dd>
  7325. </dl>
  7326. </p>
  7327. <dl class="field-list simple">
  7328. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7329. <dd class="field-odd"><ul class="simple">
  7330. <li><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle. </p></li>
  7331. <li><p><strong>_data</strong> – <strong>[in]</strong> Destination buffer. </p></li>
  7332. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level.</p></li>
  7333. </ul>
  7334. </dd>
  7335. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7336. <dd class="field-even"><p>Frame number when the result will be available. See: <code class="docutils literal notranslate"><a class="reference internal" href="#namespacebgfx_1a7b228b3e83595148e428a248d73480e8"><span class="std std-ref"><span class="pre">bgfx::frame</span></span></a></code>.</p>
  7337. </dd>
  7338. </dl>
  7339. </dd></dl>
  7340. <dl class="cpp function">
  7341. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18getDirectAccessPtrE13TextureHandle">
  7342. <span id="_CPPv3N4bgfx18getDirectAccessPtrE13TextureHandle"></span><span id="_CPPv2N4bgfx18getDirectAccessPtrE13TextureHandle"></span><span id="bgfx::getDirectAccessPtr__TextureHandle"></span><span class="target" id="namespacebgfx_1a60608d65b802ae0ec860b4d13d6c6484"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getDirectAccessPtr</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18getDirectAccessPtrE13TextureHandle" title="Link to this definition"></a><br /></dt>
  7343. <dd><p>Returns texture direct access pointer. </p>
  7344. <p><dl class="simple">
  7345. <dt><strong>Attention</strong></dt><dd><p>Availability depends on: <code class="docutils literal notranslate"><span class="pre">BGFX_CAPS_TEXTURE_DIRECT_ACCESS</span></code>. This feature is available on GPUs that have unified memory architecture (UMA) support.</p>
  7346. </dd>
  7347. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_direct_access_ptr</span></code>. </p>
  7348. </dd>
  7349. </dl>
  7350. </p>
  7351. <dl class="field-list simple">
  7352. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7353. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle.</p>
  7354. </dd>
  7355. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7356. <dd class="field-even"><p>Pointer to texture memory. If returned pointer is <code class="docutils literal notranslate"><span class="pre">NULL</span></code> direct access is not available for this texture. If pointer is <code class="docutils literal notranslate"><span class="pre">UINTPTR_MAX</span></code> sentinel value it means texture is pending creation. Pointer returned can be cached and it will be valid until texture is destroyed.</p>
  7357. </dd>
  7358. </dl>
  7359. </dd></dl>
  7360. <dl class="cpp function">
  7361. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE13TextureHandle">
  7362. <span id="_CPPv3N4bgfx7destroyE13TextureHandle"></span><span id="_CPPv2N4bgfx7destroyE13TextureHandle"></span><span id="bgfx::destroy__TextureHandle"></span><span class="target" id="namespacebgfx_1a28453c61a3b211da273ee4f4957dc66d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE13TextureHandle" title="Link to this definition"></a><br /></dt>
  7363. <dd><p>Destroy texture. </p>
  7364. <p><dl class="simple">
  7365. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_texture</span></code>. </p>
  7366. </dd>
  7367. </dl>
  7368. </p>
  7369. <dl class="field-list simple">
  7370. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7371. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Texture handle.</p>
  7372. </dd>
  7373. </dl>
  7374. </dd></dl>
  7375. </section>
  7376. <section id="frame-buffers">
  7377. <h3>Frame Buffers<a class="headerlink" href="#frame-buffers" title="Link to this heading"></a></h3>
  7378. <dl class="cpp struct">
  7379. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10AttachmentE">
  7380. <span id="_CPPv3N4bgfx10AttachmentE"></span><span id="_CPPv2N4bgfx10AttachmentE"></span><span id="bgfx::Attachment"></span><span class="target" id="structbgfx_1_1_attachment"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Attachment</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10AttachmentE" title="Link to this definition"></a><br /></dt>
  7381. <dd><p>Frame buffer texture attachment info. </p>
  7382. <p><dl class="simple">
  7383. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_attachment_t</span></code>. </p>
  7384. </dd>
  7385. </dl>
  7386. </p>
  7387. <div class="breathe-sectiondef docutils container">
  7388. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
  7389. <dl class="cpp function">
  7390. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t">
  7391. <span id="_CPPv3N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t"></span><span id="_CPPv2N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t"></span><span id="bgfx::Attachment::init__TextureHandle.Access::Enum.uint16_t.uint16_t.uint16_t.uint8_t"></span><span class="target" id="structbgfx_1_1_attachment_1a3c7ea353a598612bec0a5c1d9e6ca0ec"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">init</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_access</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4Enum5WriteE" title="bgfx::Access::Write"><span class="n"><span class="pre">Write</span></span></a>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_layer</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_numLayers</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_mip</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_resolve</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_RESOLVE_AUTO_GEN_MIPS</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment4initE13TextureHandleN6Access4EnumE8uint16_t8uint16_t8uint16_t7uint8_t" title="Link to this definition"></a><br /></dt>
  7392. <dd><p><a class="reference internal" href="#structbgfx_1_1_init"><span class="std std-ref">Init</span></a> attachment. </p>
  7393. <dl class="field-list simple">
  7394. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7395. <dd class="field-odd"><ul class="simple">
  7396. <li><p><strong>_handle</strong> – <strong>[in]</strong> Render target texture handle. </p></li>
  7397. <li><p><strong>_access</strong> – <strong>[in]</strong> <a class="reference internal" href="#structbgfx_1_1_access"><span class="std std-ref">Access</span></a>. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p></li>
  7398. <li><p><strong>_layer</strong> – <strong>[in]</strong> Cubemap side or depth layer/slice to use. </p></li>
  7399. <li><p><strong>_numLayers</strong> – <strong>[in]</strong> Number of texture layer/slice(s) in array to use. </p></li>
  7400. <li><p><strong>_mip</strong> – <strong>[in]</strong> Mip level. </p></li>
  7401. <li><p><strong>_resolve</strong> – <strong>[in]</strong> Resolve flags. See: <code class="docutils literal notranslate"><span class="pre">BGFX_RESOLVE_*</span></code></p></li>
  7402. </ul>
  7403. </dd>
  7404. </dl>
  7405. </dd></dl>
  7406. </div>
  7407. <div class="breathe-sectiondef docutils container">
  7408. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
  7409. <dl class="cpp var">
  7410. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment6accessE">
  7411. <span id="_CPPv3N4bgfx10Attachment6accessE"></span><span id="_CPPv2N4bgfx10Attachment6accessE"></span><span id="bgfx::Attachment::access__Access::Enum"></span><span class="target" id="structbgfx_1_1_attachment_1a5891b655a2528f5bf70797745b9691d4"></span><a class="reference internal" href="#_CPPv4N4bgfx6AccessE" title="bgfx::Access"><span class="n"><span class="pre">Access</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx6Access4EnumE" title="bgfx::Access::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">access</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment6accessE" title="Link to this definition"></a><br /></dt>
  7412. <dd><p><a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref">Attachment</span></a> access. See <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_access_1a1deee3013ec4834c19370685b1719180"><span class="std std-ref"><span class="pre">Access::Enum</span></span></a></code>. </p>
  7413. </dd></dl>
  7414. <dl class="cpp var">
  7415. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment6handleE">
  7416. <span id="_CPPv3N4bgfx10Attachment6handleE"></span><span id="_CPPv2N4bgfx10Attachment6handleE"></span><span id="bgfx::Attachment::handle__TextureHandle"></span><span class="target" id="structbgfx_1_1_attachment_1a9eb8a8e6925c92291c43781a304f2acb"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">handle</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment6handleE" title="Link to this definition"></a><br /></dt>
  7417. <dd><p>Render target texture handle. </p>
  7418. </dd></dl>
  7419. <dl class="cpp var">
  7420. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment3mipE">
  7421. <span id="_CPPv3N4bgfx10Attachment3mipE"></span><span id="_CPPv2N4bgfx10Attachment3mipE"></span><span id="bgfx::Attachment::mip__uint16_t"></span><span class="target" id="structbgfx_1_1_attachment_1add533a2475b7340c010a2718f7f5ed1e"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">mip</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment3mipE" title="Link to this definition"></a><br /></dt>
  7422. <dd><p>Mip level. </p>
  7423. </dd></dl>
  7424. <dl class="cpp var">
  7425. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment5layerE">
  7426. <span id="_CPPv3N4bgfx10Attachment5layerE"></span><span id="_CPPv2N4bgfx10Attachment5layerE"></span><span id="bgfx::Attachment::layer__uint16_t"></span><span class="target" id="structbgfx_1_1_attachment_1aea8de271c840deb81f0d0d8743f034b2"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">layer</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment5layerE" title="Link to this definition"></a><br /></dt>
  7427. <dd><p>Cubemap side or depth layer/slice to use. </p>
  7428. </dd></dl>
  7429. <dl class="cpp var">
  7430. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment9numLayersE">
  7431. <span id="_CPPv3N4bgfx10Attachment9numLayersE"></span><span id="_CPPv2N4bgfx10Attachment9numLayersE"></span><span id="bgfx::Attachment::numLayers__uint16_t"></span><span class="target" id="structbgfx_1_1_attachment_1a203324d534e1eaf52763de4071573c35"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">numLayers</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment9numLayersE" title="Link to this definition"></a><br /></dt>
  7432. <dd><p>Number of texture layer/slice(s) in array to use. </p>
  7433. </dd></dl>
  7434. <dl class="cpp var">
  7435. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10Attachment7resolveE">
  7436. <span id="_CPPv3N4bgfx10Attachment7resolveE"></span><span id="_CPPv2N4bgfx10Attachment7resolveE"></span><span id="bgfx::Attachment::resolve__uint8_t"></span><span class="target" id="structbgfx_1_1_attachment_1ac84f3fa991b954245f5bf6e6efa2a364"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">resolve</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx10Attachment7resolveE" title="Link to this definition"></a><br /></dt>
  7437. <dd><p>Resolve flags. See: <code class="docutils literal notranslate"><span class="pre">BGFX_RESOLVE_*</span></code></p>
  7438. </dd></dl>
  7439. </div>
  7440. </dd></dl>
  7441. <dl class="cpp function">
  7442. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx18isFrameBufferValidE7uint8_tPK10Attachment">
  7443. <span id="_CPPv3N4bgfx18isFrameBufferValidE7uint8_tPK10Attachment"></span><span id="_CPPv2N4bgfx18isFrameBufferValidE7uint8_tPK10Attachment"></span><span id="bgfx::isFrameBufferValid__uint8_t.AttachmentCP"></span><span class="target" id="namespacebgfx_1a13fad4652c8d119219c79cc0b01aac6e"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">isFrameBufferValid</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx10AttachmentE" title="bgfx::Attachment"><span class="n"><span class="pre">Attachment</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_attachment</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx18isFrameBufferValidE7uint8_tPK10Attachment" title="Link to this definition"></a><br /></dt>
  7444. <dd><p>Validate frame buffer parameters. </p>
  7445. <dl class="field-list simple">
  7446. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7447. <dd class="field-odd"><ul class="simple">
  7448. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of attachments. </p></li>
  7449. <li><p><strong>_attachment</strong> – <strong>[in]</strong> <a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref">Attachment</span></a> texture info. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref"><span class="pre">bgfx::Attachment</span></span></a></code>.</p></li>
  7450. </ul>
  7451. </dd>
  7452. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7453. <dd class="field-even"><p>True if a frame buffer with the same parameters can be created. </p>
  7454. </dd>
  7455. </dl>
  7456. </dd></dl>
  7457. <dl class="cpp function">
  7458. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t">
  7459. <span id="_CPPv3N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::createFrameBuffer__uint16_t.uint16_t.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1aa94cfbb370d1b658ffd8fceb305fe247"></span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createFrameBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_textureFlags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_U_CLAMP</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_V_CLAMP</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferE8uint16_t8uint16_tN13TextureFormat4EnumE8uint64_t" title="Link to this definition"></a><br /></dt>
  7460. <dd><p>Create frame buffer (simple). </p>
  7461. <p><dl class="simple">
  7462. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer</span></code>. </p>
  7463. </dd>
  7464. </dl>
  7465. </p>
  7466. <dl class="field-list simple">
  7467. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7468. <dd class="field-odd"><ul class="simple">
  7469. <li><p><strong>_width</strong> – <strong>[in]</strong> Texture width. </p></li>
  7470. <li><p><strong>_height</strong> – <strong>[in]</strong> Texture height. </p></li>
  7471. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  7472. <li><p><strong>_textureFlags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7473. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7474. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7475. </ul>
  7476. </p></li>
  7477. </ul>
  7478. </dd>
  7479. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7480. <dd class="field-even"><p>Handle to frame buffer object.</p>
  7481. </dd>
  7482. </dl>
  7483. </dd></dl>
  7484. <dl class="cpp function">
  7485. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t">
  7486. <span id="_CPPv3N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t"></span><span id="_CPPv2N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t"></span><span id="bgfx::createFrameBuffer__BackbufferRatio::Enum.TextureFormat::Enum.uint64_t"></span><span class="target" id="namespacebgfx_1a6be2c49c878583ad701bc6eab72bc0af"></span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createFrameBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">BackbufferRatio</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Enum</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_ratio</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_textureFlags</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_U_CLAMP</span></span><span class="w"> </span><span class="o"><span class="pre">|</span></span><span class="w"> </span><span class="n"><span class="pre">BGFX_SAMPLER_V_CLAMP</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferEN15BackbufferRatio4EnumEN13TextureFormat4EnumE8uint64_t" title="Link to this definition"></a><br /></dt>
  7487. <dd><p>Create frame buffer with size based on back-buffer ratio. Frame buffer will maintain ratio if back buffer resolution changes. </p>
  7488. <p><dl class="simple">
  7489. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_scaled</span></code>. </p>
  7490. </dd>
  7491. </dl>
  7492. </p>
  7493. <dl class="field-list simple">
  7494. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7495. <dd class="field-odd"><ul class="simple">
  7496. <li><p><strong>_ratio</strong> – <strong>[in]</strong> Frame buffer size in respect to back-buffer size. See: <code class="docutils literal notranslate"><span class="pre">BackbufferRatio::Enum</span></code>. </p></li>
  7497. <li><p><strong>_format</strong> – <strong>[in]</strong> Texture format. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_texture_format_1a4fa5bcce97c848cf091d954362e501e6"><span class="std std-ref"><span class="pre">TextureFormat::Enum</span></span></a></code>. </p></li>
  7498. <li><p><strong>_textureFlags</strong> – <strong>[in]</strong> Texture creation (see <code class="docutils literal notranslate"><span class="pre">BGFX_TEXTURE_*</span></code>.), and sampler (see <code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_*</span></code>) flags. Default texture sampling mode is linear, and wrap mode is repeat.<ul>
  7499. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[U/V/W]_[MIRROR/CLAMP]</span></code> - Mirror or clamp to edge wrap mode.</p></li>
  7500. <li><p><code class="docutils literal notranslate"><span class="pre">BGFX_SAMPLER_[MIN/MAG/MIP]_[POINT/ANISOTROPIC]</span></code> - Point or anisotropic sampling.</p></li>
  7501. </ul>
  7502. </p></li>
  7503. </ul>
  7504. </dd>
  7505. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7506. <dd class="field-even"><p>Handle to frame buffer object.</p>
  7507. </dd>
  7508. </dl>
  7509. </dd></dl>
  7510. <dl class="cpp function">
  7511. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb">
  7512. <span id="_CPPv3N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb"></span><span id="_CPPv2N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb"></span><span id="bgfx::createFrameBuffer__uint8_t.TextureHandleCP.b"></span><span class="target" id="namespacebgfx_1a24c15472da58c79e49b04cb8ed97a436"></span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createFrameBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_handles</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_destroyTextures</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferE7uint8_tPK13TextureHandleb" title="Link to this definition"></a><br /></dt>
  7513. <dd><p>Create MRT frame buffer from texture handles (simple). </p>
  7514. <p><dl class="simple">
  7515. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_from_handles</span></code>. </p>
  7516. </dd>
  7517. </dl>
  7518. </p>
  7519. <dl class="field-list simple">
  7520. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7521. <dd class="field-odd"><ul class="simple">
  7522. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of texture attachments. </p></li>
  7523. <li><p><strong>_handles</strong> – <strong>[in]</strong> Texture attachments. </p></li>
  7524. <li><p><strong>_destroyTextures</strong> – <strong>[in]</strong> If true, textures will be destroyed when frame buffer is destroyed.</p></li>
  7525. </ul>
  7526. </dd>
  7527. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7528. <dd class="field-even"><p>Handle to frame buffer object.</p>
  7529. </dd>
  7530. </dl>
  7531. </dd></dl>
  7532. <dl class="cpp function">
  7533. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE">
  7534. <span id="_CPPv3N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE"></span><span id="_CPPv2N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE"></span><span id="bgfx::createFrameBuffer__voidP.uint16_t.uint16_t.TextureFormat::Enum.TextureFormat::Enum"></span><span class="target" id="namespacebgfx_1a71ca85e47af91a6f74a9de1695357603"></span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createFrameBuffer</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_nwh</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_width</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_height</span></span>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_format</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count"><span class="n"><span class="pre">Count</span></span></a>, <a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4EnumE" title="bgfx::TextureFormat::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">_depthFormat</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormatE" title="bgfx::TextureFormat"><span class="n"><span class="pre">TextureFormat</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx13TextureFormat4Enum5CountE" title="bgfx::TextureFormat::Count"><span class="n"><span class="pre">Count</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferEPv8uint16_t8uint16_tN13TextureFormat4EnumEN13TextureFormat4EnumE" title="Link to this definition"></a><br /></dt>
  7535. <dd><p>Create frame buffer for multiple window rendering. </p>
  7536. <p><div class="remark admonition">
  7537. <p class="admonition-title">Remark</p>
  7538. <p>Frame buffer cannot be used for sampling.</p>
  7539. </div>
  7540. <dl class="simple">
  7541. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_from_nwh</span></code>. </p>
  7542. </dd>
  7543. </dl>
  7544. </p>
  7545. <dl class="field-list simple">
  7546. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7547. <dd class="field-odd"><ul class="simple">
  7548. <li><p><strong>_nwh</strong> – <strong>[in]</strong> OS’ target native window handle. </p></li>
  7549. <li><p><strong>_width</strong> – <strong>[in]</strong> Window back buffer width. </p></li>
  7550. <li><p><strong>_height</strong> – <strong>[in]</strong> Window back buffer height. </p></li>
  7551. <li><p><strong>_format</strong> – <strong>[in]</strong> Window back buffer color format. </p></li>
  7552. <li><p><strong>_depthFormat</strong> – <strong>[in]</strong> Window back buffer depth format.</p></li>
  7553. </ul>
  7554. </dd>
  7555. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7556. <dd class="field-even"><p>Handle to frame buffer object.</p>
  7557. </dd>
  7558. </dl>
  7559. </dd></dl>
  7560. <dl class="cpp function">
  7561. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb">
  7562. <span id="_CPPv3N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb"></span><span id="_CPPv2N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb"></span><span id="bgfx::createFrameBuffer__uint8_t.AttachmentCP.b"></span><span class="target" id="namespacebgfx_1abbcc1474325bfa2c48d24e8fa4d28459"></span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createFrameBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N4bgfx10AttachmentE" title="bgfx::Attachment"><span class="n"><span class="pre">Attachment</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_attachment</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_destroyTextures</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx17createFrameBufferE7uint8_tPK10Attachmentb" title="Link to this definition"></a><br /></dt>
  7563. <dd><p>Create MRT frame buffer from texture handles with specific layer and mip level. </p>
  7564. <p><dl class="simple">
  7565. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_frame_buffer_from_attachment</span></code>. </p>
  7566. </dd>
  7567. </dl>
  7568. </p>
  7569. <dl class="field-list simple">
  7570. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7571. <dd class="field-odd"><ul class="simple">
  7572. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of texture attachments. </p></li>
  7573. <li><p><strong>_attachment</strong> – <strong>[in]</strong> <a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref">Attachment</span></a> texture info. See: <code class="docutils literal notranslate"><a class="reference internal" href="#structbgfx_1_1_attachment"><span class="std std-ref"><span class="pre">bgfx::Attachment</span></span></a></code>. </p></li>
  7574. <li><p><strong>_destroyTextures</strong> – <strong>[in]</strong> If true, textures will be destroyed when frame buffer is destroyed.</p></li>
  7575. </ul>
  7576. </dd>
  7577. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7578. <dd class="field-even"><p>Handle to frame buffer object.</p>
  7579. </dd>
  7580. </dl>
  7581. </dd></dl>
  7582. <dl class="cpp function">
  7583. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx10getTextureE17FrameBufferHandle7uint8_t">
  7584. <span id="_CPPv3N4bgfx10getTextureE17FrameBufferHandle7uint8_t"></span><span id="_CPPv2N4bgfx10getTextureE17FrameBufferHandle7uint8_t"></span><span id="bgfx::getTexture__FrameBufferHandle.uint8_t"></span><span class="target" id="namespacebgfx_1a2da13e6e8e942839d08390db8374b9e7"></span><span class="n"><span class="pre">TextureHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getTexture</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_attachment</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx10getTextureE17FrameBufferHandle7uint8_t" title="Link to this definition"></a><br /></dt>
  7585. <dd><p>Obtain texture handle of frame buffer attachment. </p>
  7586. <p><dl class="simple">
  7587. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_texture</span></code>. </p>
  7588. </dd>
  7589. </dl>
  7590. </p>
  7591. <dl class="field-list simple">
  7592. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7593. <dd class="field-odd"><ul class="simple">
  7594. <li><p><strong>_handle</strong> – <strong>[in]</strong> Frame buffer handle. </p></li>
  7595. <li><p><strong>_attachment</strong> – <strong>[in]</strong> Frame buffer attachment index.</p></li>
  7596. </ul>
  7597. </dd>
  7598. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7599. <dd class="field-even"><p>Returns invalid texture handle if attachment index is not correct, or frame buffer is created with native window handle.</p>
  7600. </dd>
  7601. </dl>
  7602. </dd></dl>
  7603. <dl class="cpp function">
  7604. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7setNameE17FrameBufferHandlePKc7int32_t">
  7605. <span id="_CPPv3N4bgfx7setNameE17FrameBufferHandlePKc7int32_t"></span><span id="_CPPv2N4bgfx7setNameE17FrameBufferHandlePKc7int32_t"></span><span id="bgfx::setName__FrameBufferHandle.cCP.int32_t"></span><span class="target" id="namespacebgfx_1a40f9af828c8a693c23b6d27856c78d62"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">setName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_name</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_len</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">INT32_MAX</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7setNameE17FrameBufferHandlePKc7int32_t" title="Link to this definition"></a><br /></dt>
  7606. <dd><p>Set frame buffer debug name. </p>
  7607. <p><dl class="simple">
  7608. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_set_frame_buffer_name</span></code>. </p>
  7609. </dd>
  7610. </dl>
  7611. </p>
  7612. <dl class="field-list simple">
  7613. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7614. <dd class="field-odd"><ul class="simple">
  7615. <li><p><strong>_handle</strong> – <strong>[in]</strong> frame buffer handle. </p></li>
  7616. <li><p><strong>_name</strong> – <strong>[in]</strong> frame buffer name. </p></li>
  7617. <li><p><strong>_len</strong> – <strong>[in]</strong> frame buffer name length (if length is INT32_MAX, it’s expected that _name is zero terminated string.</p></li>
  7618. </ul>
  7619. </dd>
  7620. </dl>
  7621. </dd></dl>
  7622. <dl class="cpp function">
  7623. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE17FrameBufferHandle">
  7624. <span id="_CPPv3N4bgfx7destroyE17FrameBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE17FrameBufferHandle"></span><span id="bgfx::destroy__FrameBufferHandle"></span><span class="target" id="namespacebgfx_1aedeb0832cfdb4835cc3b631be5bf35db"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">FrameBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE17FrameBufferHandle" title="Link to this definition"></a><br /></dt>
  7625. <dd><p>Destroy frame buffer. </p>
  7626. <p><dl class="simple">
  7627. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_frame_buffer</span></code>. </p>
  7628. </dd>
  7629. </dl>
  7630. </p>
  7631. <dl class="field-list simple">
  7632. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7633. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Frame buffer handle.</p>
  7634. </dd>
  7635. </dl>
  7636. </dd></dl>
  7637. </section>
  7638. <section id="instance-buffer">
  7639. <h3>Instance Buffer<a class="headerlink" href="#instance-buffer" title="Link to this heading"></a></h3>
  7640. <dl class="cpp function">
  7641. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t">
  7642. <span id="_CPPv3N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t"></span><span id="bgfx::getAvailInstanceDataBuffer__uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1abf9468e87a327e237d561229b5b917cb"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getAvailInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stride</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx26getAvailInstanceDataBufferE8uint32_t8uint16_t" title="Link to this definition"></a><br /></dt>
  7643. <dd><p>Returns number of requested or maximum available instance buffer slots. </p>
  7644. <p><dl class="simple">
  7645. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_avail_instance_data_buffer</span></code>. </p>
  7646. </dd>
  7647. </dl>
  7648. </p>
  7649. <dl class="field-list simple">
  7650. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7651. <dd class="field-odd"><ul class="simple">
  7652. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of required instances. </p></li>
  7653. <li><p><strong>_stride</strong> – <strong>[in]</strong> Stride per instance.</p></li>
  7654. </ul>
  7655. </dd>
  7656. </dl>
  7657. </dd></dl>
  7658. <dl class="cpp function">
  7659. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t">
  7660. <span id="_CPPv3N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t"></span><span id="_CPPv2N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t"></span><span id="bgfx::allocInstanceDataBuffer__InstanceDataBufferP.uint32_t.uint16_t"></span><span class="target" id="namespacebgfx_1a57f18c024a3c7f0f1e902dc85b987757"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">allocInstanceDataBuffer</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N4bgfx18InstanceDataBufferE" title="bgfx::InstanceDataBuffer"><span class="n"><span class="pre">InstanceDataBuffer</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_idb</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_stride</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx23allocInstanceDataBufferEP18InstanceDataBuffer8uint32_t8uint16_t" title="Link to this definition"></a><br /></dt>
  7661. <dd><p>Allocate instance data buffer. </p>
  7662. <p><dl class="simple">
  7663. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_alloc_instance_data_buffer</span></code>. </p>
  7664. </dd>
  7665. </dl>
  7666. </p>
  7667. <dl class="field-list simple">
  7668. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7669. <dd class="field-odd"><ul class="simple">
  7670. <li><p><strong>_idb</strong> – <strong>[out]</strong> <a class="reference internal" href="#structbgfx_1_1_instance_data_buffer"><span class="std std-ref">InstanceDataBuffer</span></a> structure will be filled, and will be valid for the duration of frame, and can be reused for multiple draw calls. </p></li>
  7671. <li><p><strong>_num</strong> – <strong>[in]</strong> Number of instances. </p></li>
  7672. <li><p><strong>_stride</strong> – <strong>[in]</strong> Instance stride. Must be multiple of 16.</p></li>
  7673. </ul>
  7674. </dd>
  7675. </dl>
  7676. </dd></dl>
  7677. </section>
  7678. <section id="indirect-buffer">
  7679. <h3>Indirect Buffer<a class="headerlink" href="#indirect-buffer" title="Link to this heading"></a></h3>
  7680. <dl class="cpp function">
  7681. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20createIndirectBufferE8uint32_t">
  7682. <span id="_CPPv3N4bgfx20createIndirectBufferE8uint32_t"></span><span id="_CPPv2N4bgfx20createIndirectBufferE8uint32_t"></span><span id="bgfx::createIndirectBuffer__uint32_t"></span><span class="target" id="namespacebgfx_1a8a3c563fcf814144a76360b17b60f7e8"></span><span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createIndirectBuffer</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx20createIndirectBufferE8uint32_t" title="Link to this definition"></a><br /></dt>
  7683. <dd><p>Create draw indirect buffer. </p>
  7684. <p><dl class="simple">
  7685. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_indirect_buffer</span></code>. </p>
  7686. </dd>
  7687. </dl>
  7688. </p>
  7689. <dl class="field-list simple">
  7690. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7691. <dd class="field-odd"><p><strong>_num</strong> – <strong>[in]</strong> Number of indirect calls. </p>
  7692. </dd>
  7693. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7694. <dd class="field-even"><p>Indirect buffer handle.</p>
  7695. </dd>
  7696. </dl>
  7697. </dd></dl>
  7698. <dl class="cpp function">
  7699. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE20IndirectBufferHandle">
  7700. <span id="_CPPv3N4bgfx7destroyE20IndirectBufferHandle"></span><span id="_CPPv2N4bgfx7destroyE20IndirectBufferHandle"></span><span id="bgfx::destroy__IndirectBufferHandle"></span><span class="target" id="namespacebgfx_1a5ff8e7d7902e4cd61125955df3aa9daa"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">IndirectBufferHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE20IndirectBufferHandle" title="Link to this definition"></a><br /></dt>
  7701. <dd><p>Destroy draw indirect buffer. </p>
  7702. <p><dl class="simple">
  7703. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_indirect_buffer</span></code>. </p>
  7704. </dd>
  7705. </dl>
  7706. </p>
  7707. <dl class="field-list simple">
  7708. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7709. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Indirect buffer handle.</p>
  7710. </dd>
  7711. </dl>
  7712. </dd></dl>
  7713. </section>
  7714. <section id="occlusion-query">
  7715. <h3>Occlusion Query<a class="headerlink" href="#occlusion-query" title="Link to this heading"></a></h3>
  7716. <dl class="cpp function">
  7717. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20createOcclusionQueryEv">
  7718. <span id="_CPPv3N4bgfx20createOcclusionQueryEv"></span><span id="_CPPv2N4bgfx20createOcclusionQueryEv"></span><span id="bgfx::createOcclusionQuery"></span><span class="target" id="namespacebgfx_1a6c9054faddeffa204c82105b9b5814dd"></span><span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">createOcclusionQuery</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx20createOcclusionQueryEv" title="Link to this definition"></a><br /></dt>
  7719. <dd><p>Create occlusion query. </p>
  7720. <p><dl class="simple">
  7721. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_create_occlusion_query</span></code>. </p>
  7722. </dd>
  7723. </dl>
  7724. </p>
  7725. <dl class="field-list simple">
  7726. <dt class="field-odd">Returns<span class="colon">:</span></dt>
  7727. <dd class="field-odd"><p>Handle to occlusion query object.</p>
  7728. </dd>
  7729. </dl>
  7730. </dd></dl>
  7731. <dl class="cpp struct">
  7732. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20OcclusionQueryResultE">
  7733. <span id="_CPPv3N4bgfx20OcclusionQueryResultE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResultE"></span><span id="bgfx::OcclusionQueryResult"></span><span class="target" id="structbgfx_1_1_occlusion_query_result"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OcclusionQueryResult</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResultE" title="Link to this definition"></a><br /></dt>
  7734. <dd><p>Occlusion query result. </p>
  7735. <p><dl class="simple">
  7736. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_occlusion_query_result_t</span></code>. </p>
  7737. </dd>
  7738. </dl>
  7739. </p>
  7740. <div class="breathe-sectiondef docutils container">
  7741. <p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-types">Public Types</p>
  7742. <dl class="cpp enum">
  7743. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20OcclusionQueryResult4EnumE">
  7744. <span id="_CPPv3N4bgfx20OcclusionQueryResult4EnumE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4EnumE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8c"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Enum</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4EnumE" title="Link to this definition"></a><br /></dt>
  7745. <dd><p>Occlusion query results: </p>
  7746. <p><em>Values:</em></p>
  7747. <dl class="cpp enumerator">
  7748. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20OcclusionQueryResult4Enum9InvisibleE">
  7749. <span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum9InvisibleE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum9InvisibleE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca2364647c4ea4e3b1999f9602323fad4c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Invisible</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum9InvisibleE" title="Link to this definition"></a><br /></dt>
  7750. <dd><p>Query failed test. </p>
  7751. </dd></dl>
  7752. <dl class="cpp enumerator">
  7753. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20OcclusionQueryResult4Enum7VisibleE">
  7754. <span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum7VisibleE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum7VisibleE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca61b3fa648c1c7acc8a3b62e17920a798"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Visible</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum7VisibleE" title="Link to this definition"></a><br /></dt>
  7755. <dd><p>Query passed test. </p>
  7756. </dd></dl>
  7757. <dl class="cpp enumerator">
  7758. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20OcclusionQueryResult4Enum8NoResultE">
  7759. <span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum8NoResultE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum8NoResultE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca19ab4aa30c501d80de1ee07962bbe6be"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NoResult</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum8NoResultE" title="Link to this definition"></a><br /></dt>
  7760. <dd><p>Query result is not available yet. </p>
  7761. </dd></dl>
  7762. <dl class="cpp enumerator">
  7763. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx20OcclusionQueryResult4Enum5CountE">
  7764. <span id="_CPPv3N4bgfx20OcclusionQueryResult4Enum5CountE"></span><span id="_CPPv2N4bgfx20OcclusionQueryResult4Enum5CountE"></span><span class="target" id="structbgfx_1_1_occlusion_query_result_1ac0c21b4efbf73289b19a035bd75b8e8ca7d146e3527bb06d8c6b3934eead6b22a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Count</span></span></span><a class="headerlink" href="#_CPPv4N4bgfx20OcclusionQueryResult4Enum5CountE" title="Link to this definition"></a><br /></dt>
  7765. <dd></dd></dl>
  7766. </dd></dl>
  7767. </div>
  7768. </dd></dl>
  7769. <dl class="cpp function">
  7770. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx9getResultE20OcclusionQueryHandleP7int32_t">
  7771. <span id="_CPPv3N4bgfx9getResultE20OcclusionQueryHandleP7int32_t"></span><span id="_CPPv2N4bgfx9getResultE20OcclusionQueryHandleP7int32_t"></span><span id="bgfx::getResult__OcclusionQueryHandle.int32_tP"></span><span class="target" id="namespacebgfx_1abccef1bca742db8d7b55e81ad5088f1a"></span><a class="reference internal" href="#_CPPv4N4bgfx20OcclusionQueryResultE" title="bgfx::OcclusionQueryResult"><span class="n"><span class="pre">OcclusionQueryResult</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N4bgfx20OcclusionQueryResult4EnumE" title="bgfx::OcclusionQueryResult::Enum"><span class="n"><span class="pre">Enum</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">getResult</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">_result</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULL</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx9getResultE20OcclusionQueryHandleP7int32_t" title="Link to this definition"></a><br /></dt>
  7772. <dd><p>Retrieve occlusion query result from previous frame. </p>
  7773. <p><dl class="simple">
  7774. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_get_result</span></code>. </p>
  7775. </dd>
  7776. </dl>
  7777. </p>
  7778. <dl class="field-list simple">
  7779. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7780. <dd class="field-odd"><ul class="simple">
  7781. <li><p><strong>_handle</strong> – <strong>[in]</strong> Handle to occlusion query object. </p></li>
  7782. <li><p><strong>_result</strong> – <strong>[out]</strong> Number of pixels that passed test. This argument can be <code class="docutils literal notranslate"><span class="pre">NULL</span></code> if result of occlusion query is not needed. </p></li>
  7783. </ul>
  7784. </dd>
  7785. <dt class="field-even">Returns<span class="colon">:</span></dt>
  7786. <dd class="field-even"><p>Occlusion query result.</p>
  7787. </dd>
  7788. </dl>
  7789. </dd></dl>
  7790. <dl class="cpp function">
  7791. <dt class="sig sig-object cpp" id="_CPPv4N4bgfx7destroyE20OcclusionQueryHandle">
  7792. <span id="_CPPv3N4bgfx7destroyE20OcclusionQueryHandle"></span><span id="_CPPv2N4bgfx7destroyE20OcclusionQueryHandle"></span><span id="bgfx::destroy__OcclusionQueryHandle"></span><span class="target" id="namespacebgfx_1ac23e1de099833621a7ca0121f0ccae6d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">bgfx</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">OcclusionQueryHandle</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">_handle</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N4bgfx7destroyE20OcclusionQueryHandle" title="Link to this definition"></a><br /></dt>
  7793. <dd><p>Destroy occlusion query. </p>
  7794. <p><dl class="simple">
  7795. <dt><strong>Attention</strong></dt><dd><p>C99’s equivalent binding is <code class="docutils literal notranslate"><span class="pre">bgfx_destroy_occlusion_query</span></code>. </p>
  7796. </dd>
  7797. </dl>
  7798. </p>
  7799. <dl class="field-list simple">
  7800. <dt class="field-odd">Parameters<span class="colon">:</span></dt>
  7801. <dd class="field-odd"><p><strong>_handle</strong> – <strong>[in]</strong> Handle to occlusion query object.</p>
  7802. </dd>
  7803. </dl>
  7804. </dd></dl>
  7805. </section>
  7806. </section>
  7807. </section>
  7808. </div>
  7809. </div>
  7810. <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
  7811. <a href="examples.html" class="btn btn-neutral float-left" title="Examples" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
  7812. <a href="tools.html" class="btn btn-neutral float-right" title="Tools" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
  7813. </div>
  7814. <hr/>
  7815. <div role="contentinfo">
  7816. <p>&#169; Copyright 2010-2025, Branimir Karadžić.</p>
  7817. </div>
  7818. </footer>
  7819. </div>
  7820. </div>
  7821. </section>
  7822. </div>
  7823. <script>
  7824. jQuery(function () {
  7825. SphinxRtdTheme.Navigation.enable(true);
  7826. });
  7827. </script>
  7828. </body>
  7829. </html>