update makefile
This commit is contained in:
parent
72a3d60146
commit
7b80e06c04
5 changed files with 2935 additions and 102 deletions
26
Makefile
26
Makefile
|
@ -40,25 +40,29 @@ else
|
|||
endif
|
||||
endif
|
||||
|
||||
.PHONY: shaders resources
|
||||
.PHONY: shaders resources run clean bear
|
||||
|
||||
$(BINARY): shaders resources $(C_OBJ) $(OBJC_OBJ)
|
||||
$(BINARY): $(SHADER_OBJ) $(RESOUCES_OBJ) $(RESOURCES_H) $(C_OBJ) $(OBJC_OBJ)
|
||||
$(CC) $(C_OBJ) $(OBJC_OBJ) $(RESOURCES_OBJ) $(LDFLAGS) -o $(BINARY)
|
||||
|
||||
shaders: $(SHADER_OBJ)
|
||||
@echo Shaders compiled
|
||||
@echo "Shaders compiled"
|
||||
|
||||
resources:
|
||||
@echo "// Generated resource file" > res/res.c
|
||||
resources: $(RESOURCES_OBJ) $(RESOURCES_H)
|
||||
@echo "Resources compiled"
|
||||
|
||||
$(RESOURCES_OBJ): $(RESOURCES_C) $(RESOURCE_FILES)
|
||||
@echo "// Generated resource file" > $(RESOURCES_C)
|
||||
$(foreach res, $(RESOURCE_FILES), xxd -i $(res) >> $(RESOURCES_C);)
|
||||
$(CC) -o $(RESOURCES_OBJ) -c $(RESOURCES_C)
|
||||
$(CC) -o $@ -c $(RESOURCES_C)
|
||||
|
||||
@echo "#ifndef __G_RESOURCES_H__" > $(RESOURCES_H)
|
||||
@echo "#define __G_RESOURCES_H__" >> $(RESOURCES_H)
|
||||
$(RESOURCES_H): $(RESOURCES_OBJ)
|
||||
@echo "#ifndef __G_RESOURCES_H__" > $@
|
||||
@echo "#define __G_RESOURCES_H__" >> $@
|
||||
@nm -g -j $(RESOURCES_OBJ) | \
|
||||
awk '{ if($$0 ~ /len$$/) { print "extern int " substr($$0, 2) ";" } else { print "extern char " substr($$0, 2) "[];" } }' >> $(RESOURCES_H)
|
||||
@echo "#endif" >> $(RESOURCES_H)
|
||||
@echo Resources compiled
|
||||
awk '{ if($$0 ~ /len$$/) { print "extern int " substr($$0, 2) ";" } else { print "extern char " substr($$0, 2) "[];" } }' >> $@
|
||||
@echo "#endif" >> $@
|
||||
@echo "Resources compiled"
|
||||
|
||||
%.glsl.h: %.glsl
|
||||
$(SHADERC) --input $< --output $@ $(SHADER_FLAGS)
|
||||
|
|
BIN
gear
Executable file
BIN
gear
Executable file
Binary file not shown.
9
include/gear/resources.h
Normal file
9
include/gear/resources.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
#ifndef __G_RESOURCES_H__
|
||||
#define __G_RESOURCES_H__
|
||||
extern char res_OpenSans_Regular_ttf[];
|
||||
extern int res_OpenSans_Regular_ttf_len;
|
||||
extern char res_happi2_jpg[];
|
||||
extern int res_happi2_jpg_len;
|
||||
extern char res_happi_jpg[];
|
||||
extern int res_happi_jpg_len;
|
||||
#endif
|
91
src/old.c
91
src/old.c
|
@ -1,91 +0,0 @@
|
|||
/*#include "gear/camera.h"
|
||||
#include "gear/graphics/color.h"
|
||||
#include "gear/graphics/models.h"
|
||||
#include <gear/images.h>
|
||||
#include <gear/graphics/textures.h>
|
||||
#include <gear/graphics/renderer.h>
|
||||
#include <gear/graphics/pipeline.h>
|
||||
|
||||
#include <sokol/sokol_app.h>
|
||||
#include <sokol/sokol_gfx.h>
|
||||
#include <sokol/sokol_log.h>
|
||||
#include <sokol/sokol_glue.h>
|
||||
#include <slibs/slibs.h>
|
||||
#include <HandmadeMath/HandmadeMath.h>
|
||||
|
||||
#include <shaders/transform.glsl.h>
|
||||
|
||||
g_renderer* renderer;
|
||||
g_camera* camera;
|
||||
g_model* cube;
|
||||
g_renderer_object obj;
|
||||
|
||||
static void init(void) {
|
||||
sg_setup(&(sg_desc){
|
||||
.environment = sglue_environment(),
|
||||
.logger.func = slog_func,
|
||||
});
|
||||
|
||||
renderer = g_renderer_create(G_CYAN);
|
||||
camera = g_camera_create(HMM_V3(0.0f, 0.0f, -5.0f), HMM_V3(0.0f, 0.0f, 0.0f), 45.0f);
|
||||
|
||||
obj.bind.vertex_buffers[0] = cube->vertex_buffer;
|
||||
obj.bind.index_buffer = cube->index_buffer;
|
||||
|
||||
g_texture* texture = g_texture_create_filtered(g_image_load("happi.jpg"), SG_FILTER_NEAREST, SG_FILTER_NEAREST);
|
||||
obj.bind.fs.images[SLOT_tex] = texture->image;
|
||||
obj.bind.fs.samplers[SLOT_smp] = texture->sampler;
|
||||
|
||||
sg_shader shd = sg_make_shader(transform_shader_desc(sg_query_backend()));
|
||||
|
||||
obj.pipeline = g_pipeline_create(shd, (sg_vertex_layout_state){
|
||||
.attrs = {
|
||||
[ATTR_vs_pos].format = SG_VERTEXFORMAT_FLOAT3,
|
||||
[ATTR_vs_color0].format = SG_VERTEXFORMAT_UBYTE4N,
|
||||
[ATTR_vs_texcoord0].format = SG_VERTEXFORMAT_SHORT2N,
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
float t = 0.0f;
|
||||
|
||||
void frame(void) {
|
||||
t += sapp_frame_duration();
|
||||
|
||||
mat4 view_proj = g_camera_matrix(camera);
|
||||
|
||||
g_renderer_begin(renderer);
|
||||
mat4 model = HMM_Rotate_RH(HMM_AngleDeg(0.0f), HMM_V3(1.0f, 0.0f, 0.0f));
|
||||
model = HMM_Mul(model, HMM_Rotate_RH(HMM_AngleDeg(t * 10), HMM_V3(0.0f, 1.0f, 0.0f)));
|
||||
mat4 mvp = HMM_Mul(view_proj, model);
|
||||
|
||||
vs_params_t params = {
|
||||
.mvp = mvp,
|
||||
.texture_scale = HMM_V2(1.0f, 1.0f),
|
||||
};
|
||||
|
||||
g_pipeline_bind(renderer, obj.pipeline);
|
||||
sg_apply_bindings(&obj.bind);
|
||||
sg_apply_uniforms(SG_SHADERSTAGE_VS, SLOT_vs_params, SG_RANGE_REF(params));
|
||||
g_renderer_draw(renderer, obj, cube->indices.size);
|
||||
g_renderer_end(renderer);
|
||||
}
|
||||
|
||||
void cleanup(void) {
|
||||
sg_shutdown();
|
||||
}
|
||||
|
||||
sapp_desc sokol_main(int argc, char* argv[]) {
|
||||
(void)argc; (void)argv;
|
||||
return (sapp_desc){
|
||||
.init_cb = init,
|
||||
.frame_cb = frame,
|
||||
.cleanup_cb = cleanup,
|
||||
.width = 640,
|
||||
.height = 480,
|
||||
.window_title = "Gear",
|
||||
.icon.sokol_default = true,
|
||||
.logger.func = slog_func,
|
||||
.swap_interval = 0
|
||||
};
|
||||
}*/
|
Loading…
Add table
Reference in a new issue