rm lovr.graphics.setProjection;

This commit is contained in:
bjorn 2017-03-11 21:19:26 -08:00
parent f3dfbe518a
commit c6b635a2ec
5 changed files with 11 additions and 21 deletions

View File

@ -278,14 +278,6 @@ int l_lovrGraphicsSetFont(lua_State* L) {
return 0;
}
int l_lovrGraphicsSetProjection(lua_State* L) {
float near = luaL_checknumber(L, 1);
float far = luaL_checknumber(L, 2);
float fov = luaL_checknumber(L, 3);
lovrGraphicsSetProjection(near, far, fov);
return 0;
}
int l_lovrGraphicsGetLineWidth(lua_State* L) {
lua_pushnumber(L, lovrGraphicsGetLineWidth());
return 1;
@ -729,7 +721,6 @@ const luaL_Reg lovrGraphics[] = {
{ "setShader", l_lovrGraphicsSetShader },
{ "getFont", l_lovrGraphicsGetFont },
{ "setFont", l_lovrGraphicsSetFont },
{ "setProjection", l_lovrGraphicsSetProjection },
{ "getLineWidth", l_lovrGraphicsGetLineWidth },
{ "setLineWidth", l_lovrGraphicsSetLineWidth },
{ "getPointSize", l_lovrGraphicsGetPointSize },

View File

@ -61,8 +61,7 @@ void lovrGraphicsReset() {
state.transform = 0;
state.canvas = 0;
lovrGraphicsSetViewport(0, 0, lovrGraphicsGetWidth(), lovrGraphicsGetHeight());
lovrGraphicsSetProjection(.1f, 100.f, 67 * M_PI / 180); // TODO customize via lovr.conf
lovrGraphicsBindFramebuffer(0);
lovrGraphicsSetPerspective(.1f, 100.f, 67 * M_PI / 180);
lovrGraphicsSetShader(NULL);
lovrGraphicsBindTexture(NULL);
lovrGraphicsSetBackgroundColor(0, 0, 0, 0);
@ -235,16 +234,16 @@ mat4 lovrGraphicsGetProjection() {
return state.canvases[state.canvas]->projection;
}
void lovrGraphicsSetProjection(float near, float far, float fov) {
void lovrGraphicsSetProjection(mat4 projection) {
memcpy(state.canvases[state.canvas]->projection, projection, 16 * sizeof(float));
}
void lovrGraphicsSetPerspective(float near, float far, float fov) {
int width, height;
glfwGetWindowSize(window, &width, &height);
mat4_perspective(state.canvases[state.canvas]->projection, near, far, fov, (float) width / height);
}
void lovrGraphicsSetProjectionRaw(mat4 projection) {
memcpy(state.canvases[state.canvas]->projection, projection, 16 * sizeof(float));
}
float lovrGraphicsGetLineWidth() {
return state.lineWidth;
}

View File

@ -101,8 +101,8 @@ void lovrGraphicsSetFont(Font* font);
Texture* lovrGraphicsGetTexture();
void lovrGraphicsBindTexture(Texture* texture);
mat4 lovrGraphicsGetProjection();
void lovrGraphicsSetProjection(float near, float far, float fov);
void lovrGraphicsSetProjectionRaw(mat4 projection);
void lovrGraphicsSetProjection(mat4 projection);
void lovrGraphicsSetPerspective(float near, float far, float fov);
float lovrGraphicsGetLineWidth();
void lovrGraphicsSetLineWidth(float width);
float lovrGraphicsGetPointSize();

View File

@ -109,7 +109,7 @@ void lovrTextureBindFramebuffer(Texture* texture) {
if (texture->projection == PROJECTION_ORTHOGRAPHIC) {
float projection[16];
mat4_orthographic(projection, 0, w, 0, h, -1, 1);
lovrGraphicsSetProjectionRaw(projection);
lovrGraphicsSetProjection(projection);
} else if (texture->projection == PROJECTION_PERSPECTIVE) {
mat4 projection = lovrGraphicsGetProjection();
float b = projection[5];
@ -122,7 +122,7 @@ void lovrTextureBindFramebuffer(Texture* texture) {
float fov = 2.f * atan(1.f / b);
float newProjection[16];
mat4_perspective(newProjection, near, far, fov, aspect);
lovrGraphicsSetProjectionRaw(newProjection);
lovrGraphicsSetProjection(newProjection);
}
}

View File

@ -634,7 +634,7 @@ void lovrHeadsetRenderTo(headsetRenderCallback callback, void* userdata) {
lovrGraphicsPush();
lovrGraphicsOrigin();
lovrGraphicsMatrixTransform(transform);
lovrGraphicsSetProjectionRaw(projection);
lovrGraphicsSetProjection(projection);
lovrGraphicsClear(1, 1);
callback(eye, userdata);
lovrGraphicsPop();