diff --git a/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.Libraries.cs b/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.Libraries.cs
index 06caee412bc..32d976253b2 100755
--- a/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.Libraries.cs
+++ b/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.Libraries.cs
@@ -19,6 +19,7 @@ internal static partial class Interop
{
internal static partial class Libraries
{
+ public const string Lib = "libdali2-csharp-binder.so";
public const string Scene3D = "libdali2-csharp-binder-scene3d.so";
}
}
diff --git a/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.SceneView.cs b/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.SceneView.cs
index 59e4f86df6b..8f5fd3144d4 100755
--- a/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.SceneView.cs
+++ b/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.SceneView.cs
@@ -72,6 +72,14 @@ internal static partial class SceneView
[global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_SceneView_GetImageBasedLightScaleFactor")]
public static extern float GetImageBasedLightScaleFactor(global::System.Runtime.InteropServices.HandleRef sceneView);
+ // TODO : Implement AddLight API at native SceneView in future. Currently, let we just call Actor.Add
+ [global::System.Runtime.InteropServices.DllImport(Libraries.Lib, EntryPoint = "CSharp_Dali_Actor_Add")]
+ public static extern void AddLight(global::System.Runtime.InteropServices.HandleRef sceneView, global::System.Runtime.InteropServices.HandleRef light);
+
+ // TODO : Implement RemoveLight API at native SceneView in future. Currently, let we just call Actor.Remove
+ [global::System.Runtime.InteropServices.DllImport(Libraries.Lib, EntryPoint = "CSharp_Dali_Actor_Remove")]
+ public static extern void RemoveLight(global::System.Runtime.InteropServices.HandleRef sceneView, global::System.Runtime.InteropServices.HandleRef light);
+
[global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_SceneView_UseFramebuffer")]
public static extern void UseFramebuffer(global::System.Runtime.InteropServices.HandleRef sceneView, bool useFramebuffer);
diff --git a/src/Tizen.NUI.Scene3D/src/public/Controls/SceneView.cs b/src/Tizen.NUI.Scene3D/src/public/Controls/SceneView.cs
index 217a7a17be7..61ceb2aac4e 100755
--- a/src/Tizen.NUI.Scene3D/src/public/Controls/SceneView.cs
+++ b/src/Tizen.NUI.Scene3D/src/public/Controls/SceneView.cs
@@ -473,6 +473,30 @@ public void SetImageBasedLightSource(string diffuseUrl, string specularUrl, floa
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
+ ///
+ /// Add Lights to this SceneView.
+ ///
+ /// The light what we want to add
+ // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void AddLight(Light light)
+ {
+ Interop.SceneView.AddLight(SwigCPtr, Light.getCPtr(light));
+ NDalicPINVOKE.ThrowExceptionIfExists();
+ }
+
+ ///
+ /// Remove Lights from this SceneView.
+ ///
+ /// The light what we want to remove
+ // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void RemoveLight(Light light)
+ {
+ Interop.SceneView.RemoveLight(SwigCPtr, Light.getCPtr(light));
+ NDalicPINVOKE.ThrowExceptionIfExists();
+ }
+
///
/// Sets SceneView's resolution manually.
///