Example #1
0
//-----------------------------------------------------------------------------------
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();
}
Example #2
0
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);
    }
}
Example #3
0
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);
}
Example #4
0
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();
}
Example #6
0
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;
}
Example #7
0
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;
        }
    }
}
Example #10
0
RenderState GroundLayer::renderState() const
{
    return RenderState(QStringLiteral("Ground"));
}
Example #11
0
RenderState GeometryLayer::renderState() const
{
    return RenderState( "GeoGraphicsScene" );
}
Example #12
0
RenderState PopupLayer::renderState() const
{
    return RenderState( "Popup Window" );
}
Example #13
0
RenderState MarbleSplashLayer::renderState() const
{
    return RenderState( "Splash Screen" );
}
Example #14
0
//-----------------------------------------------------------------------------------
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);
    }
}
Example #15
0
void Display::RenderContents()
{
	RenderObjects();
	RenderState();
}
Example #16
0
float xForm::FloatRenderState(D3DRENDERSTATETYPE state)
{
  DWORD value = RenderState(state);
  return *(float*)&value;
}
Example #17
0
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);
  }
}
Example #18
0
RenderState RoutingLayer::renderState() const
{
    return RenderState( "Routing", d->m_marbleWidget->model()->routingManager()->state() == RoutingManager::Downloading ? WaitingForUpdate : Complete );
}
Example #19
0
RenderState RenderPlugin::renderState() const
{
    return RenderState( name() );
}