PangoCairoTextExample(int argc, const char** argv) : gl() , tr(0) , font(tr.LoadFont((argc>2)?argv[2]:"Sans 38")) , layout(tr.MakeLayout(font, 48)) , rndr(tr.GetRenderer( oglplus::FragmentShader( oglplus::ObjectDesc("Pixel color"), "#version 330\n" "uniform vec3 Color;" "uniform float Opacity;" "vec4 PixelColor(" " vec4 TexelColor," " vec3 GlyphPosition," " float GlyphXOffset," " vec2 GlyphExtent," " vec2 GlyphCoord," " float LayoutWidth" ")" "{" " return vec4(Color, TexelColor.r*Opacity);" "}" ) ) ), rndr_color(rndr.GetUniform<oglplus::Vec3f>("Color")) , rndr_opacity(rndr.GetUniform<GLfloat>("Opacity")) , prev_interval(-1) , current_line(0) { using namespace oglplus; rndr.Use(); gl.ClearColor(0.0f, 0.0f, 0.0f, 0.0f); gl.Enable(Capability::Blend); gl.BlendFunc( BlendFunction::SrcAlpha, BlendFunction::DstAlpha ); rndr.SetAlignment(text::Alignment::Center); }