BsScriptRenderTexture2D.h 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptRenderTarget.h"
  4. #include "BsPixelUtil.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptRenderTexture2D : public ScriptObject < ScriptRenderTexture2D, ScriptRenderTargetBase >
  8. {
  9. public:
  10. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "RenderTexture2D")
  11. RenderTargetPtr getNativeValue() const { return mRenderTarget; }
  12. RenderTexturePtr getRenderTexture() const;
  13. MultiRenderTexturePtr getMultiRenderTexture() const;
  14. private:
  15. ScriptRenderTexture2D(const RenderTargetPtr& target, bool isMulti, MonoObject* instance);
  16. static void internal_createDetailed(MonoObject* instance, PixelFormat format, UINT32 width, UINT32 height,
  17. UINT32 numSamples, bool gammaCorrection, bool createDepth, PixelFormat depthStencilFormat);
  18. static void internal_create(MonoObject* instance, MonoArray* colorSurfaces, MonoObject* depthStencilSurface);
  19. static void internal_getColorSurfaces(ScriptRenderTexture2D* thisPtr, MonoArray** value);
  20. static void internal_getDepthStencilSurface(ScriptRenderTexture2D* thisPtr, MonoObject** value);
  21. RenderTargetPtr mRenderTarget;
  22. bool mIsMulti;
  23. };
  24. }