123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358 |
- /************************************************************************************
- Copyright : Copyright (c) Facebook Technologies, LLC and its affiliates. All rights reserved.
- Licensed under the Oculus Utilities SDK License Version 1.31 (the "License"); you may not use
- the Utilities SDK except in compliance with the License, which is provided at the time of installation
- or download, or which otherwise accompanies this software in either electronic or hard copy form.
- You may obtain a copy of the License at
- https://developer.oculus.com/licenses/utilities-1.31
- Unless required by applicable law or agreed to in writing, the Utilities SDK distributed
- under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
- ANY KIND, either express or implied. See the License for the specific language governing
- permissions and limitations under the License.
- ************************************************************************************/
- #if USING_XR_MANAGEMENT && USING_XR_SDK_OCULUS
- #define USING_XR_SDK
- #endif
- #if !(UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN || (UNITY_ANDROID && !UNITY_EDITOR))
- #define OVRPLUGIN_UNSUPPORTED_PLATFORM
- #endif
- #if UNITY_ANDROID && !UNITY_EDITOR
- #define OVRPLUGIN_INCLUDE_MRC_ANDROID
- #endif
- using System;
- using System.Runtime.InteropServices;
- using UnityEngine;
- // Internal C# wrapper for OVRPlugin.
- public static class OVRPlugin
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- public const bool isSupportedPlatform = false;
- #else
- public const bool isSupportedPlatform = true;
- #endif
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- public static readonly System.Version wrapperVersion = _versionZero;
- #else
- public static readonly System.Version wrapperVersion = OVRP_1_44_0.version;
- #endif
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static System.Version _version;
- #endif
- public static System.Version version
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- Debug.LogWarning("Platform is not currently supported by OVRPlugin");
- return _versionZero;
- #else
- if (_version == null)
- {
- try
- {
- string pluginVersion = OVRP_1_1_0.ovrp_GetVersion();
- if (pluginVersion != null)
- {
- // Truncate unsupported trailing version info for System.Version. Original string is returned if not present.
- pluginVersion = pluginVersion.Split('-')[0];
- _version = new System.Version(pluginVersion);
- }
- else
- {
- _version = _versionZero;
- }
- }
- catch
- {
- _version = _versionZero;
- }
- // Unity 5.1.1f3-p3 have OVRPlugin version "0.5.0", which isn't accurate.
- if (_version == OVRP_0_5_0.version)
- _version = OVRP_0_1_0.version;
- if (_version > _versionZero && _version < OVRP_1_3_0.version)
- throw new PlatformNotSupportedException("Oculus Utilities version " + wrapperVersion + " is too new for OVRPlugin version " + _version.ToString() + ". Update to the latest version of Unity.");
- }
- return _version;
- #endif
- }
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static System.Version _nativeSDKVersion;
- #endif
- public static System.Version nativeSDKVersion
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return _versionZero;
- #else
- if (_nativeSDKVersion == null)
- {
- try
- {
- string sdkVersion = string.Empty;
- if (version >= OVRP_1_1_0.version)
- sdkVersion = OVRP_1_1_0.ovrp_GetNativeSDKVersion();
- else
- sdkVersion = _versionZero.ToString();
- if (sdkVersion != null)
- {
- // Truncate unsupported trailing version info for System.Version. Original string is returned if not present.
- sdkVersion = sdkVersion.Split('-')[0];
- _nativeSDKVersion = new System.Version(sdkVersion);
- }
- else
- {
- _nativeSDKVersion = _versionZero;
- }
- }
- catch
- {
- _nativeSDKVersion = _versionZero;
- }
- }
- return _nativeSDKVersion;
- #endif
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- private class GUID
- {
- public int a;
- public short b;
- public short c;
- public byte d0;
- public byte d1;
- public byte d2;
- public byte d3;
- public byte d4;
- public byte d5;
- public byte d6;
- public byte d7;
- }
- public enum Bool
- {
- False = 0,
- True
- }
- public enum Result
- {
- /// Success
- Success = 0,
- /// Failure
- Failure = -1000,
- Failure_InvalidParameter = -1001,
- Failure_NotInitialized = -1002,
- Failure_InvalidOperation = -1003,
- Failure_Unsupported = -1004,
- Failure_NotYetImplemented = -1005,
- Failure_OperationFailed = -1006,
- Failure_InsufficientSize = -1007,
- }
- public enum CameraStatus
- {
- CameraStatus_None,
- CameraStatus_Connected,
- CameraStatus_Calibrating,
- CameraStatus_CalibrationFailed,
- CameraStatus_Calibrated,
- CameraStatus_EnumSize = 0x7fffffff
- }
- public enum Eye
- {
- None = -1,
- Left = 0,
- Right = 1,
- Count = 2
- }
- public enum Tracker
- {
- None = -1,
- Zero = 0,
- One = 1,
- Two = 2,
- Three = 3,
- Count,
- }
- public enum Node
- {
- None = -1,
- EyeLeft = 0,
- EyeRight = 1,
- EyeCenter = 2,
- HandLeft = 3,
- HandRight = 4,
- TrackerZero = 5,
- TrackerOne = 6,
- TrackerTwo = 7,
- TrackerThree = 8,
- Head = 9,
- DeviceObjectZero = 10,
- Count,
- }
- public enum Controller
- {
- None = 0,
- LTouch = 0x00000001,
- RTouch = 0x00000002,
- Touch = LTouch | RTouch,
- Remote = 0x00000004,
- Gamepad = 0x00000010,
- LHand = 0x00000020,
- RHand = 0x00000040,
- Hands = LHand | RHand,
- Touchpad = 0x08000000,
- LTrackedRemote = 0x01000000,
- RTrackedRemote = 0x02000000,
- Active = unchecked((int)0x80000000),
- All = ~None,
- }
- public enum Handedness
- {
- Unsupported = 0,
- LeftHanded = 1,
- RightHanded = 2,
- }
- public enum TrackingOrigin
- {
- EyeLevel = 0,
- FloorLevel = 1,
- Stage = 2,
- Count,
- }
- public enum RecenterFlags
- {
- Default = 0,
- Controllers = 0x40000000,
- IgnoreAll = unchecked((int)0x80000000),
- Count,
- }
- public enum BatteryStatus
- {
- Charging = 0,
- Discharging,
- Full,
- NotCharging,
- Unknown,
- }
- public enum EyeTextureFormat
- {
- Default = 0,
- R8G8B8A8_sRGB = 0,
- R8G8B8A8 = 1,
- R16G16B16A16_FP = 2,
- R11G11B10_FP = 3,
- B8G8R8A8_sRGB = 4,
- B8G8R8A8 = 5,
- R5G6B5 = 11,
- EnumSize = 0x7fffffff
- }
- public enum PlatformUI
- {
- None = -1,
- ConfirmQuit = 1,
- GlobalMenuTutorial, // Deprecated
- }
- public enum SystemRegion
- {
- Unspecified = 0,
- Japan,
- China,
- }
- public enum SystemHeadset
- {
- None = 0,
- GearVR_R320, // Note4 Innovator
- GearVR_R321, // S6 Innovator
- GearVR_R322, // Commercial 1
- GearVR_R323, // Commercial 2 (USB Type C)
- GearVR_R324, // Commercial 3 (USB Type C)
- GearVR_R325, // Commercial 4 (USB Type C)
- Oculus_Go,
- Oculus_Quest,
- Rift_DK1 = 0x1000,
- Rift_DK2,
- Rift_CV1,
- Rift_CB,
- Rift_S,
- }
- public enum OverlayShape
- {
- Quad = 0,
- Cylinder = 1,
- Cubemap = 2,
- OffcenterCubemap = 4,
- Equirect = 5,
- }
- public enum Step
- {
- Render = -1,
- Physics = 0,
- }
- public enum CameraDevice
- {
- None = 0,
- WebCamera0 = 100,
- WebCamera1 = 101,
- ZEDCamera = 300,
- }
- public enum CameraDeviceDepthSensingMode
- {
- Standard = 0,
- Fill = 1,
- }
- public enum CameraDeviceDepthQuality
- {
- Low = 0,
- Medium = 1,
- High = 2,
- }
- public enum FixedFoveatedRenderingLevel
- {
- Off = 0,
- Low = 1,
- Medium = 2,
- High = 3,
- // High foveation setting with more detail toward the bottom of the view and more foveation near the top (Same as High on Oculus Go)
- HighTop = 4,
- EnumSize = 0x7FFFFFFF
- }
- [Obsolete("Please use FixedFoveatedRenderingLevel instead", false)]
- public enum TiledMultiResLevel
- {
- Off = 0,
- LMSLow = FixedFoveatedRenderingLevel.Low,
- LMSMedium = FixedFoveatedRenderingLevel.Medium,
- LMSHigh = FixedFoveatedRenderingLevel.High,
- // High foveation setting with more detail toward the bottom of the view and more foveation near the top (Same as High on Oculus Go)
- LMSHighTop = FixedFoveatedRenderingLevel.HighTop,
- EnumSize = 0x7FFFFFFF
- }
- public enum PerfMetrics
- {
- App_CpuTime_Float = 0,
- App_GpuTime_Float = 1,
- Compositor_CpuTime_Float = 3,
- Compositor_GpuTime_Float = 4,
- Compositor_DroppedFrameCount_Int = 5,
- System_GpuUtilPercentage_Float = 7,
- System_CpuUtilAveragePercentage_Float = 8,
- System_CpuUtilWorstPercentage_Float = 9,
- // 1.32.0
- Device_CpuClockFrequencyInMHz_Float = 10,
- Device_GpuClockFrequencyInMHz_Float = 11,
- Device_CpuClockLevel_Int = 12,
- Device_GpuClockLevel_Int = 13,
- Count,
- EnumSize = 0x7FFFFFFF
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct CameraDeviceIntrinsicsParameters
- {
- float fx; /* Focal length in pixels along x axis. */
- float fy; /* Focal length in pixels along y axis. */
- float cx; /* Optical center along x axis, defined in pixels (usually close to width/2). */
- float cy; /* Optical center along y axis, defined in pixels (usually close to height/2). */
- double disto0; /* Distortion factor : [ k1, k2, p1, p2, k3 ]. Radial (k1,k2,k3) and Tangential (p1,p2) distortion.*/
- double disto1;
- double disto2;
- double disto3;
- double disto4;
- float v_fov; /* Vertical field of view after stereo rectification, in degrees. */
- float h_fov; /* Horizontal field of view after stereo rectification, in degrees.*/
- float d_fov; /* Diagonal field of view after stereo rectification, in degrees.*/
- int w; /* Resolution width */
- int h; /* Resolution height */
- }
- private const int OverlayShapeFlagShift = 4;
- private enum OverlayFlag
- {
- None = unchecked((int)0x00000000),
- OnTop = unchecked((int)0x00000001),
- HeadLocked = unchecked((int)0x00000002),
- NoDepth = unchecked((int)0x00000004),
- ExpensiveSuperSample = unchecked((int)0x00000008),
- // Using the 5-8 bits for shapes, total 16 potential shapes can be supported 0x000000[0]0 -> 0x000000[F]0
- ShapeFlag_Quad = unchecked((int)OverlayShape.Quad << OverlayShapeFlagShift),
- ShapeFlag_Cylinder = unchecked((int)OverlayShape.Cylinder << OverlayShapeFlagShift),
- ShapeFlag_Cubemap = unchecked((int)OverlayShape.Cubemap << OverlayShapeFlagShift),
- ShapeFlag_OffcenterCubemap = unchecked((int)OverlayShape.OffcenterCubemap << OverlayShapeFlagShift),
- ShapeFlagRangeMask = unchecked((int)0xF << OverlayShapeFlagShift),
- Hidden = unchecked((int)0x000000200),
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Vector2f
- {
- public float x;
- public float y;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Vector3f
- {
- public float x;
- public float y;
- public float z;
- public static readonly Vector3f zero = new Vector3f { x = 0.0f, y = 0.0f, z = 0.0f };
- public override string ToString()
- {
- return string.Format("{0}, {1}, {2}", x, y, z);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Vector4f
- {
- public float x;
- public float y;
- public float z;
- public float w;
- public static readonly Vector4f zero = new Vector4f { x = 0.0f, y = 0.0f, z = 0.0f, w = 0.0f };
- public override string ToString()
- {
- return string.Format("{0}, {1}, {2}, {3}", x, y, z, w);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Vector4s
- {
- public short x;
- public short y;
- public short z;
- public short w;
- public static readonly Vector4s zero = new Vector4s { x = 0, y = 0, z = 0, w = 0 };
- public override string ToString()
- {
- return string.Format("{0}, {1}, {2}, {3}", x, y, z, w);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Quatf
- {
- public float x;
- public float y;
- public float z;
- public float w;
- public static readonly Quatf identity = new Quatf { x = 0.0f, y = 0.0f, z = 0.0f, w = 1.0f };
- public override string ToString()
- {
- return string.Format("{0}, {1}, {2}, {3}", x, y, z, w);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Posef
- {
- public Quatf Orientation;
- public Vector3f Position;
- public static readonly Posef identity = new Posef { Orientation = Quatf.identity, Position = Vector3f.zero };
- public override string ToString()
- {
- return string.Format("Position ({0}), Orientation({1})", Position, Orientation);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct TextureRectMatrixf
- {
- public Rect leftRect;
- public Rect rightRect;
- public Vector4 leftScaleBias;
- public Vector4 rightScaleBias;
- public static readonly TextureRectMatrixf zero = new TextureRectMatrixf { leftRect = new Rect(0, 0, 1, 1), rightRect = new Rect(0, 0, 1, 1), leftScaleBias = new Vector4(1, 1, 0, 0), rightScaleBias = new Vector4(1, 1, 0, 0) };
- public override string ToString()
- {
- return string.Format("Rect Left ({0}), Rect Right({1}), Scale Bias Left ({2}), Scale Bias Right({3})", leftRect, rightRect, leftScaleBias, rightScaleBias);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct PoseStatef
- {
- public Posef Pose;
- public Vector3f Velocity;
- public Vector3f Acceleration;
- public Vector3f AngularVelocity;
- public Vector3f AngularAcceleration;
- public double Time;
- public static readonly PoseStatef identity = new PoseStatef
- {
- Pose = Posef.identity,
- Velocity = Vector3f.zero,
- Acceleration = Vector3f.zero,
- AngularVelocity = Vector3f.zero,
- AngularAcceleration = Vector3f.zero
- };
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct ControllerState4
- {
- public uint ConnectedControllers;
- public uint Buttons;
- public uint Touches;
- public uint NearTouches;
- public float LIndexTrigger;
- public float RIndexTrigger;
- public float LHandTrigger;
- public float RHandTrigger;
- public Vector2f LThumbstick;
- public Vector2f RThumbstick;
- public Vector2f LTouchpad;
- public Vector2f RTouchpad;
- public byte LBatteryPercentRemaining;
- public byte RBatteryPercentRemaining;
- public byte LRecenterCount;
- public byte RRecenterCount;
- public byte Reserved_27;
- public byte Reserved_26;
- public byte Reserved_25;
- public byte Reserved_24;
- public byte Reserved_23;
- public byte Reserved_22;
- public byte Reserved_21;
- public byte Reserved_20;
- public byte Reserved_19;
- public byte Reserved_18;
- public byte Reserved_17;
- public byte Reserved_16;
- public byte Reserved_15;
- public byte Reserved_14;
- public byte Reserved_13;
- public byte Reserved_12;
- public byte Reserved_11;
- public byte Reserved_10;
- public byte Reserved_09;
- public byte Reserved_08;
- public byte Reserved_07;
- public byte Reserved_06;
- public byte Reserved_05;
- public byte Reserved_04;
- public byte Reserved_03;
- public byte Reserved_02;
- public byte Reserved_01;
- public byte Reserved_00;
- public ControllerState4(ControllerState2 cs)
- {
- ConnectedControllers = cs.ConnectedControllers;
- Buttons = cs.Buttons;
- Touches = cs.Touches;
- NearTouches = cs.NearTouches;
- LIndexTrigger = cs.LIndexTrigger;
- RIndexTrigger = cs.RIndexTrigger;
- LHandTrigger = cs.LHandTrigger;
- RHandTrigger = cs.RHandTrigger;
- LThumbstick = cs.LThumbstick;
- RThumbstick = cs.RThumbstick;
- LTouchpad = cs.LTouchpad;
- RTouchpad = cs.RTouchpad;
- LBatteryPercentRemaining = 0;
- RBatteryPercentRemaining = 0;
- LRecenterCount = 0;
- RRecenterCount = 0;
- Reserved_27 = 0;
- Reserved_26 = 0;
- Reserved_25 = 0;
- Reserved_24 = 0;
- Reserved_23 = 0;
- Reserved_22 = 0;
- Reserved_21 = 0;
- Reserved_20 = 0;
- Reserved_19 = 0;
- Reserved_18 = 0;
- Reserved_17 = 0;
- Reserved_16 = 0;
- Reserved_15 = 0;
- Reserved_14 = 0;
- Reserved_13 = 0;
- Reserved_12 = 0;
- Reserved_11 = 0;
- Reserved_10 = 0;
- Reserved_09 = 0;
- Reserved_08 = 0;
- Reserved_07 = 0;
- Reserved_06 = 0;
- Reserved_05 = 0;
- Reserved_04 = 0;
- Reserved_03 = 0;
- Reserved_02 = 0;
- Reserved_01 = 0;
- Reserved_00 = 0;
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct ControllerState2
- {
- public uint ConnectedControllers;
- public uint Buttons;
- public uint Touches;
- public uint NearTouches;
- public float LIndexTrigger;
- public float RIndexTrigger;
- public float LHandTrigger;
- public float RHandTrigger;
- public Vector2f LThumbstick;
- public Vector2f RThumbstick;
- public Vector2f LTouchpad;
- public Vector2f RTouchpad;
- public ControllerState2(ControllerState cs)
- {
- ConnectedControllers = cs.ConnectedControllers;
- Buttons = cs.Buttons;
- Touches = cs.Touches;
- NearTouches = cs.NearTouches;
- LIndexTrigger = cs.LIndexTrigger;
- RIndexTrigger = cs.RIndexTrigger;
- LHandTrigger = cs.LHandTrigger;
- RHandTrigger = cs.RHandTrigger;
- LThumbstick = cs.LThumbstick;
- RThumbstick = cs.RThumbstick;
- LTouchpad = new Vector2f() { x = 0.0f, y = 0.0f };
- RTouchpad = new Vector2f() { x = 0.0f, y = 0.0f };
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct ControllerState
- {
- public uint ConnectedControllers;
- public uint Buttons;
- public uint Touches;
- public uint NearTouches;
- public float LIndexTrigger;
- public float RIndexTrigger;
- public float LHandTrigger;
- public float RHandTrigger;
- public Vector2f LThumbstick;
- public Vector2f RThumbstick;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct HapticsBuffer
- {
- public IntPtr Samples;
- public int SamplesCount;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct HapticsState
- {
- public int SamplesAvailable;
- public int SamplesQueued;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct HapticsDesc
- {
- public int SampleRateHz;
- public int SampleSizeInBytes;
- public int MinimumSafeSamplesQueued;
- public int MinimumBufferSamplesCount;
- public int OptimalBufferSamplesCount;
- public int MaximumBufferSamplesCount;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct AppPerfFrameStats
- {
- public int HmdVsyncIndex;
- public int AppFrameIndex;
- public int AppDroppedFrameCount;
- public float AppMotionToPhotonLatency;
- public float AppQueueAheadTime;
- public float AppCpuElapsedTime;
- public float AppGpuElapsedTime;
- public int CompositorFrameIndex;
- public int CompositorDroppedFrameCount;
- public float CompositorLatency;
- public float CompositorCpuElapsedTime;
- public float CompositorGpuElapsedTime;
- public float CompositorCpuStartToGpuEndElapsedTime;
- public float CompositorGpuEndToVsyncElapsedTime;
- }
- public const int AppPerfFrameStatsMaxCount = 5;
- [StructLayout(LayoutKind.Sequential)]
- public struct AppPerfStats
- {
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = AppPerfFrameStatsMaxCount)]
- public AppPerfFrameStats[] FrameStats;
- public int FrameStatsCount;
- public Bool AnyFrameStatsDropped;
- public float AdaptiveGpuPerformanceScale;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Sizei
- {
- public int w;
- public int h;
- public static readonly Sizei zero = new Sizei { w = 0, h = 0 };
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Sizef
- {
- public float w;
- public float h;
- public static readonly Sizef zero = new Sizef { w = 0, h = 0 };
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Vector2i
- {
- public int x;
- public int y;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Recti {
- Vector2i Pos;
- Sizei Size;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Rectf {
- Vector2f Pos;
- Sizef Size;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Frustumf
- {
- public float zNear;
- public float zFar;
- public float fovX;
- public float fovY;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Frustumf2
- {
- public float zNear;
- public float zFar;
- public Fovf Fov;
- }
- public enum BoundaryType
- {
- OuterBoundary = 0x0001,
- PlayArea = 0x0100,
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct BoundaryTestResult
- {
- public Bool IsTriggering;
- public float ClosestDistance;
- public Vector3f ClosestPoint;
- public Vector3f ClosestPointNormal;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct BoundaryGeometry
- {
- public BoundaryType BoundaryType;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
- public Vector3f[] Points;
- public int PointsCount;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Colorf
- {
- public float r;
- public float g;
- public float b;
- public float a;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Fovf
- {
- public float UpTan;
- public float DownTan;
- public float LeftTan;
- public float RightTan;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct CameraIntrinsics
- {
- public Bool IsValid;
- public double LastChangedTimeSeconds;
- public Fovf FOVPort;
- public float VirtualNearPlaneDistanceMeters;
- public float VirtualFarPlaneDistanceMeters;
- public Sizei ImageSensorPixelResolution;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct CameraExtrinsics
- {
- public Bool IsValid;
- public double LastChangedTimeSeconds;
- public CameraStatus CameraStatusData;
- public Node AttachedToNode;
- public Posef RelativePose;
- }
- public enum LayerLayout
- {
- Stereo = 0,
- Mono = 1,
- DoubleWide = 2,
- Array = 3,
- EnumSize = 0xF
- }
- public enum LayerFlags
- {
- Static = (1 << 0),
- LoadingScreen = (1 << 1),
- SymmetricFov = (1 << 2),
- TextureOriginAtBottomLeft = (1 << 3),
- ChromaticAberrationCorrection = (1 << 4),
- NoAllocation = (1 << 5),
- ProtectedContent = (1 << 6),
- AndroidSurfaceSwapChain = (1 << 7),
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct LayerDesc
- {
- public OverlayShape Shape;
- public LayerLayout Layout;
- public Sizei TextureSize;
- public int MipLevels;
- public int SampleCount;
- public EyeTextureFormat Format;
- public int LayerFlags;
- //Eye FOV-only members.
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
- public Fovf[] Fov;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
- public Rectf[] VisibleRect;
- public Sizei MaxViewportSize;
- EyeTextureFormat DepthFormat;
- public override string ToString()
- {
- string delim = ", ";
- return Shape.ToString()
- + delim + Layout.ToString()
- + delim + TextureSize.w.ToString() + "x" + TextureSize.h.ToString()
- + delim + MipLevels.ToString()
- + delim + SampleCount.ToString()
- + delim + Format.ToString()
- + delim + LayerFlags.ToString();
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct LayerSubmit
- {
- int LayerId;
- int TextureStage;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
- Recti[] ViewportRect;
- Posef Pose;
- int LayerSubmitFlags;
- }
- public enum TrackingConfidence
- {
- Low = 0,
- High = 0x3f800000,
- }
- public enum Hand
- {
- None = -1,
- HandLeft = 0,
- HandRight = 1,
- }
- [Flags]
- public enum HandStatus
- {
- HandTracked = (1 << 0), // if this is set the hand pose and bone rotations data is usable
- InputStateValid = (1 << 1), // if this is set the pointer pose and pinch data is usable
- SystemGestureInProgress = (1 << 6), // if this is set the hand is currently processing a system gesture
- }
- public enum BoneId
- {
- Invalid = -1,
- Hand_Start = 0,
- Hand_WristRoot = Hand_Start + 0, // root frame of the hand, where the wrist is located
- Hand_ForearmStub = Hand_Start + 1, // frame for user's forearm
- Hand_Thumb0 = Hand_Start + 2, // thumb trapezium bone
- Hand_Thumb1 = Hand_Start + 3, // thumb metacarpal bone
- Hand_Thumb2 = Hand_Start + 4, // thumb proximal phalange bone
- Hand_Thumb3 = Hand_Start + 5, // thumb distal phalange bone
- Hand_Index1 = Hand_Start + 6, // index proximal phalange bone
- Hand_Index2 = Hand_Start + 7, // index intermediate phalange bone
- Hand_Index3 = Hand_Start + 8, // index distal phalange bone
- Hand_Middle1 = Hand_Start + 9, // middle proximal phalange bone
- Hand_Middle2 = Hand_Start + 10, // middle intermediate phalange bone
- Hand_Middle3 = Hand_Start + 11, // middle distal phalange bone
- Hand_Ring1 = Hand_Start + 12, // ring proximal phalange bone
- Hand_Ring2 = Hand_Start + 13, // ring intermediate phalange bone
- Hand_Ring3 = Hand_Start + 14, // ring distal phalange bone
- Hand_Pinky0 = Hand_Start + 15, // pinky metacarpal bone
- Hand_Pinky1 = Hand_Start + 16, // pinky proximal phalange bone
- Hand_Pinky2 = Hand_Start + 17, // pinky intermediate phalange bone
- Hand_Pinky3 = Hand_Start + 18, // pinky distal phalange bone
- Hand_MaxSkinnable = Hand_Start + 19,
- // Bone tips are position only. They are not used for skinning but are useful for hit-testing.
- // NOTE: Hand_ThumbTip == Hand_MaxSkinnable since the extended tips need to be contiguous
- Hand_ThumbTip = Hand_Start + Hand_MaxSkinnable + 0, // tip of the thumb
- Hand_IndexTip = Hand_Start + Hand_MaxSkinnable + 1, // tip of the index finger
- Hand_MiddleTip = Hand_Start + Hand_MaxSkinnable + 2, // tip of the middle finger
- Hand_RingTip = Hand_Start + Hand_MaxSkinnable + 3, // tip of the ring finger
- Hand_PinkyTip = Hand_Start + Hand_MaxSkinnable + 4, // tip of the pinky
- Hand_End = Hand_Start + Hand_MaxSkinnable + 5,
- // add new bones here
- Max = Hand_End + 0,
- }
- public enum HandFinger
- {
- Thumb = 0,
- Index = 1,
- Middle = 2,
- Ring = 3,
- Pinky = 4,
- Max = 5,
- }
- [Flags]
- public enum HandFingerPinch
- {
- Thumb = (1 << HandFinger.Thumb),
- Index = (1 << HandFinger.Index),
- Middle = (1 << HandFinger.Middle),
- Ring = (1 << HandFinger.Ring),
- Pinky = (1 << HandFinger.Pinky),
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct HandState
- {
- public HandStatus Status;
- public Posef RootPose;
- public Quatf[] BoneRotations;
- public HandFingerPinch Pinches;
- public float[] PinchStrength;
- public Posef PointerPose;
- public float HandScale;
- public TrackingConfidence HandConfidence;
- public TrackingConfidence[] FingerConfidences;
- public double RequestedTimeStamp;
- public double SampleTimeStamp;
- }
- [StructLayout(LayoutKind.Sequential)]
- private struct HandStateInternal
- {
- public HandStatus Status;
- public Posef RootPose;
- public Quatf BoneRotations_0;
- public Quatf BoneRotations_1;
- public Quatf BoneRotations_2;
- public Quatf BoneRotations_3;
- public Quatf BoneRotations_4;
- public Quatf BoneRotations_5;
- public Quatf BoneRotations_6;
- public Quatf BoneRotations_7;
- public Quatf BoneRotations_8;
- public Quatf BoneRotations_9;
- public Quatf BoneRotations_10;
- public Quatf BoneRotations_11;
- public Quatf BoneRotations_12;
- public Quatf BoneRotations_13;
- public Quatf BoneRotations_14;
- public Quatf BoneRotations_15;
- public Quatf BoneRotations_16;
- public Quatf BoneRotations_17;
- public Quatf BoneRotations_18;
- public Quatf BoneRotations_19;
- public Quatf BoneRotations_20;
- public Quatf BoneRotations_21;
- public Quatf BoneRotations_22;
- public Quatf BoneRotations_23;
- public HandFingerPinch Pinches;
- public float PinchStrength_0;
- public float PinchStrength_1;
- public float PinchStrength_2;
- public float PinchStrength_3;
- public float PinchStrength_4;
- public Posef PointerPose;
- public float HandScale;
- public TrackingConfidence HandConfidence;
- public TrackingConfidence FingerConfidences_0;
- public TrackingConfidence FingerConfidences_1;
- public TrackingConfidence FingerConfidences_2;
- public TrackingConfidence FingerConfidences_3;
- public TrackingConfidence FingerConfidences_4;
- public double RequestedTimeStamp;
- public double SampleTimeStamp;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct BoneCapsule
- {
- public short BoneIndex;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
- public Vector3f[] Points;
- public float Radius;
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Bone
- {
- public BoneId Id;
- public short ParentBoneIndex;
- public Posef Pose;
- }
- public enum SkeletonConstants
- {
- MaxBones = BoneId.Max,
- MaxBoneCapsules = 19,
- }
- public enum SkeletonType
- {
- None = -1,
- HandLeft = 0,
- HandRight = 1,
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Skeleton
- {
- public SkeletonType Type;
- public uint NumBones;
- public uint NumBoneCapsules;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)SkeletonConstants.MaxBones)]
- public Bone[] Bones;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)SkeletonConstants.MaxBoneCapsules)]
- public BoneCapsule[] BoneCapsules;
- }
- public enum MeshConstants
- {
- MaxVertices = 3000,
- MaxIndices = MaxVertices * 6,
- }
- public enum MeshType
- {
- None = -1,
- HandLeft = 0,
- HandRight = 1,
- }
- [StructLayout(LayoutKind.Sequential)]
- public struct Mesh
- {
- public MeshType Type;
- public uint NumVertices;
- public uint NumIndices;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)MeshConstants.MaxVertices)]
- public Vector3f[] VertexPositions;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)MeshConstants.MaxIndices)]
- public short[] Indices;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)MeshConstants.MaxVertices)]
- public Vector3f[] VertexNormals;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)MeshConstants.MaxVertices)]
- public Vector2f[] VertexUV0;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)MeshConstants.MaxVertices)]
- public Vector4s[] BlendIndices;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)MeshConstants.MaxVertices)]
- public Vector4f[] BlendWeights;
- }
- public static bool initialized
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetInitialized() == OVRPlugin.Bool.True;
- #endif
- }
- }
- public static bool chromatic
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_7_0.version)
- return initialized && OVRP_1_7_0.ovrp_GetAppChromaticCorrection() == OVRPlugin.Bool.True;
- #if UNITY_ANDROID && !UNITY_EDITOR
- return false;
- #else
- return true;
- #endif
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (initialized && version >= OVRP_1_7_0.version)
- OVRP_1_7_0.ovrp_SetAppChromaticCorrection(ToBool(value));
- #endif
- }
- }
- public static bool monoscopic
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetAppMonoscopic() == OVRPlugin.Bool.True;
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (initialized)
- {
- OVRP_1_1_0.ovrp_SetAppMonoscopic(ToBool(value));
- }
- #endif
- }
- }
- public static bool rotation
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetTrackingOrientationEnabled() == Bool.True;
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (initialized)
- {
- OVRP_1_1_0.ovrp_SetTrackingOrientationEnabled(ToBool(value));
- }
- #endif
- }
- }
- public static bool position
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetTrackingPositionEnabled() == Bool.True;
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (initialized)
- {
- OVRP_1_1_0.ovrp_SetTrackingPositionEnabled(ToBool(value));
- }
- #endif
- }
- }
- public static bool useIPDInPositionTracking
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (initialized && version >= OVRP_1_6_0.version)
- return OVRP_1_6_0.ovrp_GetTrackingIPDEnabled() == OVRPlugin.Bool.True;
- return true;
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (initialized && version >= OVRP_1_6_0.version)
- OVRP_1_6_0.ovrp_SetTrackingIPDEnabled(ToBool(value));
- #endif
- }
- }
- public static bool positionSupported
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetTrackingPositionSupported() == Bool.True;
- #endif
- }
- }
- public static bool positionTracked
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetNodePositionTracked(Node.EyeCenter) == Bool.True;
- #endif
- }
- }
- public static bool powerSaving
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetSystemPowerSavingMode() == Bool.True;
- #endif
- }
- }
- public static bool hmdPresent
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetNodePresent(Node.EyeCenter) == Bool.True;
- #endif
- }
- }
- public static bool userPresent
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_1_0.ovrp_GetUserPresent() == Bool.True;
- #endif
- }
- }
- public static bool headphonesPresent
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && OVRP_1_3_0.ovrp_GetSystemHeadphonesPresent() == OVRPlugin.Bool.True;
- #endif
- }
- }
- public static int recommendedMSAALevel
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 2;
- #else
- if (initialized && version >= OVRP_1_6_0.version)
- return OVRP_1_6_0.ovrp_GetSystemRecommendedMSAALevel();
- else
- return 2;
- #endif
- }
- }
- public static SystemRegion systemRegion
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return SystemRegion.Unspecified;
- #else
- if (initialized && version >= OVRP_1_5_0.version)
- return OVRP_1_5_0.ovrp_GetSystemRegion();
- else
- return SystemRegion.Unspecified;
- #endif
- }
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static GUID _nativeAudioOutGuid = new OVRPlugin.GUID();
- private static Guid _cachedAudioOutGuid;
- private static string _cachedAudioOutString;
- #endif
- public static string audioOutId
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return string.Empty;
- #else
- try
- {
- if (_nativeAudioOutGuid == null)
- _nativeAudioOutGuid = new OVRPlugin.GUID();
- IntPtr ptr = OVRP_1_1_0.ovrp_GetAudioOutId();
- if (ptr != IntPtr.Zero)
- {
- Marshal.PtrToStructure(ptr, _nativeAudioOutGuid);
- Guid managedGuid = new Guid(
- _nativeAudioOutGuid.a,
- _nativeAudioOutGuid.b,
- _nativeAudioOutGuid.c,
- _nativeAudioOutGuid.d0,
- _nativeAudioOutGuid.d1,
- _nativeAudioOutGuid.d2,
- _nativeAudioOutGuid.d3,
- _nativeAudioOutGuid.d4,
- _nativeAudioOutGuid.d5,
- _nativeAudioOutGuid.d6,
- _nativeAudioOutGuid.d7);
- if (managedGuid != _cachedAudioOutGuid)
- {
- _cachedAudioOutGuid = managedGuid;
- _cachedAudioOutString = _cachedAudioOutGuid.ToString();
- }
- return _cachedAudioOutString;
- }
- }
- catch { }
- return string.Empty;
- #endif
- }
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static GUID _nativeAudioInGuid = new OVRPlugin.GUID();
- private static Guid _cachedAudioInGuid;
- private static string _cachedAudioInString;
- #endif
- public static string audioInId
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return string.Empty;
- #else
- try
- {
- if (_nativeAudioInGuid == null)
- _nativeAudioInGuid = new OVRPlugin.GUID();
- IntPtr ptr = OVRP_1_1_0.ovrp_GetAudioInId();
- if (ptr != IntPtr.Zero)
- {
- Marshal.PtrToStructure(ptr, _nativeAudioInGuid);
- Guid managedGuid = new Guid(
- _nativeAudioInGuid.a,
- _nativeAudioInGuid.b,
- _nativeAudioInGuid.c,
- _nativeAudioInGuid.d0,
- _nativeAudioInGuid.d1,
- _nativeAudioInGuid.d2,
- _nativeAudioInGuid.d3,
- _nativeAudioInGuid.d4,
- _nativeAudioInGuid.d5,
- _nativeAudioInGuid.d6,
- _nativeAudioInGuid.d7);
- if (managedGuid != _cachedAudioInGuid)
- {
- _cachedAudioInGuid = managedGuid;
- _cachedAudioInString = _cachedAudioInGuid.ToString();
- }
- return _cachedAudioInString;
- }
- }
- catch { }
- return string.Empty;
- #endif
- }
- }
- public static bool hasVrFocus
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetAppHasVrFocus() == Bool.True;
- #endif
- }
- }
- public static bool hasInputFocus
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return true;
- #else
- if (version >= OVRP_1_18_0.version)
- {
- Bool inputFocus = Bool.False;
- Result result = OVRP_1_18_0.ovrp_GetAppHasInputFocus(out inputFocus);
- if (Result.Success == result)
- return inputFocus == Bool.True;
- else
- {
- //Debug.LogWarning("ovrp_GetAppHasInputFocus return " + result);
- return false;
- }
- }
- return true;
- #endif
- }
- }
- public static bool shouldQuit
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetAppShouldQuit() == Bool.True;
- #endif
- }
- }
- public static bool shouldRecenter
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetAppShouldRecenter() == Bool.True;
- #endif
- }
- }
- public static string productName
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return string.Empty;
- #else
- return OVRP_1_1_0.ovrp_GetSystemProductName();
- #endif
- }
- }
- public static string latency
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return string.Empty;
- #else
- if (!initialized)
- return string.Empty;
- return OVRP_1_1_0.ovrp_GetAppLatencyTimings();
- #endif
- }
- }
- public static float eyeDepth
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- if (!initialized)
- return 0.0f;
- return OVRP_1_1_0.ovrp_GetUserEyeDepth();
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- OVRP_1_1_0.ovrp_SetUserEyeDepth(value);
- #endif
- }
- }
- public static float eyeHeight
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- return OVRP_1_1_0.ovrp_GetUserEyeHeight();
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- OVRP_1_1_0.ovrp_SetUserEyeHeight(value);
- #endif
- }
- }
- public static float batteryLevel
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- return OVRP_1_1_0.ovrp_GetSystemBatteryLevel();
- #endif
- }
- }
- public static float batteryTemperature
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- return OVRP_1_1_0.ovrp_GetSystemBatteryTemperature();
- #endif
- }
- }
- public static int cpuLevel
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0;
- #else
- return OVRP_1_1_0.ovrp_GetSystemCpuLevel();
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- OVRP_1_1_0.ovrp_SetSystemCpuLevel(value);
- #endif
- }
- }
- public static int gpuLevel
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0;
- #else
- return OVRP_1_1_0.ovrp_GetSystemGpuLevel();
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- OVRP_1_1_0.ovrp_SetSystemGpuLevel(value);
- #endif
- }
- }
- public static int vsyncCount
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0;
- #else
- return OVRP_1_1_0.ovrp_GetSystemVSyncCount();
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- OVRP_1_2_0.ovrp_SetSystemVSyncCount(value);
- #endif
- }
- }
- public static float systemVolume
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- return OVRP_1_1_0.ovrp_GetSystemVolume();
- #endif
- }
- }
- public static float ipd
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- return OVRP_1_1_0.ovrp_GetUserIPD();
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- OVRP_1_1_0.ovrp_SetUserIPD(value);
- #endif
- }
- }
- public static bool occlusionMesh
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return initialized && (OVRP_1_3_0.ovrp_GetEyeOcclusionMeshEnabled() == Bool.True);
- #endif
- }
- set {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (!initialized)
- return;
- OVRP_1_3_0.ovrp_SetEyeOcclusionMeshEnabled(ToBool(value));
- #endif
- }
- }
- public static BatteryStatus batteryStatus
- {
- get {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return default(BatteryStatus);
- #else
- return OVRP_1_1_0.ovrp_GetSystemBatteryStatus();
- #endif
- }
- }
- public static Frustumf GetEyeFrustum(Eye eyeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Frustumf();
- #else
- return OVRP_1_1_0.ovrp_GetNodeFrustum((Node)eyeId);
- #endif
- }
- public static Sizei GetEyeTextureSize(Eye eyeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Sizei();
- #else
- return OVRP_0_1_0.ovrp_GetEyeTextureSize(eyeId);
- #endif
- }
- public static Posef GetTrackerPose(Tracker trackerId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Posef.identity;
- #else
- return GetNodePose((Node)((int)trackerId + (int)Node.TrackerZero), Step.Render);
- #endif
- }
- public static Frustumf GetTrackerFrustum(Tracker trackerId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Frustumf();
- #else
- return OVRP_1_1_0.ovrp_GetNodeFrustum((Node)((int)trackerId + (int)Node.TrackerZero));
- #endif
- }
- public static bool ShowUI(PlatformUI ui)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_ShowSystemUI(ui) == Bool.True;
- #endif
- }
- public static bool EnqueueSubmitLayer(bool onTop, bool headLocked, bool noDepthBufferTesting, IntPtr leftTexture, IntPtr rightTexture, int layerId, int frameIndex, Posef pose, Vector3f scale, int layerIndex = 0, OverlayShape shape = OverlayShape.Quad,
- bool overrideTextureRectMatrix = false, TextureRectMatrixf textureRectMatrix = default(TextureRectMatrixf), bool overridePerLayerColorScaleAndOffset = false, Vector4 colorScale = default(Vector4), Vector4 colorOffset = default(Vector4),
- bool expensiveSuperSample = false, bool hidden = false)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (!initialized)
- return false;
- if (version >= OVRP_1_6_0.version)
- {
- uint flags = (uint)OverlayFlag.None;
- if (onTop)
- flags |= (uint)OverlayFlag.OnTop;
- if (headLocked)
- flags |= (uint)OverlayFlag.HeadLocked;
- if (noDepthBufferTesting)
- flags |= (uint)OverlayFlag.NoDepth;
- if (expensiveSuperSample)
- flags |= (uint)OverlayFlag.ExpensiveSuperSample;
- if (hidden)
- flags |= (uint)OverlayFlag.Hidden;
- if (shape == OverlayShape.Cylinder || shape == OverlayShape.Cubemap)
- {
- #if UNITY_ANDROID
- if (version >= OVRP_1_7_0.version)
- flags |= (uint)(shape) << OverlayShapeFlagShift;
- else
- #else
- if (shape == OverlayShape.Cubemap && version >= OVRP_1_10_0.version)
- flags |= (uint)(shape) << OverlayShapeFlagShift;
- else if (shape == OverlayShape.Cylinder && version >= OVRP_1_16_0.version)
- flags |= (uint)(shape) << OverlayShapeFlagShift;
- else
- #endif
- return false;
- }
- if (shape == OverlayShape.OffcenterCubemap)
- {
- #if UNITY_ANDROID
- if (version >= OVRP_1_11_0.version)
- flags |= (uint)(shape) << OverlayShapeFlagShift;
- else
- #endif
- return false;
- }
- if (shape == OverlayShape.Equirect)
- {
- #if UNITY_ANDROID
- if (version >= OVRP_1_21_0.version)
- flags |= (uint)(shape) << OverlayShapeFlagShift;
- else
- #endif
- return false;
- }
- if (version >= OVRP_1_34_0.version && layerId != -1)
- return OVRP_1_34_0.ovrp_EnqueueSubmitLayer2(flags, leftTexture, rightTexture, layerId, frameIndex, ref pose, ref scale, layerIndex,
- overrideTextureRectMatrix ? Bool.True : Bool.False, ref textureRectMatrix, overridePerLayerColorScaleAndOffset ? Bool.True : Bool.False, ref colorScale, ref colorOffset) == Result.Success;
- else if (version >= OVRP_1_15_0.version && layerId != -1)
- return OVRP_1_15_0.ovrp_EnqueueSubmitLayer(flags, leftTexture, rightTexture, layerId, frameIndex, ref pose, ref scale, layerIndex) == Result.Success;
- return OVRP_1_6_0.ovrp_SetOverlayQuad3(flags, leftTexture, rightTexture, IntPtr.Zero, pose, scale, layerIndex) == Bool.True;
- }
- if (layerIndex != 0)
- return false;
- return OVRP_0_1_1.ovrp_SetOverlayQuad2(ToBool(onTop), ToBool(headLocked), leftTexture, IntPtr.Zero, pose, scale) == Bool.True;
- #endif
- }
- public static LayerDesc CalculateLayerDesc(OverlayShape shape, LayerLayout layout, Sizei textureSize,
- int mipLevels, int sampleCount, EyeTextureFormat format, int layerFlags)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new LayerDesc();
- #else
- LayerDesc layerDesc = new LayerDesc();
- if (!initialized)
- return layerDesc;
- if (version >= OVRP_1_15_0.version)
- {
- OVRP_1_15_0.ovrp_CalculateLayerDesc(shape, layout, ref textureSize,
- mipLevels, sampleCount, format, layerFlags, ref layerDesc);
- }
- return layerDesc;
- #endif
- }
- public static bool EnqueueSetupLayer(LayerDesc desc, int compositionDepth, IntPtr layerID)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (!initialized)
- return false;
- if (version >= OVRP_1_28_0.version)
- return OVRP_1_28_0.ovrp_EnqueueSetupLayer2(ref desc, compositionDepth, layerID) == Result.Success;
- else if (version >= OVRP_1_15_0.version)
- {
- if (compositionDepth != 0)
- {
- Debug.LogWarning("Use Oculus Plugin 1.28.0 or above to support non-zero compositionDepth");
- }
- return OVRP_1_15_0.ovrp_EnqueueSetupLayer(ref desc, layerID) == Result.Success;
- }
- return false;
- #endif
- }
- public static bool EnqueueDestroyLayer(IntPtr layerID)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (!initialized)
- return false;
- if (version >= OVRP_1_15_0.version)
- return OVRP_1_15_0.ovrp_EnqueueDestroyLayer(layerID) == Result.Success;
- return false;
- #endif
- }
- public static IntPtr GetLayerTexture(int layerId, int stage, Eye eyeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return IntPtr.Zero;
- #else
- IntPtr textureHandle = IntPtr.Zero;
- if (!initialized)
- return textureHandle;
- if (version >= OVRP_1_15_0.version)
- OVRP_1_15_0.ovrp_GetLayerTexturePtr(layerId, stage, eyeId, ref textureHandle);
- return textureHandle;
- #endif
- }
- public static int GetLayerTextureStageCount(int layerId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 1;
- #else
- if (!initialized)
- return 1;
- int stageCount = 1;
- if (version >= OVRP_1_15_0.version)
- OVRP_1_15_0.ovrp_GetLayerTextureStageCount(layerId, ref stageCount);
- return stageCount;
- #endif
- }
- public static IntPtr GetLayerAndroidSurfaceObject(int layerId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return IntPtr.Zero;
- #else
- IntPtr surfaceObject = IntPtr.Zero;
- if (!initialized)
- return surfaceObject;
- if (version >= OVRP_1_29_0.version)
- OVRP_1_29_0.ovrp_GetLayerAndroidSurfaceObject(layerId, ref surfaceObject);
- return surfaceObject;
- #endif
- }
- public static bool UpdateNodePhysicsPoses(int frameIndex, double predictionSeconds)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_8_0.version)
- return OVRP_1_8_0.ovrp_Update2((int)Step.Physics, frameIndex, predictionSeconds) == Bool.True;
- return false;
- #endif
- }
- public static Posef GetNodePose(Node nodeId, Step stepId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Posef.identity;
- #else
- if (version >= OVRP_1_12_0.version)
- return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).Pose;
- if (version >= OVRP_1_8_0.version && stepId == Step.Physics)
- return OVRP_1_8_0.ovrp_GetNodePose2(0, nodeId);
- return OVRP_0_1_2.ovrp_GetNodePose(nodeId);
- #endif
- }
- public static Vector3f GetNodeVelocity(Node nodeId, Step stepId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Vector3f();
- #else
- if (version >= OVRP_1_12_0.version)
- return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).Velocity;
- if (version >= OVRP_1_8_0.version && stepId == Step.Physics)
- return OVRP_1_8_0.ovrp_GetNodeVelocity2(0, nodeId).Position;
- return OVRP_0_1_3.ovrp_GetNodeVelocity(nodeId).Position;
- #endif
- }
- public static Vector3f GetNodeAngularVelocity(Node nodeId, Step stepId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Vector3f();
- #else
- if (version >= OVRP_1_12_0.version)
- return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).AngularVelocity;
- return new Vector3f(); //TODO: Convert legacy quat to vec3?
- #endif
- }
- public static Vector3f GetNodeAcceleration(Node nodeId, Step stepId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Vector3f();
- #else
- if (version >= OVRP_1_12_0.version)
- return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).Acceleration;
- if (version >= OVRP_1_8_0.version && stepId == Step.Physics)
- return OVRP_1_8_0.ovrp_GetNodeAcceleration2(0, nodeId).Position;
- return OVRP_0_1_3.ovrp_GetNodeAcceleration(nodeId).Position;
- #endif
- }
- public static Vector3f GetNodeAngularAcceleration(Node nodeId, Step stepId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Vector3f();
- #else
- if (version >= OVRP_1_12_0.version)
- return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).AngularAcceleration;
- return new Vector3f(); //TODO: Convert legacy quat to vec3?
- #endif
- }
- public static bool GetNodePresent(Node nodeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetNodePresent(nodeId) == Bool.True;
- #endif
- }
- public static bool GetNodeOrientationTracked(Node nodeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetNodeOrientationTracked(nodeId) == Bool.True;
- #endif
- }
- public static bool GetNodeOrientationValid(Node nodeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool orientationValid = Bool.False;
- Result result = OVRP_1_38_0.ovrp_GetNodeOrientationValid(nodeId, ref orientationValid);
- return result == Result.Success && orientationValid == Bool.True;
- }
- else
- {
- return GetNodeOrientationTracked(nodeId);
- }
- #endif
- }
- public static bool GetNodePositionTracked(Node nodeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_1_0.ovrp_GetNodePositionTracked(nodeId) == Bool.True;
- #endif
- }
- public static bool GetNodePositionValid(Node nodeId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool positionValid = Bool.False;
- Result result = OVRP_1_38_0.ovrp_GetNodePositionValid(nodeId, ref positionValid);
- return result == Result.Success && positionValid == Bool.True;
- }
- else
- {
- return GetNodePositionTracked(nodeId);
- }
- #endif
- }
- public static PoseStatef GetNodePoseStateRaw(Node nodeId, Step stepId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return PoseStatef.identity;
- #else
- if (version >= OVRP_1_29_0.version)
- {
- PoseStatef nodePoseState;
- Result result = OVRP_1_29_0.ovrp_GetNodePoseStateRaw(stepId, -1, nodeId, out nodePoseState);
- if (result == Result.Success)
- {
- return nodePoseState;
- }
- else
- {
- return PoseStatef.identity;
- }
- }
- if (version >= OVRP_1_12_0.version)
- return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId);
- else
- return PoseStatef.identity;
- #endif
- }
- public static Posef GetCurrentTrackingTransformPose()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Posef.identity;
- #else
- if (version >= OVRP_1_30_0.version)
- {
- Posef trackingTransformPose;
- Result result = OVRP_1_30_0.ovrp_GetCurrentTrackingTransformPose(out trackingTransformPose);
- if (result == Result.Success)
- {
- return trackingTransformPose;
- }
- else
- {
- return Posef.identity;
- }
- }
- else
- {
- return Posef.identity;
- }
- #endif
- }
- public static Posef GetTrackingTransformRawPose()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Posef.identity;
- #else
- if (version >= OVRP_1_30_0.version)
- {
- Posef trackingTransforRawPose;
- Result result = OVRP_1_30_0.ovrp_GetTrackingTransformRawPose(out trackingTransforRawPose);
- if (result == Result.Success)
- {
- return trackingTransforRawPose;
- }
- else
- {
- return Posef.identity;
- }
- }
- else
- {
- return Posef.identity;
- }
- #endif
- }
- public static Posef GetTrackingTransformRelativePose(TrackingOrigin trackingOrigin)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Posef.identity;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Posef trackingTransformRelativePose = Posef.identity;
- Result result = OVRP_1_38_0.ovrp_GetTrackingTransformRelativePose(ref trackingTransformRelativePose, trackingOrigin);
- if (result == Result.Success)
- {
- return trackingTransformRelativePose;
- }
- else
- {
- return Posef.identity;
- }
- }
- else
- {
- return Posef.identity;
- }
- #endif
- }
- public static ControllerState GetControllerState(uint controllerMask)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new ControllerState();
- #else
- return OVRP_1_1_0.ovrp_GetControllerState(controllerMask);
- #endif
- }
- public static ControllerState2 GetControllerState2(uint controllerMask)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new ControllerState2();
- #else
- if (version >= OVRP_1_12_0.version)
- {
- return OVRP_1_12_0.ovrp_GetControllerState2(controllerMask);
- }
- return new ControllerState2(OVRP_1_1_0.ovrp_GetControllerState(controllerMask));
- #endif
- }
- public static ControllerState4 GetControllerState4(uint controllerMask)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new ControllerState4();
- #else
- if (version >= OVRP_1_16_0.version)
- {
- ControllerState4 controllerState = new ControllerState4();
- OVRP_1_16_0.ovrp_GetControllerState4(controllerMask, ref controllerState);
- return controllerState;
- }
- return new ControllerState4(GetControllerState2(controllerMask));
- #endif
- }
- public static bool SetControllerVibration(uint controllerMask, float frequency, float amplitude)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_0_1_2.ovrp_SetControllerVibration(controllerMask, frequency, amplitude) == Bool.True;
- #endif
- }
- public static HapticsDesc GetControllerHapticsDesc(uint controllerMask)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new HapticsDesc();
- #else
- if (version >= OVRP_1_6_0.version)
- {
- return OVRP_1_6_0.ovrp_GetControllerHapticsDesc(controllerMask);
- }
- else
- {
- return new HapticsDesc();
- }
- #endif
- }
- public static HapticsState GetControllerHapticsState(uint controllerMask)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new HapticsState();
- #else
- if (version >= OVRP_1_6_0.version)
- {
- return OVRP_1_6_0.ovrp_GetControllerHapticsState(controllerMask);
- }
- else
- {
- return new HapticsState();
- }
- #endif
- }
- public static bool SetControllerHaptics(uint controllerMask, HapticsBuffer hapticsBuffer)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_6_0.version)
- {
- return OVRP_1_6_0.ovrp_SetControllerHaptics(controllerMask, hapticsBuffer) == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static float GetEyeRecommendedResolutionScale()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 1.0f;
- #else
- if (version >= OVRP_1_6_0.version)
- {
- return OVRP_1_6_0.ovrp_GetEyeRecommendedResolutionScale();
- }
- else
- {
- return 1.0f;
- }
- #endif
- }
- public static float GetAppCpuStartToGpuEndTime()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- if (version >= OVRP_1_6_0.version)
- {
- return OVRP_1_6_0.ovrp_GetAppCpuStartToGpuEndTime();
- }
- else
- {
- return 0.0f;
- }
- #endif
- }
- public static bool GetBoundaryConfigured()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_GetBoundaryConfigured() == OVRPlugin.Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static BoundaryTestResult TestBoundaryNode(Node nodeId, BoundaryType boundaryType)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new BoundaryTestResult();
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_TestBoundaryNode(nodeId, boundaryType);
- }
- else
- {
- return new BoundaryTestResult();
- }
- #endif
- }
- public static BoundaryTestResult TestBoundaryPoint(Vector3f point, BoundaryType boundaryType)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new BoundaryTestResult();
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_TestBoundaryPoint(point, boundaryType);
- }
- else
- {
- return new BoundaryTestResult();
- }
- #endif
- }
- public static BoundaryGeometry GetBoundaryGeometry(BoundaryType boundaryType)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new BoundaryGeometry();
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_GetBoundaryGeometry(boundaryType);
- }
- else
- {
- return new BoundaryGeometry();
- }
- #endif
- }
- public static bool GetBoundaryGeometry2(BoundaryType boundaryType, IntPtr points, ref int pointsCount)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- pointsCount = 0;
- return false;
- #else
- if (version >= OVRP_1_9_0.version)
- {
- return OVRP_1_9_0.ovrp_GetBoundaryGeometry2(boundaryType, points, ref pointsCount) == OVRPlugin.Bool.True;
- }
- else
- {
- pointsCount = 0;
- return false;
- }
- #endif
- }
- public static AppPerfStats GetAppPerfStats()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new AppPerfStats();
- #else
- if (version >= OVRP_1_9_0.version)
- {
- return OVRP_1_9_0.ovrp_GetAppPerfStats();
- }
- else
- {
- return new AppPerfStats();
- }
- #endif
- }
- public static bool ResetAppPerfStats()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_9_0.version)
- {
- return OVRP_1_9_0.ovrp_ResetAppPerfStats() == OVRPlugin.Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static float GetAppFramerate()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- if (version >= OVRP_1_12_0.version)
- {
- return OVRP_1_12_0.ovrp_GetAppFramerate();
- }
- else
- {
- return 0.0f;
- }
- #endif
- }
- public static bool SetHandNodePoseStateLatency(double latencyInSeconds)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_18_0.version)
- {
- Result result = OVRP_1_18_0.ovrp_SetHandNodePoseStateLatency(latencyInSeconds);
- if (result == Result.Success)
- {
- return true;
- }
- else
- {
- //Debug.LogWarning("ovrp_SetHandNodePoseStateLatency return " + result);
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static double GetHandNodePoseStateLatency()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0;
- #else
- if (version >= OVRP_1_18_0.version)
- {
- double value = 0.0;
- if (OVRP_1_18_0.ovrp_GetHandNodePoseStateLatency(out value) == OVRPlugin.Result.Success)
- {
- return value;
- }
- else
- {
- return 0.0;
- }
- }
- else
- {
- return 0.0;
- }
- #endif
- }
- public static EyeTextureFormat GetDesiredEyeTextureFormat()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return EyeTextureFormat.Default;
- #else
- if (version >= OVRP_1_11_0.version)
- {
- uint eyeTextureFormatValue = (uint)OVRP_1_11_0.ovrp_GetDesiredEyeTextureFormat();
- // convert both R8G8B8A8 and R8G8B8A8_SRGB to R8G8B8A8 here for avoid confusing developers
- if (eyeTextureFormatValue == 1)
- eyeTextureFormatValue = 0;
- return (EyeTextureFormat)eyeTextureFormatValue;
- }
- else
- {
- return EyeTextureFormat.Default;
- }
- #endif
- }
- public static bool SetDesiredEyeTextureFormat(EyeTextureFormat value)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_11_0.version)
- {
- return OVRP_1_11_0.ovrp_SetDesiredEyeTextureFormat(value) == OVRPlugin.Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool InitializeMixedReality()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- if (version >= OVRP_1_38_0.version) // MRC functions are invalid before 1.38.0
- #else
- if (version >= OVRP_1_15_0.version)
- #endif
- {
- Result result = OVRP_1_15_0.ovrp_InitializeMixedReality();
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_InitializeMixedReality return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool ShutdownMixedReality()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- if (version >= OVRP_1_38_0.version) // MRC functions are invalid before 1.38.0
- #else
- if (version >= OVRP_1_15_0.version)
- #endif
- {
- Result result = OVRP_1_15_0.ovrp_ShutdownMixedReality();
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_ShutdownMixedReality return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool IsMixedRealityInitialized()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- if (version >= OVRP_1_38_0.version) // MRC functions are invalid before 1.38.0
- #else
- if (version >= OVRP_1_15_0.version)
- #endif
- {
- return OVRP_1_15_0.ovrp_GetMixedRealityInitialized() == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static int GetExternalCameraCount()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0;
- #else
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- if (version >= OVRP_1_38_0.version) // MRC functions are invalid before 1.38.0
- #else
- if (version >= OVRP_1_15_0.version)
- #endif
- {
- int cameraCount = 0;
- Result result = OVRP_1_15_0.ovrp_GetExternalCameraCount(out cameraCount);
- if (result != OVRPlugin.Result.Success)
- {
- //Debug.LogWarning("ovrp_GetExternalCameraCount return " + result);
- return 0;
- }
- return cameraCount;
- }
- else
- {
- return 0;
- }
- #endif
- }
- public static bool UpdateExternalCamera()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- if (version >= OVRP_1_38_0.version) // MRC functions are invalid before 1.38.0
- #else
- if (version >= OVRP_1_15_0.version)
- #endif
- {
- Result result = OVRP_1_15_0.ovrp_UpdateExternalCamera();
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_UpdateExternalCamera return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetMixedRealityCameraInfo(int cameraId, out CameraExtrinsics cameraExtrinsics, out CameraIntrinsics cameraIntrinsics, out Posef calibrationRawPose)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- cameraExtrinsics = default(CameraExtrinsics);
- cameraIntrinsics = default(CameraIntrinsics);
- calibrationRawPose = Posef.identity;
- return false;
- #else
- cameraExtrinsics = default(CameraExtrinsics);
- cameraIntrinsics = default(CameraIntrinsics);
- calibrationRawPose = Posef.identity;
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- if (version >= OVRP_1_38_0.version) // MRC functions are invalid before 1.38.0
- #else
- if (version >= OVRP_1_15_0.version)
- #endif
- {
- bool retValue = true;
- Result result = OVRP_1_15_0.ovrp_GetExternalCameraExtrinsics(cameraId, out cameraExtrinsics);
- if (result != Result.Success)
- {
- retValue = false;
- //Debug.LogWarning("ovrp_GetExternalCameraExtrinsics return " + result);
- }
- result = OVRP_1_15_0.ovrp_GetExternalCameraIntrinsics(cameraId, out cameraIntrinsics);
- if (result != Result.Success)
- {
- retValue = false;
- //Debug.LogWarning("ovrp_GetExternalCameraIntrinsics return " + result);
- }
- #if OVRPLUGIN_INCLUDE_MRC_ANDROID
- result = OVRP_1_38_0.ovrp_GetExternalCameraCalibrationRawPose(cameraId, out calibrationRawPose);
- if (result != Result.Success)
- {
- retValue = false;
- //Debug.LogWarning("ovrp_GetExternalCameraCalibrationRawPose return " + result);
- }
- #endif
- return retValue;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool OverrideExternalCameraFov(int cameraId, bool useOverriddenFov, Fovf fov)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- bool retValue = true;
- Result result = OVRP_1_44_0.ovrp_OverrideExternalCameraFov(cameraId, useOverriddenFov ? Bool.True : Bool.False, ref fov);
- if (result != Result.Success)
- {
- retValue = false;
- }
- return retValue;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetUseOverriddenExternalCameraFov(int cameraId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- bool retValue = true;
- Bool useOverriddenFov = Bool.False;
- Result result = OVRP_1_44_0.ovrp_GetUseOverriddenExternalCameraFov(cameraId, out useOverriddenFov);
- if (result != Result.Success)
- {
- retValue = false;
- }
- if (useOverriddenFov == Bool.False)
- {
- retValue = false;
- }
- return retValue;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool OverrideExternalCameraStaticPose(int cameraId, bool useOverriddenPose, Posef pose)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- bool retValue = true;
- Result result = OVRP_1_44_0.ovrp_OverrideExternalCameraStaticPose(cameraId, useOverriddenPose ? Bool.True : Bool.False, ref pose);
- if (result != Result.Success)
- {
- retValue = false;
- }
- return retValue;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetUseOverriddenExternalCameraStaticPose(int cameraId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- bool retValue = true;
- Bool useOverriddenStaticPose = Bool.False;
- Result result = OVRP_1_44_0.ovrp_GetUseOverriddenExternalCameraStaticPose(cameraId, out useOverriddenStaticPose);
- if (result != Result.Success)
- {
- retValue = false;
- }
- if (useOverriddenStaticPose == Bool.False)
- {
- retValue = false;
- }
- return retValue;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool ResetDefaultExternalCamera()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- Result result = OVRP_1_44_0.ovrp_ResetDefaultExternalCamera();
- if (result != Result.Success)
- {
- return false;
- }
- return true;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetDefaultExternalCamera(string cameraName, ref CameraIntrinsics cameraIntrinsics, ref CameraExtrinsics cameraExtrinsics)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- Result result = OVRP_1_44_0.ovrp_SetDefaultExternalCamera(cameraName, ref cameraIntrinsics, ref cameraExtrinsics);
- if (result != Result.Success)
- {
- return false;
- }
- return true;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static Vector3f GetBoundaryDimensions(BoundaryType boundaryType)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new Vector3f();
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_GetBoundaryDimensions(boundaryType);
- }
- else
- {
- return new Vector3f();
- }
- #endif
- }
- public static bool GetBoundaryVisible()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_GetBoundaryVisible() == OVRPlugin.Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetBoundaryVisible(bool value)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_8_0.version)
- {
- return OVRP_1_8_0.ovrp_SetBoundaryVisible(ToBool(value)) == OVRPlugin.Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static SystemHeadset GetSystemHeadsetType()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return SystemHeadset.None;
- #else
- if (version >= OVRP_1_9_0.version)
- return OVRP_1_9_0.ovrp_GetSystemHeadsetType();
- return SystemHeadset.None;
- #endif
- }
- public static Controller GetActiveController()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Controller.None;
- #else
- if (version >= OVRP_1_9_0.version)
- return OVRP_1_9_0.ovrp_GetActiveController();
- return Controller.None;
- #endif
- }
- public static Controller GetConnectedControllers()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Controller.None;
- #else
- if (version >= OVRP_1_9_0.version)
- return OVRP_1_9_0.ovrp_GetConnectedControllers();
- return Controller.None;
- #endif
- }
- private static Bool ToBool(bool b)
- {
- return (b) ? OVRPlugin.Bool.True : OVRPlugin.Bool.False;
- }
- public static TrackingOrigin GetTrackingOriginType()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return default(TrackingOrigin);
- #else
- return OVRP_1_0_0.ovrp_GetTrackingOriginType();
- #endif
- }
- public static bool SetTrackingOriginType(TrackingOrigin originType)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_0_0.ovrp_SetTrackingOriginType(originType) == Bool.True;
- #endif
- }
- public static Posef GetTrackingCalibratedOrigin()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Posef.identity;
- #else
- return OVRP_1_0_0.ovrp_GetTrackingCalibratedOrigin();
- #endif
- }
- public static bool SetTrackingCalibratedOrigin()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_2_0.ovrpi_SetTrackingCalibratedOrigin() == Bool.True;
- #endif
- }
- public static bool RecenterTrackingOrigin(RecenterFlags flags)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- return OVRP_1_0_0.ovrp_RecenterTrackingOrigin((uint)flags) == Bool.True;
- #endif
- }
- #if UNITY_EDITOR || UNITY_STANDALONE_WIN
- public static bool UpdateCameraDevices()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Result result = OVRP_1_16_0.ovrp_UpdateCameraDevices();
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_UpdateCameraDevices return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool IsCameraDeviceAvailable(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Bool result = OVRP_1_16_0.ovrp_IsCameraDeviceAvailable(cameraDevice);
- return result == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetCameraDevicePreferredColorFrameSize(CameraDevice cameraDevice, int width, int height)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Sizei size = new Sizei();
- size.w = width;
- size.h = height;
- Result result = OVRP_1_16_0.ovrp_SetCameraDevicePreferredColorFrameSize(cameraDevice, size);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_SetCameraDevicePreferredColorFrameSize return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool OpenCameraDevice(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Result result = OVRP_1_16_0.ovrp_OpenCameraDevice(cameraDevice);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_OpenCameraDevice return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool CloseCameraDevice(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Result result = OVRP_1_16_0.ovrp_CloseCameraDevice(cameraDevice);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_OpenCameraDevice return " + result);
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool HasCameraDeviceOpened(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Bool result = OVRP_1_16_0.ovrp_HasCameraDeviceOpened(cameraDevice);
- return result == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool IsCameraDeviceColorFrameAvailable(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Bool result = OVRP_1_16_0.ovrp_IsCameraDeviceColorFrameAvailable(cameraDevice);
- return result == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static Texture2D cachedCameraFrameTexture = null;
- #endif
- public static Texture2D GetCameraDeviceColorFrameTexture(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return null;
- #else
- if (version >= OVRP_1_16_0.version)
- {
- Sizei size = new Sizei();
- Result result = OVRP_1_16_0.ovrp_GetCameraDeviceColorFrameSize(cameraDevice, out size);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetCameraDeviceColorFrameSize return " + result);
- return null;
- }
- IntPtr pixels;
- int rowPitch;
- result = OVRP_1_16_0.ovrp_GetCameraDeviceColorFrameBgraPixels(cameraDevice, out pixels, out rowPitch);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetCameraDeviceColorFrameBgraPixels return " + result);
- return null;
- }
- if (rowPitch != size.w * 4)
- {
- //Debug.LogWarning(string.Format("RowPitch mismatch, expected {0}, get {1}", size.w * 4, rowPitch));
- return null;
- }
- if (!cachedCameraFrameTexture || cachedCameraFrameTexture.width != size.w || cachedCameraFrameTexture.height != size.h)
- {
- cachedCameraFrameTexture = new Texture2D(size.w, size.h, TextureFormat.BGRA32, false);
- }
- cachedCameraFrameTexture.LoadRawTextureData(pixels, rowPitch * size.h);
- cachedCameraFrameTexture.Apply();
- return cachedCameraFrameTexture;
- }
- else
- {
- return null;
- }
- #endif
- }
- public static bool DoesCameraDeviceSupportDepth(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_17_0.version)
- {
- Bool supportDepth;
- Result result = OVRP_1_17_0.ovrp_DoesCameraDeviceSupportDepth(cameraDevice, out supportDepth);
- return result == Result.Success && supportDepth == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetCameraDeviceDepthSensingMode(CameraDevice camera, CameraDeviceDepthSensingMode depthSensoringMode)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_17_0.version)
- {
- Result result = OVRP_1_17_0.ovrp_SetCameraDeviceDepthSensingMode(camera, depthSensoringMode);
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetCameraDevicePreferredDepthQuality(CameraDevice camera, CameraDeviceDepthQuality depthQuality)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_17_0.version)
- {
- Result result = OVRP_1_17_0.ovrp_SetCameraDevicePreferredDepthQuality(camera, depthQuality);
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool IsCameraDeviceDepthFrameAvailable(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_17_0.version)
- {
- Bool available;
- Result result = OVRP_1_17_0.ovrp_IsCameraDeviceDepthFrameAvailable(cameraDevice, out available);
- return result == Result.Success && available == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static Texture2D cachedCameraDepthTexture = null;
- #endif
- public static Texture2D GetCameraDeviceDepthFrameTexture(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return null;
- #else
- if (version >= OVRP_1_17_0.version)
- {
- Sizei size = new Sizei();
- Result result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthFrameSize(cameraDevice, out size);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetCameraDeviceDepthFrameSize return " + result);
- return null;
- }
- IntPtr depthData;
- int rowPitch;
- result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthFramePixels(cameraDevice, out depthData, out rowPitch);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetCameraDeviceDepthFramePixels return " + result);
- return null;
- }
- if (rowPitch != size.w * 4)
- {
- //Debug.LogWarning(string.Format("RowPitch mismatch, expected {0}, get {1}", size.w * 4, rowPitch));
- return null;
- }
- if (!cachedCameraDepthTexture || cachedCameraDepthTexture.width != size.w || cachedCameraDepthTexture.height != size.h)
- {
- cachedCameraDepthTexture = new Texture2D(size.w, size.h, TextureFormat.RFloat, false);
- cachedCameraDepthTexture.filterMode = FilterMode.Point;
- }
- cachedCameraDepthTexture.LoadRawTextureData(depthData, rowPitch * size.h);
- cachedCameraDepthTexture.Apply();
- return cachedCameraDepthTexture;
- }
- else
- {
- return null;
- }
- #endif
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static Texture2D cachedCameraDepthConfidenceTexture = null;
- #endif
- public static Texture2D GetCameraDeviceDepthConfidenceTexture(CameraDevice cameraDevice)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return null;
- #else
- if (version >= OVRP_1_17_0.version)
- {
- Sizei size = new Sizei();
- Result result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthFrameSize(cameraDevice, out size);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetCameraDeviceDepthFrameSize return " + result);
- return null;
- }
- IntPtr confidenceData;
- int rowPitch;
- result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthConfidencePixels(cameraDevice, out confidenceData, out rowPitch);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetCameraDeviceDepthConfidencePixels return " + result);
- return null;
- }
- if (rowPitch != size.w * 4)
- {
- //Debug.LogWarning(string.Format("RowPitch mismatch, expected {0}, get {1}", size.w * 4, rowPitch));
- return null;
- }
- if (!cachedCameraDepthConfidenceTexture || cachedCameraDepthConfidenceTexture.width != size.w || cachedCameraDepthConfidenceTexture.height != size.h)
- {
- cachedCameraDepthConfidenceTexture = new Texture2D(size.w, size.h, TextureFormat.RFloat, false);
- }
- cachedCameraDepthConfidenceTexture.LoadRawTextureData(confidenceData, rowPitch * size.h);
- cachedCameraDepthConfidenceTexture.Apply();
- return cachedCameraDepthConfidenceTexture;
- }
- else
- {
- return null;
- }
- #endif
- }
- #endif
- public static bool fixedFoveatedRenderingSupported
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_21_0.version)
- {
- Bool supported;
- Result result = OVRP_1_21_0.ovrp_GetTiledMultiResSupported(out supported);
- if (result == Result.Success)
- {
- return supported == Bool.True;
- }
- else
- {
- //Debug.LogWarning("ovrp_GetTiledMultiResSupported return " + result);
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- }
- public static FixedFoveatedRenderingLevel fixedFoveatedRenderingLevel
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return FixedFoveatedRenderingLevel.Off;
- #else
- if (version >= OVRP_1_21_0.version && fixedFoveatedRenderingSupported)
- {
- FixedFoveatedRenderingLevel level;
- Result result = OVRP_1_21_0.ovrp_GetTiledMultiResLevel(out level);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_GetTiledMultiResLevel return " + result);
- }
- return level;
- }
- else
- {
- return FixedFoveatedRenderingLevel.Off;
- }
- #endif
- }
- set
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (version >= OVRP_1_21_0.version && fixedFoveatedRenderingSupported)
- {
- Result result = OVRP_1_21_0.ovrp_SetTiledMultiResLevel(value);
- if (result != Result.Success)
- {
- //Debug.LogWarning("ovrp_SetTiledMultiResLevel return " + result);
- }
- }
- #endif
- }
- }
- [Obsolete("Please use fixedFoveatedRenderingSupported instead", false)]
- public static bool tiledMultiResSupported
- {
- get
- {
- return fixedFoveatedRenderingSupported;
- }
- }
- [Obsolete("Please use fixedFoveatedRenderingLevel instead", false)]
- public static TiledMultiResLevel tiledMultiResLevel
- {
- get
- {
- return (TiledMultiResLevel)fixedFoveatedRenderingLevel;
- }
- set
- {
- fixedFoveatedRenderingLevel = (FixedFoveatedRenderingLevel)value;
- }
- }
- public static bool gpuUtilSupported
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_21_0.version)
- {
- Bool supported;
- Result result = OVRP_1_21_0.ovrp_GetGPUUtilSupported(out supported);
- if (result == Result.Success)
- {
- return supported == Bool.True;
- }
- else
- {
- //Debug.LogWarning("ovrp_GetGPUUtilSupported return " + result);
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- }
- public static float gpuUtilLevel
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- if (version >= OVRP_1_21_0.version && gpuUtilSupported)
- {
- float level;
- Result result = OVRP_1_21_0.ovrp_GetGPUUtilLevel(out level);
- if (result == Result.Success)
- {
- return level;
- }
- else
- {
- //Debug.LogWarning("ovrp_GetGPUUtilLevel return " + result);
- return 0.0f;
- }
- }
- else
- {
- return 0.0f;
- }
- #endif
- }
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static OVRNativeBuffer _nativeSystemDisplayFrequenciesAvailable = null;
- private static float[] _cachedSystemDisplayFrequenciesAvailable = null;
- #endif
- public static float[] systemDisplayFrequenciesAvailable
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return new float[0];
- #else
- if (_cachedSystemDisplayFrequenciesAvailable == null)
- {
- _cachedSystemDisplayFrequenciesAvailable = new float[0];
- if (version >= OVRP_1_21_0.version)
- {
- int numFrequencies = 0;
- Result result = OVRP_1_21_0.ovrp_GetSystemDisplayAvailableFrequencies(IntPtr.Zero, ref numFrequencies);
- if (result == Result.Success)
- {
- if (numFrequencies > 0)
- {
- int maxNumElements = numFrequencies;
- _nativeSystemDisplayFrequenciesAvailable = new OVRNativeBuffer(sizeof(float) * maxNumElements);
- result = OVRP_1_21_0.ovrp_GetSystemDisplayAvailableFrequencies(_nativeSystemDisplayFrequenciesAvailable.GetPointer(), ref numFrequencies);
- if (result == Result.Success)
- {
- int numElementsToCopy = (numFrequencies <= maxNumElements) ? numFrequencies : maxNumElements;
- if (numElementsToCopy > 0)
- {
- _cachedSystemDisplayFrequenciesAvailable = new float[numElementsToCopy];
- Marshal.Copy(_nativeSystemDisplayFrequenciesAvailable.GetPointer(), _cachedSystemDisplayFrequenciesAvailable, 0, numElementsToCopy);
- }
- }
- }
- }
- }
- }
- return _cachedSystemDisplayFrequenciesAvailable;
- #endif
- }
- }
- public static float systemDisplayFrequency
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0f;
- #else
- if (version >= OVRP_1_21_0.version)
- {
- float displayFrequency;
- Result result = OVRP_1_21_0.ovrp_GetSystemDisplayFrequency2(out displayFrequency);
- if (result == Result.Success)
- {
- return displayFrequency;
- }
- return 0.0f;
- }
- else if (version >= OVRP_1_1_0.version)
- {
- return OVRP_1_1_0.ovrp_GetSystemDisplayFrequency();
- }
- else
- {
- return 0.0f;
- }
- #endif
- }
- set
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return;
- #else
- if (version >= OVRP_1_21_0.version)
- {
- OVRP_1_21_0.ovrp_SetSystemDisplayFrequency(value);
- }
- #endif
- }
- }
- public static bool GetNodeFrustum2(Node nodeId, out Frustumf2 frustum)
- {
- frustum = default(Frustumf2);
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_15_0.version)
- {
- Result result = OVRP_1_15_0.ovrp_GetNodeFrustum2(nodeId, out frustum);
- if (result != Result.Success)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool AsymmetricFovEnabled
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_21_0.version)
- {
- Bool asymmetricFovEnabled = Bool.False;
- Result result = OVRP_1_21_0.ovrp_GetAppAsymmetricFov(out asymmetricFovEnabled);
- if (result != Result.Success)
- {
- return false;
- }
- else
- {
- return asymmetricFovEnabled == Bool.True;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- }
- public static bool EyeTextureArrayEnabled
- {
- get
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_15_0.version)
- {
- Bool enabled = Bool.False;
- enabled = OVRP_1_15_0.ovrp_GetEyeTextureArrayEnabled();
- return enabled == Bool.True;
- }
- else
- {
- return false;
- }
- #endif
- }
- }
- public static Handedness GetDominantHand()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return Handedness.Unsupported;
- #else
- Handedness dominantHand;
- if (version >= OVRP_1_28_0.version && OVRP_1_28_0.ovrp_GetDominantHand(out dominantHand) == Result.Success)
- {
- return dominantHand;
- }
- return Handedness.Unsupported;
- #endif
- }
- public static bool GetReorientHMDOnControllerRecenter()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- Bool recenterMode;
- if (version < OVRP_1_28_0.version || OVRP_1_28_0.ovrp_GetReorientHMDOnControllerRecenter(out recenterMode) != Result.Success)
- return false;
- return (recenterMode == Bool.True);
- #endif
- }
- public static bool SetReorientHMDOnControllerRecenter(bool recenterSetting)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- Bool ovrpBoolRecenterSetting = recenterSetting ? Bool.True : Bool.False;
- if (version < OVRP_1_28_0.version || OVRP_1_28_0.ovrp_SetReorientHMDOnControllerRecenter(ovrpBoolRecenterSetting) != Result.Success)
- return false;
- return true;
- #endif
- }
- public static bool SendEvent(string name, string param = "", string source = "")
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_30_0.version)
- {
- return OVRP_1_30_0.ovrp_SendEvent2(name, param, source.Length == 0 ? "integration": source) == Result.Success;
- }
- else if (version >= OVRP_1_28_0.version)
- {
- return OVRP_1_28_0.ovrp_SendEvent(name, param) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetHeadPoseModifier(ref Quatf relativeRotation, ref Vector3f relativeTranslation)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_29_0.version)
- {
- return OVRP_1_29_0.ovrp_SetHeadPoseModifier(ref relativeRotation, ref relativeTranslation) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetHeadPoseModifier(out Quatf relativeRotation, out Vector3f relativeTranslation)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- relativeRotation = Quatf.identity;
- relativeTranslation = Vector3f.zero;
- return false;
- #else
- if (version >= OVRP_1_29_0.version)
- {
- return OVRP_1_29_0.ovrp_GetHeadPoseModifier(out relativeRotation, out relativeTranslation) == Result.Success;
- }
- else
- {
- relativeRotation = Quatf.identity;
- relativeTranslation = Vector3f.zero;
- return false;
- }
- #endif
- }
- public static bool IsPerfMetricsSupported(PerfMetrics perfMetrics)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_30_0.version)
- {
- Bool isSupported;
- Result result = OVRP_1_30_0.ovrp_IsPerfMetricsSupported(perfMetrics, out isSupported);
- if (result == Result.Success)
- {
- return isSupported == Bool.True;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static float? GetPerfMetricsFloat(PerfMetrics perfMetrics)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return null;
- #else
- if (version >= OVRP_1_30_0.version)
- {
- float value;
- Result result = OVRP_1_30_0.ovrp_GetPerfMetricsFloat(perfMetrics, out value);
- if (result == Result.Success)
- {
- return value;
- }
- else
- {
- return null;
- }
- }
- else
- {
- return null;
- }
- #endif
- }
- public static int? GetPerfMetricsInt(PerfMetrics perfMetrics)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return null;
- #else
- if (version >= OVRP_1_30_0.version)
- {
- int value;
- Result result = OVRP_1_30_0.ovrp_GetPerfMetricsInt(perfMetrics, out value);
- if (result == Result.Success)
- {
- return value;
- }
- else
- {
- return null;
- }
- }
- else
- {
- return null;
- }
- #endif
- }
- public static double GetTimeInSeconds()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0.0;
- #else
- if (version >= OVRP_1_31_0.version)
- {
- double value;
- Result result = OVRP_1_31_0.ovrp_GetTimeInSeconds(out value);
- if (result == Result.Success)
- {
- return value;
- }
- else
- {
- return 0.0;
- }
- }
- else
- {
- return 0.0;
- }
- #endif
- }
- public static bool SetColorScaleAndOffset(Vector4 colorScale, Vector4 colorOffset, bool applyToAllLayers)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- #if USING_XR_SDK
- OculusXRPlugin.SetColorScale(colorScale.x, colorScale.y, colorScale.z, colorScale.w);
- OculusXRPlugin.SetColorOffset(colorOffset.x, colorOffset.y, colorOffset.z, colorOffset.w);
- return true;
- #else
- if (version >= OVRP_1_31_0.version)
- {
- Bool ovrpApplyToAllLayers = applyToAllLayers ? Bool.True : Bool.False;
- return OVRP_1_31_0.ovrp_SetColorScaleAndOffset(colorScale, colorOffset, ovrpApplyToAllLayers) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- #endif
- }
- public static bool AddCustomMetadata(string name, string param = "")
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_32_0.version)
- {
- return OVRP_1_32_0.ovrp_AddCustomMetadata(name, param) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public class Media
- {
- public enum MrcActivationMode
- {
- Automatic = 0,
- Disabled = 1,
- EnumSize = 0x7fffffff
- }
- public enum InputVideoBufferType
- {
- Memory = 0,
- TextureHandle = 1,
- EnumSize = 0x7fffffff
- }
- public static bool Initialize()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- return OVRP_1_38_0.ovrp_Media_Initialize() == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool Shutdown()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- return OVRP_1_38_0.ovrp_Media_Shutdown() == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetInitialized()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool initialized = Bool.False;
- Result result = OVRP_1_38_0.ovrp_Media_GetInitialized(out initialized);
- if (result == Result.Success)
- {
- return initialized == Bool.True ? true : false;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool Update()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- return OVRP_1_38_0.ovrp_Media_Update() == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static MrcActivationMode GetMrcActivationMode()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return MrcActivationMode.Disabled;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- MrcActivationMode mode;
- if (OVRP_1_38_0.ovrp_Media_GetMrcActivationMode(out mode) == Result.Success)
- {
- return mode;
- }
- else
- {
- return default(MrcActivationMode);
- }
- }
- else
- {
- return default(MrcActivationMode);
- }
- #endif
- }
- public static bool SetMrcActivationMode(MrcActivationMode mode)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- return OVRP_1_38_0.ovrp_Media_SetMrcActivationMode(mode) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool IsMrcEnabled()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool b;
- if (OVRP_1_38_0.ovrp_Media_IsMrcEnabled(out b) == Result.Success)
- {
- return b == Bool.True ? true : false;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool IsMrcActivated()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool b;
- if (OVRP_1_38_0.ovrp_Media_IsMrcActivated(out b) == Result.Success)
- {
- return b == Bool.True ? true : false;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool UseMrcDebugCamera()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool b;
- if (OVRP_1_38_0.ovrp_Media_UseMrcDebugCamera(out b) == Result.Success)
- {
- return b == Bool.True ? true : false;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SetMrcInputVideoBufferType(InputVideoBufferType videoBufferType)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- if (OVRP_1_38_0.ovrp_Media_SetMrcInputVideoBufferType(videoBufferType) == Result.Success)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static InputVideoBufferType GetMrcInputVideoBufferType()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return InputVideoBufferType.Memory;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- InputVideoBufferType videoBufferType = InputVideoBufferType.Memory;
- OVRP_1_38_0.ovrp_Media_GetMrcInputVideoBufferType(ref videoBufferType);
- return videoBufferType;
- }
- else
- {
- return InputVideoBufferType.Memory;
- }
- #endif
- }
- public static bool SetMrcFrameSize(int frameWidth, int frameHeight)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- if (OVRP_1_38_0.ovrp_Media_SetMrcFrameSize(frameWidth, frameHeight) == Result.Success)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static void GetMrcFrameSize(out int frameWidth, out int frameHeight)
- {
- frameWidth = -1;
- frameHeight = -1;
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- if (version >= OVRP_1_38_0.version)
- {
- OVRP_1_38_0.ovrp_Media_GetMrcFrameSize(ref frameWidth, ref frameHeight);
- }
- #endif
- }
- public static bool SetMrcAudioSampleRate(int sampleRate)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- if (OVRP_1_38_0.ovrp_Media_SetMrcAudioSampleRate(sampleRate) == Result.Success)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static int GetMrcAudioSampleRate()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 0;
- #else
- int sampleRate = 0;
- if (version >= OVRP_1_38_0.version)
- {
- OVRP_1_38_0.ovrp_Media_GetMrcAudioSampleRate(ref sampleRate);
- }
- return sampleRate;
- #endif
- }
- public static bool SetMrcFrameImageFlipped(bool imageFlipped)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- Bool flipped = imageFlipped ? Bool.True : Bool.False;
- if (OVRP_1_38_0.ovrp_Media_SetMrcFrameImageFlipped(flipped) == Result.Success)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetMrcFrameImageFlipped()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- Bool flipped = 0;
- if (version >= OVRP_1_38_0.version)
- {
- OVRP_1_38_0.ovrp_Media_GetMrcFrameImageFlipped(ref flipped);
- }
- return flipped == Bool.True ? true : false;
- #endif
- }
- public static bool EncodeMrcFrame(System.IntPtr textureHandle, float[] audioData, int audioFrames, int audioChannels, double timestamp, ref int outSyncId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- if (textureHandle == System.IntPtr.Zero)
- {
- Debug.LogError("EncodeMrcFrame: textureHandle is null");
- return false;
- }
- InputVideoBufferType videoBufferType = GetMrcInputVideoBufferType();
- if (videoBufferType != InputVideoBufferType.TextureHandle)
- {
- Debug.LogError("EncodeMrcFrame: videoBufferType mismatch");
- return false;
- }
- GCHandle pinnedAudioData = new GCHandle();
- IntPtr audioDataPtr = IntPtr.Zero;
- int audioDataLen = 0;
- if (audioData != null)
- {
- pinnedAudioData = GCHandle.Alloc(audioData, GCHandleType.Pinned);
- audioDataPtr = pinnedAudioData.AddrOfPinnedObject();
- audioDataLen = audioFrames * 4;
- }
- Result result = OVRP_1_38_0.ovrp_Media_EncodeMrcFrame(textureHandle, audioDataPtr, audioDataLen, audioChannels, timestamp, ref outSyncId);
- if (audioData != null)
- {
- pinnedAudioData.Free();
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- static Texture2D cachedTexture = null;
- #endif
- public static bool EncodeMrcFrame(RenderTexture frame, float[] audioData, int audioFrames, int audioChannels, double timestamp, ref int outSyncId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- if (frame == null)
- {
- Debug.LogError("EncodeMrcFrame: frame is null");
- return false;
- }
- InputVideoBufferType videoBufferType = GetMrcInputVideoBufferType();
- if (videoBufferType != InputVideoBufferType.Memory)
- {
- Debug.LogError("EncodeMrcFrame: videoBufferType mismatch");
- return false;
- }
- GCHandle pinnedArray = new GCHandle();
- IntPtr pointer = IntPtr.Zero;
- if (cachedTexture == null || cachedTexture.width != frame.width || cachedTexture.height != frame.height)
- {
- cachedTexture = new Texture2D(frame.width, frame.height, TextureFormat.ARGB32, false);
- }
- RenderTexture lastActive = RenderTexture.active;
- RenderTexture.active = frame;
- cachedTexture.ReadPixels(new Rect(0, 0, frame.width, frame.height), 0, 0);
- RenderTexture.active = lastActive;
- Color32[] bytes = cachedTexture.GetPixels32(0);
- pinnedArray = GCHandle.Alloc(bytes, GCHandleType.Pinned);
- pointer = pinnedArray.AddrOfPinnedObject();
- GCHandle pinnedAudioData = new GCHandle();
- IntPtr audioDataPtr = IntPtr.Zero;
- int audioDataLen = 0;
- if (audioData != null)
- {
- pinnedAudioData = GCHandle.Alloc(audioData, GCHandleType.Pinned);
- audioDataPtr = pinnedAudioData.AddrOfPinnedObject();
- audioDataLen = audioFrames * 4;
- }
- Result result = OVRP_1_38_0.ovrp_Media_EncodeMrcFrame(pointer, audioDataPtr, audioDataLen, audioChannels, timestamp, ref outSyncId);
- pinnedArray.Free();
- if (audioData != null)
- {
- pinnedAudioData.Free();
- }
- return result == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool SyncMrcFrame(int syncId)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_38_0.version)
- {
- return OVRP_1_38_0.ovrp_Media_SyncMrcFrame(syncId) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- }
- public static bool SetDeveloperMode(Bool active)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if(version >= OVRP_1_38_0.version)
- {
- return OVRP_1_38_0.ovrp_SetDeveloperMode(active) == Result.Success;
- }
- else
- {
- return false;
- }
- #endif
- }
- public static float GetAdaptiveGPUPerformanceScale()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return 1.0f;
- #else
- if (version >= OVRP_1_42_0.version)
- {
- float adaptiveScale = 1.0f;
- if (OVRP_1_42_0.ovrp_GetAdaptiveGpuPerformanceScale2(ref adaptiveScale) == Result.Success)
- {
- return adaptiveScale;
- }
- return 1.0f;
- }
- else
- {
- return 1.0f;
- }
- #endif
- }
- public static bool GetHandTrackingEnabled()
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- Bool val = OVRPlugin.Bool.False;
- Result res = OVRP_1_44_0.ovrp_GetHandTrackingEnabled(ref val);
- if (res == Result.Success)
- {
- return val == OVRPlugin.Bool.True;
- }
- return false;
- }
- else
- {
- return false;
- }
- #endif
- }
- private static HandStateInternal cachedHandState = new HandStateInternal();
- public static bool GetHandState(Step stepId, Hand hand, ref HandState handState)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- Result res = OVRP_1_44_0.ovrp_GetHandState(stepId, hand, out cachedHandState);
- if (res == Result.Success)
- {
- // attempt to avoid allocations if client provides appropriately pre-initialized HandState
- if (handState.BoneRotations == null || handState.BoneRotations.Length != ((int)BoneId.Hand_End - (int)BoneId.Hand_Start))
- {
- handState.BoneRotations = new Quatf[(int)BoneId.Hand_End - (int)BoneId.Hand_Start];
- }
- if (handState.PinchStrength == null || handState.PinchStrength.Length != (int)HandFinger.Max)
- {
- handState.PinchStrength = new float[(int)HandFinger.Max];
- }
- if (handState.FingerConfidences == null || handState.FingerConfidences.Length != (int)HandFinger.Max)
- {
- handState.FingerConfidences = new TrackingConfidence[(int)HandFinger.Max];
- }
- // unrolling the arrays is necessary to avoid per-frame allocations during marshaling
- handState.Status = cachedHandState.Status;
- handState.RootPose = cachedHandState.RootPose;
- handState.BoneRotations[0] = cachedHandState.BoneRotations_0;
- handState.BoneRotations[1] = cachedHandState.BoneRotations_1;
- handState.BoneRotations[2] = cachedHandState.BoneRotations_2;
- handState.BoneRotations[3] = cachedHandState.BoneRotations_3;
- handState.BoneRotations[4] = cachedHandState.BoneRotations_4;
- handState.BoneRotations[5] = cachedHandState.BoneRotations_5;
- handState.BoneRotations[6] = cachedHandState.BoneRotations_6;
- handState.BoneRotations[7] = cachedHandState.BoneRotations_7;
- handState.BoneRotations[8] = cachedHandState.BoneRotations_8;
- handState.BoneRotations[9] = cachedHandState.BoneRotations_9;
- handState.BoneRotations[10] = cachedHandState.BoneRotations_10;
- handState.BoneRotations[11] = cachedHandState.BoneRotations_11;
- handState.BoneRotations[12] = cachedHandState.BoneRotations_12;
- handState.BoneRotations[13] = cachedHandState.BoneRotations_13;
- handState.BoneRotations[14] = cachedHandState.BoneRotations_14;
- handState.BoneRotations[15] = cachedHandState.BoneRotations_15;
- handState.BoneRotations[16] = cachedHandState.BoneRotations_16;
- handState.BoneRotations[17] = cachedHandState.BoneRotations_17;
- handState.BoneRotations[18] = cachedHandState.BoneRotations_18;
- handState.BoneRotations[19] = cachedHandState.BoneRotations_19;
- handState.BoneRotations[20] = cachedHandState.BoneRotations_20;
- handState.BoneRotations[21] = cachedHandState.BoneRotations_21;
- handState.BoneRotations[22] = cachedHandState.BoneRotations_22;
- handState.BoneRotations[23] = cachedHandState.BoneRotations_23;
- handState.Pinches = cachedHandState.Pinches;
- handState.PinchStrength[0] = cachedHandState.PinchStrength_0;
- handState.PinchStrength[1] = cachedHandState.PinchStrength_1;
- handState.PinchStrength[2] = cachedHandState.PinchStrength_2;
- handState.PinchStrength[3] = cachedHandState.PinchStrength_3;
- handState.PinchStrength[4] = cachedHandState.PinchStrength_4;
- handState.PointerPose = cachedHandState.PointerPose;
- handState.HandScale = cachedHandState.HandScale;
- handState.HandConfidence = cachedHandState.HandConfidence;
- handState.FingerConfidences[0] = cachedHandState.FingerConfidences_0;
- handState.FingerConfidences[1] = cachedHandState.FingerConfidences_1;
- handState.FingerConfidences[2] = cachedHandState.FingerConfidences_2;
- handState.FingerConfidences[3] = cachedHandState.FingerConfidences_3;
- handState.FingerConfidences[4] = cachedHandState.FingerConfidences_4;
- handState.RequestedTimeStamp = cachedHandState.RequestedTimeStamp;
- handState.SampleTimeStamp = cachedHandState.SampleTimeStamp;
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
- #endif
- }
- public static bool GetSkeleton(SkeletonType skeletonType, out Skeleton skeleton)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- skeleton = default(Skeleton);
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- return OVRP_1_44_0.ovrp_GetSkeleton(skeletonType, out skeleton) == Result.Success;
- }
- else
- {
- skeleton = default(Skeleton);
- return false;
- }
- #endif
- }
- public static bool GetMesh(MeshType meshType, out Mesh mesh)
- {
- #if OVRPLUGIN_UNSUPPORTED_PLATFORM
- mesh = default(Mesh);
- return false;
- #else
- if (version >= OVRP_1_44_0.version)
- {
- return OVRP_1_44_0.ovrp_GetMesh(meshType, out mesh) == Result.Success;
- }
- else
- {
- mesh = default(Mesh);
- return false;
- }
- #endif
- }
- private const string pluginName = "OVRPlugin";
- private static System.Version _versionZero = new System.Version(0, 0, 0);
- // Disable all the DllImports when the platform is not supported
- #if !OVRPLUGIN_UNSUPPORTED_PLATFORM
- private static class OVRP_0_1_0
- {
- public static readonly System.Version version = new System.Version(0, 1, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Sizei ovrp_GetEyeTextureSize(Eye eyeId);
- }
- private static class OVRP_0_1_1
- {
- public static readonly System.Version version = new System.Version(0, 1, 1);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetOverlayQuad2(Bool onTop, Bool headLocked, IntPtr texture, IntPtr device, Posef pose, Vector3f scale);
- }
- private static class OVRP_0_1_2
- {
- public static readonly System.Version version = new System.Version(0, 1, 2);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetNodePose(Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetControllerVibration(uint controllerMask, float frequency, float amplitude);
- }
- private static class OVRP_0_1_3
- {
- public static readonly System.Version version = new System.Version(0, 1, 3);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetNodeVelocity(Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetNodeAcceleration(Node nodeId);
- }
- private static class OVRP_0_5_0
- {
- public static readonly System.Version version = new System.Version(0, 5, 0);
- }
- private static class OVRP_1_0_0
- {
- public static readonly System.Version version = new System.Version(1, 0, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern TrackingOrigin ovrp_GetTrackingOriginType();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetTrackingOriginType(TrackingOrigin originType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetTrackingCalibratedOrigin();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_RecenterTrackingOrigin(uint flags);
- }
- private static class OVRP_1_1_0
- {
- public static readonly System.Version version = new System.Version(1, 1, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetInitialized();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetVersion")]
- private static extern IntPtr _ovrp_GetVersion();
- public static string ovrp_GetVersion() { return Marshal.PtrToStringAnsi(_ovrp_GetVersion()); }
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetNativeSDKVersion")]
- private static extern IntPtr _ovrp_GetNativeSDKVersion();
- public static string ovrp_GetNativeSDKVersion() { return Marshal.PtrToStringAnsi(_ovrp_GetNativeSDKVersion()); }
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern IntPtr ovrp_GetAudioOutId();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern IntPtr ovrp_GetAudioInId();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetEyeTextureScale();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetEyeTextureScale(float value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetTrackingOrientationSupported();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetTrackingOrientationEnabled();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetTrackingOrientationEnabled(Bool value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetTrackingPositionSupported();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetTrackingPositionEnabled();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetTrackingPositionEnabled(Bool value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetNodePresent(Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetNodeOrientationTracked(Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetNodePositionTracked(Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Frustumf ovrp_GetNodeFrustum(Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern ControllerState ovrp_GetControllerState(uint controllerMask);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern int ovrp_GetSystemCpuLevel();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetSystemCpuLevel(int value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern int ovrp_GetSystemGpuLevel();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetSystemGpuLevel(int value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetSystemPowerSavingMode();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetSystemDisplayFrequency();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern int ovrp_GetSystemVSyncCount();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetSystemVolume();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern BatteryStatus ovrp_GetSystemBatteryStatus();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetSystemBatteryLevel();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetSystemBatteryTemperature();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetSystemProductName")]
- private static extern IntPtr _ovrp_GetSystemProductName();
- public static string ovrp_GetSystemProductName() { return Marshal.PtrToStringAnsi(_ovrp_GetSystemProductName()); }
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_ShowSystemUI(PlatformUI ui);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetAppMonoscopic();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetAppMonoscopic(Bool value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetAppHasVrFocus();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetAppShouldQuit();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetAppShouldRecenter();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetAppLatencyTimings")]
- private static extern IntPtr _ovrp_GetAppLatencyTimings();
- public static string ovrp_GetAppLatencyTimings() { return Marshal.PtrToStringAnsi(_ovrp_GetAppLatencyTimings()); }
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetUserPresent();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetUserIPD();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetUserIPD(float value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetUserEyeDepth();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetUserEyeDepth(float value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetUserEyeHeight();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetUserEyeHeight(float value);
- }
- private static class OVRP_1_2_0
- {
- public static readonly System.Version version = new System.Version(1, 2, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetSystemVSyncCount(int vsyncCount);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrpi_SetTrackingCalibratedOrigin();
- }
- private static class OVRP_1_3_0
- {
- public static readonly System.Version version = new System.Version(1, 3, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetEyeOcclusionMeshEnabled();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetEyeOcclusionMeshEnabled(Bool value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetSystemHeadphonesPresent();
- }
- private static class OVRP_1_5_0
- {
- public static readonly System.Version version = new System.Version(1, 5, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern SystemRegion ovrp_GetSystemRegion();
- }
- private static class OVRP_1_6_0
- {
- public static readonly System.Version version = new System.Version(1, 6, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetTrackingIPDEnabled();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetTrackingIPDEnabled(Bool value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern HapticsDesc ovrp_GetControllerHapticsDesc(uint controllerMask);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern HapticsState ovrp_GetControllerHapticsState(uint controllerMask);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetControllerHaptics(uint controllerMask, HapticsBuffer hapticsBuffer);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetOverlayQuad3(uint flags, IntPtr textureLeft, IntPtr textureRight, IntPtr device, Posef pose, Vector3f scale, int layerIndex);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetEyeRecommendedResolutionScale();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetAppCpuStartToGpuEndTime();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern int ovrp_GetSystemRecommendedMSAALevel();
- }
- private static class OVRP_1_7_0
- {
- public static readonly System.Version version = new System.Version(1, 7, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetAppChromaticCorrection();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetAppChromaticCorrection(Bool value);
- }
- private static class OVRP_1_8_0
- {
- public static readonly System.Version version = new System.Version(1, 8, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetBoundaryConfigured();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern BoundaryTestResult ovrp_TestBoundaryNode(Node nodeId, BoundaryType boundaryType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern BoundaryTestResult ovrp_TestBoundaryPoint(Vector3f point, BoundaryType boundaryType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern BoundaryGeometry ovrp_GetBoundaryGeometry(BoundaryType boundaryType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Vector3f ovrp_GetBoundaryDimensions(BoundaryType boundaryType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetBoundaryVisible();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetBoundaryVisible(Bool value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_Update2(int stateId, int frameIndex, double predictionSeconds);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetNodePose2(int stateId, Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetNodeVelocity2(int stateId, Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Posef ovrp_GetNodeAcceleration2(int stateId, Node nodeId);
- }
- private static class OVRP_1_9_0
- {
- public static readonly System.Version version = new System.Version(1, 9, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern SystemHeadset ovrp_GetSystemHeadsetType();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Controller ovrp_GetActiveController();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Controller ovrp_GetConnectedControllers();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetBoundaryGeometry2(BoundaryType boundaryType, IntPtr points, ref int pointsCount);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern AppPerfStats ovrp_GetAppPerfStats();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_ResetAppPerfStats();
- }
- private static class OVRP_1_10_0
- {
- public static readonly System.Version version = new System.Version(1, 10, 0);
- }
- private static class OVRP_1_11_0
- {
- public static readonly System.Version version = new System.Version(1, 11, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_SetDesiredEyeTextureFormat(EyeTextureFormat value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern EyeTextureFormat ovrp_GetDesiredEyeTextureFormat();
- }
- private static class OVRP_1_12_0
- {
- public static readonly System.Version version = new System.Version(1, 12, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern float ovrp_GetAppFramerate();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern PoseStatef ovrp_GetNodePoseState(Step stepId, Node nodeId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern ControllerState2 ovrp_GetControllerState2(uint controllerMask);
- }
- private static class OVRP_1_15_0
- {
- public static readonly System.Version version = new System.Version(1, 15, 0);
- public const int OVRP_EXTERNAL_CAMERA_NAME_SIZE = 32;
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_InitializeMixedReality();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_ShutdownMixedReality();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetMixedRealityInitialized();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_UpdateExternalCamera();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetExternalCameraCount(out int cameraCount);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetExternalCameraName(int cameraId, [MarshalAs(UnmanagedType.LPArray, SizeConst = OVRP_EXTERNAL_CAMERA_NAME_SIZE)] char[] cameraName);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetExternalCameraIntrinsics(int cameraId, out CameraIntrinsics cameraIntrinsics);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetExternalCameraExtrinsics(int cameraId, out CameraExtrinsics cameraExtrinsics);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_CalculateLayerDesc(OverlayShape shape, LayerLayout layout, ref Sizei textureSize,
- int mipLevels, int sampleCount, EyeTextureFormat format, int layerFlags, ref LayerDesc layerDesc);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_EnqueueSetupLayer(ref LayerDesc desc, IntPtr layerId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_EnqueueDestroyLayer(IntPtr layerId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetLayerTextureStageCount(int layerId, ref int layerTextureStageCount);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetLayerTexturePtr(int layerId, int stage, Eye eyeId, ref IntPtr textureHandle);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_EnqueueSubmitLayer(uint flags, IntPtr textureLeft, IntPtr textureRight, int layerId, int frameIndex, ref Posef pose, ref Vector3f scale, int layerIndex);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetNodeFrustum2(Node nodeId, out Frustumf2 nodeFrustum);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_GetEyeTextureArrayEnabled();
- }
- private static class OVRP_1_16_0
- {
- public static readonly System.Version version = new System.Version(1, 16, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_UpdateCameraDevices();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_IsCameraDeviceAvailable(CameraDevice cameraDevice);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetCameraDevicePreferredColorFrameSize(CameraDevice cameraDevice, Sizei preferredColorFrameSize);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_OpenCameraDevice(CameraDevice cameraDevice);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_CloseCameraDevice(CameraDevice cameraDevice);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_HasCameraDeviceOpened(CameraDevice cameraDevice);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Bool ovrp_IsCameraDeviceColorFrameAvailable(CameraDevice cameraDevice);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceColorFrameSize(CameraDevice cameraDevice, out Sizei colorFrameSize);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceColorFrameBgraPixels(CameraDevice cameraDevice, out IntPtr colorFrameBgraPixels, out int colorFrameRowPitch);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetControllerState4(uint controllerMask, ref ControllerState4 controllerState);
- }
- private static class OVRP_1_17_0
- {
- public static readonly System.Version version = new System.Version(1, 17, 0);
- #if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetExternalCameraPose(CameraDevice camera, out Posef cameraPose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_ConvertPoseToCameraSpace(CameraDevice camera, ref Posef trackingSpacePose, out Posef cameraSpacePose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceIntrinsicsParameters(CameraDevice camera, out Bool supportIntrinsics, out CameraDeviceIntrinsicsParameters intrinsicsParameters);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_DoesCameraDeviceSupportDepth(CameraDevice camera, out Bool supportDepth);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceDepthSensingMode(CameraDevice camera, out CameraDeviceDepthSensingMode depthSensoringMode);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetCameraDeviceDepthSensingMode(CameraDevice camera, CameraDeviceDepthSensingMode depthSensoringMode);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDevicePreferredDepthQuality(CameraDevice camera, out CameraDeviceDepthQuality depthQuality);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetCameraDevicePreferredDepthQuality(CameraDevice camera, CameraDeviceDepthQuality depthQuality);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_IsCameraDeviceDepthFrameAvailable(CameraDevice camera, out Bool available);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceDepthFrameSize(CameraDevice camera, out Sizei depthFrameSize);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceDepthFramePixels(CameraDevice cameraDevice, out IntPtr depthFramePixels, out int depthFrameRowPitch);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCameraDeviceDepthConfidencePixels(CameraDevice cameraDevice, out IntPtr depthConfidencePixels, out int depthConfidenceRowPitch);
- #endif
- }
- private static class OVRP_1_18_0
- {
- public static readonly System.Version version = new System.Version(1, 18, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetHandNodePoseStateLatency(double latencyInSeconds);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetHandNodePoseStateLatency(out double latencyInSeconds);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetAppHasInputFocus(out Bool appHasInputFocus);
- }
- private static class OVRP_1_19_0
- {
- public static readonly System.Version version = new System.Version(1, 19, 0);
- }
- private static class OVRP_1_21_0
- {
- public static readonly System.Version version = new System.Version(1, 21, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetTiledMultiResSupported(out Bool foveationSupported);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetTiledMultiResLevel(out FixedFoveatedRenderingLevel level);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetTiledMultiResLevel(FixedFoveatedRenderingLevel level);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetGPUUtilSupported(out Bool gpuUtilSupported);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetGPUUtilLevel(out float gpuUtil);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetSystemDisplayFrequency2(out float systemDisplayFrequency);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetSystemDisplayAvailableFrequencies(IntPtr systemDisplayAvailableFrequencies, ref int numFrequencies);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetSystemDisplayFrequency(float requestedFrequency);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetAppAsymmetricFov(out Bool useAsymmetricFov);
- }
- private static class OVRP_1_28_0
- {
- public static readonly System.Version version = new System.Version(1, 28, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetDominantHand(out Handedness dominantHand);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetReorientHMDOnControllerRecenter(out Bool recenter);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetReorientHMDOnControllerRecenter(Bool recenter);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SendEvent(string name, string param);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_EnqueueSetupLayer2(ref LayerDesc desc, int compositionDepth, IntPtr layerId);
- }
- private static class OVRP_1_29_0
- {
- public static readonly System.Version version = new System.Version(1, 29, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetLayerAndroidSurfaceObject(int layerId, ref IntPtr surfaceObject);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetHeadPoseModifier(ref Quatf relativeRotation, ref Vector3f relativeTranslation);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetHeadPoseModifier(out Quatf relativeRotation, out Vector3f relativeTranslation);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetNodePoseStateRaw(Step stepId, int frameIndex, Node nodeId, out PoseStatef nodePoseState);
- }
- private static class OVRP_1_30_0
- {
- public static readonly System.Version version = new System.Version(1, 30, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetCurrentTrackingTransformPose(out Posef trackingTransformPose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetTrackingTransformRawPose(out Posef trackingTransformRawPose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SendEvent2(string name, string param, string source);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_IsPerfMetricsSupported(PerfMetrics perfMetrics, out Bool isSupported);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetPerfMetricsFloat(PerfMetrics perfMetrics, out float value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetPerfMetricsInt(PerfMetrics perfMetrics, out int value);
- }
- private static class OVRP_1_31_0
- {
- public static readonly System.Version version = new System.Version(1, 31, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetTimeInSeconds(out double value);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetColorScaleAndOffset(Vector4 colorScale, Vector4 colorOffset, Bool applyToAllLayers);
- }
- private static class OVRP_1_32_0
- {
- public static readonly System.Version version = new System.Version(1, 32, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_AddCustomMetadata(string name, string param);
- }
- private static class OVRP_1_34_0
- {
- public static readonly System.Version version = new System.Version(1, 34, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_EnqueueSubmitLayer2(uint flags, IntPtr textureLeft, IntPtr textureRight, int layerId, int frameIndex, ref Posef pose, ref Vector3f scale, int layerIndex,
- Bool overrideTextureRectMatrix, ref TextureRectMatrixf textureRectMatrix, Bool overridePerLayerColorScaleAndOffset, ref Vector4 colorScale, ref Vector4 colorOffset);
- }
- private static class OVRP_1_35_0
- {
- public static readonly System.Version version = new System.Version(1, 35, 0);
- }
- private static class OVRP_1_36_0
- {
- public static readonly System.Version version = new System.Version(1, 36, 0);
- }
- private static class OVRP_1_37_0
- {
- public static readonly System.Version version = new System.Version(1, 37, 0);
- }
- private static class OVRP_1_38_0
- {
- public static readonly System.Version version = new System.Version(1, 38, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetTrackingTransformRelativePose(ref Posef trackingTransformRelativePose, TrackingOrigin trackingOrigin);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_Initialize();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_Shutdown();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_GetInitialized(out Bool initialized);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_Update();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_GetMrcActivationMode(out Media.MrcActivationMode activationMode);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_SetMrcActivationMode(Media.MrcActivationMode activationMode);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_IsMrcEnabled(out Bool mrcEnabled);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_IsMrcActivated(out Bool mrcActivated);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_UseMrcDebugCamera(out Bool useMrcDebugCamera);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_SetMrcInputVideoBufferType(Media.InputVideoBufferType inputVideoBufferType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_GetMrcInputVideoBufferType(ref Media.InputVideoBufferType inputVideoBufferType);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_SetMrcFrameSize(int frameWidth, int frameHeight);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_GetMrcFrameSize(ref int frameWidth, ref int frameHeight);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_SetMrcAudioSampleRate(int sampleRate);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_GetMrcAudioSampleRate(ref int sampleRate);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_SetMrcFrameImageFlipped(Bool flipped);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_GetMrcFrameImageFlipped(ref Bool flipped);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_EncodeMrcFrame(System.IntPtr rawBuffer, System.IntPtr audioDataPtr, int audioDataLen, int audioChannels, double timestamp, ref int outSyncId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_EncodeMrcFrameWithDualTextures(System.IntPtr backgroundTextureHandle, System.IntPtr foregroundTextureHandle, System.IntPtr audioData, int audioDataLen, int audioChannels, double timestamp, ref int outSyncId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_Media_SyncMrcFrame(int syncId);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetExternalCameraCalibrationRawPose(int cameraId, out Posef rawPose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetDeveloperMode(Bool active);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetNodeOrientationValid(Node nodeId, ref Bool nodeOrientationValid);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetNodePositionValid(Node nodeId, ref Bool nodePositionValid);
- }
- private static class OVRP_1_39_0
- {
- public static readonly System.Version version = new System.Version(1, 39, 0);
- }
- private static class OVRP_1_40_0
- {
- public static readonly System.Version version = new System.Version(1, 40, 0);
- }
- private static class OVRP_1_41_0
- {
- public static readonly System.Version version = new System.Version(1, 41, 0);
- }
- private static class OVRP_1_42_0
- {
- public static readonly System.Version version = new System.Version(1, 42, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetAdaptiveGpuPerformanceScale2(ref float adaptiveGpuPerformanceScale);
- }
- private static class OVRP_1_43_0
- {
- public static readonly System.Version version = new System.Version(1, 43, 0);
- }
- private static class OVRP_1_44_0
- {
- public static readonly System.Version version = new System.Version(1, 44, 0);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetHandTrackingEnabled(ref Bool handTrackingEnabled);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetHandState(Step stepId, Hand hand, out HandStateInternal handState);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetSkeleton(SkeletonType skeletonType, out Skeleton skeleton);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetMesh(MeshType meshType, out Mesh mesh);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_OverrideExternalCameraFov(int cameraId, Bool useOverriddenFov, ref Fovf fov);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetUseOverriddenExternalCameraFov(int cameraId, out Bool useOverriddenFov);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_OverrideExternalCameraStaticPose(int cameraId, Bool useOverriddenPose, ref Posef pose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_GetUseOverriddenExternalCameraStaticPose(int cameraId, out Bool useOverriddenStaticPose);
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_ResetDefaultExternalCamera();
- [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)]
- public static extern Result ovrp_SetDefaultExternalCamera(string cameraName, ref CameraIntrinsics cameraIntrinsics, ref CameraExtrinsics cameraExtrinsics);
- }
- #endif // !OVRPLUGIN_UNSUPPORTED_PLATFORM
- }
|