Compare commits
2 Commits
01f0d7186a
...
4d281516db
Author | SHA1 | Date |
---|---|---|
milang | 4d281516db | |
milang | 9e755bd4fb |
Binary file not shown.
880
build-fx/map
880
build-fx/map
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
|
@ -16,7 +16,7 @@ ICON_CG_SEL = assets-cg/icon-cg-sel.png
|
|||
# Additional compiler flags
|
||||
CFLAGS = -std=c11 -Os
|
||||
# Additional linker flags
|
||||
LDFLAGS = -lfxengine -lgint-fx -lprof
|
||||
LDFLAGS = -llog -lfxengine -lgint-fx -lprof
|
||||
|
||||
# FxEngine font
|
||||
# FONT.FxEngine.png = charset:print grid.size:3x5 grid.padding:1 proportional:true
|
||||
|
|
159
src/main.c
159
src/main.c
|
@ -1,10 +1,11 @@
|
|||
/*
|
||||
#include <gint/display.h>
|
||||
#include <gint/keyboard.h>
|
||||
#include <gint/std/stdio.h>
|
||||
#include <gint/std/stdlib.h>
|
||||
#include <gint/clock.h>
|
||||
#include <fxengine/point.h>
|
||||
|
||||
*/
|
||||
/*
|
||||
int main(void)
|
||||
{
|
||||
|
@ -48,13 +49,15 @@ int main(void)
|
|||
#include <gint/std/stdlib.h>
|
||||
#include <gint/clock.h>
|
||||
|
||||
#include <fxengine/point.h>
|
||||
#include <fxengine/texture.h>
|
||||
#include <fxengine/triangle.h>
|
||||
#include <fxengine/camera.h>
|
||||
#include <fxengine/object.h>
|
||||
#include <fxengine/fxengine.h>
|
||||
|
||||
#include <liblog.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
fe_custom_panic();
|
||||
//init_controls();
|
||||
dclear(C_WHITE);
|
||||
//render_integer_point point[4]={{{10,0,0},{0,0,0}},{{10,10,0},{0,0,0}},{{10,0,10},{0,0,0}},{{10,10,10},{0,0,0}}};
|
||||
|
@ -99,49 +102,153 @@ int main(void)
|
|||
|
||||
fe_texture_rich * bmp = fe_texture_new_rich(32, 32, color, 0, 0, 0);
|
||||
|
||||
fe_texture_debug(bmp);
|
||||
/*
|
||||
fe_integer_point points[3]=
|
||||
//fe_texture_debug(bmp);
|
||||
|
||||
fe_ivertex v[4]=
|
||||
{
|
||||
{
|
||||
{1,1,0},
|
||||
{54,6,5}
|
||||
{300,-100,-100},
|
||||
{0,0,0}
|
||||
},
|
||||
{
|
||||
{0,1,0},
|
||||
{5,3,8}
|
||||
{30,100,100},
|
||||
{0,0,0}
|
||||
},
|
||||
{
|
||||
{1,0,0},
|
||||
{5,3,64}
|
||||
{300,-100,100},
|
||||
{0,0,0}
|
||||
},
|
||||
{
|
||||
{300,100,-100},
|
||||
{0,0,0}
|
||||
}
|
||||
};
|
||||
|
||||
fe_object object;
|
||||
fe_object_init(&object);
|
||||
fe_object_set_points(&object, points, 3, 0);
|
||||
fe_object_set_points(&object, &v, 4, 0);
|
||||
fe_triangle triangle =
|
||||
{
|
||||
&points[0].translated,
|
||||
&points[1].translated,
|
||||
&points[2].translated,
|
||||
bmp,
|
||||
0,
|
||||
0
|
||||
{
|
||||
fe_object_get_vertex(&object, 0),
|
||||
fe_object_get_vertex(&object, 1),
|
||||
fe_object_get_vertex(&object, 2),
|
||||
bmp,
|
||||
1,
|
||||
0
|
||||
},
|
||||
{
|
||||
fe_object_get_vertex(&object, 0),
|
||||
fe_object_get_vertex(&object, 1),
|
||||
fe_object_get_vertex(&object, 3),
|
||||
bmp,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
fe_object_set_faces(&object, &triangle, 1, 0);
|
||||
|
||||
fe_render_update(1);
|
||||
fe_object_set_faces(&object, &triangle, 2, 0);
|
||||
bool state=1;
|
||||
//fe_object_debug(&object);
|
||||
fe_camera cam = {{0,0,0},{0,0,0},0,0,0};
|
||||
while (1)
|
||||
{
|
||||
label:;
|
||||
key_event_t event = pollevent();
|
||||
if (event.type!=KEYEV_NONE)
|
||||
{
|
||||
//ll_log(str);
|
||||
if (event.key == KEY_LEFT)
|
||||
cam.dh -= 0.01;
|
||||
if (event.key == KEY_RIGHT)
|
||||
cam.dh += 0.01;
|
||||
cam.dh = fe_modulo_2pi(cam.dh);
|
||||
|
||||
//fe_object_display(&object);
|
||||
if (event.key == KEY_UP)
|
||||
cam.dv += 0.01;
|
||||
if (event.key == KEY_DOWN)
|
||||
cam.dv -= 0.01;
|
||||
cam.dv = fe_modulo_2pi(cam.dv);
|
||||
|
||||
if (event.key == KEY_8)
|
||||
{
|
||||
cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh));
|
||||
cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh));
|
||||
}
|
||||
if (event.key == KEY_2)
|
||||
{
|
||||
cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh+pi));
|
||||
cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh+pi));
|
||||
}
|
||||
if (event.key == KEY_6)
|
||||
{
|
||||
cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh+pi_sur_2));
|
||||
cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh+pi_sur_2));
|
||||
}
|
||||
if (event.key == KEY_4)
|
||||
{
|
||||
cam.pos.x = cam.pos.x + (int32_t)(5*fe_sin(cam.dh-pi_sur_2));
|
||||
cam.pos.y = cam.pos.y + (int32_t)(5*fe_cos(cam.dh-pi_sur_2));
|
||||
}
|
||||
|
||||
fe_render_update(1);
|
||||
cam.dv = fe_modulo_2pi(cam.dv);
|
||||
|
||||
|
||||
|
||||
dupdate();
|
||||
getkey();
|
||||
|
||||
|
||||
if (event.key == KEY_EXIT)
|
||||
break;
|
||||
if (event.key==KEY_F1 && event.type==KEYEV_DOWN)
|
||||
state = !state;
|
||||
goto label;
|
||||
}
|
||||
|
||||
fe_view_set(&cam);
|
||||
fe_object_display(&object);
|
||||
|
||||
char str[1000];
|
||||
/* sprintf(str, "S1 %d %d %d",
|
||||
fe_object_get_vertex(&object, 0)->x,
|
||||
fe_object_get_vertex(&object, 0)->y,
|
||||
fe_object_get_vertex(&object, 0)->z);
|
||||
fe_log(str);
|
||||
|
||||
sprintf(str, "S2 %d %d %d",
|
||||
fe_object_get_vertex(&object, 1)->x,
|
||||
fe_object_get_vertex(&object, 1)->y,
|
||||
fe_object_get_vertex(&object, 1)->z);
|
||||
fe_log(str);
|
||||
|
||||
sprintf(str, "S3 %d %d %d",
|
||||
fe_object_get_vertex(&object, 2)->x,
|
||||
fe_object_get_vertex(&object, 2)->y,
|
||||
fe_object_get_vertex(&object, 2)->z);
|
||||
*/
|
||||
|
||||
sprintf(str, "Camera Settings :\n>> x %d; y %d; z %d\n>> dh %d; dv %d",
|
||||
cam.pos.x,
|
||||
cam.pos.y,
|
||||
cam.pos.z,
|
||||
(int)(cam.dh*180/pi),
|
||||
(int)(cam.dv*180/pi)
|
||||
);
|
||||
ll_log(str);
|
||||
|
||||
|
||||
|
||||
if (state)
|
||||
{
|
||||
fe_display(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
fe_update(1);
|
||||
ll_display_log();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue