#include "bvh.h"
#include "model.h"
-#include "shaders/terrain.h"
-#include "shaders/sky.h"
-#include "shaders/standard.h"
-#include "shaders/vblend.h"
-#include "shaders/gpos.h"
-#include "shaders/blitcolour.h"
-#include "shaders/alphatest.h"
+#include "shaders/scene_standard.h"
+#include "shaders/scene_standard_alphatest.h"
+#include "shaders/scene_vertex_blend.h"
+#include "shaders/scene_terrain.h"
+#include "shaders/scene_depth.h"
+
+#include "shaders/model_sky.h"
typedef struct teleport_gate teleport_gate;
* logic_achievements;
u32 achievement_count;
+ /*
+ * Lights
+ */
+ struct world_light
+ {
+ v3f co;
+ v4f colour;
+ }
+ * lights;
+ u32 light_count;
/*
* Routes (world_routes.h)
world.sky_rate = 1.0;
world.sky_target_rate = 1.0;
- shader_terrain_register();
- shader_sky_register();
- shader_gpos_register();
- shader_blitcolour_register();
- shader_alphatest_register();
+ shader_scene_standard_register();
+ shader_scene_standard_alphatest_register();
+ shader_scene_vertex_blend_register();
+ shader_scene_terrain_register();
+ shader_scene_depth_register();
+
+ shader_model_sky_register();
vg_info( "Loading world resources\n" );
0xff00ff00 );
}
+ for( int i=0; i<world.light_count; i++ )
+ {
+ struct world_light *light = &world.lights[i];
+
+ u32 colour = 0xff000000;
+ u8 r = light->colour[0] * 255.0f,
+ g = light->colour[1] * 255.0f,
+ b = light->colour[2] * 255.0f;
+
+ colour |= r;
+ colour |= g << 8;
+ colour |= b << 16;
+
+ vg_line_pt3( light->co, 0.25f, colour );
+ }
+
world.in_trigger = in_trigger;
sfd_update();
}