//----------------------------------------------------------------------------------- void Skeleton::Render() const { if (!m_joints) { MeshBuilder builder; for (const Matrix4x4& modelSpaceMatrix : m_boneToModelSpace) { builder.AddIcoSphere(1.0f, RGBA::BLUE, 0, modelSpaceMatrix.GetTranslation()); } m_joints = new MeshRenderer(new Mesh(), new Material(new ShaderProgram("Data/Shaders/fixedVertexFormat.vert", "Data/Shaders/fixedVertexFormat.frag"), RenderState(RenderState::DepthTestingMode::OFF, RenderState::FaceCullingMode::RENDER_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND))); m_joints->m_material->SetDiffuseTexture(Renderer::instance->m_defaultTexture); builder.CopyToMesh(m_joints->m_mesh, &Vertex_PCUTB::Copy, sizeof(Vertex_PCUTB), &Vertex_PCUTB::BindMeshToVAO); } if (!m_bones) { MeshBuilder builder; for (unsigned int i = 0; i < m_parentIndices.size(); i++) { int parentIndex = m_parentIndices[i]; if (parentIndex >= 0) { builder.AddLine(m_boneToModelSpace[i].GetTranslation(), m_boneToModelSpace[parentIndex].GetTranslation(), RGBA::SEA_GREEN); } } m_bones = new MeshRenderer(new Mesh(), new Material(new ShaderProgram("Data/Shaders/fixedVertexFormat.vert", "Data/Shaders/fixedVertexFormat.frag"), RenderState(RenderState::DepthTestingMode::OFF, RenderState::FaceCullingMode::RENDER_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND))); m_bones->m_material->SetDiffuseTexture(Renderer::instance->m_defaultTexture); builder.CopyToMesh(m_bones->m_mesh, &Vertex_PCUTB::Copy, sizeof(Vertex_PCUTB), &Vertex_PCUTB::BindMeshToVAO); } m_joints->Render(); m_bones->Render(); }
int main(int argc, char *argv[]) { initialize(); srand(time(NULL)); SDL_Surface *screen; screen = SDL_SetVideoMode(WIDTH, HEIGHT, DEPTH, SDL_SWSURFACE); if ( screen == NULL ) { fprintf(stderr, "Unable to set 640x480 video: %s\n", SDL_GetError()); exit(1); } //Main game loop while(1) { //Check for end game conditions if (!player.alive) { RenderFinal(screen, FALSE); } else if (g_monsters == NULL) { RenderFinal(screen, TRUE); } UpdateState(); RenderState(screen); HandleEvents(); usleep(50000); } }
TheGame::TheGame() : m_pauseTexture(Texture::CreateOrGetTexture("Data/Images/Test.png")) , m_camera(new Camera3D()) , m_twahSFX(AudioSystem::instance->CreateOrGetSound("Data/SFX/Twah.wav")) , m_renderAxisLines(false) , m_showSkeleton(false) { SetUpShader(); #pragma TODO("Fix this blatant memory leak") Texture* blankTex = new Texture(1600, 900, Texture::TextureFormat::RGBA8); Texture* depthTex = new Texture(1600, 900, Texture::TextureFormat::D24S8); m_fbo = Framebuffer::FramebufferCreate(1, &blankTex, depthTex); Material* fboMaterial = new Material(new ShaderProgram("Data/Shaders/Post/post.vert", "Data/Shaders/Post/post.frag"), //post_pixelation RenderState(RenderState::DepthTestingMode::ON, RenderState::FaceCullingMode::RENDER_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND)); fboMaterial->SetDiffuseTexture(blankTex); fboMaterial->SetNormalTexture(depthTex); MeshBuilder builder; builder.AddQuad(Vector3(-1, -1, 0), Vector3::UP, 2.0f, Vector3::RIGHT, 2.0f); quadForFBO = new MeshRenderer(new Mesh(), fboMaterial); builder.CopyToMesh(quadForFBO->m_mesh, &Vertex_PCUTB::Copy, sizeof(Vertex_PCUTB), &Vertex_PCUTB::BindMeshToVAO); quadForFBO->m_material->SetFloatUniform("gPixelationFactor", 8.0f); }
void Player::Initialize(const glm::vec2 &StartPosition) { if( m_Sprite->GetRenderState() == NULL ) { m_Sprite->SetRenderState(GLESRenderer::Instance()->AddRenderState(RenderState(GLESRenderer::Instance()->GetShader("tiles"), RenderState::BLENDING_ENABLED))); } m_Hitbox.m_Position = StartPosition - glm::vec2(m_Hitbox.m_Size.x / 2.f, m_Hitbox.m_Size.y); m_Velocity = glm::vec2(0, 0); m_IsOnGround = false; m_IsPressingDown = false; ReleaseWeapons(); LoadWeapon("data/weapons/1/weapon1.json"); LoadWeapon("data/weapons/2/weapon2.json"); m_CurrentWeaponIndex = 0; SetState(IDLE); SetScore(0); SetHealth(3); m_Energy = 3; for( size_t i = 0; i < HUD::NUMBER_OF_LETTERS; ++i ) { m_BonusLetters[i] = false; } }
Renderer::Renderer(fea::MessageBus& bus) : messageBus(bus), cameraPosition(600.0f, 900.0f), cameraInterpolator(cameraPosition), renderer(fea::Viewport({800.0f, 600.0f}, {0, 0})), mScene(bus), mGui(bus), renderTargetVP(fea::Viewport({1600.0f, 600.0f}, {0, 0}, fea::Camera({800.0f, 300.0f}))), mGuiCam({0.0f, 0.0f}) { fea::subscribe(messageBus, *this); renderStateButton = ButtonType::B_DEFAULT; renderStates.emplace(ButtonType::B_DEFAULT, RenderState(1.00f, glm::vec2( 450.0f, 300.0f), glm::vec2(1150.0, 900.0f))); renderStates.emplace(ButtonType::B_INTERACTIVE, RenderState(1.50f, glm::vec2(1000.0f, 1000.0f), glm::vec2(1000.0, 1000.0f))); renderStates.emplace(ButtonType::B_COLOUR_BLEND, RenderState(1.20f, glm::vec2( 500.0f, 950.0f), glm::vec2( 500.0, 950.0f))); renderStates.emplace(ButtonType::B_PARALLAX, RenderState(0.40f, glm::vec2( 450.0f, 600.0f), glm::vec2(1150.0, 600.0f))); renderStates.emplace(ButtonType::B_ANIMATION, RenderState(4.00f, glm::vec2( 450.0f, 300.0f), glm::vec2(1150.0, 900.0f))); renderStates.emplace(ButtonType::B_TEXT, RenderState(1.00f, glm::vec2( 450.0f, 300.0f), glm::vec2(1150.0, 900.0f))); renderStates.emplace(ButtonType::B_CAMERA, RenderState(0.52f, glm::vec2( 800.0f, 600.0f), glm::vec2( 800.0, 600.0f))); cameraZoom = 2.0f; mGui.setup(); mWiggleText.setup(); mScene.setup(); }
DWORD xForm::SetRenderState(D3DRENDERSTATETYPE state, DWORD value) { DWORD oldValue = RenderState(state); if(oldValue != value){ if(m_pd3dDevice->SetRenderState(state, value) == D3D_OK) renderStates.Set((int)state, value); } return oldValue; }
void StateEffect::Render(Effect *effect, const SettingsMap &SettingsMap, RenderBuffer &buffer) { RenderState(buffer, effect->GetParentEffectLayer()->GetParentElement()->GetSequenceElements(), SettingsMap.Get("CHOICE_State_StateDefinition", ""), SettingsMap["CHOICE_State_State"], SettingsMap["CHOICE_State_TimingTrack"], SettingsMap["CHOICE_State_Mode"], SettingsMap["CHOICE_State_Color"] ); }
//----------------------------------------------------------------------------------- Renderer::Renderer() : m_defaultTexture(Texture::CreateTextureFromData("PlainWhite", const_cast<uchar*>(plainWhiteTexel), 3, Vector2Int::ONE)) , m_fbo(nullptr) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_LINE_SMOOTH); hookUpOpenGLPointers(); m_defaultFont = BitmapFont::CreateOrGetFont("SquirrelFixedFont"); m_defaultShader = new ShaderProgram("Data/Shaders/fixedVertexFormat.vert", "Data/Shaders/fixedVertexFormat.frag"); m_defaultMaterial = new Material(m_defaultShader, RenderState(RenderState::DepthTestingMode::ON, RenderState::FaceCullingMode::RENDER_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND)); m_defaultMaterial->SetDiffuseTexture(m_defaultTexture); }
void StaticMap::SendObjectEffects(Player *player) { /* EffectList::iterator itrEList; ObjectEffect *effect; //this shouldn't do anything yet if (m_Effects) { for (itrEList = m_Effects->begin(); itrEList < m_Effects->end(); ++itrEList) { effect = (*itrEList); effect->TimeStamp = GetNet7TickCount(); effect->GameID = GameID(); effect->EffectID = m_ObjectMgr->GetAvailableSectorID(); // Ignore the effect if the DescID is zero if (effect->EffectDescID > 0) { LogMessage("Sending effect for %s [%d]\n",Name(), effect->EffectDescID); connection->SendObjectEffect(effect); } } }*/ if (ObjectType() == OT_STARGATE) //initial state of stargates - closed { if (player->FromSector() == Destination()) { //if we came from this stargate it should be open to start off with player->SendActivateNextRenderState(GameID(), 1); } else { player->SendActivateRenderState(GameID(), 1); //gate graphics activate player->SendActivateNextRenderState(GameID(), 3); } } else { // Send ActivateRenderState packet(s) long rs = RenderState(); while (rs) { if (rs & 1) { player->SendActivateRenderState(GameID(), 1); } rs >>= 1; } } }
RenderState GroundLayer::renderState() const { return RenderState(QStringLiteral("Ground")); }
RenderState GeometryLayer::renderState() const { return RenderState( "GeoGraphicsScene" ); }
RenderState PopupLayer::renderState() const { return RenderState( "Popup Window" ); }
RenderState MarbleSplashLayer::renderState() const { return RenderState( "Splash Screen" ); }
//----------------------------------------------------------------------------------- void TheGame::SetUpShader() { m_testMaterial = new Material( new ShaderProgram("Data/Shaders/SkinDebug.vert", "Data/Shaders/SkinDebug.frag"), //fixedVertexFormat timeBased basicLight multiLight RenderState(RenderState::DepthTestingMode::ON, RenderState::FaceCullingMode::CULL_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND) ); m_uvDebugMaterial = new Material( new ShaderProgram("Data/Shaders/basicLight.vert", "Data/Shaders/uvDebug.frag"), RenderState(RenderState::DepthTestingMode::ON, RenderState::FaceCullingMode::CULL_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND) ); m_normalDebugMaterial = new Material( new ShaderProgram("Data/Shaders/basicLight.vert", "Data/Shaders/normalDebug.frag"), RenderState(RenderState::DepthTestingMode::ON, RenderState::FaceCullingMode::CULL_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND) ); m_testMaterial->SetDiffuseTexture("Data/Images/stone_diffuse.png"); m_testMaterial->SetNormalTexture("Data/Images/stone_normal.png"); m_testMaterial->SetEmissiveTexture("Data/Images/pattern_81/maymay.tga"); m_testMaterial->SetNoiseTexture("Data/Images/perlinNoise.png"); m_testMaterial->SetVec4Uniform("gDissolveColor", Vector4(0.0f, 1.0f, 0.3f, 1.0f)); m_testMaterial->SetVec4Uniform("gColor", Vector4(1.0f, 1.0f, 1.0f, 1.0f)); m_testMaterial->SetVec4Uniform("gAmbientLight", Vector4(1.0f, 1.0f, 1.0f, 0.0f)); m_testMaterial->SetFloatUniform("gSpecularPower", 16.0f); m_testMaterial->SetFloatUniform("gSpecularIntensity", 0.5f); //0 to 1 m_testMaterial->SetVec4Uniform("gFogColor", Vector4(0.7f, 0.7f, 0.7f, 1.0f)); m_testMaterial->SetFloatUniform("gMinFogDistance", 10.0f); m_testMaterial->SetFloatUniform("gMaxFogDistance", 20.0f); m_testMaterial->SetIntUniform("gLightCount", NUM_LIGHTS); lightMaterial = new Material( new ShaderProgram("Data/Shaders/fixedVertexFormat.vert", "Data/Shaders/fixedVertexFormat.frag"), //fixedVertexFormat timeBased basicLight RenderState(RenderState::DepthTestingMode::ON, RenderState::FaceCullingMode::CULL_BACK_FACES, RenderState::BlendMode::ALPHA_BLEND) ); lightMaterial->SetDiffuseTexture(Renderer::instance->m_defaultTexture); //Set all attributes of the arrays to default values for (int i = 0; i < 16; i++) { m_lightPositions[i] = Vector3::ZERO; m_lightDirections[i] = Vector3::FORWARD; m_lightDirectionFactor[i] = 0.0f; m_nearPower[i] = 1.0f; m_farPower[i] = 1.0f; m_nearDistance[i] = 2.0f; m_farDistance[i] = 6.0f; m_innerPower[i] = 1.0f; m_outerPower[i] = 1.0f; m_innerAngle[i] = 1.0f; m_outerAngle[i] = -1.0f; m_lightColors[i] = RGBA::BLACK.ToVec4(); //i % 2 == 0 ? RGBA::RED.ToVec4() : RGBA::BLUE.ToVec4();// } //Initialize the lights for the demo // m_lights[0] = Light(Vector3::ZERO, RGBA(RGBA::RED), lightMaterial); // m_lights[0].ConvertToLocalPointLight(2.0f, 6.0f, 1.0f, 0.0f); // m_lights[1] = Light(Vector3::ZERO, RGBA(RGBA::GREEN), lightMaterial); // m_lights[1].ConvertToGlobalDirectLight(Vector3::FORWARD, 2.0f, 6.0f); //Initialize the arrays with our values for (int i = 0; i < NUM_LIGHTS; i++) { m_lightColors[i] = m_lights[i].GetColor(); m_lightDirections[i] = m_lights[i].GetDirection(); m_lightDirectionFactor[i] = m_lights[i].IsDirectional() ? 1.0f : 0.0f; m_nearPower[i] = m_lights[i].GetNearPower(); m_farPower[i] = m_lights[i].GetFarPower(); m_nearDistance[i] = m_lights[i].GetNearDistance(); m_farDistance[i] = m_lights[i].GetFarDistance(); m_innerPower[i] = m_lights[i].GetInnerPower(); m_outerPower[i] = m_lights[i].GetOuterPower(); m_innerAngle[i] = m_lights[i].GetInnerAngle(); m_outerAngle[i] = m_lights[i].GetOuterAngle(); } for (int i = 0; i < NUM_LIGHTS; i++) { m_testMaterial->SetVec4Uniform(Stringf("gLightColor[%i]", i).c_str(), m_lightColors[i], 16); m_testMaterial->SetVec3Uniform(Stringf("gLightDirection[%i]", i).c_str(), m_lightDirections[i], 16); m_testMaterial->SetFloatUniform(Stringf("gLightDirectionFactor[%i]", i).c_str(), m_lightDirectionFactor[i], 16); m_testMaterial->SetFloatUniform(Stringf("gNearPower[%i]", i).c_str(), m_nearPower[i], 16); m_testMaterial->SetFloatUniform(Stringf("gFarPower[%i]", i).c_str(), m_farPower[i], 16); m_testMaterial->SetFloatUniform(Stringf("gNearDistance[%i]", i).c_str(), m_nearDistance[i], 16); m_testMaterial->SetFloatUniform(Stringf("gFarDistance[%i]", i).c_str(), m_farDistance[i], 16); m_testMaterial->SetFloatUniform(Stringf("gInnerPower[%i]", i).c_str(), m_innerPower[i], 16); m_testMaterial->SetFloatUniform(Stringf("gOuterPower[%i]", i).c_str(), m_outerPower[i], 16); m_testMaterial->SetFloatUniform(Stringf("gInnerAngle[%i]", i).c_str(), m_innerAngle[i], 16); m_testMaterial->SetFloatUniform(Stringf("gOuterAngle[%i]", i).c_str(), m_outerAngle[i], 16); } m_currentMaterial = m_testMaterial; MeshBuilder builder; builder.AddCube(2.0f); //Lol more blatant memory leaks fml loadedMesh = new MeshRenderer(new Mesh(), m_currentMaterial); builder.CopyToMesh(loadedMesh->m_mesh, &Vertex_SkinnedPCTN::Copy, sizeof(Vertex_SkinnedPCTN), &Vertex_SkinnedPCTN::BindMeshToVAO); m_uvDebugMaterial->SetDiffuseTexture(Renderer::instance->m_defaultTexture); m_uvDebugMaterial->SetNormalTexture(Renderer::instance->m_defaultTexture); m_uvDebugMaterial->SetEmissiveTexture("Data/Images/pattern_81/maymay.tga"); m_uvDebugMaterial->SetNoiseTexture("Data/Images/perlinNoise.png"); m_uvDebugMaterial->SetVec4Uniform("gDissolveColor", Vector4(0.0f, 1.0f, 0.3f, 1.0f)); m_uvDebugMaterial->SetVec4Uniform("gColor", Vector4(1.0f, 1.0f, 1.0f, 1.0f)); m_uvDebugMaterial->SetVec4Uniform("gAmbientLight", Vector4(1.0f, 1.0f, 1.0f, 0.0f)); m_uvDebugMaterial->SetFloatUniform("gSpecularPower", 16.0f); m_uvDebugMaterial->SetFloatUniform("gSpecularIntensity", 0.5f); //0 to 1 m_uvDebugMaterial->SetVec4Uniform("gFogColor", Vector4(0.7f, 0.7f, 0.7f, 1.0f)); m_uvDebugMaterial->SetFloatUniform("gMinFogDistance", 10.0f); m_uvDebugMaterial->SetFloatUniform("gMaxFogDistance", 20.0f); m_uvDebugMaterial->SetIntUniform("gLightCount", NUM_LIGHTS); for (int i = 0; i < NUM_LIGHTS; i++) { m_uvDebugMaterial->SetVec4Uniform(Stringf("gLightColor[%i]", i).c_str(), m_lightColors[i], 16); m_uvDebugMaterial->SetVec3Uniform(Stringf("gLightDirection[%i]", i).c_str(), m_lightDirections[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gLightDirectionFactor[%i]", i).c_str(), m_lightDirectionFactor[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gNearPower[%i]", i).c_str(), m_nearPower[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gFarPower[%i]", i).c_str(), m_farPower[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gNearDistance[%i]", i).c_str(), m_nearDistance[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gFarDistance[%i]", i).c_str(), m_farDistance[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gInnerPower[%i]", i).c_str(), m_innerPower[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gOuterPower[%i]", i).c_str(), m_outerPower[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gInnerAngle[%i]", i).c_str(), m_innerAngle[i], 16); m_uvDebugMaterial->SetFloatUniform(Stringf("gOuterAngle[%i]", i).c_str(), m_outerAngle[i], 16); } m_normalDebugMaterial->SetDiffuseTexture("Data/Images/stone_diffuse.png"); m_normalDebugMaterial->SetNormalTexture("Data/Images/stone_normal.png"); m_normalDebugMaterial->SetEmissiveTexture("Data/Images/pattern_81/maymay.tga"); m_normalDebugMaterial->SetNoiseTexture("Data/Images/perlinNoise.png"); m_normalDebugMaterial->SetVec4Uniform("gDissolveColor", Vector4(0.0f, 1.0f, 0.3f, 1.0f)); m_normalDebugMaterial->SetVec4Uniform("gColor", Vector4(1.0f, 1.0f, 1.0f, 1.0f)); m_normalDebugMaterial->SetVec4Uniform("gAmbientLight", Vector4(1.0f, 1.0f, 1.0f, 0.0f)); m_normalDebugMaterial->SetFloatUniform("gSpecularPower", 16.0f); m_normalDebugMaterial->SetFloatUniform("gSpecularIntensity", 0.5f); //0 to 1 m_normalDebugMaterial->SetVec4Uniform("gFogColor", Vector4(0.7f, 0.7f, 0.7f, 1.0f)); m_normalDebugMaterial->SetFloatUniform("gMinFogDistance", 10.0f); m_normalDebugMaterial->SetFloatUniform("gMaxFogDistance", 20.0f); m_normalDebugMaterial->SetIntUniform("gLightCount", NUM_LIGHTS); for (int i = 0; i < NUM_LIGHTS; i++) { m_normalDebugMaterial->SetVec4Uniform(Stringf("gLightColor[%i]", i).c_str(), m_lightColors[i], 16); m_normalDebugMaterial->SetVec3Uniform(Stringf("gLightDirection[%i]", i).c_str(), m_lightDirections[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gLightDirectionFactor[%i]", i).c_str(), m_lightDirectionFactor[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gNearPower[%i]", i).c_str(), m_nearPower[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gFarPower[%i]", i).c_str(), m_farPower[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gNearDistance[%i]", i).c_str(), m_nearDistance[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gFarDistance[%i]", i).c_str(), m_farDistance[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gInnerPower[%i]", i).c_str(), m_innerPower[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gOuterPower[%i]", i).c_str(), m_outerPower[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gInnerAngle[%i]", i).c_str(), m_innerAngle[i], 16); m_normalDebugMaterial->SetFloatUniform(Stringf("gOuterAngle[%i]", i).c_str(), m_outerAngle[i], 16); } int NUM_BONES = 200; Matrix4x4 mat = Matrix4x4::IDENTITY; for (int i = 0; i < NUM_BONES; ++i) { m_testMaterial->SetMatrix4x4Uniform(Stringf("gBoneMatrices[%i]", i).c_str(), mat, NUM_BONES); } }
void Display::RenderContents() { RenderObjects(); RenderState(); }
float xForm::FloatRenderState(D3DRENDERSTATETYPE state) { DWORD value = RenderState(state); return *(float*)&value; }
void Render(int view_mode){ if(current_script_command!=NULL&&(current_script_command->command==SCRIPT_VOLSMOKERENDERALL||current_script_command->command==SCRIPT_ISORENDERALL)){ if( (render_frame[itimes]>0&&showstereo==STEREO_NONE)||(render_frame[itimes]>1&&showstereo!=STEREO_NONE) ){ if(itimes==0){ current_script_command->remove_frame=itimes; current_script_command->exit=1; stept=0; return; } } // render_frame[itimes]++; //xxx check whether this is needed if( (render_frame[itimes]>0&&showstereo==STEREO_NONE)||(render_frame[itimes]>1&&showstereo!=STEREO_NONE) ){ current_script_command->remove_frame=itimes; } } if(RenderOnceNow==0&&RenderOnceNowR==0&&RenderOnceNowL==0&&render_state==RENDER_ON&&render_multi==0){ if(plotstate==DYNAMIC_PLOTS && nglobal_times>0){ if(itimes>=0&&itimes<nglobal_times&& ((render_frame[itimes] == 0&&showstereo==STEREO_NONE)||(render_frame[itimes]<2&&showstereo!=STEREO_NONE)) ){ render_frame[itimes]++; RenderFrame(view_mode); } else{ ASSERT(RenderSkip>0); RenderState(RENDER_OFF); RenderSkip=1; } } if(touring == 1 && nglobal_times == 0){ if(rendertourcount % RenderSkip == 0)RenderFrame(view_mode); rendertourcount++; if(nglobal_times>0)tourangle_global += (float)(2.0*PI/((float)nglobal_times/(float)RenderSkip)); if(nglobal_times==0)tourangle_global += (float)(2.0*PI/((float)maxtourframes/(float)RenderSkip)); if(tourangle_global>2.0*PI){ RenderState(RENDER_OFF); RenderSkip=1; tourangle_global=0.0; } } } if(render_multi==0){ SNIFF_ERRORS("after render"); } if(RenderOnceNow==1||RenderOnceNowL==1||RenderOnceNowR==1){ if(render_multi==0)RenderFrame(view_mode); RenderOnceNow=0; if(view_mode==VIEW_LEFT)RenderOnceNowL=0; if(view_mode==VIEW_RIGHT)RenderOnceNowR=0; if(RenderOnceNowR==0&&RenderOnceNowL==0&&render_multi==0){ RenderState(RENDER_OFF); RenderSkip=1; } } if(script_render==1){ script_render=0; RenderState(RENDER_OFF); } }
RenderState RoutingLayer::renderState() const { return RenderState( "Routing", d->m_marbleWidget->model()->routingManager()->state() == RoutingManager::Downloading ? WaitingForUpdate : Complete ); }
RenderState RenderPlugin::renderState() const { return RenderState( name() ); }