diff options
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | AnimationRender/FrameCallback.h | 2 | ||||
| -rw-r--r-- | FrameRender/FrameRender.h | 2 | ||||
| -rw-r--r-- | FrameRender/PixelCallback.h | 2 | ||||
| -rw-r--r-- | RGBImage/RGBImage.c (renamed from RGBImage.c) | 0 | ||||
| -rw-r--r-- | RGBImage/RGBImage.h (renamed from RGBImage.h) | 2 | ||||
| -rwxr-xr-x | make.sh | 52 | ||||
| -rw-r--r-- | renders/anim_graph_rotate.c (renamed from graphics.c) | 29 |
8 files changed, 70 insertions, 23 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5dece76 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +anim_* +!renders/anim_* + +*.mp4 diff --git a/AnimationRender/FrameCallback.h b/AnimationRender/FrameCallback.h index b3292bb..a48b4b6 100644 --- a/AnimationRender/FrameCallback.h +++ b/AnimationRender/FrameCallback.h @@ -2,7 +2,7 @@ #define _FRAME_CALLBACK #include "../global.h" -#include "../RGBImage.h" +#include "../RGBImage/RGBImage.h" struct FrameContext { u32 frame; diff --git a/FrameRender/FrameRender.h b/FrameRender/FrameRender.h index 09037cb..3f2eeb1 100644 --- a/FrameRender/FrameRender.h +++ b/FrameRender/FrameRender.h @@ -2,7 +2,7 @@ #define _FRAME_RENDER #include "../global.h" -#include "../RGBImage.h" +#include "../RGBImage/RGBImage.h" #include "PixelCallback.h" void RenderFrame(RGBImage buffer, const PixelCallback** callbacks, usize sizeCallbacks); diff --git a/FrameRender/PixelCallback.h b/FrameRender/PixelCallback.h index b0aee1f..a1ce740 100644 --- a/FrameRender/PixelCallback.h +++ b/FrameRender/PixelCallback.h @@ -2,7 +2,7 @@ #define _PIXEL_CALLBACK #include "../global.h" -#include "../RGBImage.h" +#include "../RGBImage/RGBImage.h" struct PixelContext { i32 x; diff --git a/RGBImage.c b/RGBImage/RGBImage.c index 2896d72..2896d72 100644 --- a/RGBImage.c +++ b/RGBImage/RGBImage.c diff --git a/RGBImage.h b/RGBImage/RGBImage.h index e2f9043..8980f7b 100644 --- a/RGBImage.h +++ b/RGBImage/RGBImage.h @@ -1,7 +1,7 @@ #ifndef _RGBIMAGE #define _RGBIMAGE -#include "global.h" +#include "../global.h" #include <stdio.h> typedef uint8_t byte; @@ -0,0 +1,52 @@ +#!/bin/sh + +: ${CC:=gcc} +: ${CARGS:=-std=c99 -lm -O3} +: ${FPS:=30} +: ${PLAYER:=mpv} +: ${PLAYERARGS:=--no-correct-pts --container-fps-override=\$FPS -} +: ${RENDER:=ffmpeg} +: ${RENDERARGS:=-r \$FPS -i - \$bin.mp4} + +binname() { + name="${1%%.c}" + echo "${name##*/}" +} + +make_compile() { + bin="$(binname "$1")" + $(eval "echo \"$CC\"") $(eval "echo \"$CARGS\"") AnimationRender/*.c FrameRender/*.c RGBImage/*.c "$1" -o "$bin" +} + +make_run() { + bin="$(binname "$1")" + "./$bin" | $(eval "echo \"$PLAYER\"") $(eval "echo \"$PLAYERARGS\"") +} + +make_render() { + bin="$(binname "$1")" + "./$bin" | $(eval "echo \"$RENDER\"") $(eval "echo \"$RENDERARGS\"") +} + +if [ ! -f "$2" ] +then + echo "'$2' is not valid! Must be the path to a C file which contains main function." + exit 2 +fi + +case "$1" in + (compile) + make_compile "$2" + ;; + (run) + make_compile "$2" + make_run "$2" + ;; + (render) + make_compile "$2" + make_render "$2" + ;; + (*) + echo "Unrecognised action '$1'!" + exit 1 +esac diff --git a/graphics.c b/renders/anim_graph_rotate.c index 678a26e..e0b3a61 100644 --- a/graphics.c +++ b/renders/anim_graph_rotate.c @@ -1,22 +1,13 @@ -/* gcc -std=c99 *.c -lm && ./a.out | mpv --no-correct-pts --container-fps-override=30 - - * gcc -std=c99 *.c -lm && ./a.out | ffmpeg -r 30 -i - output.mp4 - */ - -#include "AnimationRender/AnimationRender.h" -#include "AnimationRender/F_Draw.h" -#include "AnimationRender/F_FrameRange.h" -#include "AnimationRender/F_Interpolate.h" -#include "AnimationRender/FrameCallback.h" -#include "FrameRender/FrameRender.h" -#include "FrameRender/P_Checker.h" -#include "FrameRender/P_Circle.h" -#include "FrameRender/P_Image.h" -#include "FrameRender/P_LineSegment.h" -#include "FrameRender/P_Square.h" -#include "FrameRender/P_TransformCenter.h" -#include "FrameRender/P_TransformRotate.h" -#include "FrameRender/PixelCallback.h" -#include "RGBImage.h" +#include "../AnimationRender/AnimationRender.h" +#include "../AnimationRender/F_Draw.h" +#include "../AnimationRender/F_FrameRange.h" +#include "../AnimationRender/F_Interpolate.h" +#include "../AnimationRender/FrameCallback.h" +#include "../FrameRender/P_Circle.h" +#include "../FrameRender/P_LineSegment.h" +#include "../FrameRender/P_Square.h" +#include "../FrameRender/P_TransformCenter.h" +#include "../FrameRender/PixelCallback.h" #include <stdlib.h> int |
