bool DXDriver::CreateRenderTarget(const unsigned int _id, const RenderTargetInit& _rti, RenderTarget* _renderTargetPtr) { // Id already used if (m_pRenderTargets[_id] != nullptr) return false; RenderTarget* temp = VNEW RenderTarget(std::to_string(_id).c_str()); // Failed to allocate mem if (!temp) return false; // Failed to initialize, delete allocated mem if (!temp->Init(_rti, m_device)) { SAFE_DELETE(temp); return false; } // all is good m_pRenderTargets[_id] = temp; _renderTargetPtr = temp; return true; }