summaryrefslogtreecommitdiff
path: root/advanced_opengl/9.instancing
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-02-06 12:38:09 +0500
committerpryazha <pryadeiniv@mail.ru>2025-02-06 12:38:09 +0500
commit926cbd0d49890772f911e6a6bedb7835605ced89 (patch)
treeea27e2c84e32ab6d8d29af9e61cd432e30a46bc6 /advanced_opengl/9.instancing
parentbf1c59565096ac9774493846cfb15e259d3b0e66 (diff)
change
Diffstat (limited to 'advanced_opengl/9.instancing')
-rwxr-xr-xadvanced_opengl/9.instancing/build.sh3
-rwxr-xr-xadvanced_opengl/9.instancing/instancingbin1284168 -> 1065104 bytes
-rw-r--r--advanced_opengl/9.instancing/instancing.c14
-rw-r--r--advanced_opengl/9.instancing/shaders/instanced_arrays.vs4
-rw-r--r--advanced_opengl/9.instancing/shaders/instanced_mat4.vs2
5 files changed, 13 insertions, 10 deletions
diff --git a/advanced_opengl/9.instancing/build.sh b/advanced_opengl/9.instancing/build.sh
index 40b314b..ebb6a01 100755
--- a/advanced_opengl/9.instancing/build.sh
+++ b/advanced_opengl/9.instancing/build.sh
@@ -1,5 +1,6 @@
#!/bin/sh
. ../../config
+CFLAGS='-O2'
TARGET='instancing'
set -x
-gcc -o $TARGET $CFLAGS $INCLUDE $LFLAGS $TARGET.c $LIBS && ./$TARGET
+gcc -o $TARGET $CFLAGS $INCLUDE $LFLAGS $TARGET.c $LIBS
diff --git a/advanced_opengl/9.instancing/instancing b/advanced_opengl/9.instancing/instancing
index 08b099d..c722860 100755
--- a/advanced_opengl/9.instancing/instancing
+++ b/advanced_opengl/9.instancing/instancing
Binary files differ
diff --git a/advanced_opengl/9.instancing/instancing.c b/advanced_opengl/9.instancing/instancing.c
index 90647fb..f24a258 100644
--- a/advanced_opengl/9.instancing/instancing.c
+++ b/advanced_opengl/9.instancing/instancing.c
@@ -322,9 +322,10 @@ main(void)
} break;
case 2: {
- camera_pos = update_camera_orbital(global_input,
- camera_pos, v3f_zero(),
- dt, camera_speed);
+ V3F camera_dv = get_dv_camera_orbital(&global_input,
+ camera_pos, v3f_zero(),
+ dt, camera_speed);
+ camera_pos = v3f_add(camera_pos, camera_dv);
projection = perspective(fovx, (F32)global_width/(F32)global_height, near, far);
V3F world_up = v3f(0.0f, 1.0f, 0.0f);
@@ -350,9 +351,10 @@ main(void)
} break;
case 3: {
- camera_pos = update_camera_orbital(global_input,
- camera_pos, v3f_zero(),
- dt, camera_speed);
+ V3F camera_dv = get_dv_camera_orbital(&global_input,
+ camera_pos, v3f_zero(),
+ dt, camera_speed);
+ camera_pos = v3f_add(camera_pos, camera_dv);
projection = perspective(fovx, (F32)global_width/(F32)global_height, near, far);
V3F world_up = v3f(0.0f, 1.0f, 0.0f);
diff --git a/advanced_opengl/9.instancing/shaders/instanced_arrays.vs b/advanced_opengl/9.instancing/shaders/instanced_arrays.vs
index e7bbeb7..4ea0fe4 100644
--- a/advanced_opengl/9.instancing/shaders/instanced_arrays.vs
+++ b/advanced_opengl/9.instancing/shaders/instanced_arrays.vs
@@ -9,6 +9,6 @@ void
main(void)
{
color = acolor;
- vec2 pos = apos*(gl_InstanceID/100.0f);
- gl_Position = vec4(pos+aoffset, 0.0f, 1.0f);
+ vec2 pos = apos*(gl_InstanceID/100.0);
+ gl_Position = vec4(pos+aoffset, 0.0, 1.0);
}
diff --git a/advanced_opengl/9.instancing/shaders/instanced_mat4.vs b/advanced_opengl/9.instancing/shaders/instanced_mat4.vs
index 5ab3a81..c65be90 100644
--- a/advanced_opengl/9.instancing/shaders/instanced_mat4.vs
+++ b/advanced_opengl/9.instancing/shaders/instanced_mat4.vs
@@ -12,5 +12,5 @@ void
main(void)
{
tex_coords = atex_coords;
- gl_Position = projection*view*instance_matrix*vec4(apos, 1.0f);
+ gl_Position = projection*view*instance_matrix*vec4(apos, 1.0);
}