1 /** 2 A Fresnel effect to be used within the visual shader graph. 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.visualshadernodefresnel; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.traits; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.globalenums; 22 import godot.object; 23 import godot.classdb; 24 import godot.visualshadernode; 25 import godot.resource; 26 import godot.reference; 27 /** 28 A Fresnel effect to be used within the visual shader graph. 29 30 Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it). 31 */ 32 @GodotBaseClass struct VisualShaderNodeFresnel 33 { 34 package(godot) enum string _GODOT_internal_name = "VisualShaderNodeFresnel"; 35 public: 36 @nogc nothrow: 37 union { /** */ godot_object _godot_object; /** */ VisualShaderNode _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 GDNativeClassBinding 42 { 43 __gshared: 44 } 45 /// 46 pragma(inline, true) bool opEquals(in VisualShaderNodeFresnel other) const 47 { return _godot_object.ptr is other._godot_object.ptr; } 48 /// 49 pragma(inline, true) typeof(null) opAssign(typeof(null) n) 50 { _godot_object.ptr = n; return null; } 51 /// 52 pragma(inline, true) bool opEquals(typeof(null) n) const 53 { return _godot_object.ptr is n; } 54 /// 55 size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; } 56 mixin baseCasts; 57 /// Construct a new instance of VisualShaderNodeFresnel. 58 /// Note: use `memnew!VisualShaderNodeFresnel` instead. 59 static VisualShaderNodeFresnel _new() 60 { 61 static godot_class_constructor constructor; 62 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualShaderNodeFresnel"); 63 if(constructor is null) return typeof(this).init; 64 return cast(VisualShaderNodeFresnel)(constructor()); 65 } 66 @disable new(size_t s); 67 }