Exemplo n.º 1
0
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);
    }
}