mirror of https://github.com/bjornbytes/lovr.git
Fix windows;
This commit is contained in:
parent
435d7a9cf8
commit
dba017c8df
|
@ -1,3 +1,4 @@
|
|||
#define _USE_MATH_DEFINES
|
||||
#include "graphics.h"
|
||||
#include "model.h"
|
||||
#include "buffer.h"
|
||||
|
@ -5,6 +6,7 @@
|
|||
#include "../glfw.h"
|
||||
#include "../util.h"
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <assimp/cimport.h>
|
||||
#include <assimp/scene.h>
|
||||
#include <assimp/postprocess.h>
|
||||
|
@ -105,6 +107,10 @@ void lovrGraphicsSetProjection(float near, float far, float fov) {
|
|||
mat4_setProjection(state.projection, near, far, fov, (float) width / height);
|
||||
}
|
||||
|
||||
void lovrGraphicsSetProjectionRaw(mat4 projection) {
|
||||
memcpy(state.projection, projection, 16 * sizeof(float));
|
||||
}
|
||||
|
||||
int lovrGraphicsPush() {
|
||||
vec_mat4_t* transforms = &state.transforms;
|
||||
if (transforms->length >= 64) { return 1; }
|
||||
|
|
|
@ -26,6 +26,7 @@ Shader* lovrGraphicsGetShader();
|
|||
void lovrGraphicsSetShader(Shader* shader);
|
||||
void lovrGraphicsGetProjection(float* near, float* far, float* fov);
|
||||
void lovrGraphicsSetProjection(float near, float far, float fov);
|
||||
void lovrGraphicsSetProjectionRaw(mat4 projection);
|
||||
int lovrGraphicsPush();
|
||||
int lovrGraphicsPop();
|
||||
void lovrGraphicsOrigin();
|
||||
|
|
|
@ -76,7 +76,8 @@ Headset* viveInit() {
|
|||
}
|
||||
|
||||
state->deviceIndex = k_unTrackedDeviceIndex_Hmd;
|
||||
|
||||
state->clipNear = 0.1f;
|
||||
state->clipFar = 30.f;
|
||||
state->vrSystem->GetRecommendedRenderTargetSize(&state->renderWidth, &state->renderHeight);
|
||||
|
||||
glGenFramebuffers(1, &state->framebuffer);
|
||||
|
@ -213,14 +214,13 @@ void viveRenderTo(void* headset, headsetRenderCallback callback, void* userdata)
|
|||
float far = state->clipFar;
|
||||
matrix = state->vrSystem->GetProjectionMatrix(eye, near, far, graphicsConvention).m;
|
||||
mat4_fromMat44(projectionMatrix, matrix);
|
||||
lovrGraphicsSetProjectionRaw(projectionMatrix);
|
||||
|
||||
Shader* shader = lovrGraphicsGetShader();
|
||||
if (shader) {
|
||||
int lovrTransformId = lovrShaderGetUniformId(shader, "lovrTransform");
|
||||
int lovrProjectionId = lovrShaderGetUniformId(shader, "lovrProjection");
|
||||
mat4 transformMatrix = mat4_multiply(eyeMatrix, headMatrix);
|
||||
lovrShaderSendFloatMat4(shader, lovrTransformId, transformMatrix);
|
||||
lovrShaderSendFloatMat4(shader, lovrProjectionId, projectionMatrix);
|
||||
}
|
||||
|
||||
glEnable(GL_MULTISAMPLE);
|
||||
|
|
Loading…
Reference in New Issue