| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063 |
- /*
- * Copyright (c) 2012-2026 Daniele Bartolini <[email protected]>
- * SPDX-License-Identifier: MIT
- */
- [CCode (cheader_filename = "ufbx.h")]
- namespace ufbx
- {
- public const int ERROR_STACK_MAX_DEPTH;
- public const int PANIC_MESSAGE_LENGTH;
- public const int ERROR_INFO_LENGTH;
- [SimpleType]
- [CCode (cname = "ufbx_real", has_type_id = false)]
- public struct Real : double
- {
- }
- [SimpleType]
- [CCode (cname = "ufbx_string", destroy_function = "", has_type_id = false)]
- public struct String
- {
- [CCode (array_length_cname = "length", array_length_type = "size_t")]
- public char[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_blob", destroy_function = "", has_type_id = false)]
- public struct Blob
- {
- [CCode (array_length_cname = "size", array_length_type = "size_t")]
- public void[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_vec2", destroy_function = "", has_type_id = false)]
- public struct Vec2
- {
- public Real x;
- public Real y;
- [CCode (cname = "v")]
- public Real v[2];
- }
- [SimpleType]
- [CCode (cname = "ufbx_vec3", destroy_function = "", has_type_id = false)]
- public struct Vec3
- {
- public Real x;
- public Real y;
- public Real z;
- [CCode (cname = "v")]
- public Real v[3];
- }
- [SimpleType]
- [CCode (cname = "ufbx_vec4", destroy_function = "", has_type_id = false)]
- public struct Vec4
- {
- public Real x;
- public Real y;
- public Real z;
- public Real w;
- [CCode (cname = "v")]
- public Real v[3];
- }
- [SimpleType]
- [CCode (cname = "ufbx_quat", destroy_function = "", has_type_id = false)]
- public struct Quat
- {
- public Real x;
- public Real y;
- public Real z;
- public Real w;
- [CCode (cname = "v")]
- public Real v[4];
- }
- [CCode (cname = "ufbx_rotation_order", cprefix = "UFBX_ROTATION_ORDER_", has_type_id = false)]
- public enum RotationOrder
- {
- XYZ,
- XZY,
- YZX,
- YXZ,
- ZXY,
- ZYX,
- SPHERIC,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_transform", destroy_function = "", has_type_id = false)]
- public struct Transform
- {
- public Vec3 translation;
- public Quat rotation;
- public Vec3 scale;
- }
- [CCode (cname = "ufbx_matrix", destroy_function = "", has_type_id = false)]
- public struct Matrix
- {
- public Real m00;
- public Real m10;
- public Real m20;
- public Real m01;
- public Real m11;
- public Real m21;
- public Real m02;
- public Real m12;
- public Real m22;
- public Real m03;
- public Real m13;
- public Real m23;
- [CCode (cname = "cols")]
- public Vec3 cols[4];
- [CCode (cname = "v")]
- public Real v[12];
- }
- [CCode (cname = "ufbx_void_list", destroy_function = "", has_type_id = false)]
- public struct VoidList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public void[] data;
- }
- [CCode (cname = "ufbx_bool_list", destroy_function = "", has_type_id = false)]
- public struct BoolList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public bool[] data;
- }
- [CCode (cname = "ufbx_uint32_list", destroy_function = "", has_type_id = false)]
- public struct Uint32List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public uint32[] data;
- }
- [CCode (cname = "ufbx_real_list", destroy_function = "", has_type_id = false)]
- public struct RealList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Real[] data;
- }
- [CCode (cname = "ufbx_vec2_list", destroy_function = "", has_type_id = false)]
- public struct Vec2List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Vec2[] data;
- }
- [CCode (cname = "ufbx_vec3_list", destroy_function = "", has_type_id = false)]
- public struct Vec3List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Vec3[] data;
- }
- [CCode (cname = "ufbx_vec4_list", destroy_function = "", has_type_id = false)]
- public struct Vec4List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Vec4[] data;
- }
- [CCode (cname = "ufbx_string_list", destroy_function = "", has_type_id = false)]
- public struct StringList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public String[] data;
- }
- public const uint32 NO_INDEX;
- [CCode (cname = "ufbx_dom_value_type", cprefix = "UFBX_DOM_VALUE_", has_type_id = false)]
- public enum DomValueType
- {
- NUMBER,
- STRING,
- BLOB,
- ARRAY_I32,
- ARRAY_I64,
- ARRAY_F32,
- ARRAY_F64,
- ARRAY_BLOB,
- ARRAY_IGNORED,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_dom_value", destroy_function = "", has_type_id = false)]
- public struct DomValue
- {
- public DomValueType type;
- public String value_str;
- public Blob value_blob;
- public int64 value_int;
- public double value_float;
- }
- [CCode (cname = "ufbx_dom_node_list", destroy_function = "", has_type_id = false)]
- public struct DomNodeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public DomNode[] data;
- }
- [CCode (cname = "ufbx_dom_value_list", destroy_function = "", has_type_id = false)]
- public struct DomValueList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public DomValue[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_dom_node", destroy_function = "", has_type_id = false)]
- public class DomNode
- {
- public String name;
- public DomNodeList children;
- public DomValueList values;
- }
- [CCode (cname = "ufbx_int32_list", destroy_function = "", has_type_id = false)]
- public struct Int32List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public int32[] data;
- }
- [CCode (cname = "ufbx_int64_list", destroy_function = "", has_type_id = false)]
- public struct Int64List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public int64[] data;
- }
- [CCode (cname = "ufbx_float_list", destroy_function = "", has_type_id = false)]
- public struct FloatList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public float[] data;
- }
- [CCode (cname = "ufbx_double_list", destroy_function = "", has_type_id = false)]
- public struct DoubleList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public double[] data;
- }
- [CCode (cname = "ufbx_blob_list", destroy_function = "", has_type_id = false)]
- public struct BlobList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Blob[] data;
- }
- [CCode (cname = "ufbx_prop_type", cprefix = "UFBX_PROP_", has_type_id = false)]
- public enum PropType
- {
- UNKNOWN,
- BOOLEAN,
- INTEGER,
- NUMBER,
- VECTOR,
- COLOR,
- COLOR_WITH_ALPHA,
- STRING,
- DATE_TIME,
- TRANSLATION,
- ROTATION,
- SCALING,
- DISTANCE,
- COMPOUND,
- BLOB,
- REFERENCE,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_prop_flags", cprefix = "UFBX_PROP_FLAG_", has_type_id = false)]
- [Flags]
- public enum PropFlags
- {
- ANIMATABLE,
- USER_DEFINED,
- HIDDEN,
- LOCK_X,
- LOCK_Y,
- LOCK_Z,
- LOCK_W,
- MUTE_X,
- MUTE_Y,
- MUTE_Z,
- MUTE_W,
- SYNTHETIC,
- ANIMATED,
- NOT_FOUND,
- CONNECTED,
- NO_VALUE,
- OVERRIDDEN,
- VALUE_REAL,
- VALUE_VEC2,
- VALUE_VEC3,
- VALUE_VEC4,
- VALUE_INT,
- VALUE_STR,
- VALUE_BLOB
- }
- [Compact]
- [CCode (cname = "ufbx_prop", destroy_function = "", has_type_id = false)]
- public class Prop
- {
- public String name;
- public uint32 _internal_key;
- public PropType type;
- public PropFlags flags;
- public String value_str;
- public Blob value_blob;
- public int64 value_int;
- [CCode (cname = "value_real_arr")]
- public Real value_real_arr[4];
- [CCode (cname = "value_real")]
- public Real value_real;
- [CCode (cname = "value_vec2")]
- public Vec2 value_vec2;
- [CCode (cname = "value_vec3")]
- public Vec3 value_vec3;
- [CCode (cname = "value_vec4")]
- public Vec4 value_vec4;
- }
- [CCode (cname = "ufbx_prop_list", destroy_function = "", has_type_id = false)]
- public struct PropList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Prop[] data;
- }
- [CCode (cname = "ufbx_props", destroy_function = "", has_type_id = false)]
- public struct Props
- {
- public PropList props;
- public size_t num_animated;
- public unowned Props? defaults;
- }
- [CCode (cname = "ufbx_element_list", destroy_function = "", has_type_id = false)]
- public struct ElementList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Element[] data;
- }
- [CCode (cname = "ufbx_unknown_list", destroy_function = "", has_type_id = false)]
- public struct UnknownList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Unknown[] data;
- }
- [CCode (cname = "ufbx_node_list", destroy_function = "", has_type_id = false)]
- public struct NodeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public (unowned Node)[] data;
- }
- [CCode (cname = "ufbx_mesh_list", destroy_function = "", has_type_id = false)]
- public struct MeshList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Mesh[] data;
- }
- [CCode (cname = "ufbx_light_list", destroy_function = "", has_type_id = false)]
- public struct LightList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Light[] data;
- }
- [CCode (cname = "ufbx_camera_list", destroy_function = "", has_type_id = false)]
- public struct CameraList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Camera[] data;
- }
- [CCode (cname = "ufbx_bone_list", destroy_function = "", has_type_id = false)]
- public struct BoneList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Bone[] data;
- }
- [CCode (cname = "ufbx_empty_list", destroy_function = "", has_type_id = false)]
- public struct EmptyList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Empty[] data;
- }
- [CCode (cname = "ufbx_line_curve_list", destroy_function = "", has_type_id = false)]
- public struct LineCurveList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public LineCurve[] data;
- }
- [CCode (cname = "ufbx_nurbs_curve_list", destroy_function = "", has_type_id = false)]
- public struct NurbsCurveList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public NurbsCurve[] data;
- }
- [CCode (cname = "ufbx_nurbs_surface_list", destroy_function = "", has_type_id = false)]
- public struct NurbsSurfaceList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public NurbsSurface[] data;
- }
- [CCode (cname = "ufbx_nurbs_trim_surface_list", destroy_function = "", has_type_id = false)]
- public struct NurbsTrimSurfaceList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public NurbsTrimSurface[] data;
- }
- [CCode (cname = "ufbx_nurbs_trim_boundary_list", destroy_function = "", has_type_id = false)]
- public struct NurbsTrimBoundaryList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public NurbsTrimBoundary[] data;
- }
- [CCode (cname = "ufbx_procedural_geometry_list", destroy_function = "", has_type_id = false)]
- public struct ProceduralGeometryList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public ProceduralGeometry[] data;
- }
- [CCode (cname = "ufbx_stereo_camera_list", destroy_function = "", has_type_id = false)]
- public struct StereoCameraList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public StereoCamera[] data;
- }
- [CCode (cname = "ufbx_camera_switcher_list", destroy_function = "", has_type_id = false)]
- public struct CameraSwitcherList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public CameraSwitcher[] data;
- }
- [CCode (cname = "ufbx_marker_list", destroy_function = "", has_type_id = false)]
- public struct MarkerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Marker[] data;
- }
- [CCode (cname = "ufbx_lod_group_list", destroy_function = "", has_type_id = false)]
- public struct LogGroupList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public LodGroup[] data;
- }
- [CCode (cname = "ufbx_skin_deformer_list", destroy_function = "", has_type_id = false)]
- public struct SkinDeformerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SkinDeformer[] data;
- }
- [CCode (cname = "ufbx_skin_cluster_list", destroy_function = "", has_type_id = false)]
- public struct SkinClusterList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SkinCluster[] data;
- }
- [CCode (cname = "ufbx_blend_deformer_list", destroy_function = "", has_type_id = false)]
- public struct BlendDeformerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BlendDeformer[] data;
- }
- [CCode (cname = "ufbx_blend_channel_list", destroy_function = "", has_type_id = false)]
- public struct BlendChannelList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BlendChannel[] data;
- }
- [CCode (cname = "ufbx_blend_shape_list", destroy_function = "", has_type_id = false)]
- public struct BlendShapeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BlendShape[] data;
- }
- [CCode (cname = "ufbx_cache_deformer_list", destroy_function = "", has_type_id = false)]
- public struct CacheDeformerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public CacheDeformer[] data;
- }
- [CCode (cname = "ufbx_cache_file_list", destroy_function = "", has_type_id = false)]
- public struct CacheFileList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public CacheFile[] data;
- }
- [CCode (cname = "ufbx_material_list", destroy_function = "", has_type_id = false)]
- public struct MaterialList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Material[] data;
- }
- [CCode (cname = "ufbx_texture_list", destroy_function = "", has_type_id = false)]
- public struct TextureList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Texture[] data;
- }
- [CCode (cname = "ufbx_video_list", destroy_function = "", has_type_id = false)]
- public struct VideoList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Video[] data;
- }
- [CCode (cname = "ufbx_shader_list", destroy_function = "", has_type_id = false)]
- public struct ShaderList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Shader[] data;
- }
- [CCode (cname = "ufbx_shader_binding_list", destroy_function = "", has_type_id = false)]
- public struct ShaderBindingList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public ShaderBinding[] data;
- }
- [CCode (cname = "ufbx_anim_stack_list", destroy_function = "", has_type_id = false)]
- public struct AnimStackList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AnimStack[] data;
- }
- [CCode (cname = "ufbx_anim_layer_list", destroy_function = "", has_type_id = false)]
- public struct AnimLayerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AnimLayer[] data;
- }
- [CCode (cname = "ufbx_anim_value_list", destroy_function = "", has_type_id = false)]
- public struct AnimValueList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AnimValue[] data;
- }
- [CCode (cname = "ufbx_anim_curve_list", destroy_function = "", has_type_id = false)]
- public struct AnimCurveList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AnimCurve[] data;
- }
- [CCode (cname = "ufbx_display_layer_list", destroy_function = "", has_type_id = false)]
- public struct DisplayLayerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public DisplayLayer[] data;
- }
- [CCode (cname = "ufbx_selection_set_list", destroy_function = "", has_type_id = false)]
- public struct SelectionSetList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SelectionSet[] data;
- }
- [CCode (cname = "ufbx_selection_node_list", destroy_function = "", has_type_id = false)]
- public struct SelectionNodeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SelectionNode[] data;
- }
- [CCode (cname = "ufbx_character_list", destroy_function = "", has_type_id = false)]
- public struct CharacterList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Character[] data;
- }
- [CCode (cname = "ufbx_constraint_list", destroy_function = "", has_type_id = false)]
- public struct ConstraintList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Constraint[] data;
- }
- [CCode (cname = "ufbx_audio_layer_list", destroy_function = "", has_type_id = false)]
- public struct AudioLayerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AudioLayer[] data;
- }
- [CCode (cname = "ufbx_audio_clip_list", destroy_function = "", has_type_id = false)]
- public struct AudioClipList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AudioClip[] data;
- }
- [CCode (cname = "ufbx_pose_list", destroy_function = "", has_type_id = false)]
- public struct PoseList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Pose[] data;
- }
- [CCode (cname = "ufbx_metadata_object_list", destroy_function = "", has_type_id = false)]
- public struct MetadataObjectList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public MetadataObject[] data;
- }
- [CCode (cname = "ufbx_element_type", cprefix = "UFBX_ELEMENT_", has_type_id = false)]
- public enum ElementType
- {
- UNKNOWN,
- NODE,
- MESH,
- LIGHT,
- CAMERA,
- BONE,
- EMPTY,
- LINE_CURVE,
- NURBS_CURVE,
- NURBS_SURFACE,
- NURBS_TRIM_SURFACE,
- NURBS_TRIM_BOUNDARY,
- PROCEDURAL_GEOMETRY,
- STEREO_CAMERA,
- CAMERA_SWITCHER,
- MARKER,
- LOD_GROUP,
- SKIN_DEFORMER,
- SKIN_CLUSTER,
- BLEND_DEFORMER,
- BLEND_CHANNEL,
- BLEND_SHAPE,
- CACHE_DEFORMER,
- CACHE_FILE,
- MATERIAL,
- TEXTURE,
- VIDEO,
- SHADER,
- SHADER_BINDING,
- ANIM_STACK,
- ANIM_LAYER,
- ANIM_VALUE,
- ANIM_CURVE,
- DISPLAY_LAYER,
- SELECTION_SET,
- SELECTION_NODE,
- CHARACTER,
- CONSTRAINT,
- AUDIO_LAYER,
- AUDIO_CLIP,
- POSE,
- METADATA_OBJECT,
- TYPE_COUNT,
- TYPE_FIRST_ATTRIB = MESH,
- TYPE_LAST_ATTRIB = LOD_GROUP,
- }
- [SimpleType]
- [CCode (cname = "ufbx_connection", destroy_function = "", has_type_id = false)]
- public struct Connection
- {
- public unowned Element src;
- public unowned Element dst;
- public String src_prop;
- public String dst_prop;
- }
- [CCode (cname = "ufbx_connection_list", destroy_function = "", has_type_id = false)]
- public struct ConnectionList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Connection[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_element", destroy_function = "", has_type_id = false)]
- public class Element
- {
- public String name;
- public Props props;
- public uint32 element_id;
- public uint32 typed_id;
- public NodeList instances;
- public ElementType type;
- public ConnectionList connections_src;
- public ConnectionList connections_dst;
- public unowned DomNode? dom_node;
- public unowned Scene scene;
- }
- [Compact]
- [CCode (cname = "ufbx_unknown", destroy_function = "", has_type_id = false)]
- public class Unknown
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public String type;
- public String super_type;
- public String sub_type;
- }
- [CCode (cname = "ufbx_inherit_mode", cprefix = "UFBX_INHERIT_MODE_", has_type_id = false)]
- public enum InheritMode
- {
- NORMAL,
- IGNORE_PARENT_SCALE,
- COMPONENTWISE_SCALE,
- COUNT
- }
- [CCode (cname = "ufbx_mirror_axis", cprefix = "UFBX_MIRROR_AXIS_", has_type_id = false)]
- public enum MirrorAxis
- {
- NONE,
- X,
- Y,
- Z,
- COUNT
- }
- [Compact]
- [CCode (cname = "ufbx_node", destroy_function = "", has_type_id = false)]
- public class Node
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public unowned Node? parent;
- public NodeList children;
- public unowned Mesh? mesh;
- public unowned Light? light;
- public unowned Camera? camera;
- public unowned Bone? bone;
- public unowned Element? attrib;
- public unowned Node? geometry_transform_helper;
- public unowned Node? scale_helper;
- public ElementType attrib_type;
- public ElementList all_attribs;
- public InheritMode inherit_mode;
- public InheritMode original_inherit_mode;
- public Transform local_transform;
- public Transform geometry_transform;
- public Vec3 inherit_scale;
- public unowned Node? inherit_scale_node;
- public RotationOrder rotation_order;
- public Vec3 euler_rotation;
- public Matrix node_to_parent;
- public Matrix node_to_world;
- public Matrix geometry_to_node;
- public Matrix geometry_to_world;
- public Matrix unscaled_node_to_world;
- public Vec3 adjust_pre_translation;
- public Quat adjust_pre_rotation;
- public Real adjust_pre_scale;
- public Quat adjust_post_rotation;
- public Real adjust_post_scale;
- public Real adjust_translation_scale;
- public MirrorAxis adjust_mirror_axis;
- public MaterialList materials;
- public unowned Pose? bind_pose;
- public bool visible;
- public bool is_root;
- public bool has_geometry_transform;
- public bool has_adjust_transform;
- public bool has_root_adjust_transform;
- public bool is_geometry_transform_helper;
- public bool is_scale_helper;
- public bool is_scale_compensate_parent;
- public uint32 node_depth;
- }
- [CCode (cname = "ufbx_vertex_attrib", destroy_function = "", has_type_id = false)]
- public struct VertexAttrib
- {
- public bool exists;
- public VoidList values;
- public Uint32List indices;
- public size_t value_reals;
- public bool unique_per_vertex;
- public RealList values_w;
- }
- [CCode (cname = "ufbx_vertex_real", destroy_function = "", has_type_id = false)]
- public struct VertexReal
- {
- public bool exists;
- public RealList values;
- public Uint32List indices;
- public size_t value_reals;
- public bool unique_per_vertex;
- public RealList values_w;
- }
- [CCode (cname = "ufbx_vertex_vec2", destroy_function = "", has_type_id = false)]
- public struct VertexVec2
- {
- public bool exists;
- public Vec2List values;
- public Uint32List indices;
- public size_t value_reals;
- public bool unique_per_vertex;
- public RealList values_w;
- }
- [CCode (cname = "ufbx_vertex_vec3", destroy_function = "", has_type_id = false)]
- public struct VertexVec3
- {
- public bool exists;
- public Vec3List values;
- public Uint32List indices;
- public size_t value_reals;
- public bool unique_per_vertex;
- public RealList values_w;
- }
- [CCode (cname = "ufbx_vertex_vec4", destroy_function = "", has_type_id = false)]
- public struct VertexVec4
- {
- public bool exists;
- public Vec4List values;
- public Uint32List indices;
- public size_t value_reals;
- public bool unique_per_vertex;
- public RealList values_w;
- }
- [SimpleType]
- [CCode (cname = "ufbx_uv_set", destroy_function = "", has_type_id = false)]
- public struct UvSet
- {
- public String name;
- public uint32 index;
- public VertexVec2 vertex_uv;
- public VertexVec3 vertex_tangent;
- public VertexVec3 vertex_bitangent;
- }
- [SimpleType]
- [CCode (cname = "ufbx_color_set", destroy_function = "", has_type_id = false)]
- public struct ColorSet
- {
- public String name;
- public uint32 index;
- public VertexVec4 vertex_color;
- }
- [CCode (cname = "ufbx_uv_set_list", destroy_function = "", has_type_id = false)]
- public struct UvSetList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public UvSet[] data;
- }
- [CCode (cname = "ufbx_color_set_list", destroy_function = "", has_type_id = false)]
- public struct ColorSetList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public ColorSet[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_edge", destroy_function = "", has_type_id = false)]
- public struct Edge
- {
- [CCode (cname = "a")]
- public uint32 a;
- [CCode (cname = "b")]
- public uint32 b;
- [CCode (cname = "indices")]
- public uint32 indices[2];
- }
- [CCode (cname = "ufbx_edge_list", destroy_function = "", has_type_id = false)]
- public struct EdgeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Edge[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_face", destroy_function = "", has_type_id = false)]
- public struct Face
- {
- public uint32 index_begin;
- public uint32 num_indices;
- }
- [CCode (cname = "ufbx_face_list", destroy_function = "", has_type_id = false)]
- public struct FaceList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Face[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_mesh_part", destroy_function = "", has_type_id = false)]
- public struct MeshPart
- {
- public uint32 index;
- public size_t num_faces;
- public size_t num_triangles;
- public size_t num_empty_faces;
- public size_t num_point_faces;
- public size_t num_line_faces;
- public Uint32List face_indices;
- }
- [CCode (cname = "ufbx_mesh_part_list", destroy_function = "", has_type_id = false)]
- public struct MeshPartList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public MeshPart[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_face_group", destroy_function = "", has_type_id = false)]
- public struct FaceGroup
- {
- public int32 id;
- public String name;
- }
- [CCode (cname = "ufbx_face_group_list", destroy_function = "", has_type_id = false)]
- public struct FaceGroupList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public FaceGroup[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_subdivision_weight_range", destroy_function = "", has_type_id = false)]
- public struct SubdivisionWeightRange
- {
- public uint32 weight_begin;
- public uint32 num_weights;
- }
- [CCode (cname = "ufbx_subdivision_weight_range_list", destroy_function = "", has_type_id = false)]
- public struct SubdivisionWeightRangeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SubdivisionWeightRange[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_subdivision_weight", destroy_function = "", has_type_id = false)]
- public struct SubdivisionWeight
- {
- public Real weight;
- public uint32 index;
- }
- [CCode (cname = "ufbx_subdivision_weight_list", destroy_function = "", has_type_id = false)]
- public struct SubdivisionWeightList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SubdivisionWeight[] data;
- }
- [CCode (cname = "ufbx_subdivision_result", destroy_function = "", has_type_id = false)]
- public struct SubdivisionResult
- {
- public size_t result_memory_used;
- public size_t temp_memory_used;
- public size_t result_allocs;
- public size_t temp_allocs;
- public SubdivisionWeightRangeList source_vertex_ranges;
- public SubdivisionWeightList source_vertex_weights;
- public SubdivisionWeightRangeList skin_cluster_ranges;
- public SubdivisionWeightList skin_cluster_weights;
- }
- [CCode (cname = "ufbx_subdivision_display_mode", cprefix = "UFBX_SUBDIVISION_DISPLAY_", has_type_id = false)]
- public enum SubdivisionDisplayMode
- {
- DISABLED,
- HULL,
- HULL_AND_SMOOTH,
- SMOOTH,
- MODE_COUNT
- }
- [CCode (cname = "ufbx_subdivision_boundary", cprefix = "UFBX_SUBDIVISION_BOUNDARY_", has_type_id = false)]
- public enum SubdivisionBoundary
- {
- DEFAULT,
- LEGACY,
- SHARP_CORNERS,
- SHARP_NONE,
- SHARP_BOUNDARY,
- SHARP_INTERIOR,
- COUNT
- }
- [Compact]
- [CCode (cname = "ufbx_mesh", destroy_function = "", has_type_id = false)]
- public class Mesh
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public size_t num_vertices;
- public size_t num_indices;
- public size_t num_faces;
- public size_t num_triangles;
- public size_t num_edges;
- public size_t max_face_triangles;
- public size_t num_empty_faces;
- public size_t num_point_faces;
- public size_t num_line_faces;
- public FaceList faces;
- public BoolList face_smoothing;
- public Uint32List face_material;
- public Uint32List face_group;
- public BoolList face_hole;
- public EdgeList edges;
- public BoolList edge_smoothing;
- public RealList edge_crease;
- public BoolList edge_visibility;
- public Uint32List vertex_indices;
- public Vec3List vertices;
- public Uint32List vertex_first_index;
- public VertexVec3 vertex_position;
- public VertexVec3 vertex_normal;
- public VertexVec2 vertex_uv;
- public VertexVec3 vertex_tangent;
- public VertexVec3 vertex_bitangent;
- public VertexVec4 vertex_color;
- public VertexReal vertex_crease;
- public UvSetList uv_sets;
- public ColorSetList color_sets;
- public MaterialList materials;
- public FaceGroupList face_groups;
- public MeshPartList material_parts;
- public MeshPartList face_group_parts;
- public Uint32List material_part_usage_order;
- public bool skinned_is_local;
- public VertexVec3 skinned_position;
- public VertexVec3 skinned_normal;
- public SkinDeformerList skin_deformers;
- public BlendDeformerList blend_deformers;
- public CacheDeformerList cache_deformers;
- public ElementList all_deformers;
- public uint32 subdivision_preview_levels;
- public uint32 subdivision_render_levels;
- public SubdivisionDisplayMode subdivision_display_mode;
- public SubdivisionBoundary subdivision_boundary;
- public SubdivisionBoundary subdivision_uv_boundary;
- public bool reversed_winding;
- public bool generated_normals;
- public bool subdivision_evaluated;
- public unowned SubdivisionResult? subdivision_result;
- public bool from_tessellated_nurbs;
- }
- [CCode (cname = "ufbx_light_type", cprefix = "UFBX_LIGHT_", has_type_id = false)]
- public enum LightType
- {
- POINT,
- DIRECTIONAL,
- SPOT,
- AREA,
- VOLUME,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_light_decay", cprefix = "UFBX_LIGHT_DECAY_", has_type_id = false)]
- public enum LightDecay
- {
- NONE,
- LINEAR,
- QUADRATIC,
- CUBIC,
- COUNT
- }
- [CCode (cname = "ufbx_light_area_shape", cprefix = "UFBX_LIGHT_AREA_SHAPE_", has_type_id = false)]
- public enum LightAreaShape
- {
- RECTANGLE,
- SPHERE,
- COUNT
- }
- [Compact]
- [CCode (cname = "ufbx_light", destroy_function = "", has_type_id = false)]
- public class Light
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public Vec3 color;
- public Real intensity;
- public Vec3 local_direction;
- public LightType type;
- public LightDecay decay;
- public LightAreaShape area_shape;
- public Real inner_angle;
- public Real outer_angle;
- public bool cast_light;
- public bool cast_shadows;
- }
- [CCode (cname = "ufbx_projection_mode", cprefix = "UFBX_PROJECTION_MODE_", has_type_id = false)]
- public enum ProjectionMode
- {
- PERSPECTIVE,
- ORTHOGRAPHIC,
- COUNT
- }
- [CCode (cname = "ufbx_aspect_mode", cprefix = "UFBX_ASPECT_MODE_", has_type_id = false)]
- public enum AspectMode
- {
- WINDOW_SIZE,
- FIXED_RATIO,
- FIXED_RESOLUTION,
- FIXED_WIDTH,
- FIXED_HEIGHT,
- COUNT
- }
- [CCode (cname = "ufbx_aperture_mode", cprefix = "UFBX_APERTURE_MODE_", has_type_id = false)]
- public enum ApertureMode
- {
- HORIZONTAL_AND_VERTICAL,
- HORIZONTAL,
- VERTICAL,
- FOCAL_LENGTH,
- COUNT
- }
- [CCode (cname = "ufbx_gate_fit", cprefix = "UFBX_GATE_FIT_", has_type_id = false)]
- public enum GateFit
- {
- NONE,
- VERTICAL,
- HORIZONTAL,
- FILL,
- OVERSCAN,
- STRETCH,
- COUNT
- }
- [CCode (cname = "ufbx_aperture_format", cprefix = "UFBX_APERTURE_FORMAT_", has_type_id = false)]
- public enum ApertureFormat
- {
- CUSTOM,
- 16MM_THEATRICAL,
- SUPER_16MM,
- 35MM_ACADEMY,
- 35MM_TV_PROJECTION,
- 35MM_FULL_APERTURE,
- 35MM_185_PROJECTION,
- 35MM_ANAMORPHIC,
- 70MM_PROJECTION,
- VISTAVISION,
- DYNAVISION,
- IMAX,
- COUNT
- }
- [CCode (cname = "ufbx_coordinate_axis", cprefix = "UFBX_COORDINATE_AXIS_", has_type_id = false)]
- public enum CoordinateAxis
- {
- POSITIVE_X,
- NEGATIVE_X,
- POSITIVE_Y,
- NEGATIVE_Y,
- POSITIVE_Z,
- NEGATIVE_Z,
- UNKNOWN,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_coordinate_axes", has_type_id = false)]
- public struct CoordinateAxes
- {
- public CoordinateAxis right;
- public CoordinateAxis up;
- public CoordinateAxis front;
- [CCode (cname = "ufbx_axes_right_handed_y_up")]
- public const CoordinateAxes RIGHT_HANDED_Y_UP;
- [CCode (cname = "ufbx_axes_right_handed_z_up")]
- public const CoordinateAxes RIGHT_HANDED_Z_UP;
- [CCode (cname = "ufbx_axes_left_handed_y_up")]
- public const CoordinateAxes LEFT_HANDED_Y_UP;
- [CCode (cname = "ufbx_axes_left_handed_z_up")]
- public const CoordinateAxes LEFT_HANDED_Z_UP;
- }
- [Compact]
- [CCode (cname = "ufbx_camera", destroy_function = "", has_type_id = false)]
- public class Camera
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public ProjectionMode projection_mode;
- public bool resolution_is_pixels;
- public Vec2 resolution;
- public Vec2 field_of_view_deg;
- public Vec2 field_of_view_tan;
- public Real orthographic_extent;
- public Vec2 orthographic_size;
- public Vec2 projection_plane;
- public Real aspect_ratio;
- public Real near_plane;
- public Real far_plane;
- public CoordinateAxes projection_axes;
- public AspectMode aspect_mode;
- public ApertureMode aperture_mode;
- public GateFit gate_fit;
- public ApertureFormat aperture_format;
- public Real focal_length_mm;
- public Vec2 film_size_inch;
- public Vec2 aperture_size_inch;
- public Real squeeze_ratio;
- }
- [Compact]
- [CCode (cname = "ufbx_bone", destroy_function = "", has_type_id = false)]
- public class Bone
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public Real radius;
- public Real relative_length;
- public bool is_root;
- }
- [Compact]
- [CCode (cname = "ufbx_empty", destroy_function = "", has_type_id = false)]
- public class Empty
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- }
- [SimpleType]
- [CCode (cname = "ufbx_line_segment", destroy_function = "", has_type_id = false)]
- public struct LineSegment
- {
- public uint32 index_begin;
- public uint32 num_indices;
- }
- [CCode (cname = "ufbx_line_segment_list", destroy_function = "", has_type_id = false)]
- public struct LineSegmentList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public LineSegment[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_line_curve", destroy_function = "", has_type_id = false)]
- public class LineCurve
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public Vec3 color;
- public Vec3List control_points;
- public Uint32List point_indices;
- public LineSegmentList segments;
- public bool from_tessellated_nurbs;
- }
- [CCode (cname = "ufbx_nurbs_topology", cprefix = "UFBX_NURBS_TOPOLOGY_", has_type_id = false)]
- public enum NurbsTopology
- {
- OPEN,
- PERIODIC,
- CLOSED,
- COUNT
- }
- [CCode (cname = "ufbx_nurbs_basis", destroy_function = "", has_type_id = false)]
- public struct NurbsBasis
- {
- public uint32 order;
- public NurbsTopology topology;
- public RealList knot_vector;
- public Real t_min;
- public Real t_max;
- public RealList spans;
- public bool is_2d;
- public size_t num_wrap_control_points;
- public bool valid;
- }
- [Compact]
- [CCode (cname = "ufbx_nurbs_curve", destroy_function = "", has_type_id = false)]
- public class NurbsCurve
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public NurbsBasis basis;
- public Vec4List control_points;
- }
- [Compact]
- [CCode (cname = "ufbx_nurbs_surface", destroy_function = "", has_type_id = false)]
- public class NurbsSurface
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public NurbsBasis basis_u;
- public NurbsBasis basis_v;
- public size_t num_control_points_u;
- public size_t num_control_points_v;
- public Vec4List control_points;
- public uint32 span_subdivision_u;
- public uint32 span_subdivision_v;
- public bool flip_normals;
- public unowned Material? material;
- }
- [Compact]
- [CCode (cname = "ufbx_nurbs_trim_surface", destroy_function = "", has_type_id = false)]
- public class NurbsTrimSurface
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- }
- [Compact]
- [CCode (cname = "ufbx_nurbs_trim_boundary", destroy_function = "", has_type_id = false)]
- public class NurbsTrimBoundary
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- }
- [Compact]
- [CCode (cname = "ufbx_procedural_geometry", destroy_function = "", has_type_id = false)]
- public class ProceduralGeometry
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- }
- [Compact]
- [CCode (cname = "ufbx_stereo_camera", destroy_function = "", has_type_id = false)]
- public class StereoCamera
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public unowned Camera? left;
- public unowned Camera? right;
- }
- [Compact]
- [CCode (cname = "ufbx_camera_switcher", destroy_function = "", has_type_id = false)]
- public class CameraSwitcher
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- }
- [CCode (cname = "ufbx_marker_type", cprefix = "UFBX_MARKER_", has_type_id = false)]
- public enum MarkerType
- {
- UNKNOWN,
- FK_EFFECTOR,
- IK_EFFECTOR,
- TYPE_COUNT
- }
- [Compact]
- [CCode (cname = "ufbx_marker", destroy_function = "", has_type_id = false)]
- public class Marker
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public MarkerType type;
- }
- [CCode (cname = "ufbx_lod_display", cprefix = "UFBX_LOD_DISPLAY_", has_type_id = false)]
- public enum LodDisplay
- {
- USE_LOD,
- SHOW,
- HIDE,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_lod_level", destroy_function = "", has_type_id = false)]
- public struct LodLevel
- {
- public Real distance;
- public LodDisplay display;
- }
- [CCode (cname = "ufbx_lod_level_list", destroy_function = "", has_type_id = false)]
- public struct LodLevelList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public LodLevel[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_lod_group", destroy_function = "", has_type_id = false)]
- public class LodGroup
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- [CCode (cname = "instances")]
- public NodeList instances;
- public bool relative_distances;
- public LodLevelList lod_levels;
- public bool ignore_parent_transform;
- public bool use_distance_limit;
- public Real distance_limit_min;
- public Real distance_limit_max;
- }
- [CCode (cname = "ufbx_skinning_method", cprefix = "UFBX_SKINNING_METHOD_", has_type_id = false)]
- public enum SkinningMethod
- {
- LINEAR,
- RIGID,
- DUAL_QUATERNION,
- BLENDED_DQ_LINEAR,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_skin_vertex", destroy_function = "", has_type_id = false)]
- public struct SkinVertex
- {
- public uint32 weight_begin;
- public uint32 num_weights;
- public Real dq_weight;
- }
- [CCode (cname = "ufbx_skin_vertex_list", destroy_function = "", has_type_id = false)]
- public struct SkinVertexList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SkinVertex[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_skin_weight", destroy_function = "", has_type_id = false)]
- public struct SkinWeight
- {
- public uint32 cluster_index;
- public Real weight;
- }
- [CCode (cname = "ufbx_skin_weight_list", destroy_function = "", has_type_id = false)]
- public struct SkinWeightList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public SkinWeight[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_skin_deformer", destroy_function = "", has_type_id = false)]
- public class SkinDeformer
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public SkinningMethod skinning_method;
- public SkinClusterList clusters;
- public SkinVertexList vertices;
- public SkinWeightList weights;
- public size_t max_weights_per_vertex;
- public size_t num_dq_weights;
- public Uint32List dq_vertices;
- public RealList dq_weights;
- }
- [Compact]
- [CCode (cname = "ufbx_skin_cluster", destroy_function = "", has_type_id = false)]
- public class SkinCluster
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public unowned Node? bone_node;
- public Matrix geometry_to_bone;
- public Matrix mesh_node_to_bone;
- public Matrix bind_to_world;
- public Matrix geometry_to_world;
- public Transform geometry_to_world_transform;
- public size_t num_weights;
- public Uint32List vertices;
- public RealList weights;
- }
- [Compact]
- [CCode (cname = "ufbx_blend_deformer", destroy_function = "", has_type_id = false)]
- public class BlendDeformer
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public BlendChannelList channels;
- }
- [SimpleType]
- [CCode (cname = "ufbx_blend_keyframe", destroy_function = "", has_type_id = false)]
- public struct BlendKeyframe
- {
- public unowned BlendShape shape;
- public Real target_weight;
- public Real effective_weight;
- }
- [CCode (cname = "ufbx_blend_keyframe_list", destroy_function = "", has_type_id = false)]
- public struct BlendKeyframeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BlendKeyframe[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_blend_channel", destroy_function = "", has_type_id = false)]
- public class BlendChannel
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public Real weight;
- public BlendKeyframeList keyframes;
- public unowned BlendShape? target_shape;
- }
- [Compact]
- [CCode (cname = "ufbx_blend_shape", destroy_function = "", has_type_id = false)]
- public class BlendShape
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public size_t num_offsets;
- public Uint32List offset_vertices;
- public Vec3List position_offsets;
- public Vec3List normal_offsets;
- public RealList offset_weights;
- }
- [CCode (cname = "ufbx_cache_file_format", cprefix = "UFBX_CACHE_FILE_FORMAT_", has_type_id = false)]
- public enum CacheFileFormat
- {
- UNKNOWN,
- PC2,
- MC,
- COUNT
- }
- [CCode (cname = "ufbx_cache_data_format", cprefix = "UFBX_CACHE_DATA_FORMAT_", has_type_id = false)]
- public enum CacheDataFormat
- {
- UNKNOWN,
- REAL_FLOAT,
- VEC3_FLOAT,
- REAL_DOUBLE,
- VEC3_DOUBLE,
- COUNT
- }
- [CCode (cname = "ufbx_cache_data_encoding", cprefix = "UFBX_CACHE_DATA_ENCODING_", has_type_id = false)]
- public enum CacheDataEncoding
- {
- UNKNOWN,
- LITTLE_ENDIAN,
- BIG_ENDIAN,
- COUNT
- }
- [CCode (cname = "ufbx_cache_interpretation", cprefix = "UFBX_CACHE_INTERPRETATION_", has_type_id = false)]
- public enum CacheInterpretation
- {
- UNKNOWN,
- POINTS,
- VERTEX_POSITION,
- VERTEX_NORMAL,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_cache_frame", destroy_function = "", has_type_id = false)]
- public struct CacheFrame
- {
- public String channel;
- public double time;
- public String filename;
- public CacheFileFormat file_format;
- public MirrorAxis mirror_axis;
- public Real scale_factor;
- public CacheDataFormat data_format;
- public CacheDataEncoding data_encoding;
- public uint64 data_offset;
- public uint32 data_count;
- public uint32 data_element_bytes;
- public uint64 data_total_bytes;
- }
- [CCode (cname = "ufbx_cache_frame", destroy_function = "", has_type_id = false)]
- public struct CacheFrameList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public CacheFrame[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_cache_channel", destroy_function = "", has_type_id = false)]
- public struct CacheChannel
- {
- public String name;
- public CacheInterpretation interpretation;
- public String interpretation_name;
- public CacheFrameList frames;
- public MirrorAxis mirror_axis;
- public Real scale_factor;
- }
- [CCode (cname = "ufbx_cache_channel_list", destroy_function = "", has_type_id = false)]
- public struct CacheChannelList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public CacheChannel[] data;
- }
- [CCode (cname = "ufbx_geometry_cache", destroy_function = "", has_type_id = false)]
- public struct GeometryCache
- {
- public String root_filename;
- public CacheChannelList channels;
- public CacheFrameList frames;
- public StringList extra_info;
- }
- [Compact]
- [CCode (cname = "ufbx_cache_deformer", destroy_function = "", has_type_id = false)]
- public class CacheDeformer
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public String channel;
- public unowned CacheFile? file;
- public unowned GeometryCache? external_cache;
- public unowned CacheChannel? external_channel;
- }
- [Compact]
- [CCode (cname = "ufbx_cache_file", destroy_function = "", has_type_id = false)]
- public class CacheFile
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public String filename;
- public String absolute_filename;
- public String relative_filename;
- public Blob raw_filename;
- public Blob raw_absolute_filename;
- public Blob raw_relative_filename;
- public CacheFileFormat format;
- public unowned GeometryCache? external_cache;
- }
- [CCode (cname = "ufbx_material_map", destroy_function = "", has_type_id = false)]
- public struct MaterialMap
- {
- [CCode (cname = "value_real")]
- public Real value_real;
- [CCode (cname = "value_vec2")]
- public Vec2 value_vec2;
- [CCode (cname = "value_vec3")]
- public Vec3 value_vec3;
- [CCode (cname = "value_vec4")]
- public Vec4 value_vec4;
- public int64 value_int;
- public unowned Texture? texture;
- public bool has_value;
- public bool texture_enabled;
- public bool feature_disabled;
- public uint8 value_components;
- }
- [CCode (cname = "ufbx_material_feature_info", destroy_function = "", has_type_id = false)]
- public struct MaterialFeatureInfo
- {
- public bool enabled;
- public bool is_explicit;
- }
- [SimpleType]
- [CCode (cname = "ufbx_material_texture", destroy_function = "", has_type_id = false)]
- public struct MaterialTexture
- {
- public String material_prop;
- public String shader_prop;
- public unowned Texture texture;
- }
- [CCode (cname = "ufbx_material_texture_list", destroy_function = "", has_type_id = false)]
- public struct MaterialTextureList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public MaterialTexture[] data;
- }
- [CCode (cname = "ufbx_shader_type", cprefix = "UFBX_SHADER_", has_type_id = false)]
- public enum ShaderType
- {
- UNKNOWN,
- FBX_LAMBERT,
- FBX_PHONG,
- OSL_STANDARD_SURFACE,
- ARNOLD_STANDARD_SURFACE,
- 3DS_MAX_PHYSICAL_MATERIAL,
- 3DS_MAX_PBR_METAL_ROUGH,
- 3DS_MAX_PBR_SPEC_GLOSS,
- GLTF_MATERIAL,
- OPENPBR_MATERIAL,
- SHADERFX_GRAPH,
- BLENDER_PHONG,
- WAVEFRONT_MTL,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_material_fbx_map", cprefix = "UFBX_MATERIAL_FBX_", has_type_id = false)]
- public enum MaterialFbxMap
- {
- DIFFUSE_FACTOR,
- DIFFUSE_COLOR,
- SPECULAR_FACTOR,
- SPECULAR_COLOR,
- SPECULAR_EXPONENT,
- REFLECTION_FACTOR,
- REFLECTION_COLOR,
- TRANSPARENCY_FACTOR,
- TRANSPARENCY_COLOR,
- EMISSION_FACTOR,
- EMISSION_COLOR,
- AMBIENT_FACTOR,
- AMBIENT_COLOR,
- NORMAL_MAP,
- BUMP,
- BUMP_FACTOR,
- DISPLACEMENT_FACTOR,
- DISPLACEMENT,
- VECTOR_DISPLACEMENT_FACTOR,
- VECTOR_DISPLACEMENT,
- MAP_COUNT
- }
- [CCode (cname = "ufbx_material_pbr_map", cprefix = "UFBX_MATERIAL_PBR_", has_type_id = false)]
- public enum MaterialPbrMap
- {
- BASE_FACTOR,
- BASE_COLOR,
- ROUGHNESS,
- METALNESS,
- DIFFUSE_ROUGHNESS,
- SPECULAR_FACTOR,
- SPECULAR_COLOR,
- SPECULAR_IOR,
- SPECULAR_ANISOTROPY,
- SPECULAR_ROTATION,
- TRANSMISSION_FACTOR,
- TRANSMISSION_COLOR,
- TRANSMISSION_DEPTH,
- TRANSMISSION_SCATTER,
- TRANSMISSION_SCATTER_ANISOTROPY,
- TRANSMISSION_DISPERSION,
- TRANSMISSION_ROUGHNESS,
- TRANSMISSION_EXTRA_ROUGHNESS,
- TRANSMISSION_PRIORITY,
- TRANSMISSION_ENABLE_IN_AOV,
- SUBSURFACE_FACTOR,
- SUBSURFACE_COLOR,
- SUBSURFACE_RADIUS,
- SUBSURFACE_SCALE,
- SUBSURFACE_ANISOTROPY,
- SUBSURFACE_TINT_COLOR,
- SUBSURFACE_TYPE,
- SHEEN_FACTOR,
- SHEEN_COLOR,
- SHEEN_ROUGHNESS,
- COAT_FACTOR,
- COAT_COLOR,
- COAT_ROUGHNESS,
- COAT_IOR,
- COAT_ANISOTROPY,
- COAT_ROTATION,
- COAT_NORMAL,
- COAT_AFFECT_BASE_COLOR,
- COAT_AFFECT_BASE_ROUGHNESS,
- THIN_FILM_FACTOR,
- THIN_FILM_THICKNESS,
- THIN_FILM_IOR,
- EMISSION_FACTOR,
- EMISSION_COLOR,
- OPACITY,
- INDIRECT_DIFFUSE,
- INDIRECT_SPECULAR,
- NORMAL_MAP,
- TANGENT_MAP,
- DISPLACEMENT_MAP,
- MATTE_FACTOR,
- MATTE_COLOR,
- AMBIENT_OCCLUSION,
- GLOSSINESS,
- COAT_GLOSSINESS,
- TRANSMISSION_GLOSSINESS,
- MAP_COUNT
- }
- [CCode (cname = "ufbx_extrapolation_mode", cprefix = "UFBX_EXTRAPOLATION_", has_type_id = false)]
- public enum ExtrapolationMode
- {
- CONSTANT,
- REPEAT,
- MIRROR,
- SLOPE,
- REPEAT_RELATIVE,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_extrapolation", destroy_function = "", has_type_id = false)]
- public struct Extrapolation
- {
- public ExtrapolationMode mode;
- public int32 repeat_count;
- }
- [CCode (cname = "ufbx_material_feature", cprefix = "UFBX_MATERIAL_FEATURE_", has_type_id = false)]
- public enum MaterialFeature
- {
- PBR,
- METALNESS,
- DIFFUSE,
- SPECULAR,
- EMISSION,
- TRANSMISSION,
- COAT,
- SHEEN,
- OPACITY,
- AMBIENT_OCCLUSION,
- MATTE,
- UNLIT,
- IOR,
- DIFFUSE_ROUGHNESS,
- TRANSMISSION_ROUGHNESS,
- THIN_WALLED,
- CAUSTICS,
- EXIT_TO_BACKGROUND,
- INTERNAL_REFLECTIONS,
- DOUBLE_SIDED,
- ROUGHNESS_AS_GLOSSINESS,
- COAT_ROUGHNESS_AS_GLOSSINESS,
- TRANSMISSION_ROUGHNESS_AS_GLOSSINESS,
- COUNT
- }
- [CCode (cname = "ufbx_material_fbx_maps", destroy_function = "", has_type_id = false)]
- public struct MaterialFbxMaps
- {
- [CCode (cname = "maps")]
- public MaterialMap maps[MaterialFbxMap.MAP_COUNT];
- [CCode (cname = "diffuse_factor")]
- public MaterialMap diffuse_factor;
- [CCode (cname = "diffuse_color")]
- public MaterialMap diffuse_color;
- [CCode (cname = "specular_factor")]
- public MaterialMap specular_factor;
- [CCode (cname = "specular_color")]
- public MaterialMap specular_color;
- [CCode (cname = "specular_exponent")]
- public MaterialMap specular_exponent;
- [CCode (cname = "reflection_factor")]
- public MaterialMap reflection_factor;
- [CCode (cname = "reflection_color")]
- public MaterialMap reflection_color;
- [CCode (cname = "transparency_factor")]
- public MaterialMap transparency_factor;
- [CCode (cname = "transparency_color")]
- public MaterialMap transparency_color;
- [CCode (cname = "emission_factor")]
- public MaterialMap emission_factor;
- [CCode (cname = "emission_color")]
- public MaterialMap emission_color;
- [CCode (cname = "ambient_factor")]
- public MaterialMap ambient_factor;
- [CCode (cname = "ambient_color")]
- public MaterialMap ambient_color;
- [CCode (cname = "normal_map")]
- public MaterialMap normal_map;
- [CCode (cname = "bump")]
- public MaterialMap bump;
- [CCode (cname = "bump_factor")]
- public MaterialMap bump_factor;
- [CCode (cname = "displacement_factor")]
- public MaterialMap displacement_factor;
- [CCode (cname = "displacement")]
- public MaterialMap displacement;
- [CCode (cname = "vector_displacement_factor")]
- public MaterialMap vector_displacement_factor;
- [CCode (cname = "vector_displacement")]
- public MaterialMap vector_displacement;
- }
- [CCode (cname = "ufbx_material_pbr_maps", destroy_function = "", has_type_id = false)]
- public struct MaterialPbrMaps
- {
- [CCode (cname = "maps")]
- public MaterialMap maps[MaterialPbrMap.MAP_COUNT];
- [CCode (cname = "base_factor")]
- public MaterialMap base_factor;
- [CCode (cname = "base_color")]
- public MaterialMap base_color;
- [CCode (cname = "roughness")]
- public MaterialMap roughness;
- [CCode (cname = "metalness")]
- public MaterialMap metalness;
- [CCode (cname = "diffuse_roughness")]
- public MaterialMap diffuse_roughness;
- [CCode (cname = "specular_factor")]
- public MaterialMap specular_factor;
- [CCode (cname = "specular_color")]
- public MaterialMap specular_color;
- [CCode (cname = "specular_ior")]
- public MaterialMap specular_ior;
- [CCode (cname = "specular_anisotropy")]
- public MaterialMap specular_anisotropy;
- [CCode (cname = "specular_rotation")]
- public MaterialMap specular_rotation;
- [CCode (cname = "transmission_factor")]
- public MaterialMap transmission_factor;
- [CCode (cname = "transmission_color")]
- public MaterialMap transmission_color;
- [CCode (cname = "transmission_depth")]
- public MaterialMap transmission_depth;
- [CCode (cname = "transmission_scatter")]
- public MaterialMap transmission_scatter;
- [CCode (cname = "transmission_scatter_anisotropy")]
- public MaterialMap transmission_scatter_anisotropy;
- [CCode (cname = "transmission_dispersion")]
- public MaterialMap transmission_dispersion;
- [CCode (cname = "transmission_roughness")]
- public MaterialMap transmission_roughness;
- [CCode (cname = "transmission_extra_roughness")]
- public MaterialMap transmission_extra_roughness;
- [CCode (cname = "transmission_priority")]
- public MaterialMap transmission_priority;
- [CCode (cname = "transmission_enable_in_aov")]
- public MaterialMap transmission_enable_in_aov;
- [CCode (cname = "subsurface_factor")]
- public MaterialMap subsurface_factor;
- [CCode (cname = "subsurface_color")]
- public MaterialMap subsurface_color;
- [CCode (cname = "subsurface_radius")]
- public MaterialMap subsurface_radius;
- [CCode (cname = "subsurface_scale")]
- public MaterialMap subsurface_scale;
- [CCode (cname = "subsurface_anisotropy")]
- public MaterialMap subsurface_anisotropy;
- [CCode (cname = "subsurface_tint_color")]
- public MaterialMap subsurface_tint_color;
- [CCode (cname = "subsurface_type")]
- public MaterialMap subsurface_type;
- [CCode (cname = "sheen_factor")]
- public MaterialMap sheen_factor;
- [CCode (cname = "sheen_color")]
- public MaterialMap sheen_color;
- [CCode (cname = "sheen_roughness")]
- public MaterialMap sheen_roughness;
- [CCode (cname = "coat_factor")]
- public MaterialMap coat_factor;
- [CCode (cname = "coat_color")]
- public MaterialMap coat_color;
- [CCode (cname = "coat_roughness")]
- public MaterialMap coat_roughness;
- [CCode (cname = "coat_ior")]
- public MaterialMap coat_ior;
- [CCode (cname = "coat_anisotropy")]
- public MaterialMap coat_anisotropy;
- [CCode (cname = "coat_rotation")]
- public MaterialMap coat_rotation;
- [CCode (cname = "coat_normal")]
- public MaterialMap coat_normal;
- [CCode (cname = "coat_affect_base_color")]
- public MaterialMap coat_affect_base_color;
- [CCode (cname = "coat_affect_base_roughness")]
- public MaterialMap coat_affect_base_roughness;
- [CCode (cname = "thin_film_thickness")]
- public MaterialMap thin_film_thickness;
- [CCode (cname = "thin_film_ior")]
- public MaterialMap thin_film_ior;
- [CCode (cname = "emission_factor")]
- public MaterialMap emission_factor;
- [CCode (cname = "emission_color")]
- public MaterialMap emission_color;
- [CCode (cname = "opacity")]
- public MaterialMap opacity;
- [CCode (cname = "indirect_diffuse")]
- public MaterialMap indirect_diffuse;
- [CCode (cname = "indirect_specular")]
- public MaterialMap indirect_specular;
- [CCode (cname = "normal_map")]
- public MaterialMap normal_map;
- [CCode (cname = "tangent_map")]
- public MaterialMap tangent_map;
- [CCode (cname = "displacement_map")]
- public MaterialMap displacement_map;
- [CCode (cname = "matte_factor")]
- public MaterialMap matte_factor;
- [CCode (cname = "matte_color")]
- public MaterialMap matte_color;
- [CCode (cname = "ambient_occlusion")]
- public MaterialMap ambient_occlusion;
- [CCode (cname = "glossiness")]
- public MaterialMap glossiness;
- [CCode (cname = "coat_glossiness")]
- public MaterialMap coat_glossiness;
- [CCode (cname = "transmission_glossiness")]
- public MaterialMap transmission_glossiness;
- }
- [CCode (cname = "ufbx_material_features", destroy_function = "", has_type_id = false)]
- public struct MaterialFeatures
- {
- [CCode (cname = "features")]
- public MaterialFeatureInfo features[MaterialFeature.COUNT];
- [CCode (cname = "pbr")]
- public MaterialFeatureInfo pbr;
- [CCode (cname = "metalness")]
- public MaterialFeatureInfo metalness;
- [CCode (cname = "diffuse")]
- public MaterialFeatureInfo diffuse;
- [CCode (cname = "specular")]
- public MaterialFeatureInfo specular;
- [CCode (cname = "emission")]
- public MaterialFeatureInfo emission;
- [CCode (cname = "transmission")]
- public MaterialFeatureInfo transmission;
- [CCode (cname = "coat")]
- public MaterialFeatureInfo coat;
- [CCode (cname = "sheen")]
- public MaterialFeatureInfo sheen;
- [CCode (cname = "opacity")]
- public MaterialFeatureInfo opacity;
- [CCode (cname = "ambient_occlusion")]
- public MaterialFeatureInfo ambient_occlusion;
- [CCode (cname = "matte")]
- public MaterialFeatureInfo matte;
- [CCode (cname = "unlit")]
- public MaterialFeatureInfo unlit;
- [CCode (cname = "ior")]
- public MaterialFeatureInfo ior;
- [CCode (cname = "diffuse_roughness")]
- public MaterialFeatureInfo diffuse_roughness;
- [CCode (cname = "transmission_roughness")]
- public MaterialFeatureInfo transmission_roughness;
- [CCode (cname = "thin_walled")]
- public MaterialFeatureInfo thin_walled;
- [CCode (cname = "caustics")]
- public MaterialFeatureInfo caustics;
- [CCode (cname = "exit_to_background")]
- public MaterialFeatureInfo exit_to_background;
- [CCode (cname = "internal_reflections")]
- public MaterialFeatureInfo internal_reflections;
- [CCode (cname = "double_sided")]
- public MaterialFeatureInfo double_sided;
- [CCode (cname = "roughness_as_glossiness")]
- public MaterialFeatureInfo roughness_as_glossiness;
- [CCode (cname = "coat_roughness_as_glossiness")]
- public MaterialFeatureInfo coat_roughness_as_glossiness;
- [CCode (cname = "transmission_roughness_as_glossiness")]
- public MaterialFeatureInfo transmission_roughness_as_glossiness;
- }
- [Compact]
- [CCode (cname = "ufbx_material", destroy_function = "", has_type_id = false)]
- public class Material
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public MaterialFbxMaps fbx;
- public MaterialPbrMaps pbr;
- public MaterialFeatures features;
- public ShaderType shader_type;
- public unowned Shader? shader;
- public String shading_model_name;
- public String shader_prop_prefix;
- public MaterialTextureList textures;
- }
- [CCode (cname = "ufbx_texture_type", cprefix = "UFBX_TEXTURE_", has_type_id = false)]
- public enum TextureType
- {
- FILE,
- LAYERED,
- PROCEDURAL,
- SHADER,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_blend_mode", cprefix = "UFBX_BLEND_", has_type_id = false)]
- public enum BlendMode
- {
- TRANSLUCENT,
- ADDITIVE,
- MULTIPLY,
- MULTIPLY_2X,
- OVER,
- REPLACE,
- DISSOLVE,
- DARKEN,
- COLOR_BURN,
- LINEAR_BURN,
- DARKER_COLOR,
- LIGHTEN,
- SCREEN,
- COLOR_DODGE,
- LINEAR_DODGE,
- LIGHTER_COLOR,
- SOFT_LIGHT,
- HARD_LIGHT,
- VIVID_LIGHT,
- LINEAR_LIGHT,
- PIN_LIGHT,
- HARD_MIX,
- DIFFERENCE,
- EXCLUSION,
- SUBTRACT,
- DIVIDE,
- HUE,
- SATURATION,
- COLOR,
- LUMINOSITY,
- OVERLAY,
- COUNT
- }
- [CCode (cname = "ufbx_wrap_mode", cprefix = "UFBX_WRAP_", has_type_id = false)]
- public enum WrapMode
- {
- REPEAT,
- CLAMP,
- COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_texture_layer", destroy_function = "", has_type_id = false)]
- public struct TextureLayer
- {
- public unowned Texture texture;
- public BlendMode blend_mode;
- public Real alpha;
- }
- [CCode (cname = "ufbx_texture_layer", destroy_function = "", has_type_id = false)]
- public struct TextureLayerList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public TextureLayer[] data;
- }
- [CCode (cname = "ufbx_shader_texture_type", cprefix = "UFBX_SHADER_TEXTURE_", has_type_id = false)]
- public enum ShaderTextureType
- {
- UNKNOWN,
- SELECT_OUTPUT,
- OSL,
- TYPE_COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_shader_texture_input", destroy_function = "", has_type_id = false)]
- public struct ShaderTextureInput
- {
- public String name;
- [CCode (cname = "value_real")]
- public Real value_real;
- [CCode (cname = "value_vec2")]
- public Vec2 value_vec2;
- [CCode (cname = "value_vec3")]
- public Vec3 value_vec3;
- [CCode (cname = "value_vec4")]
- public Vec4 value_vec4;
- public int64 value_int;
- public String value_str;
- public Blob value_blob;
- public unowned Texture? texture;
- public int64 texture_output_index;
- public bool texture_enabled;
- public unowned Prop prop;
- public unowned Prop? texture_prop;
- public unowned Prop? texture_enabled_prop;
- }
- [CCode (cname = "ufbx_shader_texture_input_list", destroy_function = "", has_type_id = false)]
- public struct ShaderTextureInputList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public ShaderTextureInput[] data;
- }
- [CCode (cname = "ufbx_shader_texture", destroy_function = "", has_type_id = false)]
- public struct ShaderTexture
- {
- public ShaderTextureType type;
- public String shader_name;
- public uint64 shader_type_id;
- public ShaderTextureInputList inputs;
- public String shader_source;
- public Blob raw_shader_source;
- public unowned Texture main_texture;
- public int64 main_texture_output_index;
- public String prop_prefix;
- }
- [SimpleType]
- [CCode (cname = "ufbx_texture_file", destroy_function = "", has_type_id = false)]
- public struct TextureFile
- {
- public uint32 index;
- public String filename;
- public String absolute_filename;
- public String relative_filename;
- public Blob raw_filename;
- public Blob raw_absolute_filename;
- public Blob raw_relative_filename;
- public Blob content;
- }
- [CCode (cname = "ufbx_texture_file_list", destroy_function = "", has_type_id = false)]
- public struct TextureFileList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public TextureFile[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_texture", destroy_function = "", has_type_id = false)]
- public class Texture
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public TextureType type;
- public String filename;
- public String absolute_filename;
- public String relative_filename;
- public Blob raw_filename;
- public Blob raw_absolute_filename;
- public Blob raw_relative_filename;
- public Blob content;
- public unowned Video? video;
- public uint32 file_index;
- public bool has_file;
- public TextureLayerList layers;
- public unowned ShaderTexture? shader;
- public TextureList file_textures;
- public String uv_set;
- public WrapMode wrap_u;
- public WrapMode wrap_v;
- public bool has_uv_transform;
- public Transform uv_transform;
- public Matrix texture_to_uv;
- public Matrix uv_to_texture;
- }
- [Compact]
- [CCode (cname = "ufbx_video", destroy_function = "", has_type_id = false)]
- public class Video
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public String filename;
- public String absolute_filename;
- public String relative_filename;
- public Blob raw_filename;
- public Blob raw_absolute_filename;
- public Blob raw_relative_filename;
- public Blob content;
- }
- [Compact]
- [CCode (cname = "ufbx_shader", destroy_function = "", has_type_id = false)]
- public class Shader
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public ShaderType type;
- public ShaderBindingList bindings;
- }
- [SimpleType]
- [CCode (cname = "ufbx_shader_prop_binding", destroy_function = "", has_type_id = false)]
- public struct ShaderPropBinding
- {
- public String shader_prop;
- public String material_prop;
- }
- [CCode (cname = "ufbx_shader_prop_binding_list", destroy_function = "", has_type_id = false)]
- public struct ShaderPropBindingList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public ShaderPropBinding[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_shader_binding", destroy_function = "", has_type_id = false)]
- public class ShaderBinding
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public ShaderPropBindingList prop_bindings;
- }
- [SimpleType]
- [CCode (cname = "ufbx_prop_override", destroy_function = "", has_type_id = false)]
- public struct PropOverride
- {
- public uint32 element_id;
- public uint32 _internal_key;
- public String prop_name;
- public Vec4 value;
- public String value_str;
- public int64 value_int;
- }
- [CCode (cname = "ufbx_prop_override_list", destroy_function = "", has_type_id = false)]
- public struct PropOverrideList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public PropOverride[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_transform_override", destroy_function = "", has_type_id = false)]
- public struct TransformOverride
- {
- public uint32 node_id;
- public Transform transform;
- }
- [CCode (cname = "ufbx_transform_override_list", destroy_function = "", has_type_id = false)]
- public struct TransformOverrideList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public TransformOverride[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_anim", destroy_function = "", has_type_id = false)]
- public class Anim
- {
- public double time_begin;
- public double time_end;
- public AnimLayerList layers;
- public RealList override_layer_weights;
- public PropOverrideList prop_overrides;
- public TransformOverrideList transform_overrides;
- public bool ignore_connections;
- public bool custom;
- }
- [Compact]
- [CCode (cname = "ufbx_anim_stack", destroy_function = "", has_type_id = false)]
- public class AnimStack
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public double time_begin;
- public double time_end;
- public AnimLayerList layers;
- public unowned Anim anim;
- }
- [SimpleType]
- [CCode (cname = "ufbx_anim_prop", destroy_function = "", has_type_id = false)]
- public struct AnimProp
- {
- public unowned Element element;
- public uint32 _internal_key;
- public String prop_name;
- public unowned AnimValue anim_value;
- }
- [CCode (cname = "ufbx_anim_list", destroy_function = "", has_type_id = false)]
- public struct AnimPropList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public AnimProp[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_anim_layer", destroy_function = "", has_type_id = false)]
- public class AnimLayer
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public Real weight;
- public bool weight_is_animated;
- public bool blended;
- public bool additive;
- public bool compose_rotation;
- public bool compose_scale;
- public AnimValueList anim_values;
- public AnimPropList anim_props;
- public unowned Anim anim;
- public uint32 _min_element_id;
- public uint32 _max_element_id;
- public uint32 _element_id_bitmask[4];
- }
- [Compact]
- [CCode (cname = "ufbx_anim_value", destroy_function = "", has_type_id = false)]
- public class AnimValue
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public Vec3 default_value;
- public unowned AnimCurve? curves[3];
- }
- [CCode (cname = "ufbx_interpolation", cprefix = "UFBX_INTERPOLATION_", has_type_id = false)]
- public enum Interpolation
- {
- CONSTANT_PREV,
- CONSTANT_NEXT,
- LINEAR,
- CUBIC,
- COUNT
- }
- [CCode (cname = "ufbx_tangent", destroy_function = "", has_type_id = false)]
- public struct Tangent
- {
- public float dx;
- public float dy;
- }
- [SimpleType]
- [CCode (cname = "ufbx_keyframe", destroy_function = "", has_type_id = false)]
- public struct Keyframe
- {
- public double time;
- public Real value;
- public Interpolation interpolation;
- public Tangent left;
- public Tangent right;
- }
- [CCode (cname = "ufbx_keyframe_list", destroy_function = "", has_type_id = false)]
- public struct KeyframeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Keyframe[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_anim_curve", destroy_function = "", has_type_id = false)]
- public class AnimCurve
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public KeyframeList keyframes;
- public Extrapolation pre_extrapolation;
- public Extrapolation post_extrapolation;
- public Real min_value;
- public Real max_value;
- public double min_time;
- public double max_time;
- }
- [Compact]
- [CCode (cname = "ufbx_display_layer", destroy_function = "", has_type_id = false)]
- public class DisplayLayer
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public NodeList nodes;
- public bool visible;
- public bool frozen;
- public Vec3 ui_color;
- }
- [Compact]
- [CCode (cname = "ufbx_selection_set", destroy_function = "", has_type_id = false)]
- public class SelectionSet
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public SelectionNodeList nodes;
- }
- [Compact]
- [CCode (cname = "ufbx_selection_node", destroy_function = "", has_type_id = false)]
- public class SelectionNode
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public unowned Node? target_node;
- public unowned Mesh? target_mesh;
- public bool include_node;
- public Uint32List vertices;
- public Uint32List edges;
- public Uint32List faces;
- }
- [Compact]
- [CCode (cname = "ufbx_character", destroy_function = "", has_type_id = false)]
- public class Character
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- }
- [CCode (cname = "ufbx_constraint_type", cprefix = "UFBX_CONSTRAINT_", has_type_id = false)]
- public enum ConstraintType
- {
- UNKNOWN,
- AIM,
- PARENT,
- POSITION,
- ROTATION,
- SCALE,
- SINGLE_CHAIN_IK,
- TYPE_COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_constraint_target", destroy_function = "", has_type_id = false)]
- public struct ConstraintTarget
- {
- public unowned Node node;
- public Real weight;
- public Transform transform;
- }
- [CCode (cname = "ufbx_constraint_target_list", destroy_function = "", has_type_id = false)]
- public struct ConstraintTargetList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public ConstraintTarget[] data;
- }
- [CCode (cname = "ufbx_constraint_aim_up_type", cprefix = "UFBX_CONSTRAINT_AIM_UP_", has_type_id = false)]
- public enum ConstraintAimUpType
- {
- SCENE,
- TO_NODE,
- ALIGN_NODE,
- VECTOR,
- NONE,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_constraint_ik_pole_type", cprefix = "UFBX_CONSTRAINT_IK_POLE_", has_type_id = false)]
- public enum ConstraintIkPoleType
- {
- VECTOR,
- NODE,
- TYPE_COUNT
- }
- [Compact]
- [CCode (cname = "ufbx_constraint", destroy_function = "", has_type_id = false)]
- public class Constraint
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public ConstraintType type;
- public String type_name;
- public unowned Node? node;
- public ConstraintTargetList targets;
- public Real weight;
- public bool active;
- public bool constrain_translation[3];
- public bool constrain_rotation[3];
- public bool constrain_scale[3];
- public Transform transform_offset;
- public Vec3 aim_vector;
- public ConstraintAimUpType aim_up_type;
- public unowned Node? aim_up_node;
- public Vec3 aim_up_vector;
- public unowned Node? ik_effector;
- public unowned Node? ik_end_node;
- public Vec3 ik_pole_vector;
- }
- [Compact]
- [CCode (cname = "ufbx_audio_layer", destroy_function = "", has_type_id = false)]
- public class AudioLayer
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public AudioClipList clips;
- }
- [Compact]
- [CCode (cname = "ufbx_audio_clip", destroy_function = "", has_type_id = false)]
- public class AudioClip
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public String filename;
- public String absolute_filename;
- public String relative_filename;
- public Blob raw_filename;
- public Blob raw_absolute_filename;
- public Blob raw_relative_filename;
- public Blob content;
- }
- [SimpleType]
- [CCode (cname = "ufbx_bone_pose", destroy_function = "", has_type_id = false)]
- public struct BonePose
- {
- public unowned Node bone_node;
- public Matrix bone_to_world;
- public Matrix bone_to_parent;
- }
- [CCode (cname = "ufbx_bone_pose_list", destroy_function = "", has_type_id = false)]
- public struct BonePoseList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BonePose[] data;
- }
- [Compact]
- [CCode (cname = "ufbx_pose", destroy_function = "", has_type_id = false)]
- public class Pose
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- public bool is_bind_pose;
- public BonePoseList bone_poses;
- }
- [Compact]
- [CCode (cname = "ufbx_metadata_object", destroy_function = "", has_type_id = false)]
- public class MetadataObject
- {
- [CCode (cname = "element")]
- public Element element;
- [CCode (cname = "name")]
- public String name;
- [CCode (cname = "props")]
- public Props props;
- [CCode (cname = "element_id")]
- public uint32 element_id;
- [CCode (cname = "typed_id")]
- public uint32 typed_id;
- }
- [SimpleType]
- [CCode (cname = "ufbx_name_element", destroy_function = "", has_type_id = false)]
- public struct NameElement
- {
- public String name;
- public ElementType type;
- public uint32 _internal_key;
- public unowned Element element;
- }
- [CCode (cname = "ufbx_name_element_list", destroy_function = "", has_type_id = false)]
- public struct NameElementList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public NameElement[] data;
- }
- [CCode (cname = "ufbx_exporter", cprefix = "UFBX_EXPORTER_", has_type_id = false)]
- public enum Exporter
- {
- UNKNOWN,
- FBX_SDK,
- BLENDER_BINARY,
- BLENDER_ASCII,
- MOTION_BUILDER,
- COUNT
- }
- [CCode (cname = "ufbx_application", destroy_function = "", has_type_id = false)]
- public struct Application
- {
- public String vendor;
- public String name;
- public String version;
- }
- [CCode (cname = "ufbx_file_format", cprefix = "UFBX_FILE_FORMAT_", has_type_id = false)]
- public enum FileFormat
- {
- UNKNOWN,
- FBX,
- OBJ,
- MTL,
- COUNT
- }
- [CCode (cname = "ufbx_warning_type", cprefix = "UFBX_WARNING_", has_type_id = false)]
- public enum WarningType
- {
- MISSING_EXTERNAL_FILE,
- IMPLICIT_MTL,
- TRUNCATED_ARRAY,
- MISSING_GEOMETRY_DATA,
- DUPLICATE_CONNECTION,
- BAD_VERTEX_W_ATTRIBUTE,
- MISSING_POLYGON_MAPPING,
- UNSUPPORTED_VERSION,
- INDEX_CLAMPED,
- BAD_UNICODE,
- BAD_BASE64_CONTENT,
- BAD_ELEMENT_CONNECTED_TO_ROOT,
- DUPLICATE_OBJECT_ID,
- EMPTY_FACE_REMOVED,
- UNKNOWN_OBJ_DIRECTIVE,
- TYPE_COUNT,
- TYPE_FIRST_DEDUPLICATED = WarningType.INDEX_CLAMPED
- }
- [SimpleType]
- [CCode (cname = "ufbx_warning", destroy_function = "", has_type_id = false)]
- public struct Warning
- {
- public WarningType type;
- public String description;
- public uint32 element_id;
- public size_t count;
- }
- [CCode (cname = "ufbx_warning_list", destroy_function = "", has_type_id = false)]
- public struct WarningList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Warning[] data;
- }
- [CCode (cname = "ufbx_thumbnail_format", cprefix = "UFBX_THUMBNAIL_FORMAT_", has_type_id = false)]
- public enum ThumbnailFormat
- {
- UNKNOWN,
- RGB_24,
- RGBA_32,
- COUNT
- }
- [CCode (cname = "ufbx_space_conversion", cprefix = "UFBX_SPACE_CONVERSION_", has_type_id = false)]
- public enum SpaceConversion
- {
- TRANSFORM_ROOT,
- ADJUST_TRANSFORMS,
- MODIFY_GEOMETRY,
- COUNT
- }
- [CCode (cname = "ufbx_geometry_transform_handling", cprefix = "UFBX_GEOMETRY_TRANSFORM_HANDLING_", has_type_id = false)]
- public enum GeometryTransformHandling
- {
- PRESERVE,
- HELPER_NODES,
- MODIFY_GEOMETRY,
- MODIFY_GEOMETRY_NO_FALLBACK,
- COUNT
- }
- [CCode (cname = "ufbx_inherit_mode_handling", cprefix = "UFBX_INHERIT_MODE_HANDLING_", has_type_id = false)]
- public enum InheritModeHandling
- {
- PRESERVE,
- HELPER_NODES,
- COMPENSATE,
- COMPENSATE_NO_FALLBACK,
- IGNORE,
- COUNT
- }
- [CCode (cname = "ufbx_pivot_handling", cprefix = "UFBX_PIVOT_HANDLING_", has_type_id = false)]
- public enum PivotHandling
- {
- RETAIN,
- ADJUST_TO_PIVOT,
- ADJUST_TO_ROTATION_PIVOT,
- COUNT
- }
- [CCode (cname = "ufbx_thumbnail", destroy_function = "", has_type_id = false)]
- public struct Thumbnail
- {
- public Props props;
- public uint32 width;
- public uint32 height;
- public ThumbnailFormat format;
- public Blob data;
- }
- [CCode (cname = "ufbx_metadata", destroy_function = "", has_type_id = false)]
- public struct Metadata
- {
- public WarningList warnings;
- public bool ascii;
- public uint32 version;
- public FileFormat file_format;
- public bool may_contain_no_index;
- public bool may_contain_missing_vertex_position;
- public bool may_contain_broken_elements;
- public bool is_unsafe;
- public bool has_warning[WarningType.TYPE_COUNT];
- public String creator;
- public bool big_endian;
- public String filename;
- public String relative_root;
- public Blob raw_filename;
- public Blob raw_relative_root;
- public Exporter exporter;
- public uint32 exporter_version;
- public Props scene_props;
- public Application original_application;
- public Application latest_application;
- public Thumbnail thumbnail;
- public bool geometry_ignored;
- public bool animation_ignored;
- public bool embedded_ignored;
- public size_t max_face_triangles;
- public size_t result_memory_used;
- public size_t temp_memory_used;
- public size_t result_allocs;
- public size_t temp_allocs;
- public size_t element_buffer_size;
- public size_t num_shader_textures;
- public Real bone_prop_size_unit;
- public bool bone_prop_limb_length_relative;
- public Real ortho_size_unit;
- public int64 ktime_second;
- public String original_file_path;
- public Blob raw_original_file_path;
- public SpaceConversion space_conversion;
- public GeometryTransformHandling geometry_transform_handling;
- public InheritModeHandling inherit_mode_handling;
- public PivotHandling pivot_handling;
- public MirrorAxis handedness_conversion_axis;
- public Quat root_rotation;
- public Real root_scale;
- public MirrorAxis mirror_axis;
- public Real geometry_scale;
- }
- [CCode (cname = "ufbx_time_mode", cprefix = "UFBX_TIME_MODE_", has_type_id = false)]
- public enum TimeMode
- {
- DEFAULT,
- 120_FPS,
- 100_FPS,
- 60_FPS,
- 50_FPS,
- 48_FPS,
- 30_FPS,
- 30_FPS_DROP,
- NTSC_DROP_FRAME,
- NTSC_FULL_FRAME,
- PAL,
- 24_FPS,
- 1000_FPS,
- FILM_FULL_FRAME,
- CUSTOM,
- 96_FPS,
- 72_FPS,
- 59_94_FPS,
- COUNT
- }
- [CCode (cname = "ufbx_time_protocol", cprefix = "UFBX_TIME_PROTOCOL_", has_type_id = false)]
- public enum TimeProtocol
- {
- SMPTE,
- FRAME_COUNT,
- DEFAULT,
- COUNT
- }
- [CCode (cname = "ufbx_snap_mode", cprefix = "UFBX_SNAP_MODE_", has_type_id = false)]
- public enum SnapMode
- {
- NONE,
- SNAP,
- PLAY,
- SNAP_AND_PLAY,
- COUNT
- }
- [CCode (cname = "ufbx_scene_settings", destroy_function = "", has_type_id = false)]
- public struct SceneSettings
- {
- public Props props;
- public CoordinateAxes axes;
- public Real unit_meters;
- public double frames_per_second;
- public Vec3 ambient_color;
- public String default_camera;
- public TimeMode time_mode;
- public TimeProtocol time_protocol;
- public SnapMode snap_mode;
- public CoordinateAxis original_axis_up;
- public Real original_unit_meters;
- }
- [Compact]
- [CCode (cname = "ufbx_scene", free_function = "ufbx_free_scene", has_type_id = false)]
- public class Scene
- {
- public Metadata metadata;
- public SceneSettings settings;
- public unowned Node root_node;
- public unowned Anim anim;
- [CCode (cname = "unknowns")]
- public UnknownList unknowns;
- [CCode (cname = "nodes")]
- public NodeList nodes;
- [CCode (cname = "meshes")]
- public MeshList meshes;
- [CCode (cname = "lights")]
- public LightList lights;
- [CCode (cname = "cameras")]
- public CameraList cameras;
- [CCode (cname = "bones")]
- public BoneList bones;
- [CCode (cname = "empties")]
- public EmptyList empties;
- [CCode (cname = "line_curves")]
- public LineCurveList line_curves;
- [CCode (cname = "nurbs_curves")]
- public NurbsCurveList nurbs_curves;
- [CCode (cname = "nurbs_surfaces")]
- public NurbsSurfaceList nurbs_surfaces;
- [CCode (cname = "nurbs_trim_surfaces")]
- public NurbsTrimSurfaceList nurbs_trim_surfaces;
- [CCode (cname = "nurbs_trim_boundaries")]
- public NurbsTrimBoundaryList nurbs_trim_boundaries;
- [CCode (cname = "procedural_geometries")]
- public ProceduralGeometryList procedural_geometries;
- [CCode (cname = "stereo_cameras")]
- public StereoCameraList stereo_cameras;
- [CCode (cname = "camera_switchers")]
- public CameraSwitcherList camera_switchers;
- [CCode (cname = "markers")]
- public MarkerList markers;
- [CCode (cname = "lod_groups")]
- public LogGroupList lod_groups;
- [CCode (cname = "skin_deformers")]
- public SkinDeformerList skin_deformers;
- [CCode (cname = "skin_clusters")]
- public SkinClusterList skin_clusters;
- [CCode (cname = "blend_deformers")]
- public BlendDeformerList blend_deformers;
- [CCode (cname = "blend_channels")]
- public BlendChannelList blend_channels;
- [CCode (cname = "blend_shapes")]
- public BlendShapeList blend_shapes;
- [CCode (cname = "cache_deformers")]
- public CacheDeformerList cache_deformers;
- [CCode (cname = "cache_files")]
- public CacheFileList cache_files;
- [CCode (cname = "materials")]
- public MaterialList materials;
- [CCode (cname = "textures")]
- public TextureList textures;
- [CCode (cname = "videos")]
- public VideoList videos;
- [CCode (cname = "shaders")]
- public ShaderList shaders;
- [CCode (cname = "shader_bindings")]
- public ShaderBindingList shader_bindings;
- [CCode (cname = "anim_stacks")]
- public AnimStackList anim_stacks;
- [CCode (cname = "anim_layers")]
- public AnimLayerList anim_layers;
- [CCode (cname = "anim_values")]
- public AnimValueList anim_values;
- [CCode (cname = "anim_curves")]
- public AnimCurveList anim_curves;
- [CCode (cname = "display_layers")]
- public DisplayLayerList display_layers;
- [CCode (cname = "selection_sets")]
- public SelectionSetList selection_sets;
- [CCode (cname = "selection_nodes")]
- public SelectionNodeList selection_nodes;
- [CCode (cname = "characters")]
- public CharacterList characters;
- [CCode (cname = "constraints")]
- public ConstraintList constraints;
- [CCode (cname = "audio_layers")]
- public AudioLayerList audio_layers;
- [CCode (cname = "audio_clips")]
- public AudioClipList audio_clips;
- [CCode (cname = "poses")]
- public PoseList poses;
- [CCode (cname = "metadata_objects")]
- public MetadataObjectList metadata_objects;
- [CCode (cname = "elements_by_type")]
- public ElementList elements_by_type[ElementType.TYPE_COUNT];
- public TextureFileList texture_files;
- public ElementList elements;
- public ConnectionList connections_src;
- public ConnectionList connections_dst;
- public NameElementList elements_by_name;
- public unowned DomNode? dom_root;
- [CCode (cname = "ufbx_load_memory")]
- public static Scene? load_memory(void* data, size_t data_size, LoadOpts opts, ref Error error);
- [CCode (cname = "ufbx_load_file")]
- public static Scene? load_file(string filename, LoadOpts opts, ref Error error);
- [CCode (cname = "ufbx_load_file_len")]
- public static Scene? load_file_len(string filename, size_t filename_len, LoadOpts opts, ref Error error);
- }
- [CCode (cname = "ufbx_curve_point", destroy_function = "", has_type_id = false)]
- public struct CurvePoint
- {
- public bool valid;
- public Vec3 position;
- public Vec3 derivative;
- }
- [CCode (cname = "ufbx_surface_point", destroy_function = "", has_type_id = false)]
- public struct SurfacePoint
- {
- public bool valid;
- public Vec3 position;
- public Vec3 derivative_u;
- public Vec3 derivative_v;
- }
- [CCode (cname = "ufbx_topo_flags", cprefix = "UFBX_TOPO_", has_type_id = false)]
- [Flags]
- public enum TopoFlags
- {
- NON_MANIFOLD
- }
- [CCode (cname = "ufbx_topo_edge", destroy_function = "", has_type_id = false)]
- public struct TopoEdge
- {
- public uint32 index;
- public uint32 next;
- public uint32 prev;
- public uint32 twin;
- public uint32 face;
- public uint32 edge;
- public TopoFlags flags;
- }
- [CCode (cname = "ufbx_vertex_stream", destroy_function = "", has_type_id = false)]
- public struct VertexStream
- {
- [CCode (array_length_cname = "vertex_count", array_length_type = "size_t")]
- public void[] data;
- public size_t vertex_size;
- }
- [CCode (cname = "ufbx_alloc_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void* AllocFn(size_t size);
- [CCode (cname = "ufbx_realloc_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void* ReallocFn(void* old_ptr, size_t old_size, size_t new_size);
- [CCode (cname = "ufbx_free_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void FreeFn(void* ptr, size_t size);
- [CCode (cname = "ufbx_free_allocator_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void FreeAllocatorFn();
- [CCode (cname = "ufbx_allocator", destroy_function = "", has_type_id = false)]
- public struct Allocator
- {
- public AllocFn alloc_fn;
- public ReallocFn realloc_fn;
- public FreeFn free_fn;
- public FreeAllocatorFn free_allocator_fn;
- public void* user;
- }
- [CCode (cname = "ufbx_allocator_opts", destroy_function = "", has_type_id = false)]
- public struct AllocatorOpts
- {
- public Allocator allocator;
- public size_t memory_limit;
- public size_t allocation_limit;
- public size_t huge_threshold;
- public size_t max_chunk_size;
- }
- [CCode (cname = "ufbx_read_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate size_t ReadFn(void* data, size_t size);
- [CCode (cname = "ufbx_skip_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate bool SkipFn(size_t size);
- [CCode (cname = "ufbx_size_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate uint64 SizeFn();
- [CCode (cname = "ufbx_close_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void CloseFn();
- [CCode (cname = "ufbx_stream", destroy_function = "", has_type_id = false)]
- public struct Stream
- {
- public ReadFn read_fn;
- public SkipFn skip_fn;
- public SizeFn size_fn;
- public CloseFn close_fn;
- public void* user;
- }
- [CCode (cname = "ufbx_open_file_type", cprefix = "UFBX_OPEN_FILE_", has_type_id = false)]
- public enum OpenFileType
- {
- MAIN_MODEL,
- GEOMETRY_CACHE,
- OBJ_MTL,
- TYPE_COUNT
- }
- [SimpleType]
- [CCode (cname = "ufbx_open_file_context", has_type_id = false)]
- public struct OpenFileContext : uintptr
- {
- }
- [CCode (cname = "ufbx_open_file_info", destroy_function = "", has_type_id = false)]
- public struct OpenFileInfo
- {
- public OpenFileContext context;
- public OpenFileType type;
- public Blob original_filename;
- }
- [CCode (cname = "ufbx_open_file_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate bool OpenFileFn(Stream stream, string path, size_t path_len, OpenFileInfo info);
- [CCode (cname = "ufbx_open_file_cb", destroy_function = "", has_type_id = false)]
- public struct OpenFileCb
- {
- public OpenFileFn fn;
- public void* user;
- }
- [CCode (cname = "ufbx_open_file_opts", destroy_function = "", has_type_id = false)]
- public struct OpenFileOptions
- {
- public uint32 _begin_zero;
- public AllocatorOpts allocator;
- public bool filename_null_terminated;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_close_memory_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void CloseMemoryFn(void* data, size_t data_size);
- [CCode (cname = "ufbx_close_memory_cb", destroy_function = "", has_type_id = false)]
- public struct CloseMemoryCb
- {
- public CloseMemoryFn fn;
- public void* user;
- }
- [CCode (cname = "ufbx_open_memory_opts", destroy_function = "", has_type_id = false)]
- public struct OpenMemoryOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts allocator;
- public bool no_copy;
- public CloseMemoryCb close_cb;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_error_frame", destroy_function = "", has_type_id = false)]
- public struct ErrorFrame
- {
- public uint32 source_line;
- public String function;
- public String description;
- }
- [CCode (cname = "ufbx_error_type", cprefix = "UFBX_ERROR_", has_type_id = false)]
- public enum ErrorType
- {
- NONE,
- UNKNOWN,
- FILE_NOT_FOUND,
- EMPTY_FILE,
- EXTERNAL_FILE_NOT_FOUND,
- OUT_OF_MEMORY,
- MEMORY_LIMIT,
- ALLOCATION_LIMIT,
- TRUNCATED_FILE,
- IO,
- CANCELLED,
- UNRECOGNIZED_FILE_FORMAT,
- UNINITIALIZED_OPTIONS,
- ZERO_VERTEX_SIZE,
- TRUNCATED_VERTEX_STREAM,
- INVALID_UTF8,
- FEATURE_DISABLED,
- BAD_NURBS,
- BAD_INDEX,
- NODE_DEPTH_LIMIT,
- THREADED_ASCII_PARSE,
- UNSAFE_OPTIONS,
- DUPLICATE_OVERRIDE,
- UNSUPPORTED_VERSION,
- TYPE_COUNT
- }
- [CCode (cname = "ufbx_error", destroy_function = "", has_type_id = false)]
- public struct Error
- {
- public ErrorType type;
- public String description;
- public uint32 stack_size;
- public ErrorFrame stack[ERROR_STACK_MAX_DEPTH];
- public size_t info_length;
- public char info[ERROR_INFO_LENGTH];
- }
- [CCode (cname = "ufbx_progress", destroy_function = "", has_type_id = false)]
- public struct Progress
- {
- public uint64 bytes_read;
- public uint64 bytes_total;
- }
- [CCode (cname = "ufbx_progress_result", cprefix = "UFBX_PROGRESS_", has_type_id = false)]
- [Flags]
- public enum ProgressResult
- {
- CONTINUE,
- CANCEL
- }
- [CCode (cname = "ufbx_progress_fn", destroy_function = "", has_type_id = false)]
- public delegate ProgressResult ProgressFn(Progress progress);
- [CCode (cname = "ufbx_progress_cb", destroy_function = "", has_type_id = false)]
- public struct ProgressCb
- {
- public ProgressFn fn;
- public void* user;
- }
- [CCode (cname = "ufbx_inflate_input", destroy_function = "", has_type_id = false)]
- public struct InflateInput
- {
- public size_t total_size;
- public void* data;
- public size_t data_size;
- public void* buffer;
- public size_t buffer_size;
- public ReadFn read_fn;
- public void* read_user;
- public ProgressCb progress_cb;
- public uint64 progress_interval_hint;
- public uint64 progress_size_before;
- public uint64 progress_size_after;
- public bool no_header;
- public bool no_checksum;
- public size_t internal_fast_bits;
- }
- [CCode (cname = "ufbx_inflate_retain", destroy_function = "", has_type_id = false)]
- struct InflateRetain
- {
- public bool initialized;
- public uint64 data[1024];
- }
- [CCode (cname = "ufbx_index_error_handling", cprefix = "UFBX_INDEX_ERROR_HANDLING_", has_type_id = false)]
- public enum IndexErrorHandling
- {
- CLAMP,
- NO_INDEX,
- ABORT_LOADING,
- UNSAFE_IGNORE,
- COUNT
- }
- [CCode (cname = "ufbx_unicode_error_handling", cprefix = "UFBX_UNICODE_ERROR_HANDLING_", has_type_id = false)]
- public enum UnicodeErrorHandling
- {
- REPLACEMENT_CHARACTER,
- UNDERSCORE,
- QUESTION_MARK,
- REMOVE,
- ABORT_LOADING,
- UNSAFE_IGNORE,
- COUNT
- }
- [CCode (cname = "ufbx_baked_key_flags", cprefix = "UFBX_BAKED_KEY_", has_type_id = false)]
- [Flags]
- public enum BakedKeyFlags
- {
- STEP_LEFT,
- STEP_RIGHT,
- STEP_KEY,
- KEYFRAME,
- REDUCED
- }
- [SimpleType]
- [CCode (cname = "ufbx_baked_vec3", destroy_function = "", has_type_id = false)]
- public struct BakedVec3
- {
- public double time;
- public Vec3 value;
- public BakedKeyFlags flags;
- }
- [CCode (cname = "ufbx_baked_vec3_list", destroy_function = "", has_type_id = false)]
- public struct BakedVec3List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BakedVec3[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_baked_quat", destroy_function = "", has_type_id = false)]
- public struct BakedQuat
- {
- public double time;
- public Quat value;
- public BakedKeyFlags flags;
- }
- [CCode (cname = "ufbx_baked_quat_list", destroy_function = "", has_type_id = false)]
- public struct BakedQuatList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BakedQuat[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_baked_node", destroy_function = "", has_type_id = false)]
- public struct BakedNode
- {
- public uint32 typed_id;
- public uint32 element_id;
- public bool constant_translation;
- public bool constant_rotation;
- public bool constant_scale;
- public BakedVec3List translation_keys;
- public BakedQuatList rotation_keys;
- public BakedVec3List scale_keys;
- }
- [CCode (cname = "ufbx_baked_node_list", destroy_function = "", has_type_id = false)]
- public struct BakedNodeList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BakedNode[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_baked_prop", destroy_function = "", has_type_id = false)]
- public struct BakedProp
- {
- public String name;
- public bool constant_value;
- public BakedVec3List keys;
- }
- [CCode (cname = "ufbx_baked_prop_list", destroy_function = "", has_type_id = false)]
- public struct BakedPropList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BakedProp[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_baked_element", destroy_function = "", has_type_id = false)]
- public struct BakedElement
- {
- public uint32 element_id;
- public BakedPropList props;
- }
- [CCode (cname = "ufbx_baked_element_list", destroy_function = "", has_type_id = false)]
- public struct BakedElementList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public BakedElement[] data;
- }
- [CCode (cname = "ufbx_baked_anim_metadata", destroy_function = "", has_type_id = false)]
- public struct BakedAnimMetadata
- {
- public size_t result_memory_used;
- public size_t temp_memory_used;
- public size_t result_allocs;
- public size_t temp_allocs;
- }
- [CCode (cname = "ufbx_baked_anim", destroy_function = "", has_type_id = false)]
- public struct BakedAnim
- {
- public BakedNodeList nodes;
- public BakedElementList elements;
- public double playback_time_begin;
- public double playback_time_end;
- public double playback_duration;
- public double key_time_min;
- public double key_time_max;
- public BakedAnimMetadata metadata;
- }
- //
- [CCode (cname = "ufbx_thread_pool_context", has_type_id = false)]
- [SimpleType]
- public struct ThreadPoolContext : uintptr
- {
- }
- [CCode (cname = "ufbx_thread_pool_info", destroy_function = "", has_type_id = false)]
- public struct ThreadPoolInfo
- {
- public uint32 max_concurrent_tasks;
- }
- [CCode (cname = "ufbx_thread_pool_init_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate bool ThreadPoolInitFn(ThreadPoolContext ctx, ThreadPoolInfo info);
- [CCode (cname = "ufbx_thread_pool_run_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate bool ThreadPoolRunFn(ThreadPoolContext ctx, uint32 group, uint32 start_index, uint32 count);
- [CCode (cname = "ufbx_thread_pool_wait_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate bool ThreadPoolWaitFn(ThreadPoolContext ctx, uint32 group, uint32 max_index);
- [CCode (cname = "ufbx_thread_pool_free_fn", has_target = true, delegate_target_pos = 0.9)]
- public delegate void ThreadPoolFreeFn(ThreadPoolContext ctx);
- [CCode (cname = "ufbx_thread_pool", destroy_function = "", has_type_id = false)]
- public struct ThreadPool
- {
- public ThreadPoolInitFn init_fn;
- public ThreadPoolRunFn run_fn;
- public ThreadPoolWaitFn wait_fn;
- public ThreadPoolFreeFn free_fn;
- public void* user;
- }
- [CCode (cname = "ufbx_thread_opts", destroy_function = "", has_type_id = false)]
- public struct ThreadOpts
- {
- public ThreadPool pool;
- public size_t num_tasks;
- public size_t memory_limit;
- }
- [CCode (cname = "ufbx_evaluate_flags", cprefix = "UFBX_EVALUATE_FLAG_", has_type_id = false)]
- public enum EvaluateFlags
- {
- NO_EXTRAPOLATION,
- }
- [CCode (cname = "ufbx_load_opts", destroy_function = "", has_type_id = false)]
- public struct LoadOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts temp_allocator;
- public AllocatorOpts result_allocator;
- public ThreadOpts thread_opts;
- public bool ignore_geometry;
- public bool ignore_animation;
- public bool ignore_embedded;
- public bool ignore_all_content;
- public bool evaluate_skinning;
- public bool evaluate_caches;
- public bool load_external_files;
- public bool ignore_missing_external_files;
- public bool skip_skin_vertices;
- public bool skip_mesh_parts;
- public bool clean_skin_weights;
- public bool use_blender_pbr_material;
- public bool disable_quirks;
- public bool strict;
- public bool force_single_thread_ascii_parsing;
- public bool allow_unsafe;
- public IndexErrorHandling index_error_handling;
- public bool connect_broken_elements;
- public bool allow_nodes_out_of_root;
- public bool allow_missing_vertex_position;
- public bool allow_empty_faces;
- public bool generate_missing_normals;
- public bool open_main_file_with_default;
- public char path_separator;
- public uint32 node_depth_limit;
- public uint64 file_size_estimate;
- public size_t read_buffer_size;
- public String filename;
- public Blob raw_filename;
- public ProgressCb progress_cb;
- public uint64 progress_interval_hint;
- public OpenFileCb open_file_cb;
- public GeometryTransformHandling geometry_transform_handling;
- public InheritModeHandling inherit_mode_handling;
- public SpaceConversion space_conversion;
- public PivotHandling pivot_handling;
- public bool pivot_handling_retain_empties;
- public MirrorAxis handedness_conversion_axis;
- public bool handedness_conversion_retain_winding;
- public bool reverse_winding;
- public CoordinateAxes target_axes;
- public Real target_unit_meters;
- public CoordinateAxes target_camera_axes;
- public CoordinateAxes target_light_axes;
- public String geometry_transform_helper_name;
- public String scale_helper_name;
- public bool normalize_normals;
- public bool normalize_tangents;
- public bool use_root_transform;
- public Transform root_transform;
- public double key_clamp_threshold;
- public UnicodeErrorHandling unicode_error_handling;
- public bool retain_vertex_attrib_w;
- public bool retain_dom;
- public FileFormat file_format;
- public size_t file_format_lookahead;
- public bool no_format_from_content;
- public bool no_format_from_extension;
- public bool obj_search_mtl_by_filename;
- public bool obj_merge_objects;
- public bool obj_merge_groups;
- public bool obj_split_groups;
- public String obj_mtl_path;
- public Blob obj_mtl_data;
- public Real obj_unit_meters;
- public CoordinateAxes obj_axes;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_evaluate_opts", destroy_function = "", has_type_id = false)]
- public struct EvaluateOpts
- {
- public uint32 _begin_zero;
- public Allocator temp_allocator;
- public AllocatorOpts result_allocator;
- public bool evaluate_skinning;
- public bool evaluate_caches;
- public uint32 evaluate_flags;
- public bool load_external_files;
- public OpenFileCb open_file_cb;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_const_uint32_list", destroy_function = "", has_type_id = false)]
- public struct ConstUint32List
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public uint32[] data;
- }
- [CCode (cname = "ufbx_const_real_list", destroy_function = "", has_type_id = false)]
- public struct ConstRealList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public Real[] data;
- }
- [SimpleType]
- [CCode (cname = "ufbx_prop_override_desc", destroy_function = "", has_type_id = false)]
- public struct PropOverrideDesc
- {
- public uint32 element_id;
- public String prop_name;
- public Vec4 value;
- public String value_str;
- public int64 value_int;
- }
- [CCode (cname = "ufbx_const_prop_override_desc_list", destroy_function = "", has_type_id = false)]
- public struct ConstPropOverrideDescList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public PropOverrideDesc[] data;
- }
- [CCode (cname = "ufbx_const_transform_override_list", destroy_function = "", has_type_id = false)]
- public struct ConstTransformOverrideList
- {
- [CCode (array_length_cname = "count", array_length_type = "size_t")]
- public TransformOverride[] data;
- }
- [CCode (cname = "ufbx_anim_opts", destroy_function = "", has_type_id = false)]
- public struct AnimOpts
- {
- public uint32 _begin_zero;
- public ConstUint32List layer_ids;
- public ConstRealList override_layer_weights;
- public ConstPropOverrideDescList prop_overrides;
- public ConstTransformOverrideList transform_overrides;
- public bool ignore_connections;
- public AllocatorOpts result_allocator;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_bake_step_handling", cprefix = "UFBX_BAKE_STEP_HANDLING_", has_type_id = false)]
- public enum BakeStepHandling
- {
- DEFAULT,
- CUSTOM_DURATION,
- IDENTICAL_TIME,
- ADJACENT_DOUBLE,
- IGNORE,
- COUNT
- }
- [CCode (cname = "ufbx_bake_opts", destroy_function = "", has_type_id = false)]
- public struct BakeOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts temp_allocator;
- public AllocatorOpts result_allocator;
- public bool trim_start_time;
- public double resample_rate;
- public double minimum_sample_rate;
- public double maximum_sample_rate;
- public bool bake_transform_props;
- public bool skip_node_transforms;
- public bool no_resample_rotation;
- public bool ignore_layer_weight_animation;
- public size_t max_keyframe_segments;
- public BakeStepHandling step_handling;
- public double step_custom_duration;
- public double step_custom_epsilon;
- public uint32 evaluate_flags;
- public bool key_reduction_enabled;
- public bool key_reduction_rotation;
- public double key_reduction_threshold;
- public size_t key_reduction_passes;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_tessellate_curve_opts", destroy_function = "", has_type_id = false)]
- public struct TessellateCurveOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts temp_allocator;
- public AllocatorOpts result_allocator;
- public size_t span_subdivision;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_tessellate_surface_opts", destroy_function = "", has_type_id = false)]
- public struct TessellateSurfaceOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts temp_allocator;
- public AllocatorOpts result_allocator;
- public size_t span_subdivision_u;
- public size_t span_subdivision_v;
- public bool skip_mesh_parts;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_subdivide_opts", destroy_function = "", has_type_id = false)]
- public struct SubdivideOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts temp_allocator;
- public AllocatorOpts result_allocator;
- public SubdivisionBoundary boundary;
- public SubdivisionBoundary uv_boundary;
- public bool ignore_normals;
- public bool interpolate_normals;
- public bool interpolate_tangents;
- public bool evaluate_source_vertices;
- public size_t max_source_vertices;
- public bool evaluate_skin_weights;
- public size_t max_skin_weights;
- public size_t skin_deformer_index;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_geometry_cache_opts", destroy_function = "", has_type_id = false)]
- public struct GeometryCacheOpts
- {
- public uint32 _begin_zero;
- public AllocatorOpts temp_allocator;
- public AllocatorOpts result_allocator;
- public OpenFileCb open_file_cb;
- public double frames_per_second;
- public MirrorAxis mirror_axis;
- public bool use_scale_factor;
- public Real scale_factor;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_geometry_cache_data_opts", destroy_function = "", has_type_id = false)]
- public struct GeometryCacheDataOpts
- {
- public uint32 _begin_zero;
- public OpenFileCb open_file_cb;
- public bool additive;
- public bool use_weight;
- public Real weight;
- public bool ignore_transform;
- public uint32 _end_zero;
- }
- [CCode (cname = "ufbx_panic", destroy_function = "", has_type_id = false)]
- public struct Panic
- {
- public bool did_panic;
- public size_t message_length;
- public char message[PANIC_MESSAGE_LENGTH];
- }
- public bool is_thread_safe();
- } /* namespace ufbx */
|