cleaning
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
TARGET ?= forge
|
TARGET ?= forge
|
||||||
INSTALL_DIR ?= $(HOME)/.local/bin
|
INSTALL_DIR ?= $(HOME)/.local/bin
|
||||||
TEST_ARGS ?= --frag=./shaders --monitor=1 --frag-config=./config/shaders.cfg --tempo=30
|
TEST_ARGS ?= --frag=./shaders --frag-config=./config/shaders.cfg --tempo=30
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
|
|||||||
+4
-2
@@ -1308,9 +1308,11 @@ subroutine(src_stage_sub) vec4 src_16(vec2 vUV, int seed)
|
|||||||
f += selected_fx == 4 ? h_rect(uv2, vec2(-2, -3.2), vec2(1, 0), 0.1) : 0;
|
f += selected_fx == 4 ? h_rect(uv2, vec2(-2, -3.2), vec2(1, 0), 0.1) : 0;
|
||||||
|
|
||||||
// show inputs / feedback
|
// show inputs / feedback
|
||||||
f += (selected_srca == 5 || selected_srca == 10) ? rect(uv2, vec2(-8, 2), vec2(2, 0.1)) : 0;
|
f += selected_srca == 5 ? rect(uv2, vec2(-8, 2), vec2(2, 0.1)) : 0;
|
||||||
|
f += selected_srca == 10 ? rect(uv2, vec2(-7, 2), vec2(1, 0.1)) + rect(uv2, vec2(-8, 0.5), vec2(0.1, 1.6)) + rect(uv2, vec2(-9, -1), vec2(1, 0.1)) : 0;
|
||||||
f += (selected_srca == 0 || selected_srca % 5 != 0 && selected_srca >= 8) ? rect(uv2, vec2(-6.5, 2), vec2(0.5, 0.1)) + rect(uv2, vec2(0, 4), vec2(7, 0.1)) + rect(uv2, vec2(-7, 3), vec2(0.1, 1.1)) + rect(uv2, vec2(7, 2), vec2(0.1, 2.1)) : 0;
|
f += (selected_srca == 0 || selected_srca % 5 != 0 && selected_srca >= 8) ? rect(uv2, vec2(-6.5, 2), vec2(0.5, 0.1)) + rect(uv2, vec2(0, 4), vec2(7, 0.1)) + rect(uv2, vec2(-7, 3), vec2(0.1, 1.1)) + rect(uv2, vec2(7, 2), vec2(0.1, 2.1)) : 0;
|
||||||
f += (selected_srcb == 5 || selected_srcb == 10) ? rect(uv2, vec2(-8, -2), vec2(2, 0.1)) : 0;
|
f += selected_srcb == 5 ? rect(uv2, vec2(-6.5, -2), vec2(0.5, 0.1)) + rect(uv2, vec2(-7, -0.5), vec2(0.1, 1.6)) + rect(uv2, vec2(-8.5, 1), vec2(1.5, 0.1)) : 0;
|
||||||
|
f += selected_srcb == 10 ? rect(uv2, vec2(-8, -2), vec2(2, 0.1)) : 0;
|
||||||
f += (selected_srcb == 0 || selected_srcb % 5 != 0 && selected_srcb >= 8) ? rect(uv2, vec2(-6.5, -2), vec2(0.5, 0.1)) + rect(uv2, vec2(0, -4), vec2(7, 0.1)) + rect(uv2, vec2(-7, -3), vec2(0.1, 1.1)) + rect(uv2, vec2(7, -2), vec2(0.1, 2.1)) : 0;
|
f += (selected_srcb == 0 || selected_srcb % 5 != 0 && selected_srcb >= 8) ? rect(uv2, vec2(-6.5, -2), vec2(0.5, 0.1)) + rect(uv2, vec2(0, -4), vec2(7, 0.1)) + rect(uv2, vec2(-7, -3), vec2(0.1, 1.1)) + rect(uv2, vec2(7, -2), vec2(0.1, 2.1)) : 0;
|
||||||
|
|
||||||
// show page
|
// show page
|
||||||
|
|||||||
+44
-36
@@ -1,3 +1,4 @@
|
|||||||
|
#include <GLFW/glfw3.h>
|
||||||
#include <glad/gl.h>
|
#include <glad/gl.h>
|
||||||
#include <linmath.h>
|
#include <linmath.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
@@ -10,30 +11,10 @@
|
|||||||
#include "shaders.h"
|
#include "shaders.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
static bool compile_shader(GLuint shader_id, char *name, char *source_code) {
|
#define GLAD_GL_IMPLEMENTATION
|
||||||
GLint status_params;
|
#include <glad/gl.h>
|
||||||
char log[1024];
|
|
||||||
|
|
||||||
log_info("Compiling '%s'...", name);
|
static void init_gl() { gladLoadGL(glfwGetProcAddress); }
|
||||||
|
|
||||||
// update shader source code
|
|
||||||
glShaderSource(shader_id, 1, (const GLchar **)&source_code, NULL);
|
|
||||||
|
|
||||||
// compile shader
|
|
||||||
glCompileShader(shader_id);
|
|
||||||
|
|
||||||
// get compilation status
|
|
||||||
glGetShaderiv(shader_id, GL_COMPILE_STATUS, &status_params);
|
|
||||||
glGetShaderInfoLog(shader_id, 1024, NULL, (GLchar *)&log);
|
|
||||||
|
|
||||||
if (status_params == GL_FALSE) {
|
|
||||||
log_error("Failed to compile\n%s", log);
|
|
||||||
} else {
|
|
||||||
log_success("Compilation successful");
|
|
||||||
}
|
|
||||||
|
|
||||||
return status_params == GL_TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void init_textures(ShaderProgram *program, Context context) {
|
static void init_textures(ShaderProgram *program, Context context) {
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
@@ -62,6 +43,8 @@ static void init_textures(ShaderProgram *program, Context context) {
|
|||||||
// setup mipmap context
|
// setup mipmap context
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||||
|
|
||||||
|
log_success("Texture %d initialized", i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,24 +94,21 @@ static void init_framebuffers(ShaderProgram *program,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_vertices(ShaderProgram *program, bool rebind) {
|
static void init_vertices(ShaderProgram *program) {
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
// create vertex buffer and setup vertices
|
|
||||||
if (!rebind) {
|
|
||||||
glGenBuffers(1, &program->vertex_buffer);
|
glGenBuffers(1, &program->vertex_buffer);
|
||||||
}
|
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, program->vertex_buffer);
|
glBindBuffer(GL_ARRAY_BUFFER, program->vertex_buffer);
|
||||||
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
|
||||||
|
}
|
||||||
|
|
||||||
// create vertex array
|
static void bind_vertices(ShaderProgram *program, unsigned int index) {
|
||||||
if (!rebind) {
|
unsigned int i;
|
||||||
glGenVertexArrays(1, &program->vertex_array[0]);
|
|
||||||
glBindVertexArray(program->vertex_array[0]);
|
glBindBuffer(GL_ARRAY_BUFFER, program->vertex_buffer);
|
||||||
} else {
|
|
||||||
glGenVertexArrays(1, &program->vertex_array[1]);
|
glGenVertexArrays(1, &program->vertex_array[index]);
|
||||||
glBindVertexArray(program->vertex_array[1]);
|
glBindVertexArray(program->vertex_array[index]);
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < program->frag_count; i++) {
|
for (i = 0; i < program->frag_count; i++) {
|
||||||
// enable attribute pointer
|
// enable attribute pointer
|
||||||
@@ -140,6 +120,31 @@ static void init_vertices(ShaderProgram *program, bool rebind) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool compile_shader(GLuint shader_id, char *name, char *source_code) {
|
||||||
|
GLint status_params;
|
||||||
|
char log[1024];
|
||||||
|
|
||||||
|
log_info("Compiling '%s'...", name);
|
||||||
|
|
||||||
|
// update shader source code
|
||||||
|
glShaderSource(shader_id, 1, (const GLchar **)&source_code, NULL);
|
||||||
|
|
||||||
|
// compile shader
|
||||||
|
glCompileShader(shader_id);
|
||||||
|
|
||||||
|
// get compilation status
|
||||||
|
glGetShaderiv(shader_id, GL_COMPILE_STATUS, &status_params);
|
||||||
|
glGetShaderInfoLog(shader_id, 1024, NULL, (GLchar *)&log);
|
||||||
|
|
||||||
|
if (status_params == GL_FALSE) {
|
||||||
|
log_error("Failed to compile\n%s", log);
|
||||||
|
} else {
|
||||||
|
log_success("Compilation successful");
|
||||||
|
}
|
||||||
|
|
||||||
|
return status_params == GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static void init_shaders(ShaderProgram *program, File *fragment_shaders) {
|
static void init_shaders(ShaderProgram *program, File *fragment_shaders) {
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
@@ -285,6 +290,8 @@ ShaderProgram shaders_init(File *fragment_shaders, ConfigFile shader_config,
|
|||||||
program.sub_variant_count =
|
program.sub_variant_count =
|
||||||
config_file_get_int(shader_config, "SUB_VARIANT_COUNT", 1);
|
config_file_get_int(shader_config, "SUB_VARIANT_COUNT", 1);
|
||||||
|
|
||||||
|
init_gl();
|
||||||
|
|
||||||
init_shaders(&program, fragment_shaders);
|
init_shaders(&program, fragment_shaders);
|
||||||
|
|
||||||
if (program.error) {
|
if (program.error) {
|
||||||
@@ -297,11 +304,12 @@ ShaderProgram shaders_init(File *fragment_shaders, ConfigFile shader_config,
|
|||||||
|
|
||||||
init_programs(&program, shader_config);
|
init_programs(&program, shader_config);
|
||||||
|
|
||||||
|
init_vertices(&program);
|
||||||
} else {
|
} else {
|
||||||
program = *previous;
|
program = *previous;
|
||||||
}
|
}
|
||||||
|
|
||||||
init_vertices(&program, previous != NULL);
|
bind_vertices(&program, previous != NULL ? 1 : 0);
|
||||||
|
|
||||||
return program;
|
return program;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-10
@@ -7,9 +7,6 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "window.h"
|
#include "window.h"
|
||||||
|
|
||||||
#define GLAD_GL_IMPLEMENTATION
|
|
||||||
#include <glad/gl.h>
|
|
||||||
|
|
||||||
static void init_glfw(void (*error_callback)(int, const char *)) {
|
static void init_glfw(void (*error_callback)(int, const char *)) {
|
||||||
log_info("[GLFW] Initializing...");
|
log_info("[GLFW] Initializing...");
|
||||||
|
|
||||||
@@ -84,12 +81,7 @@ create_window(GLFWmonitor *monitor, char *title, Window *shared_context,
|
|||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void use_window(GLFWwindow *window) {
|
static void use_window(GLFWwindow *window) { glfwMakeContextCurrent(window); }
|
||||||
// use current window
|
|
||||||
glfwMakeContextCurrent(window);
|
|
||||||
// link GLAD and GLFW window
|
|
||||||
gladLoadGL(glfwGetProcAddress);
|
|
||||||
}
|
|
||||||
|
|
||||||
void window_startup(void (*error_callback)(int, const char *)) {
|
void window_startup(void (*error_callback)(int, const char *)) {
|
||||||
init_glfw(error_callback);
|
init_glfw(error_callback);
|
||||||
@@ -125,7 +117,6 @@ double window_get_time() { return glfwGetTime(); }
|
|||||||
|
|
||||||
void window_use(Window *window, Context *context) {
|
void window_use(Window *window, Context *context) {
|
||||||
glfwMakeContextCurrent(window);
|
glfwMakeContextCurrent(window);
|
||||||
gladLoadGL(glfwGetProcAddress);
|
|
||||||
glfwGetFramebufferSize(window, &context->width, &context->height);
|
glfwGetFramebufferSize(window, &context->width, &context->height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user