hopefully fixed clown vomit issue
This commit is contained in:
		@@ -142,6 +142,12 @@ renderer_buffer_use(Renderer* self, RendererBuffer buffer)
 | 
				
			|||||||
	fbo_bind(&self->fbos[buffer]);
 | 
						fbo_bind(&self->fbos[buffer]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					renderer_buffer_clear(Renderer* self, RendererBuffer buffer)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						texture_clear(&self->fboTextures[buffer]);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
renderer_buffer_unbind(void)
 | 
					renderer_buffer_unbind(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,6 +47,7 @@ void renderer_free(Renderer* self);
 | 
				
			|||||||
void renderer_update(Renderer* self);
 | 
					void renderer_update(Renderer* self);
 | 
				
			||||||
void renderer_present(Renderer* self);
 | 
					void renderer_present(Renderer* self);
 | 
				
			||||||
void renderer_buffer_unbind(void);
 | 
					void renderer_buffer_unbind(void);
 | 
				
			||||||
 | 
					void renderer_buffer_clear(Renderer* self, RendererBuffer buffer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void renderer_buffer_position_from_window_position
 | 
					void renderer_buffer_position_from_window_position
 | 
				
			||||||
(
 | 
					(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -82,3 +82,11 @@ texture_free(Texture* self)
 | 
				
			|||||||
	glDeleteTextures(1, &self->handle);
 | 
						glDeleteTextures(1, &self->handle);
 | 
				
			||||||
	memset(self, '\0', sizeof(Texture));
 | 
						memset(self, '\0', sizeof(Texture));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					texture_clear(Texture* self)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						texture_bind(self);
 | 
				
			||||||
 | 
						glClearTexImage(self->handle, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
 | 
				
			||||||
 | 
						texture_unbind();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ typedef struct Texture
 | 
				
			|||||||
bool texture_from_path_init(Texture* self, const char* path);
 | 
					bool texture_from_path_init(Texture* self, const char* path);
 | 
				
			||||||
void texture_init(Texture* self, ivec2 size, void* data);
 | 
					void texture_init(Texture* self, ivec2 size, void* data);
 | 
				
			||||||
void texture_surface_init(Texture* self, SDL_Surface* surface);
 | 
					void texture_surface_init(Texture* self, SDL_Surface* surface);
 | 
				
			||||||
 | 
					void texture_clear(Texture* self);
 | 
				
			||||||
void texture_parameter_set(GLenum pname, GLint parameter);
 | 
					void texture_parameter_set(GLenum pname, GLint parameter);
 | 
				
			||||||
void texture_bind(Texture* self);
 | 
					void texture_bind(Texture* self);
 | 
				
			||||||
void texture_unbind(void);
 | 
					void texture_unbind(void);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,6 +14,8 @@ _game_quit(Game* self)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	ecs_free(&self->ecs);
 | 
						ecs_free(&self->ecs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						renderer_free(&self->renderer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	window_free(&self->window);
 | 
						window_free(&self->window);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	resources_free(&self->resources);
 | 
						resources_free(&self->resources);
 | 
				
			||||||
@@ -67,7 +69,7 @@ _game_draw(Game* self)
 | 
				
			|||||||
	renderer_clear(&self->renderer);
 | 
						renderer_clear(&self->renderer);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
						for (s32 i = 0; i < RENDERER_BUFFER_COUNT; i++)
 | 
				
			||||||
		renderer_buffer_init(&self->renderer, (RendererBuffer)i);
 | 
							renderer_buffer_clear(&self->renderer, (RendererBuffer)i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ecs_draw(&self->ecs);
 | 
						ecs_draw(&self->ecs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -80,7 +82,6 @@ _game_draw(Game* self)
 | 
				
			|||||||
			(RendererBuffer)i,
 | 
								(RendererBuffer)i,
 | 
				
			||||||
			&self->postprocessing[i]
 | 
								&self->postprocessing[i]
 | 
				
			||||||
		);
 | 
							);
 | 
				
			||||||
		renderer_buffer_free(&self->renderer, (RendererBuffer)i);
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	renderer_present(&self->renderer);
 | 
						renderer_present(&self->renderer);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user