diff options
| author | victorfisac <victorfisac@gmail.com> | 2016-06-12 22:03:46 +0200 |
|---|---|---|
| committer | victorfisac <victorfisac@gmail.com> | 2016-06-12 22:03:46 +0200 |
| commit | 8d2de09f3dd29e0382ea6cdbaef86ea0d42c101d (patch) | |
| tree | 8e865fdcac435a9667e8f1b5bc07668e8848f9e5 /src | |
| parent | 7999bbafa8c5333b69edb7881f64986f3e3e3d45 (diff) | |
| parent | 4dae3385c3871d4629a0e391165173ed86f87dcf (diff) | |
| download | raylib-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.c | 10 | ||||
| -rw-r--r-- | src/rlgl.c | 30 |
2 files changed, 29 insertions, 11 deletions
@@ -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 @@ -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 |
