summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/engine.c5
-rw-r--r--src/mauri.c4
-rw-r--r--src/objects/pass.c2
-rw-r--r--src/shader.c5
4 files changed, 11 insertions, 5 deletions
diff --git a/src/engine.c b/src/engine.c
index 1b21277..cf78ee1 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -78,7 +78,6 @@ static void draw_pass(mri_engine *engine, render_pass_stage s, mri_render_pass *
glDrawArrays(GL_TRIANGLES, 0, 6);
}
-
void mri_engine_load(mri_engine *engine, mri_scene *scene) {
mvec_init(engine->objects);
mvec_init(engine->framebuffers);
@@ -96,7 +95,7 @@ void mri_engine_load(mri_engine *engine, mri_scene *scene) {
engine->texel_half_size[1] = .5f / engine->height;
engine->combine_buffer = mri_engine_get_or_new_framebuffer(engine,
- mstr_c("_rt_FullFrameBuffer"), engine->context->width, engine->context->height, 1.f,
+ mstr_c("_rt_FullFrameBuffer"), engine->width, engine->height, 1.f,
scene->clear_color);
create_gl_object(&engine->default_gl_object, DEFAULT, 0, 0);
@@ -173,7 +172,7 @@ mri_framebuffer *mri_engine_get_or_new_framebuffer(mri_engine *engine,
}
void mri_engine_draw(mri_engine *engine) {
- mri_framebuffer_bind(engine->combine_buffer, true);
+ //mri_framebuffer_bind(engine->combine_buffer, true);
mri_render_object *object;
mvec_loop_ptr(engine->objects, object, i) {
diff --git a/src/mauri.c b/src/mauri.c
index 6e8e2ed..933f089 100644
--- a/src/mauri.c
+++ b/src/mauri.c
@@ -9,7 +9,7 @@
int main(int argc, char* argv[]) {
mri_context *context = mri_glfw_context_new();
- context->create_window(context, 1600, 900, "mauri", false);
+ context->create_window(context, 3000, 2000, "mauri", false);
if (argc == 2) {
mri_asset_manager_load_pkg(mstr_c(argv[1]));
@@ -17,6 +17,8 @@ int main(int argc, char* argv[]) {
mri_scene scene = {0};
mri_scene_parse(&scene);
+ //context->resize_window(context, scene.width, scene.height);
+
mri_engine engine = {0};
engine.context = context;
diff --git a/src/objects/pass.c b/src/objects/pass.c
index 809fde5..fadac16 100644
--- a/src/objects/pass.c
+++ b/src/objects/pass.c
@@ -180,7 +180,7 @@ void mri_pass_load(mri_engine *engine, mri_pass *pass, mri_pass_stage stage) {
// ex: g_Texture2Resolution (vec4)
// ^ index
if (mstr_eqn(shader_uniform->uname, mstr_c("g_Texture"), 9) &&
- shader_uniform->type == TYPE_VEC4) {
+ mstr_cmp(shader_uniform->uname, mstr_c("Resolution"), 10, 10) == 0) {
int index = shader_uniform->uname->ptr[9] - '0';
if (rpass->textures[index]) {
vec4 *texture_res = &rpass->textures[index]->texture_resolution;
diff --git a/src/shader.c b/src/shader.c
index b8d2ed9..d5b1ede 100644
--- a/src/shader.c
+++ b/src/shader.c
@@ -32,6 +32,7 @@ static const char *gl_compat =
"#define atan2(y,x) atan(x,y)\n"
"#define ddx dFdx\n"
"#define ddy(x) dFdy(-(x))\n"
+ "#define VERSION 2\n"
"#define GLSL 1\n";
static const char *version = "#version 120\n";
@@ -169,6 +170,8 @@ void mri_shader_compile(mri_shader *shader) {
char *vs_source_c = mstr_to_cstr(vs_source);
char *fs_source_c = mstr_to_cstr(fs_source);
+ printf("%s\n", fs_source_c);
+
create_gl_shader(&shader->gl_shader, vs_source_c, fs_source_c);
free(vs_source_c);
@@ -214,6 +217,8 @@ void mri_shader_bind(mri_engine *engine, mri_shader *shader, mat4 mvp) {
mri_uniform *uniform;
mvec_loop_ptr(shader->uniforms, uniform, i) {
+ if (mstr_find(uniform->uname, '[') >= 0)
+ continue;
mri_uniform_set(shader, uniform);
//printf("%.*s %f\n", uniform->uname->len, uniform->uname->ptr, uniform->value[0]);
}