1 /** 2 Default 3D rendering material. 3 4 Copyright: 5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. 6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) 7 Copyright (c) 2017-2018 Godot-D contributors 8 9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License) 10 11 12 */ 13 module godot.spatialmaterial; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.meta; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.object; 22 import godot.classdb; 23 import godot.material; 24 import godot.texture; 25 import godot.resource; 26 import godot.reference; 27 /** 28 Default 3D rendering material. 29 30 This provides a default material with a wide variety of rendering features and properties without the need to write shader code. See the tutorial below for details. 31 */ 32 @GodotBaseClass struct SpatialMaterial 33 { 34 enum string _GODOT_internal_name = "SpatialMaterial"; 35 public: 36 @nogc nothrow: 37 union { godot_object _godot_object; Material _GODOT_base; } 38 alias _GODOT_base this; 39 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 40 package(godot) __gshared bool _classBindingInitialized = false; 41 package(godot) static struct _classBinding 42 { 43 __gshared: 44 @GodotName("set_albedo") GodotMethod!(void, Color) setAlbedo; 45 @GodotName("get_albedo") GodotMethod!(Color) getAlbedo; 46 @GodotName("set_specular") GodotMethod!(void, double) setSpecular; 47 @GodotName("get_specular") GodotMethod!(double) getSpecular; 48 @GodotName("set_metallic") GodotMethod!(void, double) setMetallic; 49 @GodotName("get_metallic") GodotMethod!(double) getMetallic; 50 @GodotName("set_roughness") GodotMethod!(void, double) setRoughness; 51 @GodotName("get_roughness") GodotMethod!(double) getRoughness; 52 @GodotName("set_emission") GodotMethod!(void, Color) setEmission; 53 @GodotName("get_emission") GodotMethod!(Color) getEmission; 54 @GodotName("set_emission_energy") GodotMethod!(void, double) setEmissionEnergy; 55 @GodotName("get_emission_energy") GodotMethod!(double) getEmissionEnergy; 56 @GodotName("set_normal_scale") GodotMethod!(void, double) setNormalScale; 57 @GodotName("get_normal_scale") GodotMethod!(double) getNormalScale; 58 @GodotName("set_rim") GodotMethod!(void, double) setRim; 59 @GodotName("get_rim") GodotMethod!(double) getRim; 60 @GodotName("set_rim_tint") GodotMethod!(void, double) setRimTint; 61 @GodotName("get_rim_tint") GodotMethod!(double) getRimTint; 62 @GodotName("set_clearcoat") GodotMethod!(void, double) setClearcoat; 63 @GodotName("get_clearcoat") GodotMethod!(double) getClearcoat; 64 @GodotName("set_clearcoat_gloss") GodotMethod!(void, double) setClearcoatGloss; 65 @GodotName("get_clearcoat_gloss") GodotMethod!(double) getClearcoatGloss; 66 @GodotName("set_anisotropy") GodotMethod!(void, double) setAnisotropy; 67 @GodotName("get_anisotropy") GodotMethod!(double) getAnisotropy; 68 @GodotName("set_depth_scale") GodotMethod!(void, double) setDepthScale; 69 @GodotName("get_depth_scale") GodotMethod!(double) getDepthScale; 70 @GodotName("set_subsurface_scattering_strength") GodotMethod!(void, double) setSubsurfaceScatteringStrength; 71 @GodotName("get_subsurface_scattering_strength") GodotMethod!(double) getSubsurfaceScatteringStrength; 72 @GodotName("set_transmission") GodotMethod!(void, Color) setTransmission; 73 @GodotName("get_transmission") GodotMethod!(Color) getTransmission; 74 @GodotName("set_refraction") GodotMethod!(void, double) setRefraction; 75 @GodotName("get_refraction") GodotMethod!(double) getRefraction; 76 @GodotName("set_line_width") GodotMethod!(void, double) setLineWidth; 77 @GodotName("get_line_width") GodotMethod!(double) getLineWidth; 78 @GodotName("set_point_size") GodotMethod!(void, double) setPointSize; 79 @GodotName("get_point_size") GodotMethod!(double) getPointSize; 80 @GodotName("set_detail_uv") GodotMethod!(void, long) setDetailUv; 81 @GodotName("get_detail_uv") GodotMethod!(SpatialMaterial.DetailUV) getDetailUv; 82 @GodotName("set_blend_mode") GodotMethod!(void, long) setBlendMode; 83 @GodotName("get_blend_mode") GodotMethod!(SpatialMaterial.BlendMode) getBlendMode; 84 @GodotName("set_depth_draw_mode") GodotMethod!(void, long) setDepthDrawMode; 85 @GodotName("get_depth_draw_mode") GodotMethod!(SpatialMaterial.DepthDrawMode) getDepthDrawMode; 86 @GodotName("set_cull_mode") GodotMethod!(void, long) setCullMode; 87 @GodotName("get_cull_mode") GodotMethod!(SpatialMaterial.CullMode) getCullMode; 88 @GodotName("set_diffuse_mode") GodotMethod!(void, long) setDiffuseMode; 89 @GodotName("get_diffuse_mode") GodotMethod!(SpatialMaterial.DiffuseMode) getDiffuseMode; 90 @GodotName("set_specular_mode") GodotMethod!(void, long) setSpecularMode; 91 @GodotName("get_specular_mode") GodotMethod!(SpatialMaterial.SpecularMode) getSpecularMode; 92 @GodotName("set_flag") GodotMethod!(void, long, bool) setFlag; 93 @GodotName("get_flag") GodotMethod!(bool, long) getFlag; 94 @GodotName("set_feature") GodotMethod!(void, long, bool) setFeature; 95 @GodotName("get_feature") GodotMethod!(bool, long) getFeature; 96 @GodotName("set_texture") GodotMethod!(void, long, Texture) setTexture; 97 @GodotName("get_texture") GodotMethod!(Texture, long) getTexture; 98 @GodotName("set_detail_blend_mode") GodotMethod!(void, long) setDetailBlendMode; 99 @GodotName("get_detail_blend_mode") GodotMethod!(SpatialMaterial.BlendMode) getDetailBlendMode; 100 @GodotName("set_uv1_scale") GodotMethod!(void, Vector3) setUv1Scale; 101 @GodotName("get_uv1_scale") GodotMethod!(Vector3) getUv1Scale; 102 @GodotName("set_uv1_offset") GodotMethod!(void, Vector3) setUv1Offset; 103 @GodotName("get_uv1_offset") GodotMethod!(Vector3) getUv1Offset; 104 @GodotName("set_uv1_triplanar_blend_sharpness") GodotMethod!(void, double) setUv1TriplanarBlendSharpness; 105 @GodotName("get_uv1_triplanar_blend_sharpness") GodotMethod!(double) getUv1TriplanarBlendSharpness; 106 @GodotName("set_uv2_scale") GodotMethod!(void, Vector3) setUv2Scale; 107 @GodotName("get_uv2_scale") GodotMethod!(Vector3) getUv2Scale; 108 @GodotName("set_uv2_offset") GodotMethod!(void, Vector3) setUv2Offset; 109 @GodotName("get_uv2_offset") GodotMethod!(Vector3) getUv2Offset; 110 @GodotName("set_uv2_triplanar_blend_sharpness") GodotMethod!(void, double) setUv2TriplanarBlendSharpness; 111 @GodotName("get_uv2_triplanar_blend_sharpness") GodotMethod!(double) getUv2TriplanarBlendSharpness; 112 @GodotName("set_billboard_mode") GodotMethod!(void, long) setBillboardMode; 113 @GodotName("get_billboard_mode") GodotMethod!(SpatialMaterial.BillboardMode) getBillboardMode; 114 @GodotName("set_particles_anim_h_frames") GodotMethod!(void, long) setParticlesAnimHFrames; 115 @GodotName("get_particles_anim_h_frames") GodotMethod!(long) getParticlesAnimHFrames; 116 @GodotName("set_particles_anim_v_frames") GodotMethod!(void, long) setParticlesAnimVFrames; 117 @GodotName("get_particles_anim_v_frames") GodotMethod!(long) getParticlesAnimVFrames; 118 @GodotName("set_particles_anim_loop") GodotMethod!(void, long) setParticlesAnimLoop; 119 @GodotName("get_particles_anim_loop") GodotMethod!(long) getParticlesAnimLoop; 120 @GodotName("set_depth_deep_parallax") GodotMethod!(void, bool) setDepthDeepParallax; 121 @GodotName("is_depth_deep_parallax_enabled") GodotMethod!(bool) isDepthDeepParallaxEnabled; 122 @GodotName("set_depth_deep_parallax_min_layers") GodotMethod!(void, long) setDepthDeepParallaxMinLayers; 123 @GodotName("get_depth_deep_parallax_min_layers") GodotMethod!(long) getDepthDeepParallaxMinLayers; 124 @GodotName("set_depth_deep_parallax_max_layers") GodotMethod!(void, long) setDepthDeepParallaxMaxLayers; 125 @GodotName("get_depth_deep_parallax_max_layers") GodotMethod!(long) getDepthDeepParallaxMaxLayers; 126 @GodotName("set_grow") GodotMethod!(void, double) setGrow; 127 @GodotName("get_grow") GodotMethod!(double) getGrow; 128 @GodotName("set_emission_operator") GodotMethod!(void, long) setEmissionOperator; 129 @GodotName("get_emission_operator") GodotMethod!(SpatialMaterial.EmissionOperator) getEmissionOperator; 130 @GodotName("set_ao_light_affect") GodotMethod!(void, double) setAoLightAffect; 131 @GodotName("get_ao_light_affect") GodotMethod!(double) getAoLightAffect; 132 @GodotName("set_alpha_scissor_threshold") GodotMethod!(void, double) setAlphaScissorThreshold; 133 @GodotName("get_alpha_scissor_threshold") GodotMethod!(double) getAlphaScissorThreshold; 134 @GodotName("set_grow_enabled") GodotMethod!(void, bool) setGrowEnabled; 135 @GodotName("is_grow_enabled") GodotMethod!(bool) isGrowEnabled; 136 @GodotName("set_metallic_texture_channel") GodotMethod!(void, long) setMetallicTextureChannel; 137 @GodotName("get_metallic_texture_channel") GodotMethod!(SpatialMaterial.TextureChannel) getMetallicTextureChannel; 138 @GodotName("set_roughness_texture_channel") GodotMethod!(void, long) setRoughnessTextureChannel; 139 @GodotName("get_roughness_texture_channel") GodotMethod!(SpatialMaterial.TextureChannel) getRoughnessTextureChannel; 140 @GodotName("set_ao_texture_channel") GodotMethod!(void, long) setAoTextureChannel; 141 @GodotName("get_ao_texture_channel") GodotMethod!(SpatialMaterial.TextureChannel) getAoTextureChannel; 142 @GodotName("set_refraction_texture_channel") GodotMethod!(void, long) setRefractionTextureChannel; 143 @GodotName("get_refraction_texture_channel") GodotMethod!(SpatialMaterial.TextureChannel) getRefractionTextureChannel; 144 @GodotName("set_proximity_fade") GodotMethod!(void, bool) setProximityFade; 145 @GodotName("is_proximity_fade_enabled") GodotMethod!(bool) isProximityFadeEnabled; 146 @GodotName("set_proximity_fade_distance") GodotMethod!(void, double) setProximityFadeDistance; 147 @GodotName("get_proximity_fade_distance") GodotMethod!(double) getProximityFadeDistance; 148 @GodotName("set_distance_fade") GodotMethod!(void, long) setDistanceFade; 149 @GodotName("get_distance_fade") GodotMethod!(SpatialMaterial.DistanceFadeMode) getDistanceFade; 150 @GodotName("set_distance_fade_max_distance") GodotMethod!(void, double) setDistanceFadeMaxDistance; 151 @GodotName("get_distance_fade_max_distance") GodotMethod!(double) getDistanceFadeMaxDistance; 152 @GodotName("set_distance_fade_min_distance") GodotMethod!(void, double) setDistanceFadeMinDistance; 153 @GodotName("get_distance_fade_min_distance") GodotMethod!(double) getDistanceFadeMinDistance; 154 } 155 bool opEquals(in SpatialMaterial other) const { return _godot_object.ptr is other._godot_object.ptr; } 156 SpatialMaterial opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; } 157 bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; } 158 mixin baseCasts; 159 static SpatialMaterial _new() 160 { 161 static godot_class_constructor constructor; 162 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("SpatialMaterial"); 163 if(constructor is null) return typeof(this).init; 164 return cast(SpatialMaterial)(constructor()); 165 } 166 @disable new(size_t s); 167 /// 168 enum EmissionOperator : int 169 { 170 /** 171 172 */ 173 emissionOpAdd = 0, 174 /** 175 176 */ 177 emissionOpMultiply = 1, 178 } 179 /// 180 enum DiffuseMode : int 181 { 182 /** 183 Default diffuse scattering algorithm. 184 */ 185 diffuseBurley = 0, 186 /** 187 Diffuse scattering ignores roughness. 188 */ 189 diffuseLambert = 1, 190 /** 191 Extends Lambert to cover more than 90 degrees when roughness increases. 192 */ 193 diffuseLambertWrap = 2, 194 /** 195 Attempts to use roughness to emulate microsurfacing. 196 */ 197 diffuseOrenNayar = 3, 198 /** 199 Uses a hard cut for lighting, with smoothing affected by roughness. 200 */ 201 diffuseToon = 4, 202 } 203 /// 204 enum SpecularMode : int 205 { 206 /** 207 Default specular blob. 208 */ 209 specularSchlickGgx = 0, 210 /** 211 Older specular algorithm, included for compatibility. 212 */ 213 specularBlinn = 1, 214 /** 215 Older specular algorithm, included for compatibility. 216 */ 217 specularPhong = 2, 218 /** 219 Toon blob which changes size based on roughness. 220 */ 221 specularToon = 3, 222 /** 223 No specular blob. 224 */ 225 specularDisabled = 4, 226 } 227 /// 228 enum Feature : int 229 { 230 /** 231 232 */ 233 featureTransparent = 0, 234 /** 235 236 */ 237 featureEmission = 1, 238 /** 239 240 */ 241 featureNormalMapping = 2, 242 /** 243 244 */ 245 featureRim = 3, 246 /** 247 248 */ 249 featureClearcoat = 4, 250 /** 251 252 */ 253 featureAnisotropy = 5, 254 /** 255 256 */ 257 featureAmbientOcclusion = 6, 258 /** 259 260 */ 261 featureDepthMapping = 7, 262 /** 263 264 */ 265 featureSubsuraceScattering = 8, 266 /** 267 268 */ 269 featureTransmission = 9, 270 /** 271 272 */ 273 featureRefraction = 10, 274 /** 275 276 */ 277 featureDetail = 11, 278 /** 279 280 */ 281 featureMax = 12, 282 } 283 /// 284 enum Flags : int 285 { 286 /** 287 288 */ 289 flagUnshaded = 0, 290 /** 291 292 */ 293 flagUseVertexLighting = 1, 294 /** 295 296 */ 297 flagDisableDepthTest = 2, 298 /** 299 300 */ 301 flagAlbedoFromVertexColor = 3, 302 /** 303 304 */ 305 flagSrgbVertexColor = 4, 306 /** 307 308 */ 309 flagUsePointSize = 5, 310 /** 311 312 */ 313 flagFixedSize = 6, 314 /** 315 316 */ 317 flagBillboardKeepScale = 7, 318 /** 319 320 */ 321 flagUv1UseTriplanar = 8, 322 /** 323 324 */ 325 flagUv2UseTriplanar = 9, 326 /** 327 328 */ 329 flagTriplanarUseWorld = 10, 330 /** 331 332 */ 333 flagAoOnUv2 = 11, 334 /** 335 336 */ 337 flagEmissionOnUv2 = 12, 338 /** 339 340 */ 341 flagUseAlphaScissor = 13, 342 /** 343 344 */ 345 flagAlbedoTextureForceSrgb = 14, 346 /** 347 348 */ 349 flagDontReceiveShadows = 15, 350 /** 351 352 */ 353 flagEnsureCorrectNormals = 16, 354 /** 355 356 */ 357 flagDisableAmbientLight = 17, 358 /** 359 360 */ 361 flagMax = 18, 362 } 363 /// 364 enum CullMode : int 365 { 366 /** 367 Default cull mode. The back of the object is culled when not visible. 368 */ 369 cullBack = 0, 370 /** 371 The front of the object is culled when not visible. 372 */ 373 cullFront = 1, 374 /** 375 No culling is performed. 376 */ 377 cullDisabled = 2, 378 } 379 /// 380 enum DetailUV : int 381 { 382 /** 383 384 */ 385 detailUv1 = 0, 386 /** 387 388 */ 389 detailUv2 = 1, 390 } 391 /// 392 enum DistanceFadeMode : int 393 { 394 /** 395 396 */ 397 distanceFadeDisabled = 0, 398 /** 399 400 */ 401 distanceFadePixelAlpha = 1, 402 /** 403 404 */ 405 distanceFadePixelDither = 2, 406 /** 407 408 */ 409 distanceFadeObjectDither = 3, 410 } 411 /// 412 enum BillboardMode : int 413 { 414 /** 415 Default value. 416 */ 417 billboardDisabled = 0, 418 /** 419 The object's z-axis will always face the camera. 420 */ 421 billboardEnabled = 1, 422 /** 423 The object's x-axis will always face the camera. 424 */ 425 billboardFixedY = 2, 426 /** 427 Used for particle systems. Enables particle animation options. 428 */ 429 billboardParticles = 3, 430 } 431 /// 432 enum DepthDrawMode : int 433 { 434 /** 435 Default depth draw mode. Depth is drawn only for opaque objects. 436 */ 437 depthDrawOpaqueOnly = 0, 438 /** 439 Depth draw is calculated for both opaque and transparent objects. 440 */ 441 depthDrawAlways = 1, 442 /** 443 No depth draw. 444 */ 445 depthDrawDisabled = 2, 446 /** 447 For transparent objects, an opaque pass is made first with the opaque parts, then transparency is drawn. 448 */ 449 depthDrawAlphaOpaquePrepass = 3, 450 } 451 /// 452 enum TextureChannel : int 453 { 454 /** 455 456 */ 457 textureChannelRed = 0, 458 /** 459 460 */ 461 textureChannelGreen = 1, 462 /** 463 464 */ 465 textureChannelBlue = 2, 466 /** 467 468 */ 469 textureChannelAlpha = 3, 470 /** 471 472 */ 473 textureChannelGrayscale = 4, 474 } 475 /// 476 enum BlendMode : int 477 { 478 /** 479 Default blend mode. 480 */ 481 blendModeMix = 0, 482 /** 483 484 */ 485 blendModeAdd = 1, 486 /** 487 488 */ 489 blendModeSub = 2, 490 /** 491 492 */ 493 blendModeMul = 3, 494 } 495 /// 496 enum TextureParam : int 497 { 498 /** 499 500 */ 501 textureAlbedo = 0, 502 /** 503 504 */ 505 textureMetallic = 1, 506 /** 507 508 */ 509 textureRoughness = 2, 510 /** 511 512 */ 513 textureEmission = 3, 514 /** 515 516 */ 517 textureNormal = 4, 518 /** 519 520 */ 521 textureRim = 5, 522 /** 523 524 */ 525 textureClearcoat = 6, 526 /** 527 528 */ 529 textureFlowmap = 7, 530 /** 531 532 */ 533 textureAmbientOcclusion = 8, 534 /** 535 536 */ 537 textureDepth = 9, 538 /** 539 540 */ 541 textureSubsurfaceScattering = 10, 542 /** 543 544 */ 545 textureTransmission = 11, 546 /** 547 548 */ 549 textureRefraction = 12, 550 /** 551 552 */ 553 textureDetailMask = 13, 554 /** 555 556 */ 557 textureDetailAlbedo = 14, 558 /** 559 560 */ 561 textureDetailNormal = 15, 562 /** 563 564 */ 565 textureMax = 16, 566 } 567 /// 568 enum Constants : int 569 { 570 diffuseBurley = 0, 571 cullBack = 0, 572 distanceFadeDisabled = 0, 573 emissionOpAdd = 0, 574 depthDrawOpaqueOnly = 0, 575 blendModeMix = 0, 576 featureTransparent = 0, 577 flagUnshaded = 0, 578 billboardDisabled = 0, 579 textureChannelRed = 0, 580 textureAlbedo = 0, 581 specularSchlickGgx = 0, 582 detailUv1 = 0, 583 diffuseLambert = 1, 584 cullFront = 1, 585 specularBlinn = 1, 586 blendModeAdd = 1, 587 depthDrawAlways = 1, 588 textureChannelGreen = 1, 589 textureMetallic = 1, 590 featureEmission = 1, 591 emissionOpMultiply = 1, 592 flagUseVertexLighting = 1, 593 billboardEnabled = 1, 594 detailUv2 = 1, 595 distanceFadePixelAlpha = 1, 596 blendModeSub = 2, 597 textureChannelBlue = 2, 598 cullDisabled = 2, 599 depthDrawDisabled = 2, 600 specularPhong = 2, 601 billboardFixedY = 2, 602 distanceFadePixelDither = 2, 603 diffuseLambertWrap = 2, 604 featureNormalMapping = 2, 605 textureRoughness = 2, 606 flagDisableDepthTest = 2, 607 blendModeMul = 3, 608 featureRim = 3, 609 flagAlbedoFromVertexColor = 3, 610 diffuseOrenNayar = 3, 611 specularToon = 3, 612 billboardParticles = 3, 613 depthDrawAlphaOpaquePrepass = 3, 614 textureEmission = 3, 615 distanceFadeObjectDither = 3, 616 textureChannelAlpha = 3, 617 featureClearcoat = 4, 618 diffuseToon = 4, 619 specularDisabled = 4, 620 textureChannelGrayscale = 4, 621 flagSrgbVertexColor = 4, 622 textureNormal = 4, 623 flagUsePointSize = 5, 624 featureAnisotropy = 5, 625 textureRim = 5, 626 textureClearcoat = 6, 627 featureAmbientOcclusion = 6, 628 flagFixedSize = 6, 629 flagBillboardKeepScale = 7, 630 textureFlowmap = 7, 631 featureDepthMapping = 7, 632 flagUv1UseTriplanar = 8, 633 featureSubsuraceScattering = 8, 634 textureAmbientOcclusion = 8, 635 featureTransmission = 9, 636 flagUv2UseTriplanar = 9, 637 textureDepth = 9, 638 flagTriplanarUseWorld = 10, 639 featureRefraction = 10, 640 textureSubsurfaceScattering = 10, 641 flagAoOnUv2 = 11, 642 featureDetail = 11, 643 textureTransmission = 11, 644 featureMax = 12, 645 flagEmissionOnUv2 = 12, 646 textureRefraction = 12, 647 flagUseAlphaScissor = 13, 648 textureDetailMask = 13, 649 textureDetailAlbedo = 14, 650 flagAlbedoTextureForceSrgb = 14, 651 textureDetailNormal = 15, 652 flagDontReceiveShadows = 15, 653 textureMax = 16, 654 flagEnsureCorrectNormals = 16, 655 flagDisableAmbientLight = 17, 656 flagMax = 18, 657 } 658 /** 659 660 */ 661 void setAlbedo(in Color albedo) 662 { 663 checkClassBinding!(typeof(this))(); 664 ptrcall!(void)(_classBinding.setAlbedo, _godot_object, albedo); 665 } 666 /** 667 668 */ 669 Color getAlbedo() const 670 { 671 checkClassBinding!(typeof(this))(); 672 return ptrcall!(Color)(_classBinding.getAlbedo, _godot_object); 673 } 674 /** 675 676 */ 677 void setSpecular(in double specular) 678 { 679 checkClassBinding!(typeof(this))(); 680 ptrcall!(void)(_classBinding.setSpecular, _godot_object, specular); 681 } 682 /** 683 684 */ 685 double getSpecular() const 686 { 687 checkClassBinding!(typeof(this))(); 688 return ptrcall!(double)(_classBinding.getSpecular, _godot_object); 689 } 690 /** 691 692 */ 693 void setMetallic(in double metallic) 694 { 695 checkClassBinding!(typeof(this))(); 696 ptrcall!(void)(_classBinding.setMetallic, _godot_object, metallic); 697 } 698 /** 699 700 */ 701 double getMetallic() const 702 { 703 checkClassBinding!(typeof(this))(); 704 return ptrcall!(double)(_classBinding.getMetallic, _godot_object); 705 } 706 /** 707 708 */ 709 void setRoughness(in double roughness) 710 { 711 checkClassBinding!(typeof(this))(); 712 ptrcall!(void)(_classBinding.setRoughness, _godot_object, roughness); 713 } 714 /** 715 716 */ 717 double getRoughness() const 718 { 719 checkClassBinding!(typeof(this))(); 720 return ptrcall!(double)(_classBinding.getRoughness, _godot_object); 721 } 722 /** 723 724 */ 725 void setEmission(in Color emission) 726 { 727 checkClassBinding!(typeof(this))(); 728 ptrcall!(void)(_classBinding.setEmission, _godot_object, emission); 729 } 730 /** 731 732 */ 733 Color getEmission() const 734 { 735 checkClassBinding!(typeof(this))(); 736 return ptrcall!(Color)(_classBinding.getEmission, _godot_object); 737 } 738 /** 739 740 */ 741 void setEmissionEnergy(in double emission_energy) 742 { 743 checkClassBinding!(typeof(this))(); 744 ptrcall!(void)(_classBinding.setEmissionEnergy, _godot_object, emission_energy); 745 } 746 /** 747 748 */ 749 double getEmissionEnergy() const 750 { 751 checkClassBinding!(typeof(this))(); 752 return ptrcall!(double)(_classBinding.getEmissionEnergy, _godot_object); 753 } 754 /** 755 756 */ 757 void setNormalScale(in double normal_scale) 758 { 759 checkClassBinding!(typeof(this))(); 760 ptrcall!(void)(_classBinding.setNormalScale, _godot_object, normal_scale); 761 } 762 /** 763 764 */ 765 double getNormalScale() const 766 { 767 checkClassBinding!(typeof(this))(); 768 return ptrcall!(double)(_classBinding.getNormalScale, _godot_object); 769 } 770 /** 771 772 */ 773 void setRim(in double rim) 774 { 775 checkClassBinding!(typeof(this))(); 776 ptrcall!(void)(_classBinding.setRim, _godot_object, rim); 777 } 778 /** 779 780 */ 781 double getRim() const 782 { 783 checkClassBinding!(typeof(this))(); 784 return ptrcall!(double)(_classBinding.getRim, _godot_object); 785 } 786 /** 787 788 */ 789 void setRimTint(in double rim_tint) 790 { 791 checkClassBinding!(typeof(this))(); 792 ptrcall!(void)(_classBinding.setRimTint, _godot_object, rim_tint); 793 } 794 /** 795 796 */ 797 double getRimTint() const 798 { 799 checkClassBinding!(typeof(this))(); 800 return ptrcall!(double)(_classBinding.getRimTint, _godot_object); 801 } 802 /** 803 804 */ 805 void setClearcoat(in double clearcoat) 806 { 807 checkClassBinding!(typeof(this))(); 808 ptrcall!(void)(_classBinding.setClearcoat, _godot_object, clearcoat); 809 } 810 /** 811 812 */ 813 double getClearcoat() const 814 { 815 checkClassBinding!(typeof(this))(); 816 return ptrcall!(double)(_classBinding.getClearcoat, _godot_object); 817 } 818 /** 819 820 */ 821 void setClearcoatGloss(in double clearcoat_gloss) 822 { 823 checkClassBinding!(typeof(this))(); 824 ptrcall!(void)(_classBinding.setClearcoatGloss, _godot_object, clearcoat_gloss); 825 } 826 /** 827 828 */ 829 double getClearcoatGloss() const 830 { 831 checkClassBinding!(typeof(this))(); 832 return ptrcall!(double)(_classBinding.getClearcoatGloss, _godot_object); 833 } 834 /** 835 836 */ 837 void setAnisotropy(in double anisotropy) 838 { 839 checkClassBinding!(typeof(this))(); 840 ptrcall!(void)(_classBinding.setAnisotropy, _godot_object, anisotropy); 841 } 842 /** 843 844 */ 845 double getAnisotropy() const 846 { 847 checkClassBinding!(typeof(this))(); 848 return ptrcall!(double)(_classBinding.getAnisotropy, _godot_object); 849 } 850 /** 851 852 */ 853 void setDepthScale(in double depth_scale) 854 { 855 checkClassBinding!(typeof(this))(); 856 ptrcall!(void)(_classBinding.setDepthScale, _godot_object, depth_scale); 857 } 858 /** 859 860 */ 861 double getDepthScale() const 862 { 863 checkClassBinding!(typeof(this))(); 864 return ptrcall!(double)(_classBinding.getDepthScale, _godot_object); 865 } 866 /** 867 868 */ 869 void setSubsurfaceScatteringStrength(in double strength) 870 { 871 checkClassBinding!(typeof(this))(); 872 ptrcall!(void)(_classBinding.setSubsurfaceScatteringStrength, _godot_object, strength); 873 } 874 /** 875 876 */ 877 double getSubsurfaceScatteringStrength() const 878 { 879 checkClassBinding!(typeof(this))(); 880 return ptrcall!(double)(_classBinding.getSubsurfaceScatteringStrength, _godot_object); 881 } 882 /** 883 884 */ 885 void setTransmission(in Color transmission) 886 { 887 checkClassBinding!(typeof(this))(); 888 ptrcall!(void)(_classBinding.setTransmission, _godot_object, transmission); 889 } 890 /** 891 892 */ 893 Color getTransmission() const 894 { 895 checkClassBinding!(typeof(this))(); 896 return ptrcall!(Color)(_classBinding.getTransmission, _godot_object); 897 } 898 /** 899 900 */ 901 void setRefraction(in double refraction) 902 { 903 checkClassBinding!(typeof(this))(); 904 ptrcall!(void)(_classBinding.setRefraction, _godot_object, refraction); 905 } 906 /** 907 908 */ 909 double getRefraction() const 910 { 911 checkClassBinding!(typeof(this))(); 912 return ptrcall!(double)(_classBinding.getRefraction, _godot_object); 913 } 914 /** 915 916 */ 917 void setLineWidth(in double line_width) 918 { 919 checkClassBinding!(typeof(this))(); 920 ptrcall!(void)(_classBinding.setLineWidth, _godot_object, line_width); 921 } 922 /** 923 924 */ 925 double getLineWidth() const 926 { 927 checkClassBinding!(typeof(this))(); 928 return ptrcall!(double)(_classBinding.getLineWidth, _godot_object); 929 } 930 /** 931 932 */ 933 void setPointSize(in double point_size) 934 { 935 checkClassBinding!(typeof(this))(); 936 ptrcall!(void)(_classBinding.setPointSize, _godot_object, point_size); 937 } 938 /** 939 940 */ 941 double getPointSize() const 942 { 943 checkClassBinding!(typeof(this))(); 944 return ptrcall!(double)(_classBinding.getPointSize, _godot_object); 945 } 946 /** 947 948 */ 949 void setDetailUv(in long detail_uv) 950 { 951 checkClassBinding!(typeof(this))(); 952 ptrcall!(void)(_classBinding.setDetailUv, _godot_object, detail_uv); 953 } 954 /** 955 956 */ 957 SpatialMaterial.DetailUV getDetailUv() const 958 { 959 checkClassBinding!(typeof(this))(); 960 return ptrcall!(SpatialMaterial.DetailUV)(_classBinding.getDetailUv, _godot_object); 961 } 962 /** 963 964 */ 965 void setBlendMode(in long blend_mode) 966 { 967 checkClassBinding!(typeof(this))(); 968 ptrcall!(void)(_classBinding.setBlendMode, _godot_object, blend_mode); 969 } 970 /** 971 972 */ 973 SpatialMaterial.BlendMode getBlendMode() const 974 { 975 checkClassBinding!(typeof(this))(); 976 return ptrcall!(SpatialMaterial.BlendMode)(_classBinding.getBlendMode, _godot_object); 977 } 978 /** 979 980 */ 981 void setDepthDrawMode(in long depth_draw_mode) 982 { 983 checkClassBinding!(typeof(this))(); 984 ptrcall!(void)(_classBinding.setDepthDrawMode, _godot_object, depth_draw_mode); 985 } 986 /** 987 988 */ 989 SpatialMaterial.DepthDrawMode getDepthDrawMode() const 990 { 991 checkClassBinding!(typeof(this))(); 992 return ptrcall!(SpatialMaterial.DepthDrawMode)(_classBinding.getDepthDrawMode, _godot_object); 993 } 994 /** 995 996 */ 997 void setCullMode(in long cull_mode) 998 { 999 checkClassBinding!(typeof(this))(); 1000 ptrcall!(void)(_classBinding.setCullMode, _godot_object, cull_mode); 1001 } 1002 /** 1003 1004 */ 1005 SpatialMaterial.CullMode getCullMode() const 1006 { 1007 checkClassBinding!(typeof(this))(); 1008 return ptrcall!(SpatialMaterial.CullMode)(_classBinding.getCullMode, _godot_object); 1009 } 1010 /** 1011 1012 */ 1013 void setDiffuseMode(in long diffuse_mode) 1014 { 1015 checkClassBinding!(typeof(this))(); 1016 ptrcall!(void)(_classBinding.setDiffuseMode, _godot_object, diffuse_mode); 1017 } 1018 /** 1019 1020 */ 1021 SpatialMaterial.DiffuseMode getDiffuseMode() const 1022 { 1023 checkClassBinding!(typeof(this))(); 1024 return ptrcall!(SpatialMaterial.DiffuseMode)(_classBinding.getDiffuseMode, _godot_object); 1025 } 1026 /** 1027 1028 */ 1029 void setSpecularMode(in long specular_mode) 1030 { 1031 checkClassBinding!(typeof(this))(); 1032 ptrcall!(void)(_classBinding.setSpecularMode, _godot_object, specular_mode); 1033 } 1034 /** 1035 1036 */ 1037 SpatialMaterial.SpecularMode getSpecularMode() const 1038 { 1039 checkClassBinding!(typeof(this))(); 1040 return ptrcall!(SpatialMaterial.SpecularMode)(_classBinding.getSpecularMode, _godot_object); 1041 } 1042 /** 1043 1044 */ 1045 void setFlag(in long flag, in bool enable) 1046 { 1047 checkClassBinding!(typeof(this))(); 1048 ptrcall!(void)(_classBinding.setFlag, _godot_object, flag, enable); 1049 } 1050 /** 1051 1052 */ 1053 bool getFlag(in long flag) const 1054 { 1055 checkClassBinding!(typeof(this))(); 1056 return ptrcall!(bool)(_classBinding.getFlag, _godot_object, flag); 1057 } 1058 /** 1059 1060 */ 1061 void setFeature(in long feature, in bool enable) 1062 { 1063 checkClassBinding!(typeof(this))(); 1064 ptrcall!(void)(_classBinding.setFeature, _godot_object, feature, enable); 1065 } 1066 /** 1067 1068 */ 1069 bool getFeature(in long feature) const 1070 { 1071 checkClassBinding!(typeof(this))(); 1072 return ptrcall!(bool)(_classBinding.getFeature, _godot_object, feature); 1073 } 1074 /** 1075 1076 */ 1077 void setTexture(in long param, Texture texture) 1078 { 1079 checkClassBinding!(typeof(this))(); 1080 ptrcall!(void)(_classBinding.setTexture, _godot_object, param, texture); 1081 } 1082 /** 1083 1084 */ 1085 Ref!Texture getTexture(in long param) const 1086 { 1087 checkClassBinding!(typeof(this))(); 1088 return ptrcall!(Texture)(_classBinding.getTexture, _godot_object, param); 1089 } 1090 /** 1091 1092 */ 1093 void setDetailBlendMode(in long detail_blend_mode) 1094 { 1095 checkClassBinding!(typeof(this))(); 1096 ptrcall!(void)(_classBinding.setDetailBlendMode, _godot_object, detail_blend_mode); 1097 } 1098 /** 1099 1100 */ 1101 SpatialMaterial.BlendMode getDetailBlendMode() const 1102 { 1103 checkClassBinding!(typeof(this))(); 1104 return ptrcall!(SpatialMaterial.BlendMode)(_classBinding.getDetailBlendMode, _godot_object); 1105 } 1106 /** 1107 1108 */ 1109 void setUv1Scale(in Vector3 scale) 1110 { 1111 checkClassBinding!(typeof(this))(); 1112 ptrcall!(void)(_classBinding.setUv1Scale, _godot_object, scale); 1113 } 1114 /** 1115 1116 */ 1117 Vector3 getUv1Scale() const 1118 { 1119 checkClassBinding!(typeof(this))(); 1120 return ptrcall!(Vector3)(_classBinding.getUv1Scale, _godot_object); 1121 } 1122 /** 1123 1124 */ 1125 void setUv1Offset(in Vector3 offset) 1126 { 1127 checkClassBinding!(typeof(this))(); 1128 ptrcall!(void)(_classBinding.setUv1Offset, _godot_object, offset); 1129 } 1130 /** 1131 1132 */ 1133 Vector3 getUv1Offset() const 1134 { 1135 checkClassBinding!(typeof(this))(); 1136 return ptrcall!(Vector3)(_classBinding.getUv1Offset, _godot_object); 1137 } 1138 /** 1139 1140 */ 1141 void setUv1TriplanarBlendSharpness(in double sharpness) 1142 { 1143 checkClassBinding!(typeof(this))(); 1144 ptrcall!(void)(_classBinding.setUv1TriplanarBlendSharpness, _godot_object, sharpness); 1145 } 1146 /** 1147 1148 */ 1149 double getUv1TriplanarBlendSharpness() const 1150 { 1151 checkClassBinding!(typeof(this))(); 1152 return ptrcall!(double)(_classBinding.getUv1TriplanarBlendSharpness, _godot_object); 1153 } 1154 /** 1155 1156 */ 1157 void setUv2Scale(in Vector3 scale) 1158 { 1159 checkClassBinding!(typeof(this))(); 1160 ptrcall!(void)(_classBinding.setUv2Scale, _godot_object, scale); 1161 } 1162 /** 1163 1164 */ 1165 Vector3 getUv2Scale() const 1166 { 1167 checkClassBinding!(typeof(this))(); 1168 return ptrcall!(Vector3)(_classBinding.getUv2Scale, _godot_object); 1169 } 1170 /** 1171 1172 */ 1173 void setUv2Offset(in Vector3 offset) 1174 { 1175 checkClassBinding!(typeof(this))(); 1176 ptrcall!(void)(_classBinding.setUv2Offset, _godot_object, offset); 1177 } 1178 /** 1179 1180 */ 1181 Vector3 getUv2Offset() const 1182 { 1183 checkClassBinding!(typeof(this))(); 1184 return ptrcall!(Vector3)(_classBinding.getUv2Offset, _godot_object); 1185 } 1186 /** 1187 1188 */ 1189 void setUv2TriplanarBlendSharpness(in double sharpness) 1190 { 1191 checkClassBinding!(typeof(this))(); 1192 ptrcall!(void)(_classBinding.setUv2TriplanarBlendSharpness, _godot_object, sharpness); 1193 } 1194 /** 1195 1196 */ 1197 double getUv2TriplanarBlendSharpness() const 1198 { 1199 checkClassBinding!(typeof(this))(); 1200 return ptrcall!(double)(_classBinding.getUv2TriplanarBlendSharpness, _godot_object); 1201 } 1202 /** 1203 1204 */ 1205 void setBillboardMode(in long mode) 1206 { 1207 checkClassBinding!(typeof(this))(); 1208 ptrcall!(void)(_classBinding.setBillboardMode, _godot_object, mode); 1209 } 1210 /** 1211 1212 */ 1213 SpatialMaterial.BillboardMode getBillboardMode() const 1214 { 1215 checkClassBinding!(typeof(this))(); 1216 return ptrcall!(SpatialMaterial.BillboardMode)(_classBinding.getBillboardMode, _godot_object); 1217 } 1218 /** 1219 1220 */ 1221 void setParticlesAnimHFrames(in long frames) 1222 { 1223 checkClassBinding!(typeof(this))(); 1224 ptrcall!(void)(_classBinding.setParticlesAnimHFrames, _godot_object, frames); 1225 } 1226 /** 1227 1228 */ 1229 long getParticlesAnimHFrames() const 1230 { 1231 checkClassBinding!(typeof(this))(); 1232 return ptrcall!(long)(_classBinding.getParticlesAnimHFrames, _godot_object); 1233 } 1234 /** 1235 1236 */ 1237 void setParticlesAnimVFrames(in long frames) 1238 { 1239 checkClassBinding!(typeof(this))(); 1240 ptrcall!(void)(_classBinding.setParticlesAnimVFrames, _godot_object, frames); 1241 } 1242 /** 1243 1244 */ 1245 long getParticlesAnimVFrames() const 1246 { 1247 checkClassBinding!(typeof(this))(); 1248 return ptrcall!(long)(_classBinding.getParticlesAnimVFrames, _godot_object); 1249 } 1250 /** 1251 1252 */ 1253 void setParticlesAnimLoop(in long frames) 1254 { 1255 checkClassBinding!(typeof(this))(); 1256 ptrcall!(void)(_classBinding.setParticlesAnimLoop, _godot_object, frames); 1257 } 1258 /** 1259 1260 */ 1261 long getParticlesAnimLoop() const 1262 { 1263 checkClassBinding!(typeof(this))(); 1264 return ptrcall!(long)(_classBinding.getParticlesAnimLoop, _godot_object); 1265 } 1266 /** 1267 1268 */ 1269 void setDepthDeepParallax(in bool enable) 1270 { 1271 checkClassBinding!(typeof(this))(); 1272 ptrcall!(void)(_classBinding.setDepthDeepParallax, _godot_object, enable); 1273 } 1274 /** 1275 1276 */ 1277 bool isDepthDeepParallaxEnabled() const 1278 { 1279 checkClassBinding!(typeof(this))(); 1280 return ptrcall!(bool)(_classBinding.isDepthDeepParallaxEnabled, _godot_object); 1281 } 1282 /** 1283 1284 */ 1285 void setDepthDeepParallaxMinLayers(in long layer) 1286 { 1287 checkClassBinding!(typeof(this))(); 1288 ptrcall!(void)(_classBinding.setDepthDeepParallaxMinLayers, _godot_object, layer); 1289 } 1290 /** 1291 1292 */ 1293 long getDepthDeepParallaxMinLayers() const 1294 { 1295 checkClassBinding!(typeof(this))(); 1296 return ptrcall!(long)(_classBinding.getDepthDeepParallaxMinLayers, _godot_object); 1297 } 1298 /** 1299 1300 */ 1301 void setDepthDeepParallaxMaxLayers(in long layer) 1302 { 1303 checkClassBinding!(typeof(this))(); 1304 ptrcall!(void)(_classBinding.setDepthDeepParallaxMaxLayers, _godot_object, layer); 1305 } 1306 /** 1307 1308 */ 1309 long getDepthDeepParallaxMaxLayers() const 1310 { 1311 checkClassBinding!(typeof(this))(); 1312 return ptrcall!(long)(_classBinding.getDepthDeepParallaxMaxLayers, _godot_object); 1313 } 1314 /** 1315 1316 */ 1317 void setGrow(in double amount) 1318 { 1319 checkClassBinding!(typeof(this))(); 1320 ptrcall!(void)(_classBinding.setGrow, _godot_object, amount); 1321 } 1322 /** 1323 1324 */ 1325 double getGrow() const 1326 { 1327 checkClassBinding!(typeof(this))(); 1328 return ptrcall!(double)(_classBinding.getGrow, _godot_object); 1329 } 1330 /** 1331 1332 */ 1333 void setEmissionOperator(in long operator) 1334 { 1335 checkClassBinding!(typeof(this))(); 1336 ptrcall!(void)(_classBinding.setEmissionOperator, _godot_object, operator); 1337 } 1338 /** 1339 1340 */ 1341 SpatialMaterial.EmissionOperator getEmissionOperator() const 1342 { 1343 checkClassBinding!(typeof(this))(); 1344 return ptrcall!(SpatialMaterial.EmissionOperator)(_classBinding.getEmissionOperator, _godot_object); 1345 } 1346 /** 1347 1348 */ 1349 void setAoLightAffect(in double amount) 1350 { 1351 checkClassBinding!(typeof(this))(); 1352 ptrcall!(void)(_classBinding.setAoLightAffect, _godot_object, amount); 1353 } 1354 /** 1355 1356 */ 1357 double getAoLightAffect() const 1358 { 1359 checkClassBinding!(typeof(this))(); 1360 return ptrcall!(double)(_classBinding.getAoLightAffect, _godot_object); 1361 } 1362 /** 1363 1364 */ 1365 void setAlphaScissorThreshold(in double threshold) 1366 { 1367 checkClassBinding!(typeof(this))(); 1368 ptrcall!(void)(_classBinding.setAlphaScissorThreshold, _godot_object, threshold); 1369 } 1370 /** 1371 1372 */ 1373 double getAlphaScissorThreshold() const 1374 { 1375 checkClassBinding!(typeof(this))(); 1376 return ptrcall!(double)(_classBinding.getAlphaScissorThreshold, _godot_object); 1377 } 1378 /** 1379 1380 */ 1381 void setGrowEnabled(in bool enable) 1382 { 1383 checkClassBinding!(typeof(this))(); 1384 ptrcall!(void)(_classBinding.setGrowEnabled, _godot_object, enable); 1385 } 1386 /** 1387 1388 */ 1389 bool isGrowEnabled() const 1390 { 1391 checkClassBinding!(typeof(this))(); 1392 return ptrcall!(bool)(_classBinding.isGrowEnabled, _godot_object); 1393 } 1394 /** 1395 1396 */ 1397 void setMetallicTextureChannel(in long channel) 1398 { 1399 checkClassBinding!(typeof(this))(); 1400 ptrcall!(void)(_classBinding.setMetallicTextureChannel, _godot_object, channel); 1401 } 1402 /** 1403 1404 */ 1405 SpatialMaterial.TextureChannel getMetallicTextureChannel() const 1406 { 1407 checkClassBinding!(typeof(this))(); 1408 return ptrcall!(SpatialMaterial.TextureChannel)(_classBinding.getMetallicTextureChannel, _godot_object); 1409 } 1410 /** 1411 1412 */ 1413 void setRoughnessTextureChannel(in long channel) 1414 { 1415 checkClassBinding!(typeof(this))(); 1416 ptrcall!(void)(_classBinding.setRoughnessTextureChannel, _godot_object, channel); 1417 } 1418 /** 1419 1420 */ 1421 SpatialMaterial.TextureChannel getRoughnessTextureChannel() const 1422 { 1423 checkClassBinding!(typeof(this))(); 1424 return ptrcall!(SpatialMaterial.TextureChannel)(_classBinding.getRoughnessTextureChannel, _godot_object); 1425 } 1426 /** 1427 1428 */ 1429 void setAoTextureChannel(in long channel) 1430 { 1431 checkClassBinding!(typeof(this))(); 1432 ptrcall!(void)(_classBinding.setAoTextureChannel, _godot_object, channel); 1433 } 1434 /** 1435 1436 */ 1437 SpatialMaterial.TextureChannel getAoTextureChannel() const 1438 { 1439 checkClassBinding!(typeof(this))(); 1440 return ptrcall!(SpatialMaterial.TextureChannel)(_classBinding.getAoTextureChannel, _godot_object); 1441 } 1442 /** 1443 1444 */ 1445 void setRefractionTextureChannel(in long channel) 1446 { 1447 checkClassBinding!(typeof(this))(); 1448 ptrcall!(void)(_classBinding.setRefractionTextureChannel, _godot_object, channel); 1449 } 1450 /** 1451 1452 */ 1453 SpatialMaterial.TextureChannel getRefractionTextureChannel() const 1454 { 1455 checkClassBinding!(typeof(this))(); 1456 return ptrcall!(SpatialMaterial.TextureChannel)(_classBinding.getRefractionTextureChannel, _godot_object); 1457 } 1458 /** 1459 1460 */ 1461 void setProximityFade(in bool enabled) 1462 { 1463 checkClassBinding!(typeof(this))(); 1464 ptrcall!(void)(_classBinding.setProximityFade, _godot_object, enabled); 1465 } 1466 /** 1467 1468 */ 1469 bool isProximityFadeEnabled() const 1470 { 1471 checkClassBinding!(typeof(this))(); 1472 return ptrcall!(bool)(_classBinding.isProximityFadeEnabled, _godot_object); 1473 } 1474 /** 1475 1476 */ 1477 void setProximityFadeDistance(in double distance) 1478 { 1479 checkClassBinding!(typeof(this))(); 1480 ptrcall!(void)(_classBinding.setProximityFadeDistance, _godot_object, distance); 1481 } 1482 /** 1483 1484 */ 1485 double getProximityFadeDistance() const 1486 { 1487 checkClassBinding!(typeof(this))(); 1488 return ptrcall!(double)(_classBinding.getProximityFadeDistance, _godot_object); 1489 } 1490 /** 1491 1492 */ 1493 void setDistanceFade(in long mode) 1494 { 1495 checkClassBinding!(typeof(this))(); 1496 ptrcall!(void)(_classBinding.setDistanceFade, _godot_object, mode); 1497 } 1498 /** 1499 1500 */ 1501 SpatialMaterial.DistanceFadeMode getDistanceFade() const 1502 { 1503 checkClassBinding!(typeof(this))(); 1504 return ptrcall!(SpatialMaterial.DistanceFadeMode)(_classBinding.getDistanceFade, _godot_object); 1505 } 1506 /** 1507 1508 */ 1509 void setDistanceFadeMaxDistance(in double distance) 1510 { 1511 checkClassBinding!(typeof(this))(); 1512 ptrcall!(void)(_classBinding.setDistanceFadeMaxDistance, _godot_object, distance); 1513 } 1514 /** 1515 1516 */ 1517 double getDistanceFadeMaxDistance() const 1518 { 1519 checkClassBinding!(typeof(this))(); 1520 return ptrcall!(double)(_classBinding.getDistanceFadeMaxDistance, _godot_object); 1521 } 1522 /** 1523 1524 */ 1525 void setDistanceFadeMinDistance(in double distance) 1526 { 1527 checkClassBinding!(typeof(this))(); 1528 ptrcall!(void)(_classBinding.setDistanceFadeMinDistance, _godot_object, distance); 1529 } 1530 /** 1531 1532 */ 1533 double getDistanceFadeMinDistance() const 1534 { 1535 checkClassBinding!(typeof(this))(); 1536 return ptrcall!(double)(_classBinding.getDistanceFadeMinDistance, _godot_object); 1537 } 1538 /** 1539 If `true` transparency is enabled on the body. Default value: `false`. See also $(D paramsBlendMode). 1540 */ 1541 @property bool flagsTransparent() 1542 { 1543 return getFeature(0); 1544 } 1545 /// ditto 1546 @property void flagsTransparent(bool v) 1547 { 1548 setFeature(0, v); 1549 } 1550 /** 1551 If `true` the object is unaffected by lighting. Default value: `false`. 1552 */ 1553 @property bool flagsUnshaded() 1554 { 1555 return getFlag(0); 1556 } 1557 /// ditto 1558 @property void flagsUnshaded(bool v) 1559 { 1560 setFlag(0, v); 1561 } 1562 /** 1563 If `true` lighting is calculated per vertex rather than per pixel. This may increase performance on low-end devices. Default value: `false`. 1564 */ 1565 @property bool flagsVertexLighting() 1566 { 1567 return getFlag(1); 1568 } 1569 /// ditto 1570 @property void flagsVertexLighting(bool v) 1571 { 1572 setFlag(1, v); 1573 } 1574 /** 1575 If `true` depth testing is disabled and the object will be drawn in render order. 1576 */ 1577 @property bool flagsNoDepthTest() 1578 { 1579 return getFlag(2); 1580 } 1581 /// ditto 1582 @property void flagsNoDepthTest(bool v) 1583 { 1584 setFlag(2, v); 1585 } 1586 /** 1587 If `true` render point size can be changed. Note: this is only effective for objects whose geometry is point-based rather than triangle-based. See also $(D paramsPointSize). 1588 */ 1589 @property bool flagsUsePointSize() 1590 { 1591 return getFlag(5); 1592 } 1593 /// ditto 1594 @property void flagsUsePointSize(bool v) 1595 { 1596 setFlag(5, v); 1597 } 1598 /** 1599 If `true` triplanar mapping is calculated in world space rather than object local space. See also $(D uv1Triplanar). Default value: `false`. 1600 */ 1601 @property bool flagsWorldTriplanar() 1602 { 1603 return getFlag(10); 1604 } 1605 /// ditto 1606 @property void flagsWorldTriplanar(bool v) 1607 { 1608 setFlag(10, v); 1609 } 1610 /** 1611 If `true` the object is rendered at the same size regardless of distance. Default value: `false`. 1612 */ 1613 @property bool flagsFixedSize() 1614 { 1615 return getFlag(6); 1616 } 1617 /// ditto 1618 @property void flagsFixedSize(bool v) 1619 { 1620 setFlag(6, v); 1621 } 1622 /** 1623 1624 */ 1625 @property bool flagsAlbedoTexForceSrgb() 1626 { 1627 return getFlag(14); 1628 } 1629 /// ditto 1630 @property void flagsAlbedoTexForceSrgb(bool v) 1631 { 1632 setFlag(14, v); 1633 } 1634 /** 1635 If `true` the object receives no shadow that would otherwise be cast onto it. Default value: `false`. 1636 */ 1637 @property bool flagsDoNotReceiveShadows() 1638 { 1639 return getFlag(15); 1640 } 1641 /// ditto 1642 @property void flagsDoNotReceiveShadows(bool v) 1643 { 1644 setFlag(15, v); 1645 } 1646 /** 1647 If `true` the object receives no ambient light. Default value: `false`. 1648 */ 1649 @property bool flagsDisableAmbientLight() 1650 { 1651 return getFlag(17); 1652 } 1653 /// ditto 1654 @property void flagsDisableAmbientLight(bool v) 1655 { 1656 setFlag(17, v); 1657 } 1658 /** 1659 1660 */ 1661 @property bool flagsEnsureCorrectNormals() 1662 { 1663 return getFlag(16); 1664 } 1665 /// ditto 1666 @property void flagsEnsureCorrectNormals(bool v) 1667 { 1668 setFlag(16, v); 1669 } 1670 /** 1671 If `true` the vertex color is used as albedo color. Default value: `false`. 1672 */ 1673 @property bool vertexColorUseAsAlbedo() 1674 { 1675 return getFlag(3); 1676 } 1677 /// ditto 1678 @property void vertexColorUseAsAlbedo(bool v) 1679 { 1680 setFlag(3, v); 1681 } 1682 /** 1683 If `true` the model's vertex colors are processed as sRGB mode. Default value: `false`. 1684 */ 1685 @property bool vertexColorIsSrgb() 1686 { 1687 return getFlag(4); 1688 } 1689 /// ditto 1690 @property void vertexColorIsSrgb(bool v) 1691 { 1692 setFlag(4, v); 1693 } 1694 /** 1695 The algorithm used for diffuse light scattering. See $(D diffusemode). 1696 */ 1697 @property SpatialMaterial.DiffuseMode paramsDiffuseMode() 1698 { 1699 return getDiffuseMode(); 1700 } 1701 /// ditto 1702 @property void paramsDiffuseMode(long v) 1703 { 1704 setDiffuseMode(v); 1705 } 1706 /** 1707 The method for rendering the specular blob. See $(D specularmode). 1708 */ 1709 @property SpatialMaterial.SpecularMode paramsSpecularMode() 1710 { 1711 return getSpecularMode(); 1712 } 1713 /// ditto 1714 @property void paramsSpecularMode(long v) 1715 { 1716 setSpecularMode(v); 1717 } 1718 /** 1719 The material's blend mode. Note that values other than `Mix` force the object into the transparent pipeline. See $(D blendmode). 1720 */ 1721 @property SpatialMaterial.BlendMode paramsBlendMode() 1722 { 1723 return getBlendMode(); 1724 } 1725 /// ditto 1726 @property void paramsBlendMode(long v) 1727 { 1728 setBlendMode(v); 1729 } 1730 /** 1731 Which side of the object is not drawn when backfaces are rendered. See $(D cullmode). 1732 */ 1733 @property SpatialMaterial.CullMode paramsCullMode() 1734 { 1735 return getCullMode(); 1736 } 1737 /// ditto 1738 @property void paramsCullMode(long v) 1739 { 1740 setCullMode(v); 1741 } 1742 /** 1743 Determines when depth rendering takes place. See $(D depthdrawmode). See also $(D flagsTransparent). 1744 */ 1745 @property SpatialMaterial.DepthDrawMode paramsDepthDrawMode() 1746 { 1747 return getDepthDrawMode(); 1748 } 1749 /// ditto 1750 @property void paramsDepthDrawMode(long v) 1751 { 1752 setDepthDrawMode(v); 1753 } 1754 /** 1755 1756 */ 1757 @property double paramsLineWidth() 1758 { 1759 return getLineWidth(); 1760 } 1761 /// ditto 1762 @property void paramsLineWidth(double v) 1763 { 1764 setLineWidth(v); 1765 } 1766 /** 1767 The point size in pixels. See $(D flagsUsePointSize). 1768 */ 1769 @property double paramsPointSize() 1770 { 1771 return getPointSize(); 1772 } 1773 /// ditto 1774 @property void paramsPointSize(double v) 1775 { 1776 setPointSize(v); 1777 } 1778 /** 1779 Controls how the object faces the camera. See $(D billboardmode). 1780 */ 1781 @property SpatialMaterial.BillboardMode paramsBillboardMode() 1782 { 1783 return getBillboardMode(); 1784 } 1785 /// ditto 1786 @property void paramsBillboardMode(long v) 1787 { 1788 setBillboardMode(v); 1789 } 1790 /** 1791 1792 */ 1793 @property bool paramsBillboardKeepScale() 1794 { 1795 return getFlag(7); 1796 } 1797 /// ditto 1798 @property void paramsBillboardKeepScale(bool v) 1799 { 1800 setFlag(7, v); 1801 } 1802 /** 1803 If `true` enables the vertex grow setting. See $(D paramsGrowAmount). 1804 */ 1805 @property bool paramsGrow() 1806 { 1807 return isGrowEnabled(); 1808 } 1809 /// ditto 1810 @property void paramsGrow(bool v) 1811 { 1812 setGrowEnabled(v); 1813 } 1814 /** 1815 Grows object vertices in the direction of their normals. 1816 */ 1817 @property double paramsGrowAmount() 1818 { 1819 return getGrow(); 1820 } 1821 /// ditto 1822 @property void paramsGrowAmount(double v) 1823 { 1824 setGrow(v); 1825 } 1826 /** 1827 1828 */ 1829 @property bool paramsUseAlphaScissor() 1830 { 1831 return getFlag(13); 1832 } 1833 /// ditto 1834 @property void paramsUseAlphaScissor(bool v) 1835 { 1836 setFlag(13, v); 1837 } 1838 /** 1839 1840 */ 1841 @property double paramsAlphaScissorThreshold() 1842 { 1843 return getAlphaScissorThreshold(); 1844 } 1845 /// ditto 1846 @property void paramsAlphaScissorThreshold(double v) 1847 { 1848 setAlphaScissorThreshold(v); 1849 } 1850 /** 1851 The number of horizontal frames in the particle spritesheet. Only enabled when using `BillboardMode.BILLBOARD_PARTICLES`. See $(D paramsBillboardMode). 1852 */ 1853 @property long particlesAnimHFrames() 1854 { 1855 return getParticlesAnimHFrames(); 1856 } 1857 /// ditto 1858 @property void particlesAnimHFrames(long v) 1859 { 1860 setParticlesAnimHFrames(v); 1861 } 1862 /** 1863 The number of vertical frames in the particle spritesheet. Only enabled when using `BillboardMode.BILLBOARD_PARTICLES`. See $(D paramsBillboardMode). 1864 */ 1865 @property long particlesAnimVFrames() 1866 { 1867 return getParticlesAnimVFrames(); 1868 } 1869 /// ditto 1870 @property void particlesAnimVFrames(long v) 1871 { 1872 setParticlesAnimVFrames(v); 1873 } 1874 /** 1875 If `true` particle animations are looped. Only enabled when using `BillboardMode.BILLBOARD_PARTICLES`. See $(D paramsBillboardMode). 1876 */ 1877 @property long particlesAnimLoop() 1878 { 1879 return getParticlesAnimLoop(); 1880 } 1881 /// ditto 1882 @property void particlesAnimLoop(long v) 1883 { 1884 setParticlesAnimLoop(v); 1885 } 1886 /** 1887 The material's base color. 1888 */ 1889 @property Color albedoColor() 1890 { 1891 return getAlbedo(); 1892 } 1893 /// ditto 1894 @property void albedoColor(Color v) 1895 { 1896 setAlbedo(v); 1897 } 1898 /** 1899 1900 */ 1901 @property Texture albedoTexture() 1902 { 1903 return getTexture(0); 1904 } 1905 /// ditto 1906 @property void albedoTexture(Texture v) 1907 { 1908 setTexture(0, v); 1909 } 1910 /** 1911 The reflectivity of the object's surface. The higher the value the more light is reflected. 1912 */ 1913 @property double metallic() 1914 { 1915 return getMetallic(); 1916 } 1917 /// ditto 1918 @property void metallic(double v) 1919 { 1920 setMetallic(v); 1921 } 1922 /** 1923 General reflectivity amount. Note: unlike $(D metallic), this is not energy-conserving, so it should be left at `0.5` in most cases. See also $(D roughness). 1924 */ 1925 @property double metallicSpecular() 1926 { 1927 return getSpecular(); 1928 } 1929 /// ditto 1930 @property void metallicSpecular(double v) 1931 { 1932 setSpecular(v); 1933 } 1934 /** 1935 1936 */ 1937 @property Texture metallicTexture() 1938 { 1939 return getTexture(1); 1940 } 1941 /// ditto 1942 @property void metallicTexture(Texture v) 1943 { 1944 setTexture(1, v); 1945 } 1946 /** 1947 1948 */ 1949 @property SpatialMaterial.TextureChannel metallicTextureChannel() 1950 { 1951 return getMetallicTextureChannel(); 1952 } 1953 /// ditto 1954 @property void metallicTextureChannel(long v) 1955 { 1956 setMetallicTextureChannel(v); 1957 } 1958 /** 1959 Surface reflection. A value of `0` represents a perfect mirror while a value of `1` completely blurs the reflection. See also $(D metallic). 1960 */ 1961 @property double roughness() 1962 { 1963 return getRoughness(); 1964 } 1965 /// ditto 1966 @property void roughness(double v) 1967 { 1968 setRoughness(v); 1969 } 1970 /** 1971 1972 */ 1973 @property Texture roughnessTexture() 1974 { 1975 return getTexture(2); 1976 } 1977 /// ditto 1978 @property void roughnessTexture(Texture v) 1979 { 1980 setTexture(2, v); 1981 } 1982 /** 1983 1984 */ 1985 @property SpatialMaterial.TextureChannel roughnessTextureChannel() 1986 { 1987 return getRoughnessTextureChannel(); 1988 } 1989 /// ditto 1990 @property void roughnessTextureChannel(long v) 1991 { 1992 setRoughnessTextureChannel(v); 1993 } 1994 /** 1995 If `true` the body emits light. 1996 */ 1997 @property bool emissionEnabled() 1998 { 1999 return getFeature(1); 2000 } 2001 /// ditto 2002 @property void emissionEnabled(bool v) 2003 { 2004 setFeature(1, v); 2005 } 2006 /** 2007 The emitted light's color. See $(D emissionEnabled). 2008 */ 2009 @property Color emission() 2010 { 2011 return getEmission(); 2012 } 2013 /// ditto 2014 @property void emission(Color v) 2015 { 2016 setEmission(v); 2017 } 2018 /** 2019 The emitted light's strength. See $(D emissionEnabled). 2020 */ 2021 @property double emissionEnergy() 2022 { 2023 return getEmissionEnergy(); 2024 } 2025 /// ditto 2026 @property void emissionEnergy(double v) 2027 { 2028 setEmissionEnergy(v); 2029 } 2030 /** 2031 2032 */ 2033 @property SpatialMaterial.EmissionOperator emissionOperator() 2034 { 2035 return getEmissionOperator(); 2036 } 2037 /// ditto 2038 @property void emissionOperator(long v) 2039 { 2040 setEmissionOperator(v); 2041 } 2042 /** 2043 2044 */ 2045 @property bool emissionOnUv2() 2046 { 2047 return getFlag(12); 2048 } 2049 /// ditto 2050 @property void emissionOnUv2(bool v) 2051 { 2052 setFlag(12, v); 2053 } 2054 /** 2055 2056 */ 2057 @property Texture emissionTexture() 2058 { 2059 return getTexture(3); 2060 } 2061 /// ditto 2062 @property void emissionTexture(Texture v) 2063 { 2064 setTexture(3, v); 2065 } 2066 /** 2067 If `true` normal mapping is enabled. 2068 */ 2069 @property bool normalEnabled() 2070 { 2071 return getFeature(2); 2072 } 2073 /// ditto 2074 @property void normalEnabled(bool v) 2075 { 2076 setFeature(2, v); 2077 } 2078 /** 2079 The strength of the normal map's effect. 2080 */ 2081 @property double normalScale() 2082 { 2083 return getNormalScale(); 2084 } 2085 /// ditto 2086 @property void normalScale(double v) 2087 { 2088 setNormalScale(v); 2089 } 2090 /** 2091 2092 */ 2093 @property Texture normalTexture() 2094 { 2095 return getTexture(4); 2096 } 2097 /// ditto 2098 @property void normalTexture(Texture v) 2099 { 2100 setTexture(4, v); 2101 } 2102 /** 2103 If `true` rim effect is enabled. Default value: `false`. 2104 */ 2105 @property bool rimEnabled() 2106 { 2107 return getFeature(3); 2108 } 2109 /// ditto 2110 @property void rimEnabled(bool v) 2111 { 2112 setFeature(3, v); 2113 } 2114 /** 2115 2116 */ 2117 @property double rim() 2118 { 2119 return getRim(); 2120 } 2121 /// ditto 2122 @property void rim(double v) 2123 { 2124 setRim(v); 2125 } 2126 /** 2127 The amount of to blend light and albedo color when rendering rim effect. If `0` the light color is used, while `1` means albedo color is used. An intermediate value generally works best. 2128 */ 2129 @property double rimTint() 2130 { 2131 return getRimTint(); 2132 } 2133 /// ditto 2134 @property void rimTint(double v) 2135 { 2136 setRimTint(v); 2137 } 2138 /** 2139 2140 */ 2141 @property Texture rimTexture() 2142 { 2143 return getTexture(5); 2144 } 2145 /// ditto 2146 @property void rimTexture(Texture v) 2147 { 2148 setTexture(5, v); 2149 } 2150 /** 2151 If `true` clearcoat rendering is enabled. Adds a secondary transparent pass to the material. Default value: `false`. 2152 */ 2153 @property bool clearcoatEnabled() 2154 { 2155 return getFeature(4); 2156 } 2157 /// ditto 2158 @property void clearcoatEnabled(bool v) 2159 { 2160 setFeature(4, v); 2161 } 2162 /** 2163 2164 */ 2165 @property double clearcoat() 2166 { 2167 return getClearcoat(); 2168 } 2169 /// ditto 2170 @property void clearcoat(double v) 2171 { 2172 setClearcoat(v); 2173 } 2174 /** 2175 2176 */ 2177 @property double clearcoatGloss() 2178 { 2179 return getClearcoatGloss(); 2180 } 2181 /// ditto 2182 @property void clearcoatGloss(double v) 2183 { 2184 setClearcoatGloss(v); 2185 } 2186 /** 2187 2188 */ 2189 @property Texture clearcoatTexture() 2190 { 2191 return getTexture(6); 2192 } 2193 /// ditto 2194 @property void clearcoatTexture(Texture v) 2195 { 2196 setTexture(6, v); 2197 } 2198 /** 2199 If `true` anisotropy is enabled. Changes the shape of the specular blob and aligns it to tangent space. Default value: `false`. 2200 */ 2201 @property bool anisotropyEnabled() 2202 { 2203 return getFeature(5); 2204 } 2205 /// ditto 2206 @property void anisotropyEnabled(bool v) 2207 { 2208 setFeature(5, v); 2209 } 2210 /** 2211 The strength of the anisotropy effect. 2212 */ 2213 @property double anisotropy() 2214 { 2215 return getAnisotropy(); 2216 } 2217 /// ditto 2218 @property void anisotropy(double v) 2219 { 2220 setAnisotropy(v); 2221 } 2222 /** 2223 2224 */ 2225 @property Texture anisotropyFlowmap() 2226 { 2227 return getTexture(7); 2228 } 2229 /// ditto 2230 @property void anisotropyFlowmap(Texture v) 2231 { 2232 setTexture(7, v); 2233 } 2234 /** 2235 If `true` ambient occlusion is enabled. 2236 */ 2237 @property bool aoEnabled() 2238 { 2239 return getFeature(6); 2240 } 2241 /// ditto 2242 @property void aoEnabled(bool v) 2243 { 2244 setFeature(6, v); 2245 } 2246 /** 2247 2248 */ 2249 @property double aoLightAffect() 2250 { 2251 return getAoLightAffect(); 2252 } 2253 /// ditto 2254 @property void aoLightAffect(double v) 2255 { 2256 setAoLightAffect(v); 2257 } 2258 /** 2259 2260 */ 2261 @property Texture aoTexture() 2262 { 2263 return getTexture(8); 2264 } 2265 /// ditto 2266 @property void aoTexture(Texture v) 2267 { 2268 setTexture(8, v); 2269 } 2270 /** 2271 2272 */ 2273 @property bool aoOnUv2() 2274 { 2275 return getFlag(11); 2276 } 2277 /// ditto 2278 @property void aoOnUv2(bool v) 2279 { 2280 setFlag(11, v); 2281 } 2282 /** 2283 2284 */ 2285 @property SpatialMaterial.TextureChannel aoTextureChannel() 2286 { 2287 return getAoTextureChannel(); 2288 } 2289 /// ditto 2290 @property void aoTextureChannel(long v) 2291 { 2292 setAoTextureChannel(v); 2293 } 2294 /** 2295 If `true` Depth mapping is enabled. See also $(D normalEnabled). 2296 */ 2297 @property bool depthEnabled() 2298 { 2299 return getFeature(7); 2300 } 2301 /// ditto 2302 @property void depthEnabled(bool v) 2303 { 2304 setFeature(7, v); 2305 } 2306 /** 2307 2308 */ 2309 @property double depthScale() 2310 { 2311 return getDepthScale(); 2312 } 2313 /// ditto 2314 @property void depthScale(double v) 2315 { 2316 setDepthScale(v); 2317 } 2318 /** 2319 2320 */ 2321 @property bool depthDeepParallax() 2322 { 2323 return isDepthDeepParallaxEnabled(); 2324 } 2325 /// ditto 2326 @property void depthDeepParallax(bool v) 2327 { 2328 setDepthDeepParallax(v); 2329 } 2330 /** 2331 2332 */ 2333 @property long depthMinLayers() 2334 { 2335 return getDepthDeepParallaxMinLayers(); 2336 } 2337 /// ditto 2338 @property void depthMinLayers(long v) 2339 { 2340 setDepthDeepParallaxMinLayers(v); 2341 } 2342 /** 2343 2344 */ 2345 @property long depthMaxLayers() 2346 { 2347 return getDepthDeepParallaxMaxLayers(); 2348 } 2349 /// ditto 2350 @property void depthMaxLayers(long v) 2351 { 2352 setDepthDeepParallaxMaxLayers(v); 2353 } 2354 /** 2355 2356 */ 2357 @property Texture depthTexture() 2358 { 2359 return getTexture(9); 2360 } 2361 /// ditto 2362 @property void depthTexture(Texture v) 2363 { 2364 setTexture(9, v); 2365 } 2366 /** 2367 If `true` subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges. 2368 */ 2369 @property bool subsurfScatterEnabled() 2370 { 2371 return getFeature(8); 2372 } 2373 /// ditto 2374 @property void subsurfScatterEnabled(bool v) 2375 { 2376 setFeature(8, v); 2377 } 2378 /** 2379 The strength of the subsurface scattering effect. 2380 */ 2381 @property double subsurfScatterStrength() 2382 { 2383 return getSubsurfaceScatteringStrength(); 2384 } 2385 /// ditto 2386 @property void subsurfScatterStrength(double v) 2387 { 2388 setSubsurfaceScatteringStrength(v); 2389 } 2390 /** 2391 2392 */ 2393 @property Texture subsurfScatterTexture() 2394 { 2395 return getTexture(10); 2396 } 2397 /// ditto 2398 @property void subsurfScatterTexture(Texture v) 2399 { 2400 setTexture(10, v); 2401 } 2402 /** 2403 If `true` the transmission effect is enabled. Default value: `false`. 2404 */ 2405 @property bool transmissionEnabled() 2406 { 2407 return getFeature(9); 2408 } 2409 /// ditto 2410 @property void transmissionEnabled(bool v) 2411 { 2412 setFeature(9, v); 2413 } 2414 /** 2415 The color used by the transmission effect. Represents the light passing through an object. 2416 */ 2417 @property Color transmission() 2418 { 2419 return getTransmission(); 2420 } 2421 /// ditto 2422 @property void transmission(Color v) 2423 { 2424 setTransmission(v); 2425 } 2426 /** 2427 2428 */ 2429 @property Texture transmissionTexture() 2430 { 2431 return getTexture(11); 2432 } 2433 /// ditto 2434 @property void transmissionTexture(Texture v) 2435 { 2436 setTexture(11, v); 2437 } 2438 /** 2439 If `true` the refraction effect is enabled. Distorts transparency based on light from behind the object. Default value: `false`. 2440 */ 2441 @property bool refractionEnabled() 2442 { 2443 return getFeature(10); 2444 } 2445 /// ditto 2446 @property void refractionEnabled(bool v) 2447 { 2448 setFeature(10, v); 2449 } 2450 /** 2451 The strength of the refraction effect. 2452 */ 2453 @property double refractionScale() 2454 { 2455 return getRefraction(); 2456 } 2457 /// ditto 2458 @property void refractionScale(double v) 2459 { 2460 setRefraction(v); 2461 } 2462 /** 2463 2464 */ 2465 @property Texture refractionTexture() 2466 { 2467 return getTexture(12); 2468 } 2469 /// ditto 2470 @property void refractionTexture(Texture v) 2471 { 2472 setTexture(12, v); 2473 } 2474 /** 2475 2476 */ 2477 @property SpatialMaterial.TextureChannel refractionTextureChannel() 2478 { 2479 return getRefractionTextureChannel(); 2480 } 2481 /// ditto 2482 @property void refractionTextureChannel(long v) 2483 { 2484 setRefractionTextureChannel(v); 2485 } 2486 /** 2487 2488 */ 2489 @property bool detailEnabled() 2490 { 2491 return getFeature(11); 2492 } 2493 /// ditto 2494 @property void detailEnabled(bool v) 2495 { 2496 setFeature(11, v); 2497 } 2498 /** 2499 2500 */ 2501 @property Texture detailMask() 2502 { 2503 return getTexture(13); 2504 } 2505 /// ditto 2506 @property void detailMask(Texture v) 2507 { 2508 setTexture(13, v); 2509 } 2510 /** 2511 2512 */ 2513 @property SpatialMaterial.BlendMode detailBlendMode() 2514 { 2515 return getDetailBlendMode(); 2516 } 2517 /// ditto 2518 @property void detailBlendMode(long v) 2519 { 2520 setDetailBlendMode(v); 2521 } 2522 /** 2523 2524 */ 2525 @property SpatialMaterial.DetailUV detailUvLayer() 2526 { 2527 return getDetailUv(); 2528 } 2529 /// ditto 2530 @property void detailUvLayer(long v) 2531 { 2532 setDetailUv(v); 2533 } 2534 /** 2535 2536 */ 2537 @property Texture detailAlbedo() 2538 { 2539 return getTexture(14); 2540 } 2541 /// ditto 2542 @property void detailAlbedo(Texture v) 2543 { 2544 setTexture(14, v); 2545 } 2546 /** 2547 2548 */ 2549 @property Texture detailNormal() 2550 { 2551 return getTexture(15); 2552 } 2553 /// ditto 2554 @property void detailNormal(Texture v) 2555 { 2556 setTexture(15, v); 2557 } 2558 /** 2559 2560 */ 2561 @property Vector3 uv1Scale() 2562 { 2563 return getUv1Scale(); 2564 } 2565 /// ditto 2566 @property void uv1Scale(Vector3 v) 2567 { 2568 setUv1Scale(v); 2569 } 2570 /** 2571 2572 */ 2573 @property Vector3 uv1Offset() 2574 { 2575 return getUv1Offset(); 2576 } 2577 /// ditto 2578 @property void uv1Offset(Vector3 v) 2579 { 2580 setUv1Offset(v); 2581 } 2582 /** 2583 2584 */ 2585 @property bool uv1Triplanar() 2586 { 2587 return getFlag(8); 2588 } 2589 /// ditto 2590 @property void uv1Triplanar(bool v) 2591 { 2592 setFlag(8, v); 2593 } 2594 /** 2595 2596 */ 2597 @property double uv1TriplanarSharpness() 2598 { 2599 return getUv1TriplanarBlendSharpness(); 2600 } 2601 /// ditto 2602 @property void uv1TriplanarSharpness(double v) 2603 { 2604 setUv1TriplanarBlendSharpness(v); 2605 } 2606 /** 2607 2608 */ 2609 @property Vector3 uv2Scale() 2610 { 2611 return getUv2Scale(); 2612 } 2613 /// ditto 2614 @property void uv2Scale(Vector3 v) 2615 { 2616 setUv2Scale(v); 2617 } 2618 /** 2619 2620 */ 2621 @property Vector3 uv2Offset() 2622 { 2623 return getUv2Offset(); 2624 } 2625 /// ditto 2626 @property void uv2Offset(Vector3 v) 2627 { 2628 setUv2Offset(v); 2629 } 2630 /** 2631 2632 */ 2633 @property bool uv2Triplanar() 2634 { 2635 return getFlag(9); 2636 } 2637 /// ditto 2638 @property void uv2Triplanar(bool v) 2639 { 2640 setFlag(9, v); 2641 } 2642 /** 2643 2644 */ 2645 @property double uv2TriplanarSharpness() 2646 { 2647 return getUv2TriplanarBlendSharpness(); 2648 } 2649 /// ditto 2650 @property void uv2TriplanarSharpness(double v) 2651 { 2652 setUv2TriplanarBlendSharpness(v); 2653 } 2654 /** 2655 If `true` the proximity and distance fade effect is enabled. Default value: `false`. 2656 */ 2657 @property bool proximityFadeEnable() 2658 { 2659 return isProximityFadeEnabled(); 2660 } 2661 /// ditto 2662 @property void proximityFadeEnable(bool v) 2663 { 2664 setProximityFade(v); 2665 } 2666 /** 2667 2668 */ 2669 @property double proximityFadeDistance() 2670 { 2671 return getProximityFadeDistance(); 2672 } 2673 /// ditto 2674 @property void proximityFadeDistance(double v) 2675 { 2676 setProximityFadeDistance(v); 2677 } 2678 /** 2679 2680 */ 2681 @property SpatialMaterial.DistanceFadeMode distanceFadeMode() 2682 { 2683 return getDistanceFade(); 2684 } 2685 /// ditto 2686 @property void distanceFadeMode(long v) 2687 { 2688 setDistanceFade(v); 2689 } 2690 /** 2691 2692 */ 2693 @property double distanceFadeMinDistance() 2694 { 2695 return getDistanceFadeMinDistance(); 2696 } 2697 /// ditto 2698 @property void distanceFadeMinDistance(double v) 2699 { 2700 setDistanceFadeMinDistance(v); 2701 } 2702 /** 2703 2704 */ 2705 @property double distanceFadeMaxDistance() 2706 { 2707 return getDistanceFadeMaxDistance(); 2708 } 2709 /// ditto 2710 @property void distanceFadeMaxDistance(double v) 2711 { 2712 setDistanceFadeMaxDistance(v); 2713 } 2714 }