1#[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}