Cleaned some code, drastically reduced memory footprint.
This commit is contained in:
@ -26,7 +26,7 @@ void primitiveInit(primitive_t *primitive,
|
||||
primitive->indexBuffer = buffer[1];
|
||||
free(buffer);
|
||||
|
||||
//Buffer an empty set of data then buffer each component
|
||||
// Buffer an empty set of data then buffer each component
|
||||
glBindBuffer(GL_ARRAY_BUFFER, primitive->vertexBuffer);
|
||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, primitive->indexBuffer);
|
||||
glBufferData(GL_ARRAY_BUFFER, sizePositions+sizeCoordinates, 0, GL_DYNAMIC_DRAW);
|
||||
|
43
src/display/renderlist.c
Normal file
43
src/display/renderlist.c
Normal file
@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "renderlist.h"
|
||||
|
||||
void renderListInit(renderlist_t *list, int32_t passes, int32_t width, int32_t height) {
|
||||
int32_t i;
|
||||
renderpass_t *pass;
|
||||
|
||||
list->width = width;
|
||||
list->height = height;
|
||||
|
||||
dynArrayInit(&list->passes, sizeof(renderpass_t), passes);
|
||||
|
||||
for(i = 0; i < passes; i++) {
|
||||
pass = (renderpass_t *)dynArrayGet(&list->passes, i);
|
||||
frameBufferInit(&pass->framebuffer, width, height);
|
||||
}
|
||||
}
|
||||
|
||||
void renderListRenderPass(renderlist_t *list, game_t *game, int32_t pass, dynarray_t *items, int32_t itemCount) {
|
||||
int32_t i;
|
||||
renderpass_t *renderPass;
|
||||
renderitem_t *item;
|
||||
|
||||
renderPass = (renderpass_t *)dynArrayGet(&list->passes, pass);
|
||||
|
||||
// Bind the shader.
|
||||
frameBufferUse(&renderPass->framebuffer, true);
|
||||
shaderUse(renderPass->shader);
|
||||
|
||||
// "Uniforms"
|
||||
|
||||
// Render list
|
||||
for(i = 0; i < itemCount; i++) {
|
||||
item = (renderitem_t *)dynArrayGet(items, i);
|
||||
item(list, renderPass, game, i);
|
||||
}
|
||||
}
|
16
src/display/renderlist.h
Normal file
16
src/display/renderlist.h
Normal file
@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <dawn/dawn.h>
|
||||
#include "framebuffer.h"
|
||||
#include "primitive.h"
|
||||
#include "shader.h"
|
||||
#include "primitives/quad.h"
|
||||
#include "../util/dynarray.h"
|
||||
|
||||
void renderListInit(renderlist_t *renderList, int32_t passes);
|
Reference in New Issue
Block a user