Skip to main content

engage/generated/unity_engine/rendering/universal/
screenspaceambientocclusion.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        system::{
10            object::{IObject, Object},
11            r#enum::{Enum, IEnum},
12            valuetype::{IValueType, ValueType},
13        },
14        unity_engine::{
15            object_2::{IObject_2, Object_2},
16            rendering::universal::{
17                scriptablerendererfeature::{IScriptableRendererFeature, ScriptableRendererFeature},
18                scriptablerenderpass::{IScriptableRenderPass, ScriptableRenderPass},
19            },
20            scriptableobject::{IScriptableObject, ScriptableObject},
21        },
22    };
23
24    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/screenspaceambientocclusion/ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass.md"))]
25    #[::unity::class(
26        namespace = "UnityEngine.Rendering.Universal",
27        name = "ScreenSpaceAmbientOcclusion.ScreenSpaceAmbientOcclusionPass"
28    )]
29    #[parent(crate::unity_engine::rendering::universal::scriptablerenderpass::ScriptableRenderPass)]
30    pub struct ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass {
31        #[offset(112)]
32        #[rename(name = "profilerTag")]
33        pub profiler_tag: ::unity::Il2CppString,
34        #[offset(120)]
35        #[rename(name = "material")]
36        pub material: crate::unity_engine::material::Material,
37        #[offset(128)]
38        #[rename(name = "m_CurrentSettings")]
39        pub m_current_settings: crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings,
40        #[offset(136)]
41        #[rename(name = "m_ProfilingSampler")]
42        pub m_profiling_sampler: crate::unity_engine::rendering::profilingsampler::ProfilingSampler,
43        #[offset(144)]
44        #[rename(name = "m_SSAOTexture1Target")]
45        pub m_ssao_texture1_target: crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier,
46        #[offset(184)]
47        #[rename(name = "m_SSAOTexture2Target")]
48        pub m_ssao_texture2_target: crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier,
49        #[offset(224)]
50        #[rename(name = "m_SSAOTexture3Target")]
51        pub m_ssao_texture3_target: crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier,
52        #[offset(264)]
53        #[rename(name = "m_Descriptor")]
54        pub m_descriptor: crate::unity_engine::rendertexturedescriptor::RenderTextureDescriptor,
55        #[static_field]
56        #[rename(name = "k_SSAOAmbientOcclusionParamName")]
57        pub k_ssao_ambient_occlusion_param_name: ::unity::Il2CppString,
58        #[static_field]
59        #[rename(name = "k_SSAOTextureName")]
60        pub k_ssao_texture_name: ::unity::Il2CppString,
61        #[static_field]
62        #[rename(name = "s_BaseMapID")]
63        pub s_base_map_id: i32,
64        #[static_field]
65        #[rename(name = "s_SSAOParamsID")]
66        pub s_ssao_params_id: i32,
67        #[static_field]
68        #[rename(name = "s_SSAOTexture1ID")]
69        pub s_ssao_texture1_id: i32,
70        #[static_field]
71        #[rename(name = "s_SSAOTexture2ID")]
72        pub s_ssao_texture2_id: i32,
73        #[static_field]
74        #[rename(name = "s_SSAOTexture3ID")]
75        pub s_ssao_texture3_id: i32,
76    }
77
78    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/screenspaceambientocclusion/ScreenSpaceAmbientOcclusion.md"))]
79    #[::unity::class(namespace = "UnityEngine.Rendering.Universal", name = "ScreenSpaceAmbientOcclusion")]
80    #[parent(crate::unity_engine::rendering::universal::scriptablerendererfeature::ScriptableRendererFeature)]
81    pub struct ScreenSpaceAmbientOcclusion {
82        #[offset(32)]
83        #[rename(name = "m_Shader")]
84        pub m_shader: crate::unity_engine::shader::Shader,
85        #[offset(40)]
86        #[rename(name = "m_Settings")]
87        pub m_settings: crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings,
88        #[offset(48)]
89        #[rename(name = "m_Material")]
90        pub m_material: crate::unity_engine::material::Material,
91        #[offset(56)]
92        #[rename(name = "m_SSAOPass")]
93        pub m_ssao_pass:
94            crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass,
95        #[static_field]
96        #[rename(name = "k_ShaderName")]
97        pub k_shader_name: ::unity::Il2CppString,
98        #[static_field]
99        #[rename(name = "k_OrthographicCameraKeyword")]
100        pub k_orthographic_camera_keyword: ::unity::Il2CppString,
101        #[static_field]
102        #[rename(name = "k_NormalReconstructionLowKeyword")]
103        pub k_normal_reconstruction_low_keyword: ::unity::Il2CppString,
104        #[static_field]
105        #[rename(name = "k_NormalReconstructionMediumKeyword")]
106        pub k_normal_reconstruction_medium_keyword: ::unity::Il2CppString,
107        #[static_field]
108        #[rename(name = "k_NormalReconstructionHighKeyword")]
109        pub k_normal_reconstruction_high_keyword: ::unity::Il2CppString,
110        #[static_field]
111        #[rename(name = "k_SourceDepthKeyword")]
112        pub k_source_depth_keyword: ::unity::Il2CppString,
113        #[static_field]
114        #[rename(name = "k_SourceDepthNormalsKeyword")]
115        pub k_source_depth_normals_keyword: ::unity::Il2CppString,
116        #[static_field]
117        #[rename(name = "k_SourceGBufferKeyword")]
118        pub k_source_g_buffer_keyword: ::unity::Il2CppString,
119    }
120
121    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/screenspaceambientocclusion/ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses.md"))]
122    #[repr(C)]
123    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
124    pub struct ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses {
125        pub value: i32,
126    }
127    impl ::unity::ClassIdentity for ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses {
128        const NAME: &'static str = "ScreenSpaceAmbientOcclusion.ScreenSpaceAmbientOcclusionPass.ShaderPasses";
129        const NAMESPACE: &'static str = "UnityEngine.Rendering.Universal";
130
131        fn class() -> ::unity::Class {
132            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
133            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
134        }
135    }
136    impl ::unity::IlType for ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses {
137        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
138            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
139        }
140    }
141    impl ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses {
142        pub fn ao() -> Self {
143            Self { value: 0 }
144        }
145
146        pub fn blur_horizontal() -> Self {
147            Self { value: 1 }
148        }
149
150        pub fn blur_vertical() -> Self {
151            Self { value: 2 }
152        }
153
154        pub fn blur_final() -> Self {
155            Self { value: 3 }
156        }
157    }
158}
159
160#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion-types")]
161pub use __types::*;
162
163#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
164impl ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass {
165    #[doc = "`.cctor()` overload"]
166    pub fn cctor() -> () {
167        unsafe {
168            ::unity::il2cpp_call!((::unity::module_base()+0x2cb9ba0usize)as*mut u8,();
169            )
170        }
171    }
172}
173
174#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
175pub trait IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPassMethods: IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass {
176    #[doc = "`.ctor()` overload"]
177    fn ctor(self) -> () {
178        unsafe {
179            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
180                <Self as ::unity::SystemObject>::as_instance(self),
181            );
182            ::unity::il2cpp_call!((::unity::module_base()+0x2cb8930usize)as*mut u8,();
183(ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass)__receiver)
184        }
185    }
186    #[doc = "`Setup(crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings)` overload"]
187    fn setup(
188        self,
189        feature_settings: impl ::core::convert::Into<
190            crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings,
191        >,
192    ) -> bool {
193        unsafe {
194            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
195                <Self as ::unity::SystemObject>::as_instance(self),
196            );
197            ::unity::il2cpp_call!((::unity::module_base()+0x2cb8af0usize)as*mut u8,bool;
198(ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass)__receiver,(crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings)::core::convert::Into::into(feature_settings))
199        }
200    }
201    #[doc = "`OnCameraSetup(crate::unity_engine::rendering::commandbuffer::CommandBuffer, *mutcrate::unity_engine::rendering::universal::renderingdata::RenderingData)` overload"]
202    fn on_camera_setup(
203        self,
204        cmd: impl ::core::convert::Into<crate::unity_engine::rendering::commandbuffer::CommandBuffer>,
205    ) -> crate::unity_engine::rendering::universal::renderingdata::RenderingData {
206        unsafe {
207            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
208                <Self as ::unity::SystemObject>::as_instance(self),
209            );
210            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::rendering::universal::renderingdata::RenderingData>::uninit();
211            {
212                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
213                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
214                    panic!(
215                        "unity: virtual slot {}
216 out of range (vtable len {}
217) on the runtime class behind {}
218 (method `{}
219`)",
220                        5usize,
221                        __vt.len(),
222                        <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::ClassIdentity>::NAME,
223                        "OnCameraSetup",
224                    )
225                });
226                let __inner: extern "C" fn(
227                    ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass,
228                    crate::unity_engine::rendering::commandbuffer::CommandBuffer,
229                    *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
230                    ::unity::OptionalMethod,
231                ) -> () = ::core::mem::transmute(__vi.method_ptr);
232                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
233                __inner(__receiver, ::core::convert::Into::into(cmd), __out_0.as_mut_ptr(), __mi)
234            };
235            __out_0.assume_init()
236        }
237    }
238    #[doc = "`Execute(crate::unity_engine::rendering::scriptablerendercontext::ScriptableRenderContext, *mutcrate::unity_engine::rendering::universal::renderingdata::RenderingData)` overload"]
239    fn execute(
240        self,
241        context: impl ::core::convert::Into<crate::unity_engine::rendering::scriptablerendercontext::ScriptableRenderContext>,
242    ) -> crate::unity_engine::rendering::universal::renderingdata::RenderingData {
243        unsafe {
244            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
245                <Self as ::unity::SystemObject>::as_instance(self),
246            );
247            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::rendering::universal::renderingdata::RenderingData>::uninit();
248            {
249                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
250                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
251                    panic!(
252                        "unity: virtual slot {}
253 out of range (vtable len {}
254) on the runtime class behind {}
255 (method `{}
256`)",
257                        9usize,
258                        __vt.len(),
259                        <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::ClassIdentity>::NAME,
260                        "Execute",
261                    )
262                });
263                let __inner: extern "C" fn(
264                    ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass,
265                    crate::unity_engine::rendering::scriptablerendercontext::ScriptableRenderContext,
266                    *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
267                    ::unity::OptionalMethod,
268                ) -> () = ::core::mem::transmute(__vi.method_ptr);
269                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
270                __inner(__receiver, ::core::convert::Into::into(context), __out_0.as_mut_ptr(), __mi)
271            };
272            __out_0.assume_init()
273        }
274    }
275    #[doc = "`Render(crate::unity_engine::rendering::commandbuffer::CommandBuffer, crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier, crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses)` overload"]
276    fn render(
277        self,
278        cmd: impl ::core::convert::Into<crate::unity_engine::rendering::commandbuffer::CommandBuffer>,
279        target: impl ::core::convert::Into<crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier>,
280        pass:impl::core::convert::Into<crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses>,
281    ) -> () {
282        unsafe {
283            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
284                <Self as ::unity::SystemObject>::as_instance(self),
285            );
286            ::unity::il2cpp_call!((::unity::module_base()+0x2cb9800usize)as*mut u8,();
287(ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass)__receiver,(crate::unity_engine::rendering::commandbuffer::CommandBuffer)::core::convert::Into::into(cmd),(crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier)::core::convert::Into::into(target),(crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses)::core::convert::Into::into(pass))
288        }
289    }
290    #[doc = "`RenderAndSetBaseMap(crate::unity_engine::rendering::commandbuffer::CommandBuffer, crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier, crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier, crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses)` overload"]
291    fn render_and_set_base_map(
292        self,
293        cmd: impl ::core::convert::Into<crate::unity_engine::rendering::commandbuffer::CommandBuffer>,
294        base_map: impl ::core::convert::Into<crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier>,
295        target: impl ::core::convert::Into<crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier>,
296        pass:impl::core::convert::Into<crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses>,
297    ) -> () {
298        unsafe {
299            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
300                <Self as ::unity::SystemObject>::as_instance(self),
301            );
302            ::unity::il2cpp_call!((::unity::module_base()+0x2cb9940usize)as*mut u8,();
303(ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass)__receiver,(crate::unity_engine::rendering::commandbuffer::CommandBuffer)::core::convert::Into::into(cmd),(crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier)::core::convert::Into::into(base_map),(crate::unity_engine::rendering::rendertargetidentifier::RenderTargetIdentifier)::core::convert::Into::into(target),(crate::unity_engine::rendering::universal::screenspaceambientocclusion::ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses)::core::convert::Into::into(pass))
304        }
305    }
306    #[doc = "`OnCameraCleanup(crate::unity_engine::rendering::commandbuffer::CommandBuffer)` overload"]
307    fn on_camera_cleanup(self, cmd: impl ::core::convert::Into<crate::unity_engine::rendering::commandbuffer::CommandBuffer>) -> () {
308        unsafe {
309            let __receiver = <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::FromIlInstance>::from_il_instance(
310                <Self as ::unity::SystemObject>::as_instance(self),
311            );
312            {
313                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
314                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
315                    panic!(
316                        "unity: virtual slot {}
317 out of range (vtable len {}
318) on the runtime class behind {}
319 (method `{}
320`)",
321                        7usize,
322                        __vt.len(),
323                        <ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass as ::unity::ClassIdentity>::NAME,
324                        "OnCameraCleanup",
325                    )
326                });
327                let __inner: extern "C" fn(
328                    ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass,
329                    crate::unity_engine::rendering::commandbuffer::CommandBuffer,
330                    ::unity::OptionalMethod,
331                ) -> () = ::core::mem::transmute(__vi.method_ptr);
332                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
333                __inner(__receiver, ::core::convert::Into::into(cmd), __mi)
334            }
335        }
336    }
337}
338
339#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
340impl<__T: IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass> IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPassMethods for __T {}
341
342#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
343impl ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass {
344    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
345        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
346    }
347
348    pub fn setup_method_info() -> &'static ::unity::il2cpp::MethodInfo {
349        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
350    }
351
352    pub fn on_camera_setup_method_info() -> &'static ::unity::il2cpp::MethodInfo {
353        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
354    }
355
356    pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
357        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
358    }
359
360    pub fn render_method_info() -> &'static ::unity::il2cpp::MethodInfo {
361        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
362    }
363
364    pub fn render_and_set_base_map_method_info() -> &'static ::unity::il2cpp::MethodInfo {
365        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
366    }
367
368    pub fn on_camera_cleanup_method_info() -> &'static ::unity::il2cpp::MethodInfo {
369        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
370    }
371
372    pub fn cctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
373        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
374    }
375}
376
377#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
378impl ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass {
379    #[doc = "Direct (non-virtual) call to `ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass`'s own `OnCameraSetup`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
380    pub unsafe fn on_camera_setup(
381        this: impl ::core::convert::Into<::unity::IlInstance>,
382        cmd: crate::unity_engine::rendering::commandbuffer::CommandBuffer,
383        rendering_data: *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
384    ) -> () {
385        let __mi = Self::on_camera_setup_method_info();
386        let __inner: extern "C" fn(
387            ::unity::IlInstance,
388            crate::unity_engine::rendering::commandbuffer::CommandBuffer,
389            *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
390            ::unity::OptionalMethod,
391        ) -> () = ::core::mem::transmute(__mi.method_ptr);
392        __inner(this.into(), cmd, rendering_data, ::core::option::Option::None)
393    }
394
395    #[doc = "Direct (non-virtual) call to `ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
396    pub unsafe fn execute(
397        this: impl ::core::convert::Into<::unity::IlInstance>,
398        context: crate::unity_engine::rendering::scriptablerendercontext::ScriptableRenderContext,
399        rendering_data: *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
400    ) -> () {
401        let __mi = Self::execute_method_info();
402        let __inner: extern "C" fn(
403            ::unity::IlInstance,
404            crate::unity_engine::rendering::scriptablerendercontext::ScriptableRenderContext,
405            *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
406            ::unity::OptionalMethod,
407        ) -> () = ::core::mem::transmute(__mi.method_ptr);
408        __inner(this.into(), context, rendering_data, ::core::option::Option::None)
409    }
410
411    #[doc = "Direct (non-virtual) call to `ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass`'s own `OnCameraCleanup`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
412    pub unsafe fn on_camera_cleanup(
413        this: impl ::core::convert::Into<::unity::IlInstance>,
414        cmd: crate::unity_engine::rendering::commandbuffer::CommandBuffer,
415    ) -> () {
416        let __mi = Self::on_camera_cleanup_method_info();
417        let __inner: extern "C" fn(::unity::IlInstance, crate::unity_engine::rendering::commandbuffer::CommandBuffer, ::unity::OptionalMethod) -> () =
418            ::core::mem::transmute(__mi.method_ptr);
419        __inner(this.into(), cmd, ::core::option::Option::None)
420    }
421}
422
423#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
424impl ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass {
425    #[doc = "`.ctor()` — no args"]
426    pub fn new() -> Self {
427        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
428            panic!(
429                "{}
430::{}
431 failed to instantiate",
432                ::core::stringify!(ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass),
433                ::core::stringify!(new),
434            )
435        });
436        <Self as IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPassMethods>::ctor(this);
437        this
438    }
439}
440
441#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
442pub trait IScreenSpaceAmbientOcclusionMethods: IScreenSpaceAmbientOcclusion {
443    #[doc = "`Create()` overload"]
444    fn create(self) -> () {
445        unsafe {
446            let __receiver =
447                <ScreenSpaceAmbientOcclusion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
448            {
449                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
450                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
451                    panic!(
452                        "unity: virtual slot {}
453 out of range (vtable len {}
454) on the runtime class behind {}
455 (method `{}
456`)",
457                        5usize,
458                        __vt.len(),
459                        <ScreenSpaceAmbientOcclusion as ::unity::ClassIdentity>::NAME,
460                        "Create",
461                    )
462                });
463                let __inner: extern "C" fn(ScreenSpaceAmbientOcclusion, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
464                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
465                __inner(__receiver, __mi)
466            }
467        }
468    }
469    #[doc = "`AddRenderPasses(crate::unity_engine::rendering::universal::scriptablerenderer::ScriptableRenderer, *mutcrate::unity_engine::rendering::universal::renderingdata::RenderingData)` overload"]
470    fn add_render_passes(
471        self,
472        renderer: impl ::core::convert::Into<crate::unity_engine::rendering::universal::scriptablerenderer::ScriptableRenderer>,
473    ) -> crate::unity_engine::rendering::universal::renderingdata::RenderingData {
474        unsafe {
475            let __receiver =
476                <ScreenSpaceAmbientOcclusion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
477            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::rendering::universal::renderingdata::RenderingData>::uninit();
478            {
479                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
480                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
481                    panic!(
482                        "unity: virtual slot {}
483 out of range (vtable len {}
484) on the runtime class behind {}
485 (method `{}
486`)",
487                        6usize,
488                        __vt.len(),
489                        <ScreenSpaceAmbientOcclusion as ::unity::ClassIdentity>::NAME,
490                        "AddRenderPasses",
491                    )
492                });
493                let __inner: extern "C" fn(
494                    ScreenSpaceAmbientOcclusion,
495                    crate::unity_engine::rendering::universal::scriptablerenderer::ScriptableRenderer,
496                    *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
497                    ::unity::OptionalMethod,
498                ) -> () = ::core::mem::transmute(__vi.method_ptr);
499                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
500                __inner(__receiver, ::core::convert::Into::into(renderer), __out_0.as_mut_ptr(), __mi)
501            };
502            __out_0.assume_init()
503        }
504    }
505    #[doc = "`Dispose(bool)` overload"]
506    fn dispose(self, disposing: impl ::core::convert::Into<bool>) -> () {
507        unsafe {
508            let __receiver =
509                <ScreenSpaceAmbientOcclusion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
510            {
511                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
512                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
513                    panic!(
514                        "unity: virtual slot {}
515 out of range (vtable len {}
516) on the runtime class behind {}
517 (method `{}
518`)",
519                        7usize,
520                        __vt.len(),
521                        <ScreenSpaceAmbientOcclusion as ::unity::ClassIdentity>::NAME,
522                        "Dispose",
523                    )
524                });
525                let __inner: extern "C" fn(ScreenSpaceAmbientOcclusion, bool, ::unity::OptionalMethod) -> () =
526                    ::core::mem::transmute(__vi.method_ptr);
527                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
528                __inner(__receiver, ::core::convert::Into::into(disposing), __mi)
529            }
530        }
531    }
532    #[doc = "`GetMaterial()` overload"]
533    fn get_material(self) -> bool {
534        unsafe {
535            let __receiver =
536                <ScreenSpaceAmbientOcclusion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
537            ::unity::il2cpp_call!((::unity::module_base()+0x2ece6d0usize)as*mut u8,bool;
538(ScreenSpaceAmbientOcclusion)__receiver)
539        }
540    }
541    #[doc = "`.ctor()` overload"]
542    fn ctor(self) -> () {
543        unsafe {
544            let __receiver =
545                <ScreenSpaceAmbientOcclusion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
546            ::unity::il2cpp_call!((::unity::module_base()+0x2eceb30usize)as*mut u8,();
547(ScreenSpaceAmbientOcclusion)__receiver)
548        }
549    }
550}
551
552#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
553impl<__T: IScreenSpaceAmbientOcclusion> IScreenSpaceAmbientOcclusionMethods for __T {}
554
555#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
556impl ScreenSpaceAmbientOcclusion {
557    pub fn create_method_info() -> &'static ::unity::il2cpp::MethodInfo {
558        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
559    }
560
561    pub fn add_render_passes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
562        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
563    }
564
565    pub fn dispose_method_info() -> &'static ::unity::il2cpp::MethodInfo {
566        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
567    }
568
569    pub fn get_material_method_info() -> &'static ::unity::il2cpp::MethodInfo {
570        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
571    }
572
573    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
574        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
575    }
576}
577
578#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
579impl ScreenSpaceAmbientOcclusion {
580    #[doc = "Direct (non-virtual) call to `ScreenSpaceAmbientOcclusion`'s own `Create`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
581    pub unsafe fn create(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
582        let __mi = Self::create_method_info();
583        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
584        __inner(this.into(), ::core::option::Option::None)
585    }
586
587    #[doc = "Direct (non-virtual) call to `ScreenSpaceAmbientOcclusion`'s own `AddRenderPasses`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
588    pub unsafe fn add_render_passes(
589        this: impl ::core::convert::Into<::unity::IlInstance>,
590        renderer: crate::unity_engine::rendering::universal::scriptablerenderer::ScriptableRenderer,
591        rendering_data: *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
592    ) -> () {
593        let __mi = Self::add_render_passes_method_info();
594        let __inner: extern "C" fn(
595            ::unity::IlInstance,
596            crate::unity_engine::rendering::universal::scriptablerenderer::ScriptableRenderer,
597            *mut crate::unity_engine::rendering::universal::renderingdata::RenderingData,
598            ::unity::OptionalMethod,
599        ) -> () = ::core::mem::transmute(__mi.method_ptr);
600        __inner(this.into(), renderer, rendering_data, ::core::option::Option::None)
601    }
602
603    #[doc = "Direct (non-virtual) call to `ScreenSpaceAmbientOcclusion`'s own `Dispose`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
604    pub unsafe fn dispose(this: impl ::core::convert::Into<::unity::IlInstance>, disposing: bool) -> () {
605        let __mi = Self::dispose_method_info();
606        let __inner: extern "C" fn(::unity::IlInstance, bool, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
607        __inner(this.into(), disposing, ::core::option::Option::None)
608    }
609}
610
611#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
612impl ScreenSpaceAmbientOcclusion {
613    #[doc = "`.ctor()` — no args"]
614    pub fn new() -> Self {
615        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
616            panic!(
617                "{}
618::{}
619 failed to instantiate",
620                ::core::stringify!(ScreenSpaceAmbientOcclusion),
621                ::core::stringify!(new),
622            )
623        });
624        <Self as IScreenSpaceAmbientOcclusionMethods>::ctor(this);
625        this
626    }
627}
628
629#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusion")]
630#[doc(hidden)]
631pub mod prelude {
632    pub use super::{
633        IScreenSpaceAmbientOcclusion, IScreenSpaceAmbientOcclusionMethods, IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass,
634        IScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPassMethods, ScreenSpaceAmbientOcclusion,
635        ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass, ScreenSpaceAmbientOcclusion_ScreenSpaceAmbientOcclusionPass_ShaderPasses,
636    };
637    #[cfg(feature = "system-object")]
638    pub use crate::system::object::IObjectMethods;
639    #[cfg(feature = "system-enum")]
640    pub use crate::system::r#enum::IEnumMethods;
641    #[cfg(feature = "system-valuetype")]
642    pub use crate::system::valuetype::IValueTypeMethods;
643    #[cfg(feature = "unity_engine-object_2")]
644    pub use crate::unity_engine::object_2::IObject_2Methods;
645    #[cfg(feature = "unity_engine-rendering-universal-scriptablerendererfeature")]
646    pub use crate::unity_engine::rendering::universal::scriptablerendererfeature::IScriptableRendererFeatureMethods;
647    #[cfg(feature = "unity_engine-rendering-universal-scriptablerenderpass")]
648    pub use crate::unity_engine::rendering::universal::scriptablerenderpass::IScriptableRenderPassMethods;
649    #[cfg(feature = "unity_engine-scriptableobject")]
650    pub use crate::unity_engine::scriptableobject::IScriptableObjectMethods;
651    pub use crate::{
652        system::{object::IObject, r#enum::IEnum, valuetype::IValueType},
653        unity_engine::{
654            object_2::IObject_2,
655            rendering::universal::{scriptablerendererfeature::IScriptableRendererFeature, scriptablerenderpass::IScriptableRenderPass},
656            scriptableobject::IScriptableObject,
657        },
658    };
659}