Index: trunk/src/gui/gui_environment.cc
===================================================================
--- trunk/src/gui/gui_environment.cc	(revision 313)
+++ trunk/src/gui/gui_environment.cc	(revision 318)
@@ -25,5 +25,5 @@
 #include "nv/gfx/texture_atlas.hh"
 
-nv::gui::environment::environment( window* w, const std::string& shader_path )
+nv::gui::environment::environment( window* w )
 	: m_renderer( nullptr ), m_window( w )
 {
@@ -35,5 +35,5 @@
 	screen->m_relative = m_area;
 
-	m_renderer = new renderer( w, shader_path );
+	m_renderer = new renderer( w );
 }
 
Index: trunk/src/gui/gui_renderer.cc
===================================================================
--- trunk/src/gui/gui_renderer.cc	(revision 313)
+++ trunk/src/gui/gui_renderer.cc	(revision 318)
@@ -11,4 +11,29 @@
 #include "nv/interface/device.hh"
 #include "nv/interface/context.hh"
+
+static const char *nv_gui_vertex_shader =
+	"#version 120\n"
+	"attribute vec2 nv_position;\n"
+	"attribute vec2 nv_texcoord;\n"
+	"attribute vec4 nv_color;\n"
+	"varying vec4 v_color;\n"
+	"varying vec2 v_texcoord;\n"
+	"uniform mat4 nv_m_projection;\n"
+	"void main(void)\n"
+	"{\n"
+	"	gl_Position = nv_m_projection * vec4(nv_position.x, nv_position.y, 0.0, 1.0);\n"
+	"	v_texcoord  = nv_texcoord;\n"
+	"	v_color     = nv_color;\n"
+	"}\n";
+static const char *nv_gui_fragment_shader =
+	"#version 120\n"
+	"varying vec4 v_color;\n"
+	"varying vec2 v_texcoord;\n"
+	"uniform sampler2D nv_t_diffuse;\n"
+	"void main(void)\n"
+	"{\n"
+	"	vec4 tex_color = texture2D( nv_t_diffuse, v_texcoord );\n"
+	"	gl_FragColor   = v_color * tex_color;\n"
+	"}\n";
 
 using namespace nv;
@@ -92,5 +117,5 @@
 };
 
-renderer::renderer( window* w, const std::string& shader_path  )
+renderer::renderer( window* w )
 	: m_window(w)
 	, m_style()
@@ -110,6 +135,5 @@
 	screen_render_data* sr = new screen_render_data( w->get_context(), 1024 );
 	m_render_data = sr;
-	// ** EXTREMELY TEMPORARY!
-	sr->shader     = m_window->get_device()->create_program( nv::slurp( shader_path + ".vert" ), nv::slurp( shader_path + ".frag" ) );
+	sr->shader     = m_window->get_device()->create_program( nv_gui_vertex_shader, nv_gui_fragment_shader );
 	m_scene_state.get_camera().set_ortho( 0.0f, float( m_window->get_width() ), float( m_window->get_height() ), 0.0f );
 
