| 3119 | }; |
| 3120 | |
| 3121 | void InitializeRenderScriptContext(RenderScriptContext& context, dmGraphics::HContext graphics_context, dmScript::HContext script_context, uint32_t command_buffer_size) |
| 3122 | { |
| 3123 | context.m_CommandBufferSize = command_buffer_size; |
| 3124 | |
| 3125 | lua_State *L = dmScript::GetLuaState(script_context); |
| 3126 | context.m_LuaState = L; |
| 3127 | |
| 3128 | int top = lua_gettop(L); |
| 3129 | (void)top; |
| 3130 | |
| 3131 | RENDER_SCRIPT_TYPE_HASH = dmScript::RegisterUserType(L, RENDER_SCRIPT, RenderScript_methods, RenderScript_meta); |
| 3132 | |
| 3133 | RENDER_SCRIPT_INSTANCE_TYPE_HASH = dmScript::RegisterUserType(L, RENDER_SCRIPT_INSTANCE, RenderScriptInstance_methods, RenderScriptInstance_meta); |
| 3134 | |
| 3135 | RENDER_SCRIPT_CONSTANTBUFFER_TYPE_HASH = dmScript::RegisterUserType(L, RENDER_SCRIPT_CONSTANTBUFFER, RenderScriptConstantBuffer_methods, RenderScriptConstantBuffer_meta); |
| 3136 | |
| 3137 | RENDER_SCRIPT_PREDICATE_TYPE_HASH = dmScript::RegisterUserType(L, RENDER_SCRIPT_PREDICATE, RenderScriptPredicate_methods, RenderScriptPredicate_meta); |
| 3138 | |
| 3139 | RENDER_SCRIPT_CONSTANTBUFFER_ARRAY_TYPE_HASH = dmScript::RegisterUserType(L, RENDER_SCRIPT_CONSTANTBUFFER_ARRAY, RenderScriptConstantBuffer_methods, RenderScriptConstantBufferArray_meta); |
| 3140 | |
| 3141 | luaL_register(L, RENDER_SCRIPT_LIB_NAME, Render_methods); |
| 3142 | |
| 3143 | #define REGISTER_FRUSTUM_PLANES_CONSTANT(name)\ |
| 3144 | lua_pushnumber(L, (lua_Number) dmRender::FRUSTUM_PLANES_##name); \ |
| 3145 | lua_setfield(L, -2, "FRUSTUM_PLANES_"#name); |
| 3146 | |
| 3147 | REGISTER_FRUSTUM_PLANES_CONSTANT(SIDES); |
| 3148 | REGISTER_FRUSTUM_PLANES_CONSTANT(ALL); |
| 3149 | |
| 3150 | #undef REGISTER_FRUSTUM_PLANES_CONSTANT |
| 3151 | |
| 3152 | #define REGISTER_SORT_ORDER_CONSTANT(name)\ |
| 3153 | lua_pushnumber(L, (lua_Number) dmRender::name); \ |
| 3154 | lua_setfield(L, -2, #name); |
| 3155 | |
| 3156 | REGISTER_SORT_ORDER_CONSTANT(SORT_BACK_TO_FRONT); |
| 3157 | REGISTER_SORT_ORDER_CONSTANT(SORT_FRONT_TO_BACK); |
| 3158 | REGISTER_SORT_ORDER_CONSTANT(SORT_NONE); |
| 3159 | |
| 3160 | #undef REGISTER_SORT_ORDER_CONSTANT |
| 3161 | |
| 3162 | // Flags (only flag here currently, so no need for an enum) |
| 3163 | lua_pushnumber(L, RENDER_SCRIPT_FLAG_TEXTURE_BIT); |
| 3164 | lua_setfield(L, -2, "TEXTURE_BIT"); |
| 3165 | |
| 3166 | lua_pushnumber(L, dmRender::CONTEXT_LOST); |
| 3167 | lua_setfield(L, -2, "CONTEXT_EVENT_CONTEXT_LOST"); |
| 3168 | |
| 3169 | lua_pushnumber(L, dmRender::CONTEXT_RESTORED); |
| 3170 | lua_setfield(L, -2, "CONTEXT_EVENT_CONTEXT_RESTORED"); |
| 3171 | |
| 3172 | lua_pop(L, 1); |
| 3173 | |
| 3174 | assert(top == lua_gettop(L)); |
| 3175 | } |
| 3176 | |
| 3177 | void FinalizeRenderScriptContext(RenderScriptContext& context, dmScript::HContext script_context) |
| 3178 | { |
no test coverage detected