| 1103 | } |
| 1104 | |
| 1105 | static dmGraphics::HRenderTarget CheckRenderTarget(lua_State* L, int index, RenderScriptInstance* i) |
| 1106 | { |
| 1107 | if(lua_isnumber(L, index)) |
| 1108 | { |
| 1109 | return (dmGraphics::HRenderTarget) CheckAssetHandle(L, index, i->m_RenderContext->m_GraphicsContext, dmGraphics::ASSET_TYPE_RENDER_TARGET); |
| 1110 | } |
| 1111 | else if (dmScript::IsHash(L, index) || lua_isstring(L, index)) |
| 1112 | { |
| 1113 | dmhash_t rt_id = dmScript::CheckHashOrString(L, index); |
| 1114 | RenderResource* render_resource = i->m_RenderResources.Get(rt_id); |
| 1115 | |
| 1116 | if (render_resource == 0x0) |
| 1117 | { |
| 1118 | return luaL_error(L, "Could not find render target '%s'", dmHashReverseSafe64(rt_id)); |
| 1119 | } |
| 1120 | |
| 1121 | if (render_resource->m_Type != RENDER_RESOURCE_TYPE_RENDER_TARGET) |
| 1122 | { |
| 1123 | return luaL_error(L, "Render resource is not a render target"); |
| 1124 | } |
| 1125 | |
| 1126 | return render_resource->m_Resource; |
| 1127 | } |
| 1128 | return luaL_error(L, "Invalid render target."); |
| 1129 | } |
| 1130 | |
| 1131 | /*# deletes a render target |
| 1132 | * |
no test coverage detected