diff --git a/src/gx/CGxDevice.cpp b/src/gx/CGxDevice.cpp index 880a107..b3eac61 100644 --- a/src/gx/CGxDevice.cpp +++ b/src/gx/CGxDevice.cpp @@ -924,6 +924,10 @@ CGxPool* CGxDevice::PoolCreate(EGxPoolTarget target, EGxPoolUsage usage, uint32_ return pool; } +void CGxDevice::RenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex) { + gxTex = this->m_textureTarget[buffer].m_texture; +} + void CGxDevice::RsGet(EGxRenderState which, int32_t& value) { value = static_cast(this->m_appRenderStates[which].m_value); } diff --git a/src/gx/CGxDevice.hpp b/src/gx/CGxDevice.hpp index 0c7ed1e..edf9f99 100644 --- a/src/gx/CGxDevice.hpp +++ b/src/gx/CGxDevice.hpp @@ -183,6 +183,7 @@ class CGxDevice { void PrimVertexFormat(CGxBuf*, CGxVertexAttrib*, uint32_t); void PrimVertexMask(uint32_t); void PrimVertexPtr(CGxBuf*, EGxVertexBufferFormat); + void RenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex); void RsGet(EGxRenderState, int32_t&); void RsSet(EGxRenderState, int32_t); void RsSet(EGxRenderState, void*); diff --git a/src/gx/RenderTarget.cpp b/src/gx/RenderTarget.cpp new file mode 100644 index 0000000..d847708 --- /dev/null +++ b/src/gx/RenderTarget.cpp @@ -0,0 +1,6 @@ +#include "gx/RenderTarget.hpp" +#include "gx/Device.hpp" + +void GxRenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex) { + g_theGxDevicePtr->RenderTargetGet(buffer, gxTex); +} diff --git a/src/gx/RenderTarget.hpp b/src/gx/RenderTarget.hpp new file mode 100644 index 0000000..c95cad2 --- /dev/null +++ b/src/gx/RenderTarget.hpp @@ -0,0 +1,10 @@ +#ifndef GX_RENDER_TARGET_HPP +#define GX_RENDER_TARGET_HPP + +#include "gx/Types.hpp" + +class CGxTex; + +void GxRenderTargetGet(EGxBuffer buffer, CGxTex*& gxTex); + +#endif