void RDirNode::updateBloomVBO(bloombuf& buffer, float dt) { if(in_frustum && isVisible()) { float bloom_radius = dir_radius * 2.0 * gGourceSettings.bloom_multiplier; float bloom_diameter = bloom_radius * 2.0; vec4 bloom_col = col * gGourceSettings.bloom_intensity; vec4 bloom_texcoords(bloom_radius, pos.x, pos.y, 0.0f); vec2 bloom_dims(bloom_diameter, bloom_diameter); buffer.add(0, pos - bloom_dims*0.5f,bloom_dims, vec4(bloom_col.x, bloom_col.y, bloom_col.z, 1.0f), bloom_texcoords); } for(std::list<RDirNode*>::const_iterator it = children.begin(); it != children.end(); it++) { RDirNode* node = (*it); node->updateBloomVBO(buffer,dt); } }