aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvictorfisac <victorfisac@gmail.com>2016-06-12 22:03:46 +0200
committervictorfisac <victorfisac@gmail.com>2016-06-12 22:03:46 +0200
commit8d2de09f3dd29e0382ea6cdbaef86ea0d42c101d (patch)
tree8e865fdcac435a9667e8f1b5bc07668e8848f9e5 /src
parent7999bbafa8c5333b69edb7881f64986f3e3e3d45 (diff)
parent4dae3385c3871d4629a0e391165173ed86f87dcf (diff)
downloadraylib-8d2de09f3dd29e0382ea6cdbaef86ea0d42c101d.tar.gz
raylib-8d2de09f3dd29e0382ea6cdbaef86ea0d42c101d.zip
Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop
Diffstat (limited to 'src')
-rw-r--r--src/core.c10
-rw-r--r--src/rlgl.c30
2 files changed, 29 insertions, 11 deletions
diff --git a/src/core.c b/src/core.c
index 00b2e82f..899f0162 100644
--- a/src/core.c
+++ b/src/core.c
@@ -564,7 +564,7 @@ void CloseOculusDevice(void)
void UpdateOculusTracking(void)
{
frameIndex++;
-
+
ovrPosef eyePoses[2];
ovr_GetEyePoses(session, frameIndex, ovrTrue, layer.viewScaleDesc.HmdToEyeOffset, eyePoses, &layer.eyeLayer.SensorSampleTime);
@@ -643,14 +643,6 @@ void BeginDrawing(void)
previousTime = currentTime;
#if defined(PLATFORM_OCULUS)
- frameIndex++;
-
- ovrPosef eyePoses[2];
- ovr_GetEyePoses(session, frameIndex, ovrTrue, layer.viewScaleDesc.HmdToEyeOffset, eyePoses, &layer.eyeLayer.SensorSampleTime);
-
- layer.eyeLayer.RenderPose[0] = eyePoses[0];
- layer.eyeLayer.RenderPose[1] = eyePoses[1];
-
SetOculusBuffer(session, buffer);
#endif
diff --git a/src/rlgl.c b/src/rlgl.c
index d4502595..e69ff983 100644
--- a/src/rlgl.c
+++ b/src/rlgl.c
@@ -159,9 +159,17 @@ typedef struct {
// Draw call type
// NOTE: Used to track required draw-calls, organized by texture
typedef struct {
- GLuint textureId;
int vertexCount;
- // TODO: Store draw state -> blending mode, shader
+ GLuint vaoId;
+ GLuint textureId;
+ GLuint shaderId;
+
+ Matrix projection;
+ Matrix modelview;
+
+ // TODO: Store additional draw state data
+ //int blendMode;
+ //Guint fboId;
} DrawCall;
//----------------------------------------------------------------------------------
@@ -2099,6 +2107,24 @@ void *rlglReadTexturePixels(Texture2D texture)
return pixels;
}
+/*
+// TODO: Record draw calls to be processed in batch
+// NOTE: Global state must be kept
+void rlglRecordDraw(void)
+{
+ // TODO: Before adding a new draw, check if anything changed from last stored draw
+#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
+ draws[drawsCounter].vaoId = currentState.vaoId; // lines.id, trangles.id, quads.id?
+ draws[drawsCounter].textureId = currentState.textureId; // whiteTexture?
+ draws[drawsCounter].shaderId = currentState.shaderId; // defaultShader.id
+ draws[drawsCounter].projection = projection;
+ draws[drawsCounter].modelview = modelview;
+ draws[drawsCounter].vertexCount = currentState.vertexCount;
+
+ drawsCounter++;
+#endif
+}
+*/
//----------------------------------------------------------------------------------
// Module Functions Definition - Shaders Functions