//----------------------------------------------------------------------------- // rendu de la d�chirure spatio temporelle float CSummonCreature::Render(LPDIRECT3DDEVICE7 m_pd3dDevice) { if (ulCurrentTime >= (ulDurationIntro + ulDurationRender + ulDurationOuttro)) return 0.f; SETTC(m_pd3dDevice, NULL); SETCULL(m_pd3dDevice, D3DCULL_NONE); SETZWRITE(m_pd3dDevice, false); SETTEXTUREWRAPMODE(m_pd3dDevice, D3DTADDRESS_CLAMP); m_pd3dDevice->SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_ONE); m_pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ONE); SETALPHABLEND(m_pd3dDevice, true); //------------------------------------------------------------------------- fTexWrap += 0.02f; if (fTexWrap >= 1.0f) { fTexWrap -= 1.0f; } //------------------------------------------------------------------------- // render intro (opening + rays) if (ulCurrentTime < ulDurationIntro) { if (ulCurrentTime < ulDurationIntro * 0.666f) { fSizeIntro = (end + 2) * fOneOnDurationIntro * (1.5f) * ulCurrentTime; sizeF = 1; } else { if (bIntro != false) bIntro = false; sizeF = (iSize) * (fOneOnDurationIntro * 3) * (ulCurrentTime - ulDurationIntro * 0.666f); } } // do nothing just render else if (ulCurrentTime < (ulDurationIntro + ulDurationRender)) { } // close it all else if (ulCurrentTime < (ulDurationIntro + ulDurationRender + ulDurationOuttro)) { //if (sizeF > 0) { sizeF = iSize - (iSize) * fOneOnDurationOuttro * (ulCurrentTime - (ulDurationIntro + ulDurationRender)); } } SETALPHABLEND(m_pd3dDevice, false); RenderFissure(m_pd3dDevice); SETZWRITE(m_pd3dDevice, true); SETALPHABLEND(m_pd3dDevice, false); SETTEXTUREWRAPMODE(m_pd3dDevice, D3DTADDRESS_WRAP); return (fSizeIntro / end); }
//----------------------------------------------------------------------------- // rendu de la déchirure spatio temporelle float CSummonCreature::Render() { if (ulCurrentTime >= (ulDurationIntro + ulDurationRender + ulDurationOuttro)) return 0.f; GRenderer->ResetTexture(0); GRenderer->SetCulling(Renderer::CullNone); GRenderer->SetRenderState(Renderer::DepthWrite, false); GRenderer->GetTextureStage(0)->SetWrapMode(TextureStage::WrapClamp); GRenderer->SetBlendFunc(Renderer::BlendOne, Renderer::BlendOne); GRenderer->SetRenderState(Renderer::AlphaBlending, true); //------------------------------------------------------------------------- fTexWrap += 0.02f; if (fTexWrap >= 1.0f) { fTexWrap -= 1.0f; } //------------------------------------------------------------------------- // render intro (opening + rays) if (ulCurrentTime < ulDurationIntro) { if (ulCurrentTime < ulDurationIntro * 0.666f) { fSizeIntro = (end + 2) * fOneOnDurationIntro * (1.5f) * ulCurrentTime; sizeF = 1; } else { if (bIntro != false) bIntro = false; sizeF = (iSize) * (fOneOnDurationIntro * 3) * (ulCurrentTime - ulDurationIntro * 0.666f); } } // do nothing just render else if (ulCurrentTime < (ulDurationIntro + ulDurationRender)) { } // close it all else if (ulCurrentTime < (ulDurationIntro + ulDurationRender + ulDurationOuttro)) { //if (sizeF > 0) { sizeF = iSize - (iSize) * fOneOnDurationOuttro * (ulCurrentTime - (ulDurationIntro + ulDurationRender)); } } GRenderer->SetRenderState(Renderer::AlphaBlending, false); RenderFissure(); GRenderer->SetRenderState(Renderer::DepthWrite, true); GRenderer->SetRenderState(Renderer::AlphaBlending, false); GRenderer->GetTextureStage(0)->SetWrapMode(TextureStage::WrapRepeat); return (fSizeIntro / end); }
//----------------------------------------------------------------------------- // render the space time tearing void CRiseDead::Render() { if(ulCurrentTime >= (ulDurationIntro + ulDurationRender + ulDurationOuttro)) return; if(fTexWrap >= 1.0f) fTexWrap -= 1.0f; //------------------------------------------------------------------------- // render intro (opening + rays) if(ulCurrentTime < ulDurationIntro) { if(ulCurrentTime < ulDurationIntro * 0.666f) { fSizeIntro = (end + 2) * fOneOnDurationIntro * (1.5f) * ulCurrentTime; sizeF = 1; } else { if(bIntro != false) bIntro = false; sizeF = (iSize) * (fOneOnDurationIntro * 3) * (ulCurrentTime - ulDurationIntro * 0.666f); } } // do nothing just render else if (ulCurrentTime < (ulDurationIntro + ulDurationRender)) { } // close it all else if (ulCurrentTime < (ulDurationIntro + ulDurationRender + ulDurationOuttro)) { //if (sizeF > 0) { sizeF = iSize - (iSize) * fOneOnDurationOuttro * (ulCurrentTime - (ulDurationIntro + ulDurationRender)); } } //cailloux if(this->timestone <= 0) { this->timestone = Random::get(50, 150); Vec3f pos; float r = 80.f * frand2(); pos.x = this->eSrc.x + r; pos.y = this->eSrc.y; pos.z = this->eSrc.z + r; this->AddStone(&pos); } RenderFissure(); this->DrawStone(); }
//----------------------------------------------------------------------------- // rendu de la déchirure spatio temporelle void CSummonCreature::Render() { if(ulCurrentTime >= (ulDurationIntro + ulDurationRender + ulDurationOuttro)) return; //------------------------------------------------------------------------- fTexWrap += 0.02f; if(fTexWrap >= 1.0f) fTexWrap -= 1.0f; //------------------------------------------------------------------------- // render intro (opening + rays) if(ulCurrentTime < ulDurationIntro) { if(ulCurrentTime < ulDurationIntro * 0.666f) { fSizeIntro = (end + 2) * fOneOnDurationIntro * (1.5f) * ulCurrentTime; sizeF = 1; } else { if(bIntro != false) bIntro = false; sizeF = (iSize) * (fOneOnDurationIntro * 3) * (ulCurrentTime - ulDurationIntro * 0.666f); } } // do nothing just render else if (ulCurrentTime < (ulDurationIntro + ulDurationRender)) { } // close it all else if (ulCurrentTime < (ulDurationIntro + ulDurationRender + ulDurationOuttro)) { //if (sizeF > 0) { sizeF = iSize - (iSize) * fOneOnDurationOuttro * (ulCurrentTime - (ulDurationIntro + ulDurationRender)); } } RenderFissure(); //return (fSizeIntro / end); }
//----------------------------------------------------------------------------- // rendu de la déchirure spatio temporelle void CSummonCreature::Render() { if(m_elapsed >= m_duration) return; //------------------------------------------------------------------------- // render intro (opening + rays) if(m_elapsed < ulDurationIntro) { float fOneOnDurationIntro = 1.f / (float)(ulDurationIntro); if(m_elapsed < ulDurationIntro * 0.666f) { fSizeIntro = (end + 2) * fOneOnDurationIntro * (1.5f) * m_elapsed; sizeF = 1; } else { if(bIntro != false) bIntro = false; sizeF = (iSize) * (fOneOnDurationIntro * 3) * (m_elapsed - ulDurationIntro * 0.666f); } } // do nothing just render else if (m_elapsed < (ulDurationIntro + ulDurationRender)) { } // close it all else if (m_elapsed < m_duration) { float fOneOnDurationOuttro = 1.f / (float)(ulDurationOuttro); sizeF = iSize - (iSize) * fOneOnDurationOuttro * (m_elapsed - (ulDurationIntro + ulDurationRender)); } RenderFissure(); //return (fSizeIntro / end); }