void TCompLightDirShadowsDynamic::generateShadowMap() { if (!enabled) return; if (!is_inRoom) return; assert(rt_shadows); PROFILE_FUNCTION("shadows: generateShadowMap"); // Vamos a empezar a pintar en el shadow map rt_shadows->clearZ(); //rt_shadows->setZ(rt_shadows_base->getZ(), rt_shadows_base->getRT()); // rt_shadows->activateRT(); activateRS(RSCFG_SHADOWS); // Desde MI punto de vista, el pt de vista de la luz direccional // que genera sombras activateCamera(this); // activar la tech de shadow map generation Resources.get("shadow_gen.tech")->as<CRenderTechnique>()->activate(); // Pintar los shadow casters RenderManager.renderShadowCasters(CHandle(this).getOwner(), SBB::readSala(), true); // activar la tech de shadow map generation Resources.get("shadow_gen_skin.tech")->as<CRenderTechnique>()->activate(); // Pintar los shadow casters RenderManager.renderShadowCastersSkin(CHandle(this).getOwner(), SBB::readSala()); activateRS(RSCFG_DEFAULT); }
void CGFscene::initCameras() { CGFcamera* first = new CGFcamera(); CGFcamera* second = new CGFcamera(); CGFcamera* third = new CGFcamera(); first->moveTo(25,0,0); first->rotate(0,20); first->rotate(1,-45); second->moveTo(20,20,20); third->moveTo(0,30,0); scene_cameras.push_back(first); scene_cameras.push_back(second); scene_cameras.push_back(third); activateCamera(0); }