Asynchronous loading of Scene3D resources
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / public-api / controls / scene-view / scene-view.h
index fce3b19..e538d29 100644 (file)
@@ -104,6 +104,16 @@ class DALI_SCENE3D_API SceneView : public Dali::Toolkit::Control
 {
 public:
   /**
+   * @brief The skybox types
+   * @SINCE_2_2.6
+   */
+  enum class SkyboxType
+  {
+    CUBEMAP,        ///< Skybox in cubemap
+    EQUIRECTANGULAR ///< Skybox in equirectangular projection
+  };
+
+  /**
    * @brief Create an initialized SceneView.
    *
    * @SINCE_2_1.38
@@ -315,6 +325,52 @@ public:
    */
   bool IsUsingFramebuffer() const;
 
+  /**
+   * @brief Sets Skybox for this scene.
+   * Skybox texture is asynchronously loaded. When loading is finished, ResourceReady is emitted.
+   *
+   * @SINCE_2_2.0
+   * @param[in] skyboxUrl image url for skybox.
+   * @param[in] skyboxType The environment type of skymap (by default it is cubemap).
+   */
+  void SetSkybox(const std::string& skyboxUrl, SkyboxType skyboxType = SkyboxType::CUBEMAP);
+
+  /**
+   * @brief Sets Skybox intensity.
+   * The skybox intensity is multiplied to the color of skybox texture.
+   * Default value is 1.0f.
+   *
+   * @SINCE_2_2.0
+   * @note Intensity should be positive value.
+   * @param[in] intensity Intensity value to be multiplied to the cube map color
+   */
+  void SetSkyboxIntensity(float intensity);
+
+  /**
+   * @brief Gets Skybox intensity.
+   * Default value is 1.0f.
+   *
+   * @SINCE_2_2.0
+   * @return skybox intensity
+   */
+  float GetSkyboxIntensity() const;
+
+  /**
+   * @brief Sets Orientation of Skybox.
+   *
+   * @SINCE_2_2.0
+   * @param[in] orientation Quaternion for orientation of Skybox.
+   */
+  void SetSkyboxOrientation(const Quaternion& orientation);
+
+  /**
+   * @brief Gets Skybox orientation.
+   *
+   * @SINCE_2_2.0
+   * @return skybox orientation
+   */
+  Quaternion GetSkyboxOrientation() const;
+
 public: // Not intended for application developers
   /// @cond internal
   /**