1#[repr(C)]
2#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
3pub struct __BindgenBitfieldUnit<Storage> {
4 storage: Storage,
5}
6impl<Storage> __BindgenBitfieldUnit<Storage> {
7 #[inline]
8 pub const fn new(storage: Storage) -> Self {
9 Self { storage }
10 }
11}
12impl<Storage> __BindgenBitfieldUnit<Storage>
13where
14 Storage: AsRef<[u8]> + AsMut<[u8]>,
15{
16 #[inline]
17 pub fn get_bit(&self, index: usize) -> bool {
18 debug_assert!(index / 8 < self.storage.as_ref().len());
19 let byte_index = index / 8;
20 let byte = self.storage.as_ref()[byte_index];
21 let bit_index = if cfg!(target_endian = "big") {
22 7 - (index % 8)
23 } else {
24 index % 8
25 };
26 let mask = 1 << bit_index;
27 byte & mask == mask
28 }
29 #[inline]
30 pub fn set_bit(&mut self, index: usize, val: bool) {
31 debug_assert!(index / 8 < self.storage.as_ref().len());
32 let byte_index = index / 8;
33 let byte = &mut self.storage.as_mut()[byte_index];
34 let bit_index = if cfg!(target_endian = "big") {
35 7 - (index % 8)
36 } else {
37 index % 8
38 };
39 let mask = 1 << bit_index;
40 if val {
41 *byte |= mask;
42 } else {
43 *byte &= !mask;
44 }
45 }
46 #[inline]
47 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
48 debug_assert!(bit_width <= 64);
49 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
50 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
51 let mut val = 0;
52 for i in 0..(bit_width as usize) {
53 if self.get_bit(i + bit_offset) {
54 let index = if cfg!(target_endian = "big") {
55 bit_width as usize - 1 - i
56 } else {
57 i
58 };
59 val |= 1 << index;
60 }
61 }
62 val
63 }
64 #[inline]
65 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
66 debug_assert!(bit_width <= 64);
67 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
68 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
69 for i in 0..(bit_width as usize) {
70 let mask = 1 << i;
71 let val_bit_is_set = val & mask == mask;
72 let index = if cfg!(target_endian = "big") {
73 bit_width as usize - 1 - i
74 } else {
75 i
76 };
77 self.set_bit(index + bit_offset, val_bit_is_set);
78 }
79 }
80}
81#[repr(C)]
82pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
83impl<T> __BindgenUnionField<T> {
84 #[inline]
85 pub const fn new() -> Self {
86 __BindgenUnionField(::std::marker::PhantomData)
87 }
88 #[inline]
89 pub unsafe fn as_ref(&self) -> &T {
90 ::std::mem::transmute(self)
91 }
92 #[inline]
93 pub unsafe fn as_mut(&mut self) -> &mut T {
94 ::std::mem::transmute(self)
95 }
96}
97impl<T> ::std::default::Default for __BindgenUnionField<T> {
98 #[inline]
99 fn default() -> Self {
100 Self::new()
101 }
102}
103impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
104 #[inline]
105 fn clone(&self) -> Self {
106 Self::new()
107 }
108}
109impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
110impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
111 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
112 fmt.write_str("__BindgenUnionField")
113 }
114}
115impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
116 fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
117}
118impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
119 fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
120 true
121 }
122}
123impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
124pub const __SAL_H_VERSION: u32 = 180000000;
125pub const __bool_true_false_are_defined: u32 = 1;
126pub const TYPE__CAMERA_CONTROLLER_COMPONENT: &'static [u8; 31usize] =
127 b"tm_camera_controller_component\0";
128pub const TM_MAX_RENDER_COMPONENTS: u32 = 64;
129pub const TM_MAX_SHADER_DATA_COMPONENTS: u32 = 15;
130pub const TM_VIEWPORT_HUD_HEIGHT: f64 = 25.0;
131pub const TM_VIEWPORT_HUD_OUTER_MARGIN_X: f64 = 5.0;
132pub const TM_VIEWPORT_HUD_OUTER_MARGIN_Y: f64 = 5.0;
133pub const TM_VIEWPORT_HUD_INNER_MARGIN: f64 = 5.0;
134extern "C" {
135 pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
136}
137pub type __vcrt_bool = bool;
138extern "C" {
139 pub fn __security_init_cookie();
140}
141extern "C" {
142 pub fn __security_check_cookie(_StackCookie: usize);
143}
144extern "C" {
145 pub fn __report_gsfailure(_StackCookie: usize);
146}
147extern "C" {
148 pub static mut __security_cookie: usize;
149}
150#[repr(C)]
151#[derive(Copy, Clone)]
152pub union TtIdTBindgenTy1 {
153 pub u64_: u64,
154 pub __bindgen_anon_1: TtIdTBindgenTy1BindgenTy1,
155}
156#[repr(C)]
157#[repr(align(8))]
158#[derive(Default, Copy, Clone)]
159pub struct TtIdTBindgenTy1BindgenTy1 {
160 pub _bitfield_align_1: [u32; 0],
161 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
162}
163impl TtIdTBindgenTy1BindgenTy1 {
164 #[inline]
165 pub fn type_(&self) -> u64 {
166 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u64) }
167 }
168 #[inline]
169 pub fn set_type(&mut self, val: u64) {
170 unsafe {
171 let val: u64 = ::std::mem::transmute(val);
172 self._bitfield_1.set(0usize, 10u8, val as u64)
173 }
174 }
175 #[inline]
176 pub fn generation(&self) -> u64 {
177 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u64) }
178 }
179 #[inline]
180 pub fn set_generation(&mut self, val: u64) {
181 unsafe {
182 let val: u64 = ::std::mem::transmute(val);
183 self._bitfield_1.set(10usize, 22u8, val as u64)
184 }
185 }
186 #[inline]
187 pub fn index(&self) -> u64 {
188 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
189 }
190 #[inline]
191 pub fn set_index(&mut self, val: u64) {
192 unsafe {
193 let val: u64 = ::std::mem::transmute(val);
194 self._bitfield_1.set(32usize, 32u8, val as u64)
195 }
196 }
197 #[inline]
198 pub fn new_bitfield_1(
199 type_: u64,
200 generation: u64,
201 index: u64,
202 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
203 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
204 __bindgen_bitfield_unit.set(0usize, 10u8, {
205 let type_: u64 = unsafe { ::std::mem::transmute(type_) };
206 type_ as u64
207 });
208 __bindgen_bitfield_unit.set(10usize, 22u8, {
209 let generation: u64 = unsafe { ::std::mem::transmute(generation) };
210 generation as u64
211 });
212 __bindgen_bitfield_unit.set(32usize, 32u8, {
213 let index: u64 = unsafe { ::std::mem::transmute(index) };
214 index as u64
215 });
216 __bindgen_bitfield_unit
217 }
218}
219impl Default for TtIdTBindgenTy1 {
220 fn default() -> Self {
221 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
222 unsafe {
223 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
224 s.assume_init()
225 }
226 }
227}
228#[repr(C)]
229pub struct TheTruthPropertyDefinitionTBindgenTy1 {
230 pub enum_editor: __BindgenUnionField<TheTruthEditorEnumT>,
231 pub string_open_path_editor: __BindgenUnionField<TheTruthEditorStringOpenPathT>,
232 pub string_save_path_editor: __BindgenUnionField<TheTruthEditorStringSavePathT>,
233 pub bindgen_union_field: [u64; 3usize],
234}
235impl Default for TheTruthPropertyDefinitionTBindgenTy1 {
236 fn default() -> Self {
237 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
238 unsafe {
239 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
240 s.assume_init()
241 }
242 }
243}
244#[repr(C)]
245pub struct TtPropValueTBindgenTy1 {
246 pub b: __BindgenUnionField<bool>,
247 pub u32_: __BindgenUnionField<u32>,
248 pub u64_: __BindgenUnionField<u64>,
249 pub f32_: __BindgenUnionField<f32>,
250 pub f64_: __BindgenUnionField<f64>,
251 pub string: __BindgenUnionField<*const ::std::os::raw::c_char>,
252 pub buffer: __BindgenUnionField<TtBufferT>,
253 pub object: __BindgenUnionField<TtIdT>,
254 pub set: __BindgenUnionField<*const TtIdT>,
255 pub bindgen_union_field: [u64; 4usize],
256}
257impl Default for TtPropValueTBindgenTy1 {
258 fn default() -> Self {
259 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
260 unsafe {
261 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
262 s.assume_init()
263 }
264 }
265}
266pub const TM_THE_TRUTH_MAX_PROPERTIES: ::std::os::raw::c_int = 64;
267pub type _bindgen_ty_1 = ::std::os::raw::c_int;
268#[repr(C)]
269pub struct AssetPreviewApiUiArgsT {
270 pub tt: *mut TheTruthO,
271 pub asset: TtIdT,
272 pub entity_ctx: *mut EntityContextO,
273 pub entity: *const EntityT,
274 pub viewer_render_info: *mut ViewerRenderInfoT,
275 pub lighting_environment_settings: *mut LightingEnvironmentSettingsT,
276 pub statistics_overlays: *mut StatisticsOverlaysT,
277 pub tab: *mut TabI,
278 pub ui: *mut UiO,
279 pub uistyle: *const UiStyleT,
280 pub content_r: RectT,
281 pub undo_stack: *mut UndoStackI,
282}
283impl Default for AssetPreviewApiUiArgsT {
284 fn default() -> Self {
285 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
286 unsafe {
287 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
288 s.assume_init()
289 }
290 }
291}
292#[repr(C)]
293#[derive(Default, Copy, Clone)]
294pub struct AssetPreviewApi {
295 pub create: ::std::option::Option<
296 unsafe extern "C" fn(allocator: *mut AllocatorI) -> *mut AssetPreviewO,
297 >,
298 pub destroy: ::std::option::Option<
299 unsafe extern "C" fn(inst: *mut AssetPreviewO, allocator: *mut AllocatorI),
300 >,
301 pub create_entity: ::std::option::Option<
302 unsafe extern "C" fn(
303 inst: *mut AssetPreviewO,
304 tt: *mut TheTruthO,
305 asset: TtIdT,
306 entity_ctx: *mut EntityContextO,
307 result: *mut EntityT,
308 ),
309 >,
310 pub intercept_focus: ::std::option::Option<
311 unsafe extern "C" fn(
312 inst: *mut AssetPreviewO,
313 tt: *mut TheTruthO,
314 root_asset: TtIdT,
315 entity_ctx: *mut EntityContextO,
316 entity: *const EntityT,
317 focus_asset: TtIdT,
318 ) -> bool,
319 >,
320 pub reload: ::std::option::Option<
321 unsafe extern "C" fn(
322 inst: *mut AssetPreviewO,
323 tt: *mut TheTruthO,
324 asset: TtIdT,
325 entity_ctx: *mut EntityContextO,
326 entity: *mut EntityT,
327 ) -> bool,
328 >,
329 pub dirty: ::std::option::Option<
330 unsafe extern "C" fn(inst: *mut AssetPreviewO, tt: *mut TheTruthO, asset: TtIdT) -> bool,
331 >,
332 pub render: ::std::option::Option<
333 unsafe extern "C" fn(
334 inst: *mut AssetPreviewO,
335 tt: *mut TheTruthO,
336 asset: TtIdT,
337 args: *const RenderArgsT,
338 ),
339 >,
340 pub refresh_thumbnail: ::std::option::Option<
341 unsafe extern "C" fn(
342 inst: *mut AssetPreviewO,
343 tt: *mut TheTruthO,
344 asset: TtIdT,
345 args: *const RenderArgsT,
346 ),
347 >,
348 pub ui: ::std::option::Option<
349 unsafe extern "C" fn(inst: *mut AssetPreviewO, args: *const AssetPreviewApiUiArgsT),
350 >,
351 pub toolbars: ::std::option::Option<
352 unsafe extern "C" fn(
353 inst: *mut AssetPreviewO,
354 ta: *mut TempAllocatorI,
355 args: *const AssetPreviewApiUiArgsT,
356 ) -> *mut ToolbarI,
357 >,
358 pub update_camera: ::std::option::Option<
359 unsafe extern "C" fn(
360 inst: *mut AssetPreviewO,
361 tt: *mut TheTruthO,
362 cam_tm: *mut TransformT,
363 cam_settings: *mut *const CameraSettingsT,
364 ),
365 >,
366 pub show_grid: bool,
367 pub _padding_100: [::std::os::raw::c_char; 7usize],
368}
369#[repr(C)]
370#[derive(Copy, Clone)]
371pub struct AssetPreviewI {
372 pub api: *mut AssetPreviewApi,
373 pub inst: *mut AssetPreviewO,
374}
375impl Default for AssetPreviewI {
376 fn default() -> Self {
377 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
378 unsafe {
379 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
380 s.assume_init()
381 }
382 }
383}
384#[repr(C)]
385#[derive(Default, Copy, Clone)]
386pub struct AssetSceneApi {
387 pub create:
388 ::std::option::Option<unsafe extern "C" fn(allocator: *mut AllocatorI) -> *mut AssetSceneO>,
389 pub destroy: ::std::option::Option<
390 unsafe extern "C" fn(inst: *mut AssetSceneO, allocator: *mut AllocatorI),
391 >,
392 pub droppable: ::std::option::Option<
393 unsafe extern "C" fn(inst: *mut AssetSceneO, tt: *mut TheTruthO, asset: TtIdT) -> bool,
394 >,
395 pub create_entity: ::std::option::Option<
396 unsafe extern "C" fn(
397 inst: *mut AssetSceneO,
398 tt: *mut TheTruthO,
399 asset: TtIdT,
400 name: *const ::std::os::raw::c_char,
401 local_transform: *const TransformT,
402 parent_entity: TtIdT,
403 asset_root: TtIdT,
404 undo_stack: *mut UndoStackI,
405 ) -> TtIdT,
406 >,
407 pub bound_entity_asset: ::std::option::Option<
408 unsafe extern "C" fn(
409 inst: *mut AssetSceneO,
410 tt: *const TheTruthO,
411 asset: TtIdT,
412 bounds: *mut Vec3T,
413 ),
414 >,
415}
416#[repr(C)]
417#[derive(Copy, Clone)]
418pub struct AssetSceneI {
419 pub api: *mut AssetSceneApi,
420 pub inst: *mut AssetSceneO,
421}
422impl Default for AssetSceneI {
423 fn default() -> Self {
424 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
425 unsafe {
426 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
427 s.assume_init()
428 }
429 }
430}
431pub const TM_ASSET_OPEN_MODE_REUSE_OR_CREATE_TAB: AssetOpenMode = 0;
432pub const TM_ASSET_OPEN_MODE_CREATE_TAB: AssetOpenMode = 1;
433pub const TM_ASSET_OPEN_MODE_CREATE_TAB_AND_PIN: AssetOpenMode = 2;
434pub const TM_ASSET_OPEN_MODE_CREATE_WORKSPACE: AssetOpenMode = 3;
435pub type AssetOpenMode = ::std::os::raw::c_int;
436#[repr(C)]
437#[derive(Default, Copy, Clone)]
438pub struct AssetOpenAspectI {
439 pub open: ::std::option::Option<
440 unsafe extern "C" fn(
441 app: *mut ApplicationO,
442 ui: *mut UiO,
443 from_tab: *mut TabI,
444 tt: *mut TheTruthO,
445 asset: TtIdT,
446 open_mode: AssetOpenMode,
447 ),
448 >,
449}
450#[repr(C)]
451#[derive(Copy, Clone)]
452pub union EntityT {
453 pub __bindgen_anon_1: EntityTBindgenTy1,
454 pub u64_: u64,
455}
456#[repr(C)]
457#[derive(Default, Copy, Clone)]
458pub struct EntityTBindgenTy1 {
459 pub index: u32,
460 pub generation: u32,
461}
462impl Default for EntityT {
463 fn default() -> Self {
464 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
465 unsafe {
466 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
467 s.assume_init()
468 }
469 }
470}
471#[repr(C)]
472#[derive(Copy, Clone)]
473pub struct BakerContextO {
474 _unused: [u8; 0],
475}
476#[repr(C)]
477#[derive(Default, Copy, Clone)]
478pub struct BakerContextApi {
479 pub create_context: ::std::option::Option<
480 unsafe extern "C" fn(
481 a: *mut AllocatorI,
482 tt: *mut TheTruthO,
483 asset_root: TtIdT,
484 render_pipe: *mut RenderPipelineVt,
485 ) -> *mut BakerContextO,
486 >,
487 pub destroy_context: ::std::option::Option<unsafe extern "C" fn(context: *mut BakerContextO)>,
488 pub entity_context: ::std::option::Option<
489 unsafe extern "C" fn(context: *mut BakerContextO) -> *mut EntityContextO,
490 >,
491 pub set_entity:
492 ::std::option::Option<unsafe extern "C" fn(context: *mut BakerContextO, e: EntityT)>,
493 pub render_args: ::std::option::Option<
494 unsafe extern "C" fn(context: *mut BakerContextO, args: *mut ViewerRenderArgsT),
495 >,
496 pub set_camera: ::std::option::Option<
497 unsafe extern "C" fn(
498 context: *mut BakerContextO,
499 camera_tm: *const TransformT,
500 camera_settings: *const CameraSettingsT,
501 ),
502 >,
503}
504pub const TM_CAMERA_CONTROLLER_MODE__NONE: CameraControllerMode = 0;
505pub const TM_CAMERA_CONTROLLER_MODE__FOLLOW: CameraControllerMode = 1;
506pub const TM_CAMERA_CONTROLLER_MODE__FREE_FLIGHT: CameraControllerMode = 2;
507pub const TM_CAMERA_CONTROLLER_MODE__MAYA_SPIN: CameraControllerMode = 3;
508pub const TM_CAMERA_CONTROLLER_MODE__MAYA_ZOOM: CameraControllerMode = 4;
509pub const TM_CAMERA_CONTROLLER_MODE__MAYA_PAN: CameraControllerMode = 5;
510pub type CameraControllerMode = ::std::os::raw::c_int;
511#[repr(C)]
512pub struct CameraControllerComponentT {
513 pub disable_input: bool,
514 pub _padding_33: [::std::os::raw::c_char; 3usize],
515 pub mode: CameraControllerMode,
516 pub translation_speed: f32,
517 pub rotation_speed: f32,
518 pub translation_damping: f32,
519 pub target_orientation: Vec2T,
520 pub follow_speed: f32,
521 pub translation: Vec3T,
522 pub damped_translation: Vec3T,
523 pub rotation: Vec2T,
524 pub focus_point: Vec3T,
525 pub zoom: f32,
526 pub spin: Vec2T,
527 pub pan: Vec2T,
528}
529impl Default for CameraControllerComponentT {
530 fn default() -> Self {
531 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
532 unsafe {
533 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
534 s.assume_init()
535 }
536 }
537}
538#[repr(C)]
539#[derive(Copy, Clone)]
540pub struct CameraControllerComponentManagerO {
541 _unused: [u8; 0],
542}
543#[repr(C)]
544pub struct UiOrientationIndicatorT {
545 pub controller: *mut CameraControllerComponentT,
546 pub camera: *const CameraT,
547 pub viewport: RectT,
548 pub rect: RectT,
549 pub allow_snapping: bool,
550 pub _padding_80: [::std::os::raw::c_char; 7usize],
551}
552impl Default for UiOrientationIndicatorT {
553 fn default() -> Self {
554 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
555 unsafe {
556 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
557 s.assume_init()
558 }
559 }
560}
561#[repr(C)]
562#[derive(Default, Copy, Clone)]
563pub struct CameraControllerComponentApi {
564 pub create: ::std::option::Option<
565 unsafe extern "C" fn(ctx: *mut EntityContextO) -> *mut CameraControllerComponentManagerO,
566 >,
567 pub feed_ui_input: ::std::option::Option<
568 unsafe extern "C" fn(
569 manager: *mut CameraControllerComponentManagerO,
570 ui: *mut UiO,
571 in_area: bool,
572 ),
573 >,
574 pub register_engines: ::std::option::Option<
575 unsafe extern "C" fn(manager: *mut CameraControllerComponentManagerO),
576 >,
577 pub orientation_indicator: ::std::option::Option<
578 unsafe extern "C" fn(
579 manager: *mut CameraControllerComponentManagerO,
580 ui: *mut UiO,
581 uistyle: *const UiStyleT,
582 c: *const UiOrientationIndicatorT,
583 ),
584 >,
585}
586pub type CiEditorPropertiesUiF = ::std::option::Option<
587 unsafe extern "C" fn(
588 args: *mut PropertiesUiArgsT,
589 item_rect: RectT,
590 object: TtIdT,
591 indent: u32,
592 ) -> f32,
593>;
594#[repr(C)]
595#[derive(Default, Copy, Clone)]
596pub struct CiEditorUiIconI {
597 pub ui_icon: ::std::option::Option<unsafe extern "C" fn() -> u32>,
598}
599#[repr(C)]
600pub struct CiViewportInteract {
601 pub tt: *mut TheTruthO,
602 pub entity_ctx: *mut EntityContextO,
603 pub entity: TtIdT,
604 pub component: TtIdT,
605 pub ui: *mut UiO,
606 pub uistyle: *const UiStyleT,
607 pub primitive_buffer: *mut PrimitiveDrawerBufferT,
608 pub vertex_buffer: *mut PrimitiveDrawerBufferT,
609 pub allocator: *mut AllocatorI,
610 pub camera: *const CameraT,
611 pub viewport_r: RectT,
612 pub viewport_id: u64,
613 pub tab_id: u64,
614 pub undo_stack: *mut UndoStackI,
615 pub active_tool_id: StrhashT,
616 pub move_settings: *mut GizmoMoveSettingsT,
617 pub rotate_settings: *mut GizmoRotateSettingsT,
618 pub scale_settings: *mut GizmoScaleSettingsT,
619 pub editor: *mut ::std::os::raw::c_void,
620 pub set_selection: ::std::option::Option<
621 unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void, item_t: TtIdT),
622 >,
623}
624impl Default for CiViewportInteract {
625 fn default() -> Self {
626 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
627 unsafe {
628 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
629 s.assume_init()
630 }
631 }
632}
633#[repr(C)]
634#[derive(Default, Copy, Clone)]
635pub struct CiViewportInteractResult {
636 pub hide_gizmo: bool,
637}
638#[repr(C)]
639#[derive(Copy, Clone)]
640pub struct CiToolbar {
641 pub editor: *mut ::std::os::raw::c_void,
642 pub active_tool: ::std::option::Option<
643 unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void) -> StrhashT,
644 >,
645 pub set_active_tool: ::std::option::Option<
646 unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void, id: StrhashT),
647 >,
648}
649impl Default for CiToolbar {
650 fn default() -> Self {
651 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
652 unsafe {
653 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
654 s.assume_init()
655 }
656 }
657}
658#[repr(C)]
659#[derive(Default, Copy, Clone)]
660pub struct CiEditorUiI {
661 pub disabled: ::std::option::Option<unsafe extern "C" fn() -> bool>,
662 pub category: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
663 pub icon_interface: ::std::option::Option<unsafe extern "C" fn() -> *mut CiEditorUiIconI>,
664 pub gizmo_priority: f32,
665 pub _padding_95: [::std::os::raw::c_char; 4usize],
666 pub gizmo_get_transform: ::std::option::Option<
667 unsafe extern "C" fn(
668 tt: *const TheTruthO,
669 ctx: *mut EntityContextO,
670 entity: TtIdT,
671 component: TtIdT,
672 object: TtIdT,
673 world: *mut TransformT,
674 local: *mut TransformT,
675 ) -> bool,
676 >,
677 pub gizmo_set_transform: ::std::option::Option<
678 unsafe extern "C" fn(
679 tt: *mut TheTruthO,
680 ctx: *mut EntityContextO,
681 entity: TtIdT,
682 component: TtIdT,
683 object: TtIdT,
684 local: *const TransformT,
685 undo_scope: TtUndoScopeT,
686 ),
687 >,
688 pub gizmo_duplicate: ::std::option::Option<
689 unsafe extern "C" fn(
690 tt: *mut TheTruthO,
691 ctx: *mut EntityContextO,
692 entity: TtIdT,
693 component: TtIdT,
694 object: TtIdT,
695 undo_scope: TtUndoScopeT,
696 ) -> TtIdT,
697 >,
698 pub override_properties: ::std::option::Option<
699 unsafe extern "C" fn(tt: *mut TheTruthO, other_component: TtIdT) -> CiEditorPropertiesUiF,
700 >,
701 pub viewport_interact: ::std::option::Option<
702 unsafe extern "C" fn(vi: *const CiViewportInteract) -> CiViewportInteractResult,
703 >,
704 pub editor_ui: ::std::option::Option<
705 unsafe extern "C" fn(
706 ui: *mut UiO,
707 uistyle: *const UiStyleT,
708 viewport: RectT,
709 manager: *mut ComponentManagerO,
710 ),
711 >,
712 pub create: ::std::option::Option<
713 unsafe extern "C" fn(tt: *mut TheTruthO, type_: TtTypeT, undo_scope: TtUndoScopeT) -> TtIdT,
714 >,
715 pub toolbars: ::std::option::Option<
716 unsafe extern "C" fn(ci: *mut CiToolbar, ta: *mut TempAllocatorI) -> *mut ToolbarI,
717 >,
718}
719#[repr(C)]
720pub struct CiRenderViewerT {
721 pub sort_key: u64,
722 pub visibility_mask: u64,
723 pub visibility_context: StrhashT,
724 pub viewer_system: *mut ShaderSystemO,
725 pub viewer_cbuffer: *mut ShaderConstantBufferInstanceT,
726 pub viewer_rbinder: *mut ShaderResourceBinderInstanceT,
727 pub camera: *const CameraT,
728 pub gpu_picking: *mut GpuPickingO,
729}
730impl Default for CiRenderViewerT {
731 fn default() -> Self {
732 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
733 unsafe {
734 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
735 s.assume_init()
736 }
737 }
738}
739#[repr(C)]
740#[derive(Default, Copy, Clone)]
741pub struct CiRenderI {
742 pub init: ::std::option::Option<
743 unsafe extern "C" fn(
744 manager: *mut ComponentManagerO,
745 entities: *const EntityT,
746 entity_indices: *const u32,
747 render_component_data: *mut *mut ::std::os::raw::c_void,
748 num_renderables: u32,
749 ),
750 >,
751 pub bounding_volume_type:
752 ::std::option::Option<unsafe extern "C" fn(manager: *mut ComponentManagerO) -> u32>,
753 pub fill_bounding_volume_buffer: ::std::option::Option<
754 unsafe extern "C" fn(
755 manager: *mut ComponentManagerO,
756 args: *mut RenderArgsT,
757 entities: *const EntityT,
758 entity_transforms: *const TransformComponentT,
759 entity_indices: *const u32,
760 render_component_data: *mut *mut ::std::os::raw::c_void,
761 num_renderables: u32,
762 bv_buffer: *mut u8,
763 ),
764 >,
765 pub render: ::std::option::Option<
766 unsafe extern "C" fn(
767 manager: *mut ComponentManagerO,
768 args: *mut RenderArgsT,
769 viewers: *const CiRenderViewerT,
770 num_viewers: u32,
771 entities: *const EntityT,
772 entity_transforms: *const TransformComponentT,
773 entity_selection_state: *const bool,
774 entity_indices: *const u32,
775 render_component_data: *mut *mut ::std::os::raw::c_void,
776 num_renderables: u32,
777 frustum_visibility: *const u8,
778 ),
779 >,
780}
781#[repr(C)]
782pub struct CiRenderGatherCallbackArgsT {
783 pub allocator: *mut AllocatorI,
784 pub selected_entities_lookup: *const SetEntityT,
785 pub hidden_entities_lookup: *const SetEntityT,
786 pub ignored_entities_lookup: *const SetEntityT,
787 pub render_component_names: [StrhashT; 64usize],
788 pub render_interfaces: [*mut CiRenderI; 64usize],
789 pub num_render_components: u32,
790 pub render_component_data_strides: [u32; 64usize],
791 pub _padding_74: [::std::os::raw::c_char; 4usize],
792 pub component_managers: [*mut ComponentManagerO; 64usize],
793 pub entity_selection_state: *mut bool,
794 pub entity_ignore_state: *mut bool,
795 pub entity_transforms: *mut TransformComponentT,
796 pub entities: *mut EntityT,
797 pub component_data: [*mut *mut ::std::os::raw::c_void; 64usize],
798 pub entity_indices: [*mut u32; 64usize],
799 pub num_renderables_per_component: [u32; 64usize],
800}
801impl Default for CiRenderGatherCallbackArgsT {
802 fn default() -> Self {
803 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
804 unsafe {
805 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
806 s.assume_init()
807 }
808 }
809}
810#[repr(C)]
811#[derive(Default, Copy, Clone)]
812pub struct CiShaderI {
813 pub init: ::std::option::Option<
814 unsafe extern "C" fn(
815 manager: *mut ComponentManagerO,
816 entities: *const EntityT,
817 entity_indices: *const u32,
818 shader_component_data: *mut *mut ::std::os::raw::c_void,
819 num_shader_datas: u32,
820 ),
821 >,
822 pub graph_module_inject: ::std::option::Option<
823 unsafe extern "C" fn(manager: *mut ComponentManagerO, module: *mut RenderGraphModuleO),
824 >,
825 pub graph_requested:
826 ::std::option::Option<unsafe extern "C" fn(manager: *mut ComponentManagerO) -> StrhashT>,
827 pub activate_systems: ::std::option::Option<
828 unsafe extern "C" fn(
829 manager: *mut ComponentManagerO,
830 shader_context: *mut ShaderSystemContextO,
831 ),
832 >,
833 pub update: ::std::option::Option<
834 unsafe extern "C" fn(
835 manager: *mut ComponentManagerO,
836 args: *mut RenderArgsT,
837 entities: *const EntityT,
838 entity_transforms: *const TransformComponentT,
839 entity_indices: *const u32,
840 component_data: *mut *mut ::std::os::raw::c_void,
841 num_components: u32,
842 frustum_visibility: *const u8,
843 ),
844 >,
845}
846#[repr(C)]
847pub struct CiShaderDataGatherCallbackArgsT {
848 pub allocator: *mut AllocatorI,
849 pub hidden_entities_lookup: *const SetEntityT,
850 pub shader_component_names: [StrhashT; 15usize],
851 pub shader_interfaces: [*mut CiShaderI; 15usize],
852 pub num_shader_components: u32,
853 pub shader_component_data_strides: [u32; 15usize],
854 pub component_managers: [*mut ComponentManagerO; 15usize],
855 pub entity_transforms: *mut TransformComponentT,
856 pub entities: *mut EntityT,
857 pub component_data: [*mut *mut ::std::os::raw::c_void; 15usize],
858 pub entity_indices: [*mut u32; 15usize],
859 pub num_shader_data_per_component: [u32; 15usize],
860 pub _padding_77: [::std::os::raw::c_char; 4usize],
861}
862impl Default for CiShaderDataGatherCallbackArgsT {
863 fn default() -> Self {
864 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
865 unsafe {
866 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
867 s.assume_init()
868 }
869 }
870}
871#[repr(C)]
872pub struct CullingViewerT {
873 pub frustum_planes: [Vec4T; 6usize],
874 pub visibility_mask: u64,
875}
876impl Default for CullingViewerT {
877 fn default() -> Self {
878 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
879 unsafe {
880 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
881 s.assume_init()
882 }
883 }
884}
885#[repr(C)]
886#[derive(Default, Copy, Clone)]
887pub struct GpuCullingHeaderT {
888 pub num_viewers: u32,
889 pub viewers_offset: u32,
890 pub num_transforms: u32,
891 pub results_offset: u32,
892}
893#[repr(C)]
894#[derive(Copy, Clone)]
895pub struct GpuCullingArgsT {
896 pub shader: *mut ShaderO,
897 pub res_buf: *mut RendererResourceCommandBufferO,
898 pub cmd_buf: *mut RendererCommandBufferO,
899 pub sort_key: u64,
900 pub device_affinity_mask: u32,
901 pub _padding_57: [::std::os::raw::c_char; 4usize],
902 pub viewers: *const CullingViewerT,
903 pub viewers_count: u32,
904 pub bounding_radius: f32,
905 pub transforms: *const RendererHandleT,
906 pub transforms_count: u32,
907 pub transforms_start: u32,
908 pub transform_stride: u32,
909 pub culling_distance: f32,
910 pub parent_transform: *const Mat44T,
911}
912impl Default for GpuCullingArgsT {
913 fn default() -> Self {
914 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
915 unsafe {
916 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
917 s.assume_init()
918 }
919 }
920}
921#[repr(C)]
922#[derive(Default, Copy, Clone)]
923pub struct FrustumCullingApi {
924 pub viewer_from_projection_mat: ::std::option::Option<
925 unsafe extern "C" fn(
926 view_tm: *const Mat44T,
927 projection_tm: *const Mat44T,
928 visibility_mask: u64,
929 ) -> CullingViewerT,
930 >,
931 pub calc_size_of_objects_buffer:
932 ::std::option::Option<unsafe extern "C" fn(bv_type: u32, num_objects: u32) -> u32>,
933 pub calc_size_of_results_buffer:
934 ::std::option::Option<unsafe extern "C" fn(num_viewers: u32, num_objects: u32) -> u32>,
935 pub cull_fast: ::std::option::Option<
936 unsafe extern "C" fn(
937 viewers: *const CullingViewerT,
938 num_viewers: u32,
939 bv_type: u32,
940 objects: *const u8,
941 num_objects: u32,
942 results: *mut u8,
943 ta: *mut TempAllocatorI,
944 ) -> *mut AtomicCounterO,
945 >,
946 pub cull_precise: ::std::option::Option<
947 unsafe extern "C" fn(
948 viewers: *const CullingViewerT,
949 num_viewers: u32,
950 bv_type: u32,
951 objects: *const u8,
952 num_objects: u32,
953 results: *mut u8,
954 ta: *mut TempAllocatorI,
955 ) -> *mut AtomicCounterO,
956 >,
957 pub gpu_cull: ::std::option::Option<
958 unsafe extern "C" fn(
959 args: *mut GpuCullingArgsT,
960 output: *mut RendererHandleT,
961 output_desc: *mut RendererBufferDescT,
962 ),
963 >,
964}
965#[repr(C)]
966#[derive(Copy, Clone)]
967pub struct CreationGraphDrawCallDataT {
968 _unused: [u8; 0],
969}
970pub const TM_GPU_SCENE_SUBMISSION_DRAW_CALL_LOD_DISABLED: ::std::os::raw::c_int = -1;
971pub type _bindgen_ty_2 = ::std::os::raw::c_int;
972#[repr(C)]
973pub struct GpuSceneSubmissionDrawCallLodSettingsT {
974 pub lod_step: u32,
975 pub lod_size_range: Vec2T,
976}
977impl Default for GpuSceneSubmissionDrawCallLodSettingsT {
978 fn default() -> Self {
979 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
980 unsafe {
981 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
982 s.assume_init()
983 }
984 }
985}
986#[repr(C)]
987#[derive(Default, Copy, Clone)]
988pub struct GpuSceneSubmissionCullAndLodHeaderT {
989 pub viewers_offset: u32,
990 pub draw_calls_lod_settings_offset: u32,
991 pub draw_calls_instance_count_offset: u32,
992 pub draw_call_bitmask_offset: u32,
993 pub count: u32,
994}
995pub const TM_GPU_SCENE_SUBMISSION__INDIRECT_DRAW_NON_INDEXED: GpuSceneSubmissionIndirectDrawType =
996 0;
997pub const TM_GPU_SCENE_SUBMISSION__INDIRECT_DRAW_INDEXED: GpuSceneSubmissionIndirectDrawType = 1;
998pub type GpuSceneSubmissionIndirectDrawType = ::std::os::raw::c_int;
999#[repr(C)]
1000#[derive(Copy, Clone)]
1001pub struct GpuSceneSubmissionIndirectDrawCmdT {
1002 pub draw_type: GpuSceneSubmissionIndirectDrawType,
1003 pub data: [u32; 5usize],
1004}
1005impl Default for GpuSceneSubmissionIndirectDrawCmdT {
1006 fn default() -> Self {
1007 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1008 unsafe {
1009 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1010 s.assume_init()
1011 }
1012 }
1013}
1014pub const TM_GPU_SCENE_SUBMISSION__BYTE_OFFSET__INSTANCE_COUNT: ::std::os::raw::c_int = 8;
1015pub const TM_GPU_SCENE_SUBMISSION__BYTE_OFFSET__NON_INDEXED__FIRST_INSTANCE: ::std::os::raw::c_int =
1016 16;
1017pub const TM_GPU_SCENE_SUBMISSION__BYTE_OFFSET__INDEXED__FIRST_INSTANCE: ::std::os::raw::c_int = 20;
1018pub type _bindgen_ty_3 = ::std::os::raw::c_int;
1019#[repr(C)]
1020#[derive(Default, Copy, Clone)]
1021pub struct GpuSceneSubmissionDrawCallsAndTransformIndirectionHeaderT {
1022 pub draw_calls_offset: u32,
1023 pub first_instance_index_offset: u32,
1024 pub stram_compaction_dispatch_command_offset: u32,
1025}
1026#[repr(C)]
1027#[derive(Copy, Clone)]
1028pub struct GpuSceneSubmissionWorkloadO {
1029 _unused: [u8; 0],
1030}
1031#[repr(C)]
1032pub struct GpuSceneSubmissionArgsT {
1033 pub shader_repo: *mut ShaderRepositoryO,
1034 pub shader_context: *const ShaderSystemContextO,
1035 pub workload: *mut GpuSceneSubmissionWorkloadO,
1036 pub res_buf: *mut RendererResourceCommandBufferO,
1037 pub cmd_buf: *mut RendererCommandBufferO,
1038 pub sort_key: u64,
1039 pub device_affinity_mask: u32,
1040 pub _padding_169: [::std::os::raw::c_char; 4usize],
1041 pub viewers: *const CiRenderViewerT,
1042 pub viewers_count: u32,
1043 pub bounding_radius: f32,
1044 pub transforms: RendererHandleT,
1045 pub _padding_182: [::std::os::raw::c_char; 4usize],
1046 pub transforms_count: u32,
1047 pub transforms_start: u32,
1048 pub transforms_stride: u32,
1049 pub culling_distance: f32,
1050 pub parent_transform: *const Mat44T,
1051}
1052impl Default for GpuSceneSubmissionArgsT {
1053 fn default() -> Self {
1054 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1055 unsafe {
1056 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1057 s.assume_init()
1058 }
1059 }
1060}
1061#[repr(C)]
1062#[derive(Default, Copy, Clone)]
1063pub struct GpuSceneSubmissionApi {
1064 pub create_workload: ::std::option::Option<
1065 unsafe extern "C" fn(
1066 draw_calls: *const CreationGraphDrawCallDataT,
1067 draw_calls_count: u32,
1068 res_buf: *mut RendererResourceCommandBufferO,
1069 a: *mut AllocatorI,
1070 ) -> *mut GpuSceneSubmissionWorkloadO,
1071 >,
1072 pub destroy_workload: ::std::option::Option<
1073 unsafe extern "C" fn(
1074 workload: *mut GpuSceneSubmissionWorkloadO,
1075 res_buf: *mut RendererResourceCommandBufferO,
1076 ),
1077 >,
1078 pub cull_and_render:
1079 ::std::option::Option<unsafe extern "C" fn(args: *mut GpuSceneSubmissionArgsT)>,
1080}
1081#[repr(C)]
1082#[derive(Copy, Clone)]
1083pub struct RenderContextO {
1084 _unused: [u8; 0],
1085}
1086pub const TM_RENDER_CONTEXT_BUFFER_PHASE_VIEWER: RenderContextBufferPhase = 0;
1087pub const TM_RENDER_CONTEXT_BUFFER_PHASE_VIEWER_DESTROY: RenderContextBufferPhase = 1;
1088pub const TM_RENDER_CONTEXT_BUFFER_PHASE_UTILITY: RenderContextBufferPhase = 2;
1089pub const TM_RENDER_CONTEXT_BUFFER_PHASE_UTILITY_DESTROY: RenderContextBufferPhase = 3;
1090pub const TM_RENDER_CONTEXT_BUFFER_PHASE_MAX_PHASES: RenderContextBufferPhase = 4;
1091pub type RenderContextBufferPhase = ::std::os::raw::c_int;
1092#[repr(C)]
1093#[derive(Default, Copy, Clone)]
1094pub struct RenderContextApi {
1095 pub create: ::std::option::Option<
1096 unsafe extern "C" fn(allocator: *mut AllocatorI) -> *mut RenderContextO,
1097 >,
1098 pub destroy: ::std::option::Option<unsafe extern "C" fn(context: *mut RenderContextO)>,
1099 pub append_resource_buffers: ::std::option::Option<
1100 unsafe extern "C" fn(
1101 context: *mut RenderContextO,
1102 phase: RenderContextBufferPhase,
1103 res_buffers: *mut *mut RendererResourceCommandBufferO,
1104 num_buffers: u32,
1105 ),
1106 >,
1107 pub append_command_buffers: ::std::option::Option<
1108 unsafe extern "C" fn(
1109 context: *mut RenderContextO,
1110 phase: RenderContextBufferPhase,
1111 cmd_buffers: *mut *mut RendererCommandBufferO,
1112 num_buffers: u32,
1113 ),
1114 >,
1115 pub resource_buffers: ::std::option::Option<
1116 unsafe extern "C" fn(
1117 context: *mut RenderContextO,
1118 phase: RenderContextBufferPhase,
1119 res_buffers: *mut *mut RendererResourceCommandBufferO,
1120 ) -> u32,
1121 >,
1122 pub command_buffers: ::std::option::Option<
1123 unsafe extern "C" fn(
1124 context: *mut RenderContextO,
1125 phase: RenderContextBufferPhase,
1126 cmd_buffers: *mut *mut RendererCommandBufferO,
1127 ) -> u32,
1128 >,
1129}
1130#[repr(C)]
1131pub struct RenderArgsT {
1132 pub camera_tm: TransformT,
1133 pub camera: *const CameraT,
1134 pub context: *mut RenderContextO,
1135 pub render_backend: *mut RendererBackendI,
1136 pub shader_repository: *mut ShaderRepositoryO,
1137 pub device_affinity_mask: u32,
1138 pub _padding_81: [::std::os::raw::c_char; 4usize],
1139 pub default_resource_buffer: *mut RendererResourceCommandBufferO,
1140 pub default_command_buffer: *mut RendererCommandBufferO,
1141 pub render_graph: *mut RenderGraphO,
1142 pub render_pipeline: *mut RenderPipelineI,
1143 pub shader_context: *const ShaderSystemContextO,
1144}
1145impl Default for RenderArgsT {
1146 fn default() -> Self {
1147 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1148 unsafe {
1149 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1150 s.assume_init()
1151 }
1152 }
1153}
1154#[repr(C)]
1155#[derive(Copy, Clone)]
1156pub struct RenderPipelineI {
1157 _unused: [u8; 0],
1158}
1159#[repr(C)]
1160pub struct LightingEnvironmentSettingsT {
1161 pub enabled: bool,
1162 pub _padding_32: [::std::os::raw::c_char; 7usize],
1163 pub asset: TtIdT,
1164 pub spawned_entity: EntityT,
1165 pub search_buf: [::std::os::raw::c_char; 1024usize],
1166}
1167impl Default for LightingEnvironmentSettingsT {
1168 fn default() -> Self {
1169 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1170 unsafe {
1171 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1172 s.assume_init()
1173 }
1174 }
1175}
1176#[repr(C)]
1177#[derive(Copy, Clone)]
1178pub struct StatisticsOverlaysT {
1179 pub tt: *mut TheTruthO,
1180 pub tab: *mut TabI,
1181 pub settings_objects: *mut TtIdT,
1182}
1183impl Default for StatisticsOverlaysT {
1184 fn default() -> Self {
1185 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1186 unsafe {
1187 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1188 s.assume_init()
1189 }
1190 }
1191}
1192#[repr(C)]
1193#[derive(Default, Copy, Clone)]
1194pub struct SceneCommonApi {
1195 pub init_camera:
1196 ::std::option::Option<unsafe extern "C" fn(camera: *mut TransformT, translation: Vec3T)>,
1197 pub camera_frame_bounds: ::std::option::Option<
1198 unsafe extern "C" fn(
1199 camera: *mut TransformT,
1200 camera_y_fov: f32,
1201 bounds: *const Vec3T,
1202 translation_speed: *mut f32,
1203 focus_point: *mut Vec3T,
1204 ),
1205 >,
1206 pub find_component_render_interfaces: ::std::option::Option<
1207 unsafe extern "C" fn(
1208 entity_ctx: *mut EntityContextO,
1209 transform_component: ComponentTypeT,
1210 tt: *const TheTruthO,
1211 allocator: *mut AllocatorI,
1212 selection: *const TtIdT,
1213 selection_n: u64,
1214 ignore: *const EntityT,
1215 ignore_n: u64,
1216 include_entities_without_render_components: bool,
1217 res: *mut CiRenderGatherCallbackArgsT,
1218 ),
1219 >,
1220 pub bound_assets: ::std::option::Option<
1221 unsafe extern "C" fn(
1222 entity_ctx: *mut EntityContextO,
1223 transform_component: ComponentTypeT,
1224 tt: *const TheTruthO,
1225 ignore: *const EntityT,
1226 ignore_n: u64,
1227 bounds: *mut Vec3T,
1228 include_origo: bool,
1229 ),
1230 >,
1231 pub bound_selected_assets: ::std::option::Option<
1232 unsafe extern "C" fn(
1233 entity_ctx: *mut EntityContextO,
1234 transform_component: ComponentTypeT,
1235 tt: *const TheTruthO,
1236 selection: *const TtIdT,
1237 selection_n: u64,
1238 ignore: *const EntityT,
1239 ignore_n: u64,
1240 bounds: *mut Vec3T,
1241 include_origo: bool,
1242 ),
1243 >,
1244 pub bound_entity_asset: ::std::option::Option<
1245 unsafe extern "C" fn(tt: *const TheTruthO, entity: TtIdT, bounds: *mut Vec3T),
1246 >,
1247 pub find_shader_data_engine_update: ::std::option::Option<
1248 unsafe extern "C" fn(
1249 inst: *mut EngineO,
1250 data: *mut EngineUpdateSetT,
1251 commands: *mut EntityCommandsO,
1252 ),
1253 >,
1254 pub gather_shader_data_filter: ::std::option::Option<
1255 unsafe extern "C" fn(
1256 inst: *mut EngineO,
1257 components: *const ComponentTypeT,
1258 num_components: u32,
1259 mask: *const ComponentMaskT,
1260 ) -> bool,
1261 >,
1262 pub find_renderables_engine_update: ::std::option::Option<
1263 unsafe extern "C" fn(
1264 inst: *mut EngineO,
1265 data: *mut EngineUpdateSetT,
1266 commands: *mut EntityCommandsO,
1267 ),
1268 >,
1269 pub gather_renderables_filter: ::std::option::Option<
1270 unsafe extern "C" fn(
1271 inst: *mut EngineO,
1272 components: *const ComponentTypeT,
1273 num_components: u32,
1274 mask: *const ComponentMaskT,
1275 ) -> bool,
1276 >,
1277 pub add_default_light_source:
1278 ::std::option::Option<unsafe extern "C" fn(entity_ctx: *mut EntityContextO) -> EntityT>,
1279 pub has_any_light_source:
1280 ::std::option::Option<unsafe extern "C" fn(ctx: *mut EntityContextO) -> bool>,
1281 pub component_visualization_menu: ::std::option::Option<
1282 unsafe extern "C" fn(
1283 tt: *mut TheTruthO,
1284 entity_ctx: *mut EntityContextO,
1285 ui: *mut UiO,
1286 uistyle: *const UiStyleT,
1287 tab: *mut TabI,
1288 pos: Vec2T,
1289 ),
1290 >,
1291 pub viewport_visualization_toolbar: ::std::option::Option<
1292 unsafe extern "C" fn(
1293 tt: *mut TheTruthO,
1294 entity_ctx: *mut EntityContextO,
1295 le_settings: *mut LightingEnvironmentSettingsT,
1296 statistics_overlays: *mut StatisticsOverlaysT,
1297 render_pipeline: *mut RenderPipelineI,
1298 ui: *mut UiO,
1299 uistyle: *const UiStyleT,
1300 tab: *mut TabI,
1301 toolbar_r: RectT,
1302 toolbar_draw_mode: u32,
1303 ) -> RectT,
1304 >,
1305 pub statistics_menu: ::std::option::Option<
1306 unsafe extern "C" fn(
1307 statistics_overlays: *mut StatisticsOverlaysT,
1308 ui: *mut UiO,
1309 uistyle: *const UiStyleT,
1310 pos: Vec2T,
1311 ),
1312 >,
1313 pub statistics_overlay_toolbars: ::std::option::Option<
1314 unsafe extern "C" fn(
1315 statistics_overlays: *mut StatisticsOverlaysT,
1316 ta: *mut TempAllocatorI,
1317 ) -> *mut ToolbarI,
1318 >,
1319 pub place_entity: ::std::option::Option<
1320 unsafe extern "C" fn(
1321 tt: *mut TheTruthO,
1322 entity: TtIdT,
1323 local_transform: *const TransformT,
1324 parent: TtIdT,
1325 undo_scope: TtUndoScopeT,
1326 ),
1327 >,
1328 pub select_entity: ::std::option::Option<
1329 unsafe extern "C" fn(
1330 tt: *mut TheTruthO,
1331 tab: *mut TabI,
1332 entity: TtIdT,
1333 undo_scope: TtUndoScopeT,
1334 ),
1335 >,
1336 pub select_component: ::std::option::Option<
1337 unsafe extern "C" fn(
1338 tt: *mut TheTruthO,
1339 tab: *mut TabI,
1340 component: TtIdT,
1341 undo_scope: TtUndoScopeT,
1342 ),
1343 >,
1344}
1345#[repr(C)]
1346pub struct SceneCommandDataT {
1347 pub tab: *mut TabI,
1348 pub viewport: RectT,
1349 pub camera: *mut CameraT,
1350 pub command_position: Vec2T,
1351}
1352impl Default for SceneCommandDataT {
1353 fn default() -> Self {
1354 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1355 unsafe {
1356 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1357 s.assume_init()
1358 }
1359 }
1360}
1361#[repr(C)]
1362#[derive(Copy, Clone)]
1363pub struct SceneTabCommandI {
1364 pub can_be_executed:
1365 ::std::option::Option<unsafe extern "C" fn(data: *mut SceneCommandDataT) -> bool>,
1366 pub execute: ::std::option::Option<unsafe extern "C" fn(data: *mut SceneCommandDataT)>,
1367 pub name: *const ::std::os::raw::c_char,
1368}
1369impl Default for SceneTabCommandI {
1370 fn default() -> Self {
1371 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1372 unsafe {
1373 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1374 s.assume_init()
1375 }
1376 }
1377}
1378#[repr(C)]
1379#[derive(Default, Copy, Clone)]
1380pub struct TtAspectNameProperty {
1381 pub property_idx: u32,
1382}
1383#[repr(C)]
1384#[derive(Default, Copy, Clone)]
1385pub struct TheTruthReplacerApi {
1386 pub replace_using_path: ::std::option::Option<
1387 unsafe extern "C" fn(
1388 tt: *mut TheTruthO,
1389 dest: TtIdT,
1390 source: TtIdT,
1391 undo_scope: TtUndoScopeT,
1392 ),
1393 >,
1394}
1395#[repr(C)]
1396#[derive(Default, Copy, Clone)]
1397pub struct TheTruthStripperI {
1398 pub strip: ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO, asset_root: TtIdT)>,
1399}
1400#[repr(C)]
1401#[derive(Copy, Clone)]
1402pub struct RenderPipelineUpdateFrameParametersT {
1403 _unused: [u8; 0],
1404}
1405#[repr(C)]
1406#[derive(Copy, Clone)]
1407pub struct RenderdocToolbarArgsT {
1408 _unused: [u8; 0],
1409}
1410pub type ViewerRenderCallbackF = ::std::option::Option<
1411 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, args: *const RenderArgsT),
1412>;
1413pub type ViewerGatherShaderDataCallbackF = ::std::option::Option<
1414 unsafe extern "C" fn(
1415 inst: *mut ::std::os::raw::c_void,
1416 args: *mut CiShaderDataGatherCallbackArgsT,
1417 ),
1418>;
1419pub type ViewerGatherRenderCallbackF = ::std::option::Option<
1420 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, args: *mut CiRenderGatherCallbackArgsT),
1421>;
1422#[repr(C)]
1423pub struct ViewerCameraT {
1424 pub tm: TransformT,
1425 pub camera: *const CameraSettingsT,
1426}
1427impl Default for ViewerCameraT {
1428 fn default() -> Self {
1429 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1430 unsafe {
1431 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1432 s.assume_init()
1433 }
1434 }
1435}
1436pub type ViewerGatherCameraSettingsCallbackF = ::std::option::Option<
1437 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, camera: *mut ViewerCameraT),
1438>;
1439pub const TM_VIEWER_CAMERA_SETTINGS_IMMEDIATE: ViewerCameraSettings = 0;
1440pub const TM_VIEWER_CAMERA_SETTINGS_CALLBACK: ViewerCameraSettings = 1;
1441pub type ViewerCameraSettings = ::std::os::raw::c_int;
1442#[repr(C)]
1443pub struct ViewerRenderArgsTBindgenTy1 {
1444 pub __bindgen_anon_1: __BindgenUnionField<ViewerRenderArgsTBindgenTy1BindgenTy1>,
1445 pub camera: __BindgenUnionField<ViewerCameraT>,
1446 pub bindgen_union_field: [u64; 6usize],
1447}
1448#[repr(C)]
1449#[derive(Copy, Clone)]
1450pub struct ViewerRenderArgsTBindgenTy1BindgenTy1 {
1451 pub gather_camera_settings_callback: ViewerGatherCameraSettingsCallbackF,
1452 pub gather_camera_settings_callback_inst: *mut ::std::os::raw::c_void,
1453}
1454impl Default for ViewerRenderArgsTBindgenTy1BindgenTy1 {
1455 fn default() -> Self {
1456 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1457 unsafe {
1458 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1459 s.assume_init()
1460 }
1461 }
1462}
1463impl Default for ViewerRenderArgsTBindgenTy1 {
1464 fn default() -> Self {
1465 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1466 unsafe {
1467 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1468 s.assume_init()
1469 }
1470 }
1471}
1472#[repr(C)]
1473#[derive(Copy, Clone)]
1474pub struct ViewerRenderInfoT {
1475 pub target_width: u32,
1476 pub target_height: u32,
1477 pub vr_context: u32,
1478 pub _padding_139: [::std::os::raw::c_char; 4usize],
1479 pub camera: *const CameraT,
1480 pub render_pipeline: *mut RenderPipelineI,
1481}
1482impl Default for ViewerRenderInfoT {
1483 fn default() -> Self {
1484 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1485 unsafe {
1486 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1487 s.assume_init()
1488 }
1489 }
1490}
1491#[repr(C)]
1492#[derive(Copy, Clone)]
1493pub struct ViewerO {
1494 _unused: [u8; 0],
1495}
1496#[repr(C)]
1497#[derive(Default, Copy, Clone)]
1498pub struct ViewerApi {
1499 pub request_render: ::std::option::Option<
1500 unsafe extern "C" fn(
1501 viewer: *mut ViewerO,
1502 args: *const ViewerRenderArgsT,
1503 info: *mut ViewerRenderInfoT,
1504 res_buf: *mut RendererResourceCommandBufferO,
1505 cmd_buf: *mut RendererCommandBufferO,
1506 ) -> RendererHandleT,
1507 >,
1508 pub get_color_space: ::std::option::Option<
1509 unsafe extern "C" fn(viewer: *const ViewerO) -> *const ColorSpaceDescT,
1510 >,
1511 pub pipeline:
1512 ::std::option::Option<unsafe extern "C" fn(viewer: *mut ViewerO) -> *mut RenderPipelineI>,
1513 pub reset_render_pipeline: ::std::option::Option<unsafe extern "C" fn(viewer: *mut ViewerO)>,
1514 pub set_render_pipeline_api: ::std::option::Option<
1515 unsafe extern "C" fn(viewer: *mut ViewerO, pipeline_api: *mut RenderPipelineVt),
1516 >,
1517 pub screenshot: ::std::option::Option<unsafe extern "C" fn(viewer: *mut ViewerO)>,
1518 pub init_vr: ::std::option::Option<unsafe extern "C" fn(viewer: *mut ViewerO, activate: bool)>,
1519}
1520#[repr(C)]
1521#[derive(Default, Copy, Clone)]
1522pub struct ViewerManagerApi {
1523 pub create_manager: ::std::option::Option<
1524 unsafe extern "C" fn(
1525 allocator: *mut AllocatorI,
1526 render_backend: *mut RendererBackendI,
1527 shader_repository: *mut ShaderRepositoryO,
1528 main_device_affinity: u32,
1529 default_visibility_context: *mut VisibilityContextO,
1530 viewport_visibility_flag: u64,
1531 ) -> *mut ViewerManagerO,
1532 >,
1533 pub destroy_manager: ::std::option::Option<
1534 unsafe extern "C" fn(
1535 manager: *mut ViewerManagerO,
1536 res_buf: *mut RendererResourceCommandBufferO,
1537 ),
1538 >,
1539 pub create: ::std::option::Option<
1540 unsafe extern "C" fn(
1541 manager: *mut ViewerManagerO,
1542 main_module_name: *const ::std::os::raw::c_char,
1543 ) -> *mut ViewerO,
1544 >,
1545 pub destroy: ::std::option::Option<
1546 unsafe extern "C" fn(
1547 manager: *mut ViewerManagerO,
1548 viewer: *mut ViewerO,
1549 res_buf: *mut RendererResourceCommandBufferO,
1550 ),
1551 >,
1552 pub viewers: ::std::option::Option<
1553 unsafe extern "C" fn(
1554 manager: *mut ViewerManagerO,
1555 active: *mut *mut bool,
1556 ) -> *mut *mut ViewerO,
1557 >,
1558 pub render: ::std::option::Option<
1559 unsafe extern "C" fn(
1560 manager: *mut ViewerManagerO,
1561 shader_context: *const ShaderSystemContextO,
1562 tt: *const TheTruthO,
1563 frame_params: *const RenderPipelineUpdateFrameParametersT,
1564 ),
1565 >,
1566}
1567#[repr(C)]
1568#[derive(Default, Copy, Clone)]
1569pub struct AssetPreviewO {
1570 pub _address: u8,
1571}
1572#[repr(C)]
1573#[derive(Default, Copy, Clone)]
1574pub struct AssetSceneO {
1575 pub _address: u8,
1576}
1577
1578use const_cstr::{const_cstr, ConstCStr};
1581
1582use crate::foundation::VersionT;
1583
1584use crate::foundation::*;
1585use crate::plugins::editor_views::*;
1586use crate::plugins::entity::*;
1587use crate::plugins::render_graph::*;
1588use crate::plugins::renderer::*;
1589use crate::plugins::shader_system::*;
1590use crate::plugins::ui::*;
1591
1592impl AssetPreviewApi {
1593 pub unsafe fn create(&self, allocator: *mut AllocatorI) -> *mut AssetPreviewO {
1594 self.create.unwrap()(allocator)
1595 }
1596
1597 pub unsafe fn destroy(&self, inst: *mut AssetPreviewO, allocator: *mut AllocatorI) {
1598 self.destroy.unwrap()(inst, allocator)
1599 }
1600
1601 pub unsafe fn create_entity(
1602 &self,
1603 inst: *mut AssetPreviewO,
1604 tt: *mut TheTruthO,
1605 asset: TtIdT,
1606 entity_ctx: *mut EntityContextO,
1607 result: *mut EntityT,
1608 ) {
1609 self.create_entity.unwrap()(inst, tt, asset, entity_ctx, result)
1610 }
1611
1612 pub unsafe fn intercept_focus(
1613 &self,
1614 inst: *mut AssetPreviewO,
1615 tt: *mut TheTruthO,
1616 root_asset: TtIdT,
1617 entity_ctx: *mut EntityContextO,
1618 entity: *const EntityT,
1619 focus_asset: TtIdT,
1620 ) -> bool {
1621 self.intercept_focus.unwrap()(inst, tt, root_asset, entity_ctx, entity, focus_asset)
1622 }
1623
1624 pub unsafe fn reload(
1625 &self,
1626 inst: *mut AssetPreviewO,
1627 tt: *mut TheTruthO,
1628 asset: TtIdT,
1629 entity_ctx: *mut EntityContextO,
1630 entity: *mut EntityT,
1631 ) -> bool {
1632 self.reload.unwrap()(inst, tt, asset, entity_ctx, entity)
1633 }
1634
1635 pub unsafe fn dirty(&self, inst: *mut AssetPreviewO, tt: *mut TheTruthO, asset: TtIdT) -> bool {
1636 self.dirty.unwrap()(inst, tt, asset)
1637 }
1638
1639 pub unsafe fn render(
1640 &self,
1641 inst: *mut AssetPreviewO,
1642 tt: *mut TheTruthO,
1643 asset: TtIdT,
1644 args: *const RenderArgsT,
1645 ) {
1646 self.render.unwrap()(inst, tt, asset, args)
1647 }
1648
1649 pub unsafe fn refresh_thumbnail(
1650 &self,
1651 inst: *mut AssetPreviewO,
1652 tt: *mut TheTruthO,
1653 asset: TtIdT,
1654 args: *const RenderArgsT,
1655 ) {
1656 self.refresh_thumbnail.unwrap()(inst, tt, asset, args)
1657 }
1658
1659 pub unsafe fn ui(&self, inst: *mut AssetPreviewO, args: *const AssetPreviewApiUiArgsT) {
1660 self.ui.unwrap()(inst, args)
1661 }
1662
1663 pub unsafe fn toolbars(
1664 &self,
1665 inst: *mut AssetPreviewO,
1666 ta: *mut TempAllocatorI,
1667 args: *const AssetPreviewApiUiArgsT,
1668 ) -> *mut ToolbarI {
1669 self.toolbars.unwrap()(inst, ta, args)
1670 }
1671
1672 pub unsafe fn update_camera(
1673 &self,
1674 inst: *mut AssetPreviewO,
1675 tt: *mut TheTruthO,
1676 cam_tm: *mut TransformT,
1677 cam_settings: *mut *const CameraSettingsT,
1678 ) {
1679 self.update_camera.unwrap()(inst, tt, cam_tm, cam_settings)
1680 }
1681}
1682
1683impl crate::Api for AssetPreviewApi {
1684 const NAME: ConstCStr = const_cstr!("tm_asset_preview_api");
1685 const VERSION: VersionT = VersionT {
1686 major: 2u32,
1687 minor: 0u32,
1688 patch: 0u32,
1689 };
1690}
1691
1692impl AssetSceneApi {
1693 pub unsafe fn create(&self, allocator: *mut AllocatorI) -> *mut AssetSceneO {
1694 self.create.unwrap()(allocator)
1695 }
1696
1697 pub unsafe fn destroy(&self, inst: *mut AssetSceneO, allocator: *mut AllocatorI) {
1698 self.destroy.unwrap()(inst, allocator)
1699 }
1700
1701 pub unsafe fn droppable(
1702 &self,
1703 inst: *mut AssetSceneO,
1704 tt: *mut TheTruthO,
1705 asset: TtIdT,
1706 ) -> bool {
1707 self.droppable.unwrap()(inst, tt, asset)
1708 }
1709
1710 pub unsafe fn create_entity(
1711 &self,
1712 inst: *mut AssetSceneO,
1713 tt: *mut TheTruthO,
1714 asset: TtIdT,
1715 name: *const ::std::os::raw::c_char,
1716 local_transform: *const TransformT,
1717 parent_entity: TtIdT,
1718 asset_root: TtIdT,
1719 undo_stack: *mut UndoStackI,
1720 ) -> TtIdT {
1721 self.create_entity.unwrap()(
1722 inst,
1723 tt,
1724 asset,
1725 name,
1726 local_transform,
1727 parent_entity,
1728 asset_root,
1729 undo_stack,
1730 )
1731 }
1732
1733 pub unsafe fn bound_entity_asset(
1734 &self,
1735 inst: *mut AssetSceneO,
1736 tt: *const TheTruthO,
1737 asset: TtIdT,
1738 bounds: *mut Vec3T,
1739 ) {
1740 self.bound_entity_asset.unwrap()(inst, tt, asset, bounds)
1741 }
1742}
1743
1744impl BakerContextApi {
1745 pub unsafe fn create_context(
1746 &self,
1747 a: *mut AllocatorI,
1748 tt: *mut TheTruthO,
1749 asset_root: TtIdT,
1750 render_pipe: *mut RenderPipelineVt,
1751 ) -> *mut BakerContextO {
1752 self.create_context.unwrap()(a, tt, asset_root, render_pipe)
1753 }
1754
1755 pub unsafe fn destroy_context(&self, context: *mut BakerContextO) {
1756 self.destroy_context.unwrap()(context)
1757 }
1758
1759 pub unsafe fn entity_context(&self, context: *mut BakerContextO) -> *mut EntityContextO {
1760 self.entity_context.unwrap()(context)
1761 }
1762
1763 pub unsafe fn set_entity(&self, context: *mut BakerContextO, e: EntityT) {
1764 self.set_entity.unwrap()(context, e)
1765 }
1766
1767 pub unsafe fn render_args(&self, context: *mut BakerContextO, args: *mut ViewerRenderArgsT) {
1768 self.render_args.unwrap()(context, args)
1769 }
1770
1771 pub unsafe fn set_camera(
1772 &self,
1773 context: *mut BakerContextO,
1774 camera_tm: *const TransformT,
1775 camera_settings: *const CameraSettingsT,
1776 ) {
1777 self.set_camera.unwrap()(context, camera_tm, camera_settings)
1778 }
1779}
1780
1781impl crate::Api for BakerContextApi {
1782 const NAME: ConstCStr = const_cstr!("tm_baker_context_api");
1783 const VERSION: VersionT = VersionT {
1784 major: 1u32,
1785 minor: 0u32,
1786 patch: 0u32,
1787 };
1788}
1789
1790impl CameraControllerComponentApi {
1791 pub unsafe fn create(
1792 &self,
1793 ctx: *mut EntityContextO,
1794 ) -> *mut CameraControllerComponentManagerO {
1795 self.create.unwrap()(ctx)
1796 }
1797
1798 pub unsafe fn feed_ui_input(
1799 &self,
1800 manager: *mut CameraControllerComponentManagerO,
1801 ui: *mut UiO,
1802 in_area: bool,
1803 ) {
1804 self.feed_ui_input.unwrap()(manager, ui, in_area)
1805 }
1806
1807 pub unsafe fn register_engines(&self, manager: *mut CameraControllerComponentManagerO) {
1808 self.register_engines.unwrap()(manager)
1809 }
1810
1811 pub unsafe fn orientation_indicator(
1812 &self,
1813 manager: *mut CameraControllerComponentManagerO,
1814 ui: *mut UiO,
1815 uistyle: *const UiStyleT,
1816 c: *const UiOrientationIndicatorT,
1817 ) {
1818 self.orientation_indicator.unwrap()(manager, ui, uistyle, c)
1819 }
1820}
1821
1822impl crate::Api for CameraControllerComponentApi {
1823 const NAME: ConstCStr = const_cstr!("tm_camera_controller_component_api");
1824 const VERSION: VersionT = VersionT {
1825 major: 1u32,
1826 minor: 0u32,
1827 patch: 0u32,
1828 };
1829}
1830
1831impl FrustumCullingApi {
1832 pub unsafe fn viewer_from_projection_mat(
1833 &self,
1834 view_tm: *const Mat44T,
1835 projection_tm: *const Mat44T,
1836 visibility_mask: u64,
1837 ) -> CullingViewerT {
1838 self.viewer_from_projection_mat.unwrap()(view_tm, projection_tm, visibility_mask)
1839 }
1840
1841 pub unsafe fn calc_size_of_objects_buffer(&self, bv_type: u32, num_objects: u32) -> u32 {
1842 self.calc_size_of_objects_buffer.unwrap()(bv_type, num_objects)
1843 }
1844
1845 pub unsafe fn calc_size_of_results_buffer(&self, num_viewers: u32, num_objects: u32) -> u32 {
1846 self.calc_size_of_results_buffer.unwrap()(num_viewers, num_objects)
1847 }
1848
1849 pub unsafe fn cull_fast(
1850 &self,
1851 viewers: *const CullingViewerT,
1852 num_viewers: u32,
1853 bv_type: u32,
1854 objects: *const u8,
1855 num_objects: u32,
1856 results: *mut u8,
1857 ta: *mut TempAllocatorI,
1858 ) -> *mut AtomicCounterO {
1859 self.cull_fast.unwrap()(
1860 viewers,
1861 num_viewers,
1862 bv_type,
1863 objects,
1864 num_objects,
1865 results,
1866 ta,
1867 )
1868 }
1869
1870 pub unsafe fn cull_precise(
1871 &self,
1872 viewers: *const CullingViewerT,
1873 num_viewers: u32,
1874 bv_type: u32,
1875 objects: *const u8,
1876 num_objects: u32,
1877 results: *mut u8,
1878 ta: *mut TempAllocatorI,
1879 ) -> *mut AtomicCounterO {
1880 self.cull_precise.unwrap()(
1881 viewers,
1882 num_viewers,
1883 bv_type,
1884 objects,
1885 num_objects,
1886 results,
1887 ta,
1888 )
1889 }
1890
1891 pub unsafe fn gpu_cull(
1892 &self,
1893 args: *mut GpuCullingArgsT,
1894 output: *mut RendererHandleT,
1895 output_desc: *mut RendererBufferDescT,
1896 ) {
1897 self.gpu_cull.unwrap()(args, output, output_desc)
1898 }
1899}
1900
1901impl crate::Api for FrustumCullingApi {
1902 const NAME: ConstCStr = const_cstr!("tm_frustum_culling_api");
1903 const VERSION: VersionT = VersionT {
1904 major: 1u32,
1905 minor: 0u32,
1906 patch: 0u32,
1907 };
1908}
1909
1910impl GpuSceneSubmissionApi {
1911 pub unsafe fn create_workload(
1912 &self,
1913 draw_calls: *const CreationGraphDrawCallDataT,
1914 draw_calls_count: u32,
1915 res_buf: *mut RendererResourceCommandBufferO,
1916 a: *mut AllocatorI,
1917 ) -> *mut GpuSceneSubmissionWorkloadO {
1918 self.create_workload.unwrap()(draw_calls, draw_calls_count, res_buf, a)
1919 }
1920
1921 pub unsafe fn destroy_workload(
1922 &self,
1923 workload: *mut GpuSceneSubmissionWorkloadO,
1924 res_buf: *mut RendererResourceCommandBufferO,
1925 ) {
1926 self.destroy_workload.unwrap()(workload, res_buf)
1927 }
1928
1929 pub unsafe fn cull_and_render(&self, args: *mut GpuSceneSubmissionArgsT) {
1930 self.cull_and_render.unwrap()(args)
1931 }
1932}
1933
1934impl crate::Api for GpuSceneSubmissionApi {
1935 const NAME: ConstCStr = const_cstr!("tm_gpu_scene_submission_api");
1936 const VERSION: VersionT = VersionT {
1937 major: 1u32,
1938 minor: 0u32,
1939 patch: 0u32,
1940 };
1941}
1942
1943impl RenderContextApi {
1944 pub unsafe fn create(&self, allocator: *mut AllocatorI) -> *mut RenderContextO {
1945 self.create.unwrap()(allocator)
1946 }
1947
1948 pub unsafe fn destroy(&self, context: *mut RenderContextO) {
1949 self.destroy.unwrap()(context)
1950 }
1951
1952 pub unsafe fn append_resource_buffers(
1953 &self,
1954 context: *mut RenderContextO,
1955 phase: RenderContextBufferPhase,
1956 res_buffers: *mut *mut RendererResourceCommandBufferO,
1957 num_buffers: u32,
1958 ) {
1959 self.append_resource_buffers.unwrap()(context, phase, res_buffers, num_buffers)
1960 }
1961
1962 pub unsafe fn append_command_buffers(
1963 &self,
1964 context: *mut RenderContextO,
1965 phase: RenderContextBufferPhase,
1966 cmd_buffers: *mut *mut RendererCommandBufferO,
1967 num_buffers: u32,
1968 ) {
1969 self.append_command_buffers.unwrap()(context, phase, cmd_buffers, num_buffers)
1970 }
1971
1972 pub unsafe fn resource_buffers(
1973 &self,
1974 context: *mut RenderContextO,
1975 phase: RenderContextBufferPhase,
1976 res_buffers: *mut *mut RendererResourceCommandBufferO,
1977 ) -> u32 {
1978 self.resource_buffers.unwrap()(context, phase, res_buffers)
1979 }
1980
1981 pub unsafe fn command_buffers(
1982 &self,
1983 context: *mut RenderContextO,
1984 phase: RenderContextBufferPhase,
1985 cmd_buffers: *mut *mut RendererCommandBufferO,
1986 ) -> u32 {
1987 self.command_buffers.unwrap()(context, phase, cmd_buffers)
1988 }
1989}
1990
1991impl crate::Api for RenderContextApi {
1992 const NAME: ConstCStr = const_cstr!("tm_render_context_api");
1993 const VERSION: VersionT = VersionT {
1994 major: 1u32,
1995 minor: 0u32,
1996 patch: 0u32,
1997 };
1998}
1999
2000impl SceneCommonApi {
2001 pub unsafe fn init_camera(&self, camera: *mut TransformT, translation: Vec3T) {
2002 self.init_camera.unwrap()(camera, translation)
2003 }
2004
2005 pub unsafe fn camera_frame_bounds(
2006 &self,
2007 camera: *mut TransformT,
2008 camera_y_fov: f32,
2009 bounds: *const Vec3T,
2010 translation_speed: *mut f32,
2011 focus_point: *mut Vec3T,
2012 ) {
2013 self.camera_frame_bounds.unwrap()(
2014 camera,
2015 camera_y_fov,
2016 bounds,
2017 translation_speed,
2018 focus_point,
2019 )
2020 }
2021
2022 pub unsafe fn find_component_render_interfaces(
2023 &self,
2024 entity_ctx: *mut EntityContextO,
2025 transform_component: ComponentTypeT,
2026 tt: *const TheTruthO,
2027 allocator: *mut AllocatorI,
2028 selection: *const TtIdT,
2029 selection_n: u64,
2030 ignore: *const EntityT,
2031 ignore_n: u64,
2032 include_entities_without_render_components: bool,
2033 res: *mut CiRenderGatherCallbackArgsT,
2034 ) {
2035 self.find_component_render_interfaces.unwrap()(
2036 entity_ctx,
2037 transform_component,
2038 tt,
2039 allocator,
2040 selection,
2041 selection_n,
2042 ignore,
2043 ignore_n,
2044 include_entities_without_render_components,
2045 res,
2046 )
2047 }
2048
2049 pub unsafe fn bound_assets(
2050 &self,
2051 entity_ctx: *mut EntityContextO,
2052 transform_component: ComponentTypeT,
2053 tt: *const TheTruthO,
2054 ignore: *const EntityT,
2055 ignore_n: u64,
2056 bounds: *mut Vec3T,
2057 include_origo: bool,
2058 ) {
2059 self.bound_assets.unwrap()(
2060 entity_ctx,
2061 transform_component,
2062 tt,
2063 ignore,
2064 ignore_n,
2065 bounds,
2066 include_origo,
2067 )
2068 }
2069
2070 pub unsafe fn bound_selected_assets(
2071 &self,
2072 entity_ctx: *mut EntityContextO,
2073 transform_component: ComponentTypeT,
2074 tt: *const TheTruthO,
2075 selection: *const TtIdT,
2076 selection_n: u64,
2077 ignore: *const EntityT,
2078 ignore_n: u64,
2079 bounds: *mut Vec3T,
2080 include_origo: bool,
2081 ) {
2082 self.bound_selected_assets.unwrap()(
2083 entity_ctx,
2084 transform_component,
2085 tt,
2086 selection,
2087 selection_n,
2088 ignore,
2089 ignore_n,
2090 bounds,
2091 include_origo,
2092 )
2093 }
2094
2095 pub unsafe fn bound_entity_asset(
2096 &self,
2097 tt: *const TheTruthO,
2098 entity: TtIdT,
2099 bounds: *mut Vec3T,
2100 ) {
2101 self.bound_entity_asset.unwrap()(tt, entity, bounds)
2102 }
2103
2104 pub unsafe fn find_shader_data_engine_update(
2105 &self,
2106 inst: *mut EngineO,
2107 data: *mut EngineUpdateSetT,
2108 commands: *mut EntityCommandsO,
2109 ) {
2110 self.find_shader_data_engine_update.unwrap()(inst, data, commands)
2111 }
2112
2113 pub unsafe fn gather_shader_data_filter(
2114 &self,
2115 inst: *mut EngineO,
2116 components: *const ComponentTypeT,
2117 num_components: u32,
2118 mask: *const ComponentMaskT,
2119 ) -> bool {
2120 self.gather_shader_data_filter.unwrap()(inst, components, num_components, mask)
2121 }
2122
2123 pub unsafe fn find_renderables_engine_update(
2124 &self,
2125 inst: *mut EngineO,
2126 data: *mut EngineUpdateSetT,
2127 commands: *mut EntityCommandsO,
2128 ) {
2129 self.find_renderables_engine_update.unwrap()(inst, data, commands)
2130 }
2131
2132 pub unsafe fn gather_renderables_filter(
2133 &self,
2134 inst: *mut EngineO,
2135 components: *const ComponentTypeT,
2136 num_components: u32,
2137 mask: *const ComponentMaskT,
2138 ) -> bool {
2139 self.gather_renderables_filter.unwrap()(inst, components, num_components, mask)
2140 }
2141
2142 pub unsafe fn add_default_light_source(&self, entity_ctx: *mut EntityContextO) -> EntityT {
2143 self.add_default_light_source.unwrap()(entity_ctx)
2144 }
2145
2146 pub unsafe fn has_any_light_source(&self, ctx: *mut EntityContextO) -> bool {
2147 self.has_any_light_source.unwrap()(ctx)
2148 }
2149
2150 pub unsafe fn component_visualization_menu(
2151 &self,
2152 tt: *mut TheTruthO,
2153 entity_ctx: *mut EntityContextO,
2154 ui: *mut UiO,
2155 uistyle: *const UiStyleT,
2156 tab: *mut TabI,
2157 pos: Vec2T,
2158 ) {
2159 self.component_visualization_menu.unwrap()(tt, entity_ctx, ui, uistyle, tab, pos)
2160 }
2161
2162 pub unsafe fn viewport_visualization_toolbar(
2163 &self,
2164 tt: *mut TheTruthO,
2165 entity_ctx: *mut EntityContextO,
2166 le_settings: *mut LightingEnvironmentSettingsT,
2167 statistics_overlays: *mut StatisticsOverlaysT,
2168 render_pipeline: *mut RenderPipelineI,
2169 ui: *mut UiO,
2170 uistyle: *const UiStyleT,
2171 tab: *mut TabI,
2172 toolbar_r: RectT,
2173 toolbar_draw_mode: u32,
2174 ) -> RectT {
2175 self.viewport_visualization_toolbar.unwrap()(
2176 tt,
2177 entity_ctx,
2178 le_settings,
2179 statistics_overlays,
2180 render_pipeline,
2181 ui,
2182 uistyle,
2183 tab,
2184 toolbar_r,
2185 toolbar_draw_mode,
2186 )
2187 }
2188
2189 pub unsafe fn statistics_menu(
2190 &self,
2191 statistics_overlays: *mut StatisticsOverlaysT,
2192 ui: *mut UiO,
2193 uistyle: *const UiStyleT,
2194 pos: Vec2T,
2195 ) {
2196 self.statistics_menu.unwrap()(statistics_overlays, ui, uistyle, pos)
2197 }
2198
2199 pub unsafe fn statistics_overlay_toolbars(
2200 &self,
2201 statistics_overlays: *mut StatisticsOverlaysT,
2202 ta: *mut TempAllocatorI,
2203 ) -> *mut ToolbarI {
2204 self.statistics_overlay_toolbars.unwrap()(statistics_overlays, ta)
2205 }
2206
2207 pub unsafe fn place_entity(
2208 &self,
2209 tt: *mut TheTruthO,
2210 entity: TtIdT,
2211 local_transform: *const TransformT,
2212 parent: TtIdT,
2213 undo_scope: TtUndoScopeT,
2214 ) {
2215 self.place_entity.unwrap()(tt, entity, local_transform, parent, undo_scope)
2216 }
2217
2218 pub unsafe fn select_entity(
2219 &self,
2220 tt: *mut TheTruthO,
2221 tab: *mut TabI,
2222 entity: TtIdT,
2223 undo_scope: TtUndoScopeT,
2224 ) {
2225 self.select_entity.unwrap()(tt, tab, entity, undo_scope)
2226 }
2227
2228 pub unsafe fn select_component(
2229 &self,
2230 tt: *mut TheTruthO,
2231 tab: *mut TabI,
2232 component: TtIdT,
2233 undo_scope: TtUndoScopeT,
2234 ) {
2235 self.select_component.unwrap()(tt, tab, component, undo_scope)
2236 }
2237}
2238
2239impl crate::Api for SceneCommonApi {
2240 const NAME: ConstCStr = const_cstr!("tm_scene_common_api");
2241 const VERSION: VersionT = VersionT {
2242 major: 2u32,
2243 minor: 0u32,
2244 patch: 0u32,
2245 };
2246}
2247
2248impl TheTruthReplacerApi {
2249 pub unsafe fn replace_using_path(
2250 &self,
2251 tt: *mut TheTruthO,
2252 dest: TtIdT,
2253 source: TtIdT,
2254 undo_scope: TtUndoScopeT,
2255 ) {
2256 self.replace_using_path.unwrap()(tt, dest, source, undo_scope)
2257 }
2258}
2259
2260impl crate::Api for TheTruthReplacerApi {
2261 const NAME: ConstCStr = const_cstr!("tm_the_truth_replacer_api");
2262 const VERSION: VersionT = VersionT {
2263 major: 1u32,
2264 minor: 0u32,
2265 patch: 0u32,
2266 };
2267}
2268
2269impl ViewerApi {
2270 pub unsafe fn request_render(
2271 &self,
2272 viewer: *mut ViewerO,
2273 args: *const ViewerRenderArgsT,
2274 info: *mut ViewerRenderInfoT,
2275 res_buf: *mut RendererResourceCommandBufferO,
2276 cmd_buf: *mut RendererCommandBufferO,
2277 ) -> RendererHandleT {
2278 self.request_render.unwrap()(viewer, args, info, res_buf, cmd_buf)
2279 }
2280
2281 pub unsafe fn get_color_space(&self, viewer: *const ViewerO) -> *const ColorSpaceDescT {
2282 self.get_color_space.unwrap()(viewer)
2283 }
2284
2285 pub unsafe fn pipeline(&self, viewer: *mut ViewerO) -> *mut RenderPipelineI {
2286 self.pipeline.unwrap()(viewer)
2287 }
2288
2289 pub unsafe fn reset_render_pipeline(&self, viewer: *mut ViewerO) {
2290 self.reset_render_pipeline.unwrap()(viewer)
2291 }
2292
2293 pub unsafe fn set_render_pipeline_api(
2294 &self,
2295 viewer: *mut ViewerO,
2296 pipeline_api: *mut RenderPipelineVt,
2297 ) {
2298 self.set_render_pipeline_api.unwrap()(viewer, pipeline_api)
2299 }
2300
2301 pub unsafe fn screenshot(&self, viewer: *mut ViewerO) {
2302 self.screenshot.unwrap()(viewer)
2303 }
2304
2305 pub unsafe fn init_vr(&self, viewer: *mut ViewerO, activate: bool) {
2306 self.init_vr.unwrap()(viewer, activate)
2307 }
2308}
2309
2310impl crate::Api for ViewerApi {
2311 const NAME: ConstCStr = const_cstr!("tm_viewer_api");
2312 const VERSION: VersionT = VersionT {
2313 major: 1u32,
2314 minor: 0u32,
2315 patch: 0u32,
2316 };
2317}
2318
2319impl ViewerManagerApi {
2320 pub unsafe fn create_manager(
2321 &self,
2322 allocator: *mut AllocatorI,
2323 render_backend: *mut RendererBackendI,
2324 shader_repository: *mut ShaderRepositoryO,
2325 main_device_affinity: u32,
2326 default_visibility_context: *mut VisibilityContextO,
2327 viewport_visibility_flag: u64,
2328 ) -> *mut ViewerManagerO {
2329 self.create_manager.unwrap()(
2330 allocator,
2331 render_backend,
2332 shader_repository,
2333 main_device_affinity,
2334 default_visibility_context,
2335 viewport_visibility_flag,
2336 )
2337 }
2338
2339 pub unsafe fn destroy_manager(
2340 &self,
2341 manager: *mut ViewerManagerO,
2342 res_buf: *mut RendererResourceCommandBufferO,
2343 ) {
2344 self.destroy_manager.unwrap()(manager, res_buf)
2345 }
2346
2347 pub unsafe fn create(
2348 &self,
2349 manager: *mut ViewerManagerO,
2350 main_module_name: *const ::std::os::raw::c_char,
2351 ) -> *mut ViewerO {
2352 self.create.unwrap()(manager, main_module_name)
2353 }
2354
2355 pub unsafe fn destroy(
2356 &self,
2357 manager: *mut ViewerManagerO,
2358 viewer: *mut ViewerO,
2359 res_buf: *mut RendererResourceCommandBufferO,
2360 ) {
2361 self.destroy.unwrap()(manager, viewer, res_buf)
2362 }
2363
2364 pub unsafe fn viewers(
2365 &self,
2366 manager: *mut ViewerManagerO,
2367 active: *mut *mut bool,
2368 ) -> *mut *mut ViewerO {
2369 self.viewers.unwrap()(manager, active)
2370 }
2371
2372 pub unsafe fn render(
2373 &self,
2374 manager: *mut ViewerManagerO,
2375 shader_context: *const ShaderSystemContextO,
2376 tt: *const TheTruthO,
2377 frame_params: *const RenderPipelineUpdateFrameParametersT,
2378 ) {
2379 self.render.unwrap()(manager, shader_context, tt, frame_params)
2380 }
2381}
2382
2383impl crate::Api for ViewerManagerApi {
2384 const NAME: ConstCStr = const_cstr!("tm_viewer_manager_api");
2385 const VERSION: VersionT = VersionT {
2386 major: 2u32,
2387 minor: 0u32,
2388 patch: 0u32,
2389 };
2390}
2391
2392pub const TM_TT_ASPECT__ASSET_PREVIEW: StrhashT = StrhashT {
2393 u64_: 14212721863639798132u64,
2394};
2395pub const TM_TT_ASPECT__ASSET_SCENE: StrhashT = StrhashT {
2396 u64_: 14329318064558651605u64,
2397};
2398pub const TM_TT_ASPECT__ASSET_OPEN: StrhashT = StrhashT {
2399 u64_: 5594051701220254319u64,
2400};
2401pub const TYPE_HASH__CAMERA_CONTROLLER_COMPONENT: StrhashT = StrhashT {
2402 u64_: 9760961870676976776u64,
2403};
2404pub const TM_ENGINE__FREEFLIGHT_CAMERA_CONTROLLER: StrhashT = StrhashT {
2405 u64_: 16405980432310866292u64,
2406};
2407pub const TM_ENGINE__FREEFLIGHT_CAMERA_TRANSFORM: StrhashT = StrhashT {
2408 u64_: 3643124764479369251u64,
2409};
2410pub const TM_CI_EDITOR_UI: StrhashT = StrhashT {
2411 u64_: 15967003850867459386u64,
2412};
2413pub const TM_EDITOR_TOOL_ID__SELECT: StrhashT = StrhashT {
2414 u64_: 15419100652914668230u64,
2415};
2416pub const TM_EDITOR_TOOL_ID__MOVE: StrhashT = StrhashT {
2417 u64_: 10765360271784010468u64,
2418};
2419pub const TM_EDITOR_TOOL_ID__ROTATE: StrhashT = StrhashT {
2420 u64_: 4957850385211195158u64,
2421};
2422pub const TM_EDITOR_TOOL_ID__SCALE: StrhashT = StrhashT {
2423 u64_: 10577229183153927243u64,
2424};
2425pub const TM_EDITOR_TOOL_ID__ORIENTATION: StrhashT = StrhashT {
2426 u64_: 6220572659606744657u64,
2427};
2428pub const TM_CI_RENDER: StrhashT = StrhashT {
2429 u64_: 6430888070237176841u64,
2430};
2431pub const TM_CI_SHADER: StrhashT = StrhashT {
2432 u64_: 14389400674037110261u64,
2433};
2434pub const TM_GPU_CULLING__TRANSFORMS_INPUT: StrhashT = StrhashT {
2435 u64_: 2665470916605338210u64,
2436};
2437pub const TM_GPU_CULLING__OUTPUT: StrhashT = StrhashT {
2438 u64_: 13816956930322693720u64,
2439};
2440pub const TM_GPU_CULLING__DRAW_CMDS_OUTPUT: StrhashT = StrhashT {
2441 u64_: 12832042406061263999u64,
2442};
2443pub const TM_GPU_CULLING__BOUNDING_RADIUS: StrhashT = StrhashT {
2444 u64_: 13926938770589846664u64,
2445};
2446pub const TM_GPU_CULLING__TRANSFORMS_COUNT: StrhashT = StrhashT {
2447 u64_: 7762110212670973143u64,
2448};
2449pub const TM_GPU_CULLING__TRANSFORMS_START: StrhashT = StrhashT {
2450 u64_: 17570208879660267539u64,
2451};
2452pub const TM_GPU_CULLING__TRANSFORMS_STRIDE: StrhashT = StrhashT {
2453 u64_: 194691516363235041u64,
2454};
2455pub const TM_GPU_CULLING__CULLING_DISTANCE: StrhashT = StrhashT {
2456 u64_: 5958167400858114767u64,
2457};
2458pub const TM_GPU_CULLING__DRAW_CMDS_COUNT: StrhashT = StrhashT {
2459 u64_: 17165353573604852259u64,
2460};
2461pub const TM_GPU_CULLING__PARENT_TRANSFORM: StrhashT = StrhashT {
2462 u64_: 10460656992834597080u64,
2463};
2464pub const TM_GPU_SCENE_SUBMISSION__TRANSFORMS_INPUT: StrhashT = StrhashT {
2465 u64_: 2735135666531474372u64,
2466};
2467pub const TM_GPU_SCENE_SUBMISSION__OUTPUT: StrhashT = StrhashT {
2468 u64_: 18345216586284322428u64,
2469};
2470pub const TM_GPU_SCENE_SUBMISSION__DRAW_CMDS_OUTPUT: StrhashT = StrhashT {
2471 u64_: 3450145739906582207u64,
2472};
2473pub const TM_GPU_SCENE_SUBMISSION__DISPATCH_INDIRECT_OUTPUT: StrhashT = StrhashT {
2474 u64_: 8013803713849225952u64,
2475};
2476pub const TM_GPU_SCENE_SUBMISSION__BOUNDING_RADIUS: StrhashT = StrhashT {
2477 u64_: 1112308192711211455u64,
2478};
2479pub const TM_GPU_SCENE_SUBMISSION__TRANSFORMS_COUNT: StrhashT = StrhashT {
2480 u64_: 16164211266129383767u64,
2481};
2482pub const TM_GPU_SCENE_SUBMISSION__TRANSFORMS_START: StrhashT = StrhashT {
2483 u64_: 5762445022806614575u64,
2484};
2485pub const TM_GPU_SCENE_SUBMISSION__TRANSFORMS_STRIDE: StrhashT = StrhashT {
2486 u64_: 12307040261741271801u64,
2487};
2488pub const TM_GPU_SCENE_SUBMISSION__PARENT_TRANSFORM: StrhashT = StrhashT {
2489 u64_: 12159040891817738833u64,
2490};
2491pub const TM_GPU_SCENE_SUBMISSION__CULLING_DISTANCE: StrhashT = StrhashT {
2492 u64_: 5100655888310955492u64,
2493};
2494pub const TM_GPU_SCENE_SUBMISSION__DRAW_CMDS_COUNT: StrhashT = StrhashT {
2495 u64_: 5210628088815794490u64,
2496};
2497pub const TM_GPU_SCENE_SUBMISSION__VIEWERS_COUNT: StrhashT = StrhashT {
2498 u64_: 8158439013611647872u64,
2499};
2500pub const TM_GPU_SCENE_SUBMISSION__INDIRECT_DRAW_CMDS_START: StrhashT = StrhashT {
2501 u64_: 7929537108828966574u64,
2502};
2503pub const TM_GPU_SCENE_SUBMISSION__INDIRECT_COMPUTE_CMD_OFFSET: StrhashT = StrhashT {
2504 u64_: 6871324773626176928u64,
2505};
2506pub const TM_GPU_SCENE_SUBMISSION__INSTANCE_COUNTERS_START: StrhashT = StrhashT {
2507 u64_: 8003617856616968400u64,
2508};
2509pub const TM_GPU_SCENE_SUBMISSION__INSTANCE_INDIRECTION_START: StrhashT = StrhashT {
2510 u64_: 8389349747083231397u64,
2511};
2512pub const TM_TT_ASPECT__NAME_PROPERTY: StrhashT = StrhashT {
2513 u64_: 16328471694850579054u64,
2514};
2515pub const TM_CAMERA_CONTROLLER_COMPONENT_API_VERSION: VersionT = VersionT {
2516 major: 1u32,
2517 minor: 0u32,
2518 patch: 0u32,
2519};
2520pub const TM_VIEWER_API_VERSION: VersionT = VersionT {
2521 major: 1u32,
2522 minor: 0u32,
2523 patch: 0u32,
2524};
2525pub const TM_BAKER_CONTEXT_API_VERSION: VersionT = VersionT {
2526 major: 1u32,
2527 minor: 0u32,
2528 patch: 0u32,
2529};
2530pub const TM_SCENE_COMMON_API_VERSION: VersionT = VersionT {
2531 major: 2u32,
2532 minor: 0u32,
2533 patch: 0u32,
2534};
2535pub const TM_VIEWER_MANAGER_API_VERSION: VersionT = VersionT {
2536 major: 2u32,
2537 minor: 0u32,
2538 patch: 0u32,
2539};
2540pub const TM_SCENE_TAB_COMMAND_I_VERSION: VersionT = VersionT {
2541 major: 1u32,
2542 minor: 0u32,
2543 patch: 0u32,
2544};
2545pub const TM_RENDER_CONTEXT_API_VERSION: VersionT = VersionT {
2546 major: 1u32,
2547 minor: 0u32,
2548 patch: 0u32,
2549};
2550pub const TM_THE_TRUTH_REPLACER_API_VERSION: VersionT = VersionT {
2551 major: 1u32,
2552 minor: 0u32,
2553 patch: 0u32,
2554};
2555pub const TM_ASSET_PREVIEW_API_VERSION: VersionT = VersionT {
2556 major: 2u32,
2557 minor: 0u32,
2558 patch: 0u32,
2559};
2560pub const TM_THE_TRUTH_STRIPPER_I_VERSION: VersionT = VersionT {
2561 major: 1u32,
2562 minor: 0u32,
2563 patch: 0u32,
2564};
2565pub const TM_FRUSTUM_CULLING_API_VERSION: VersionT = VersionT {
2566 major: 1u32,
2567 minor: 0u32,
2568 patch: 0u32,
2569};
2570pub const TM_GPU_SCENE_SUBMISSION_API_VERSION: VersionT = VersionT {
2571 major: 1u32,
2572 minor: 0u32,
2573 patch: 0u32,
2574};