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

Function InitializeGraphics

engine/script/src/script_graphics.cpp:925–1141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

923 };
924
925 void InitializeGraphics(lua_State* L, dmGraphics::HContext graphics_context)
926 {
927 g_GraphicsModule.m_GraphicsContext = graphics_context;
928
929 DM_LUA_STACK_CHECK(L, 0);
930
931 luaL_register(L, SCRIPT_LIB_NAME, ScriptGraphics_methods);
932
933 #define SET_GRAPHICS_ENUM(name) \
934 lua_pushnumber(L, (lua_Number) dmGraphics:: name); \
935 lua_setfield(L, -2, #name);
936
937 #define SET_GRAPHICS_ENUM_NAMED(enum_name, name) \
938 lua_pushnumber(L, (lua_Number) dmGraphics:: enum_name); \
939 lua_setfield(L, -2, #name);
940
941 #define SET_TEXTUREFORMAT_IF_SUPPORTED(name) \
942 if (graphics_context && dmGraphics::IsTextureFormatSupported(graphics_context, dmGraphics::name)) \
943 { \
944 lua_pushnumber(L, (lua_Number) dmGraphics:: name); \
945 lua_setfield(L, -2, #name); \
946 }
947
948 // Buffer
949 SET_GRAPHICS_ENUM(BUFFER_TYPE_COLOR0_BIT);
950 SET_GRAPHICS_ENUM(BUFFER_TYPE_DEPTH_BIT);
951 SET_GRAPHICS_ENUM(BUFFER_TYPE_STENCIL_BIT);
952
953 if (graphics_context && dmGraphics::IsContextFeatureSupported(graphics_context, dmGraphics::CONTEXT_FEATURE_MULTI_TARGET_RENDERING))
954 {
955 SET_GRAPHICS_ENUM(BUFFER_TYPE_COLOR1_BIT);
956 SET_GRAPHICS_ENUM(BUFFER_TYPE_COLOR2_BIT);
957 SET_GRAPHICS_ENUM(BUFFER_TYPE_COLOR3_BIT);
958 }
959
960 // State
961 SET_GRAPHICS_ENUM(STATE_DEPTH_TEST);
962 SET_GRAPHICS_ENUM(STATE_SCISSOR_TEST);
963 SET_GRAPHICS_ENUM(STATE_STENCIL_TEST);
964 SET_GRAPHICS_ENUM(STATE_ALPHA_TEST);
965 SET_GRAPHICS_ENUM(STATE_BLEND);
966 SET_GRAPHICS_ENUM(STATE_CULL_FACE);
967 SET_GRAPHICS_ENUM(STATE_POLYGON_OFFSET_FILL);
968 SET_GRAPHICS_ENUM(STATE_ALPHA_TEST_SUPPORTED);
969
970 // BlendFactor
971 SET_GRAPHICS_ENUM(BLEND_FACTOR_ZERO);
972 SET_GRAPHICS_ENUM(BLEND_FACTOR_ONE);
973 SET_GRAPHICS_ENUM(BLEND_FACTOR_SRC_COLOR);
974 SET_GRAPHICS_ENUM(BLEND_FACTOR_ONE_MINUS_SRC_COLOR);
975 SET_GRAPHICS_ENUM(BLEND_FACTOR_DST_COLOR);
976 SET_GRAPHICS_ENUM(BLEND_FACTOR_ONE_MINUS_DST_COLOR);
977 SET_GRAPHICS_ENUM(BLEND_FACTOR_SRC_ALPHA);
978 SET_GRAPHICS_ENUM(BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
979 SET_GRAPHICS_ENUM(BLEND_FACTOR_DST_ALPHA);
980 SET_GRAPHICS_ENUM(BLEND_FACTOR_ONE_MINUS_DST_ALPHA);
981 SET_GRAPHICS_ENUM(BLEND_FACTOR_SRC_ALPHA_SATURATE);
982 SET_GRAPHICS_ENUM(BLEND_FACTOR_CONSTANT_COLOR);

Callers 1

InitializeFunction · 0.85

Calls 1

Tested by

no test coverage detected