glGenFramebuffers(1, &framebuffer);
	glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
	glFramebufferTexture(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, cubeMap, 0);
	glReadBuffer(GL_NONE);
	glDrawBuffer(GL_NONE);
	glBindFramebuffer(GL_FRAMEBUFFER, 0);
}

void ShadowPointLight::generateProjMat() {
	projMat = glm::perspective(glm::radians(90.0f), aspRatio, near, far);
}

void ShadowPointLight::update(const std::vector<std::shared_ptr<Model>>& models, ShaderProgram& shadowProgram, ShaderProgram& program) {

	std::string uniName = "shadowPointLights[0].";

	shadowProgram.setUniform1f("far", far);
	shadowProgram.setUniformVec3f("lightPos", position);

	updateShadow(program, shadowProgram);
	updateLightSpaceMat(shadowProgram);

	renderModels(models, shadowProgram);

	updateK(program, uniName);
	updatePosition(program, uniName);
	updateColors(program, uniName);

}

void ShadowPointLight::updateLightSpaceMat(ShaderProgram& shadowProgram) {
	shadowProgram.setUniformMat4f("lightSpaceMat[0]", lightSpaceMat[0]);
	shadowProgram.setUniformMat4f("lightSpaceMat[1]", lightSpaceMat[1]);
	shadowProgram.setUniformMat4f("lightSpaceMat[2]", lightSpaceMat[2]);
	shadowProgram.setUniformMat4f("lightSpaceMat[3]", lightSpaceMat[3]);
	shadowProgram.setUniformMat4f("lightSpaceMat[4]", lightSpaceMat[4]);
	shadowProgram.setUniformMat4f("lightSpaceMat[5]", lightSpaceMat[5]);
}

void ShadowPointLight::renderModels(const std::vector<std::shared_ptr<Model>>& models, ShaderProgram& shadowProgram) {
	glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
	glClear(GL_DEPTH_BUFFER_BIT);
	glViewport(0, 0, shadowWidth, shadowHeight);

	for (std::size_t i = 0; i < models.size(); i++) {
		shadowProgram.setUniformMat4f("worldMatrix", models[i]->getWorldMat());
		models[i]->draw(shadowProgram);
	}

	glBindFramebuffer(GL_FRAMEBUFFER, 0);
}

void ShadowPointLight::updateShadow(ShaderProgram& program, ShaderProgram& shadowProgram) {
	shadowProgram.setUniform1f("far", far);
	shadowProgram.setUniformVec3f("lightPos", position);

	program.setUniform1i("pointShadowMap", 26);
	program.setUniform1f("far", far);
}

void ShadowPointLight::setPosition(glm::vec3 position) {
	this->position = position;
	generateLightSpaceMat();
}

void ShadowPointLight::generateLightSpaceMat() {
	lightSpaceMat[0] = projMat * glm::lookAt(position, position + glm::vec3(1, 0, 0), glm::vec3(0, -1, 0));
	lightSpaceMat[1] = projMat * glm::lookAt(position, position + glm::vec3(-1, 0, 0), glm::vec3(0, -1, 0));
	lightSpaceMat[2] = projMat * glm::lookAt(position, position + glm::vec3(0, 1, 0), glm::vec3(0, 0, 1));
	lightSpaceMat[3] = projMat * glm::lookAt(position, position + glm::vec3(0, -1, 0), glm::vec3(0, 0, -1));
	lightSpaceMat[4] = projMat * glm::lookAt(position, position + glm::vec3(0, 0, 1), glm::vec3(0, -1, 0));
	lightSpaceMat[5] = projMat * glm::lookAt(position, position + glm::vec3(0, 0, -1), glm::vec3(0, -1, 0));
}29 City Hall remain closed through Monday, September 3rd
NEW ORLEANS, LA--Tonight, the City announced that City Hall will remain closed through Monday, September 3, 2012. As Hurricane Isaac continues to hover over south Louisiana, this closure will provide sufficient time to remove debris and ensure City Hall is ready to return to normal operations. City Hall will resume normal business hours on Tuesday, September 4th.
City Department heads will contact employees that have been designated as “immediate return” to assist with damage assessments.
Last updated: 5/18/2016 2:31:02 PMŠperk jako záznam, brož jako komunikační prostředek. Inspirací je Madeleine Albrightová / americká ministryně zahraničí /, která používá brože jako diplomatický nástroj. Kolekce RECORD zaznamenává formou „rychlo broží“ mou spoluúčast na výstavách, projektech a akcích v období od února do května roku 2016.
The system of expression I have approached is, in principle, one of the essential parts of each final project. The domain I have been dealing with for the longest period of time. Jewellery, porcelain and products have the potential to be more than just an adornment or a functional product. For instance, they can serve as a record of one’s life or one’s own means of communication. Creations I a am most devoted to carries the attribute of “conceptual”. It differs from those purely decorative ones by one essential detail: It relates a story. The works of art do not only possess superficial beauty, but also depth that has been meditated through. This also applies for the Record collection. Jewellery as a record, a brooch as a means of communication. I have been inspired by Madeleine Albright /the US Minister of Foreign Affairs/ who uses the brooch as a diplomatic tool – a means of communication. The Record collection enregisters my co-participation on exhibitions, projects and events which were of importance for me in the form of six “quick brooches”. Moreover it also records various places in the period from February 2016 to May 2016 that have been expressed mainly by the fast choice of an untraditional and, at the same time, easily accessible material or by the choice of raw material which used to be the main part of the events.The following story is told with permission.
Kristi Scoubes held her infant daughter in her arms and wept. None of the doctors knew what to do. Kristi herself was a NICU nurse, and had no idea why little Rosie was slipping away.
For months they had pursued every possible treatment, but Rosie hadn’t responded and was now on hospice. Clearly in agony, she would cry until her throat closed and she began to turn blue. The Scoubes family was facing what no one ever wants to endure: The death of a child.
The morning of July 4th they went out early, before the heat, to take a walk. Two doors down was a ward member whose family was also outside. One of her children invited Dallin to come over for fireworks that night.
Three days later, Rosie died. Later, as Kristi was thanking her neighbor for inviting Dallin to see the fireworks, the neighbor said, “It’s the craziest thing. I never buy fireworks. But every time I saw them I’d buy the biggest ones.” She’d had no idea why.
This neighbor wasn’t the only one who had felt impressed to help the Scoubes family. “All I had to do was think of something, and it would happen,” she says. One night she suddenly smelled fresh baked bread and thought how wonderful fresh bread would be. The next morning a stack of bread loaves was on her porch. Another time she wished she had some flowers and that afternoon someone brought her a big bouquet. Kristi feels God was giving her everything he could, knowing he had to bring little Rosie home.
After Rosie passed, Kristi noticed an intense level of joy in Rosie’s room. It was as if Rosie was letting her know how happy she was to be home again with her Father in Heaven. And though it wasn’t God’s will for Rosie to remain in mortality, God let the Scoubes family know he was watching over them through small acts of kindness that simply couldn’t be coincidences.
Our leaders have reminded us that God often answers prayers through his other children, and that we should act upon kindly impulses that may not make sense to us, but which could mean the world to someone else. Truly the Scoubes family was buoyed up and strengthened by the generous,