lovr.graphics.setPointSize;

This commit is contained in:
bjorn 2016-11-12 17:38:49 -08:00
parent ffde873299
commit 11d96f1826
4 changed files with 28 additions and 0 deletions

View File

@ -62,6 +62,7 @@ void lovrGraphicsReset() {
lovrGraphicsSetColorMask(1, 1, 1, 1);
lovrGraphicsSetScissorEnabled(0);
lovrGraphicsSetLineWidth(1);
lovrGraphicsSetPointSize(1);
lovrGraphicsSetCullingEnabled(0);
lovrGraphicsSetPolygonWinding(POLYGON_WINDING_COUNTERCLOCKWISE);
}
@ -224,6 +225,15 @@ void lovrGraphicsSetLineWidth(float width) {
glLineWidth(width);
}
float lovrGraphicsGetPointSize() {
return state.pointSize;
}
void lovrGraphicsSetPointSize(float size) {
state.pointSize = size;
glPointSize(size);
}
char lovrGraphicsIsCullingEnabled() {
return state.isCullingEnabled;
}

View File

@ -50,6 +50,7 @@ typedef struct {
vec_float_t shapeData;
vec_uint_t shapeIndices;
float lineWidth;
float pointSize;
char isCullingEnabled;
PolygonWinding polygonWinding;
} GraphicsState;
@ -77,6 +78,8 @@ void lovrGraphicsSetProjection(float near, float far, float fov);
void lovrGraphicsSetProjectionRaw(mat4 projection);
float lovrGraphicsGetLineWidth();
void lovrGraphicsSetLineWidth(float width);
float lovrGraphicsGetPointSize();
void lovrGraphicsSetPointSize(float size);
char lovrGraphicsIsCullingEnabled();
void lovrGraphicsSetCullingEnabled(char isEnabled);
PolygonWinding lovrGraphicsGetPolygonWinding();

View File

@ -56,6 +56,8 @@ const luaL_Reg lovrGraphics[] = {
{ "setProjection", l_lovrGraphicsSetProjection },
{ "getLineWidth", l_lovrGraphicsGetLineWidth },
{ "setLineWidth", l_lovrGraphicsSetLineWidth },
{ "getPointSize", l_lovrGraphicsGetPointSize },
{ "setPointSize", l_lovrGraphicsSetPointSize },
{ "isCullingEnabled", l_lovrGraphicsIsCullingEnabled },
{ "setCullingEnabled", l_lovrGraphicsSetCullingEnabled },
{ "getPolygonWinding", l_lovrGraphicsGetPolygonWinding },
@ -274,6 +276,17 @@ int l_lovrGraphicsSetLineWidth(lua_State* L) {
return 0;
}
int l_lovrGraphicsGetPointSize(lua_State* L) {
lua_pushnumber(L, lovrGraphicsGetPointSize());
return 1;
}
int l_lovrGraphicsSetPointSize(lua_State* L) {
float size = luaL_optnumber(L, 1, 1.f);
lovrGraphicsSetPointSize(size);
return 0;
}
int l_lovrGraphicsIsCullingEnabled(lua_State* L) {
lua_pushboolean(L, lovrGraphicsIsCullingEnabled());
return 1;

View File

@ -29,6 +29,8 @@ int l_lovrGraphicsSetShader(lua_State* L);
int l_lovrGraphicsSetProjection(lua_State* L);
int l_lovrGraphicsGetLineWidth(lua_State* L);
int l_lovrGraphicsSetLineWidth(lua_State* L);
int l_lovrGraphicsGetPointSize(lua_State* L);
int l_lovrGraphicsSetPointSize(lua_State* L);
int l_lovrGraphicsIsCullingEnabled(lua_State* L);
int l_lovrGraphicsSetCullingEnabled(lua_State* L);
int l_lovrGraphicsGetPolygonWinding(lua_State* L);