void glInit() { // Private atlas for the composed entry text lines. entryAtlas = AtlasTexture::newWithRowAllocator( Atlas::BackingStore | Atlas::AllowDefragment, GLTexture::maximumSize().min(Atlas::Size(4096, 2048))); entryAtlas->audienceForReposition += this; entryAtlas->audienceForOutOfSpace += this; // Simple texture for the scroll indicator. Image solidWhitePixel = Image::solidColor(Image::Color(255, 255, 255, 255), Image::Size(1, 1)); scrollTex = entryAtlas->alloc(solidWhitePixel); self.setIndicatorUv(entryAtlas->imageRectf(scrollTex).middle()); uTex = entryAtlas; uColor = Vector4f(1, 1, 1, 1); background.addBuffer(bgBuf = new VertexBuf); self.root().shaders().build(background.program(), "generic.textured.color") << uBgMvpMatrix << self.root().uAtlas(); // Vertex buffer for the log entries. contents.addBuffer(buf = new VertexBuf); self.root().shaders().build(contents.program(), "generic.textured.color_ucolor") << uMvpMatrix << uShadowColor << uTex; }
void glInit() { drawable.addBuffer(new VertexBuf); shaders().build(drawable.program(), "generic.color_ucolor") << uMvpMatrix << uColor; updateProjection(); }