MCPcopy Create free account
hub / github.com/defold/defold / InitializeRenderScriptContext

Function InitializeRenderScriptContext

engine/render/src/render/render_script.cpp:3121–3175  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 {

Callers 1

NewRenderContextFunction · 0.85

Calls 6

lua_gettopFunction · 0.85
RegisterUserTypeFunction · 0.85
lua_pushnumberFunction · 0.85
lua_setfieldFunction · 0.85
GetLuaStateFunction · 0.50
assertFunction · 0.50

Tested by

no test coverage detected