mirror of https://github.com/bjornbytes/lovr.git
lovr.graphics.setWireframe;
This commit is contained in:
parent
15174b8299
commit
f18ee761cd
|
@ -60,6 +60,7 @@ void lovrGraphicsReset() {
|
|||
lovrGraphicsSetCullingEnabled(0);
|
||||
lovrGraphicsSetPolygonWinding(POLYGON_WINDING_COUNTERCLOCKWISE);
|
||||
lovrGraphicsSetDepthTest(COMPARE_LESS);
|
||||
lovrGraphicsSetWireframe(0);
|
||||
}
|
||||
|
||||
void lovrGraphicsClear(int color, int depth) {
|
||||
|
@ -122,11 +123,11 @@ void lovrGraphicsSetColorMask(char r, char g, char b, char a) {
|
|||
glColorMask(r, g, b, a);
|
||||
}
|
||||
|
||||
char lovrGraphicsIsScissorEnabled() {
|
||||
int lovrGraphicsIsScissorEnabled() {
|
||||
return state.isScissorEnabled;
|
||||
}
|
||||
|
||||
void lovrGraphicsSetScissorEnabled(char isEnabled) {
|
||||
void lovrGraphicsSetScissorEnabled(int isEnabled) {
|
||||
state.isScissorEnabled = isEnabled;
|
||||
if (isEnabled) {
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
|
@ -200,11 +201,11 @@ void lovrGraphicsSetPointSize(float size) {
|
|||
glPointSize(size);
|
||||
}
|
||||
|
||||
char lovrGraphicsIsCullingEnabled() {
|
||||
int lovrGraphicsIsCullingEnabled() {
|
||||
return state.isCullingEnabled;
|
||||
}
|
||||
|
||||
void lovrGraphicsSetCullingEnabled(char isEnabled) {
|
||||
void lovrGraphicsSetCullingEnabled(int isEnabled) {
|
||||
state.isCullingEnabled = isEnabled;
|
||||
if (isEnabled) {
|
||||
glEnable(GL_CULL_FACE);
|
||||
|
@ -233,6 +234,17 @@ void lovrGraphicsSetDepthTest(CompareMode depthTest) {
|
|||
}
|
||||
}
|
||||
|
||||
int lovrGraphicsIsWireframe() {
|
||||
return state.isWireframe;
|
||||
}
|
||||
|
||||
void lovrGraphicsSetWireframe(int wireframe) {
|
||||
if (state.isWireframe != wireframe) {
|
||||
state.isWireframe = wireframe;
|
||||
glPolygonMode(GL_FRONT_AND_BACK, wireframe ? GL_LINE : GL_FILL);
|
||||
}
|
||||
}
|
||||
|
||||
int lovrGraphicsPush() {
|
||||
vec_mat4_t* transforms = &state.transforms;
|
||||
if (transforms->length >= 64) { return 1; }
|
||||
|
|
|
@ -41,7 +41,7 @@ typedef struct {
|
|||
mat4 projection;
|
||||
unsigned int color;
|
||||
char colorMask;
|
||||
char isScissorEnabled;
|
||||
int isScissorEnabled;
|
||||
ScissorRectangle scissor;
|
||||
GLuint shapeArray;
|
||||
GLuint shapeBuffer;
|
||||
|
@ -50,10 +50,12 @@ typedef struct {
|
|||
vec_uint_t shapeIndices;
|
||||
float lineWidth;
|
||||
float pointSize;
|
||||
char isCullingEnabled;
|
||||
int isCullingEnabled;
|
||||
PolygonWinding polygonWinding;
|
||||
CompareMode depthTest;
|
||||
int isWireframe;
|
||||
} GraphicsState;
|
||||
|
||||
#endif
|
||||
|
||||
void lovrGraphicsInit();
|
||||
|
@ -68,8 +70,8 @@ void lovrGraphicsGetColor(unsigned char* r, unsigned char* g, unsigned char* b,
|
|||
void lovrGraphicsSetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);
|
||||
void lovrGraphicsGetColorMask(char* r, char* g, char* b, char* a);
|
||||
void lovrGraphicsSetColorMask(char r, char g, char b, char a);
|
||||
char lovrGraphicsIsScissorEnabled();
|
||||
void lovrGraphicsSetScissorEnabled(char isEnabled);
|
||||
int lovrGraphicsIsScissorEnabled();
|
||||
void lovrGraphicsSetScissorEnabled(int isEnabled);
|
||||
void lovrGraphicsGetScissor(int* x, int* y, int* width, int* height);
|
||||
void lovrGraphicsSetScissor(int x, int y, int width, int height);
|
||||
Shader* lovrGraphicsGetShader();
|
||||
|
@ -80,12 +82,14 @@ float lovrGraphicsGetLineWidth();
|
|||
void lovrGraphicsSetLineWidth(float width);
|
||||
float lovrGraphicsGetPointSize();
|
||||
void lovrGraphicsSetPointSize(float size);
|
||||
char lovrGraphicsIsCullingEnabled();
|
||||
void lovrGraphicsSetCullingEnabled(char isEnabled);
|
||||
int lovrGraphicsIsCullingEnabled();
|
||||
void lovrGraphicsSetCullingEnabled(int isEnabled);
|
||||
PolygonWinding lovrGraphicsGetPolygonWinding();
|
||||
void lovrGraphicsSetPolygonWinding(PolygonWinding winding);
|
||||
CompareMode lovrGraphicsGetDepthTest();
|
||||
void lovrGraphicsSetDepthTest(CompareMode depthTest);
|
||||
int lovrGraphicsIsWireframe();
|
||||
void lovrGraphicsSetWireframe(int wireframe);
|
||||
int lovrGraphicsPush();
|
||||
int lovrGraphicsPop();
|
||||
void lovrGraphicsOrigin();
|
||||
|
|
|
@ -64,6 +64,8 @@ const luaL_Reg lovrGraphics[] = {
|
|||
{ "setPolygonWinding", l_lovrGraphicsSetPolygonWinding },
|
||||
{ "getDepthTest", l_lovrGraphicsGetDepthTest },
|
||||
{ "setDepthTest", l_lovrGraphicsSetDepthTest },
|
||||
{ "isWireframe", l_lovrGraphicsIsWireframe },
|
||||
{ "setWireframe", l_lovrGraphicsSetWireframe },
|
||||
{ "push", l_lovrGraphicsPush },
|
||||
{ "pop", l_lovrGraphicsPop },
|
||||
{ "origin", l_lovrGraphicsOrigin },
|
||||
|
@ -331,6 +333,16 @@ int l_lovrGraphicsSetDepthTest(lua_State* L) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int l_lovrGraphicsIsWireframe(lua_State* L) {
|
||||
lua_pushboolean(L, lovrGraphicsIsWireframe());
|
||||
return 1;
|
||||
}
|
||||
|
||||
int l_lovrGraphicsSetWireframe(lua_State* L) {
|
||||
lovrGraphicsSetWireframe(lua_toboolean(L, 1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int l_lovrGraphicsPush(lua_State* L) {
|
||||
if (lovrGraphicsPush()) {
|
||||
return luaL_error(L, "Unbalanced matrix stack (more pushes than pops?)");
|
||||
|
|
|
@ -38,6 +38,8 @@ int l_lovrGraphicsGetPolygonWinding(lua_State* L);
|
|||
int l_lovrGraphicsSetPolygonWinding(lua_State* L);
|
||||
int l_lovrGraphicsGetDepthTest(lua_State* L);
|
||||
int l_lovrGraphicsSetDepthTest(lua_State* L);
|
||||
int l_lovrGraphicsIsWireframe(lua_State* L);
|
||||
int l_lovrGraphicsSetWireframe(lua_State* L);
|
||||
int l_lovrGraphicsPush(lua_State* L);
|
||||
int l_lovrGraphicsPop(lua_State* L);
|
||||
int l_lovrGraphicsOrigin(lua_State* L);
|
||||
|
|
Loading…
Reference in New Issue