Просмотр исходного кода

Record draw call for batch processing

Just started working on this, not sure if it would be available for
raylib 1.5
pull/132/head
raysan5 8 лет назад
Родитель
Сommit
4dae3385c3
1 измененных файлов: 28 добавлений и 2 удалений
  1. +28
    -2
      src/rlgl.c

+ 28
- 2
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

Загрузка…
Отмена
Сохранить