Ejemplo n.º 1
0
void MockNavi::generateCity()
{
    float* projection = m_camera.getViewProjectionMatrix();
    ShaderLighting* pShader = new ShaderLighting(projection);

    // generate base plate
	vec4f groundColor(0.8, 0.8, 0.6, 1.0);
    vec3f position = vec3f(0.0, -0.001, 0.0);
    vec3f size = vec3f(CITY_GRID_SIZE * 3, 0.0, -CITY_GRID_SIZE * 2.0 * m_houseCount);
    Ground* ground = new Ground(position, size, groundColor, pShader);
    m_renderList.push_back(ground);

    // generate street z direction
    vec4f streetColor(0.0, 0.0, 0.0, 1.0);
    vec3f streetPosition = vec3f(0.6 * CITY_GRID_SIZE, 0.0, 0.0);
    vec3f streetSize = vec3f(CITY_GRID_SIZE * 0.6, 0.0, -CITY_GRID_SIZE * 2.0 * m_houseCount);
    Street* obj = new Street(streetPosition, streetSize, streetColor, pShader);
    m_renderList.push_back(obj);

    // generate streets x direction
    for (int z = 1; z < m_houseCount; ++z)
    {
        vec4f streetColor(0.0, 0.0, 0.0, 1.0);
        vec3f streetPosition = vec3f(0.0, 0.0, 0.6 - z * CITY_GRID_SIZE);
        vec3f streetSize = vec3f(CITY_GRID_SIZE * 3, 0.0, CITY_GRID_SIZE * 0.6);
        Street* obj = new Street(streetPosition, streetSize, streetColor, pShader);
        m_renderList.push_back(obj);
        m_updateList.push_back(obj);
    }

    // generate car
    vec3f carPosition(1.4 * CITY_GRID_SIZE, 0.001, -0.3);
    vec3f carSize(0.2f, 0.2f, 0.3f);
    vec4f carColor(0.7, 0.3, 0.3, 1.0);
    Car* car = new Car(carPosition, carSize, carColor, pShader);
    m_renderList.push_back(car);

    // generate houses
	vec4f houseColor(0.6, 0.6, 0.8, 1.0);
    for (int x = 0; x < 2; ++x)
    {
        for (int z = 0; z < m_houseCount; ++z)
        {
            float posx = x * 2.0 * CITY_GRID_SIZE;
            float posy = 0.0;
            float posz = -z * 2.0 * CITY_GRID_SIZE;

            vec3f housePosition(posx, posy, posz);
            vec3f houseSize(1.0, 1.0, 1.0);

            House* obj = new House(housePosition, houseSize, houseColor, pShader);

            m_renderList.push_back(obj);
            m_updateList.push_back(obj);
        }
    }
}
Ejemplo n.º 2
0
void FlappyCatColorScheme::generateDayScheme() {

  std::uniform_real_distribution<HslColor::value_type> distribution(0.0, 360.0);
  HslColor::value_type hue = distribution(mGenerator);

  HslColor heroColor(hue, 100.0, 50.0);


  HslColor blockColor(heroColor);
  blockColor.rotateHue(150.0);
  blockColor.setSaturation(70.0);
  blockColor.setLuminance(40.0);

  HslColor dirtColor(blockColor);
  dirtColor.setLuminance(20.0);


  HslColor backgroundColor(heroColor);
  backgroundColor.rotateHue(210.0);
  backgroundColor.setSaturation(100.0);
  backgroundColor.setLuminance(85.0);

  HslColor cloudColor(heroColor);
  cloudColor.setLuminance(100.0);

  HslColor houseColor(heroColor);
  houseColor.rotateHue(210.0);
  houseColor.setSaturation(50.0);
  houseColor.setLuminance(55.0);


  mScheme[BackgroundColor] = backgroundColor.toRgb();
  mScheme[BlockColor]      = blockColor.toRgb();
  mScheme[HeroColor]       = heroColor.toRgb(128);
  mScheme[HouseColor]      = houseColor.toRgb();
  mScheme[CloudColor]      = cloudColor.toRgb();
  mScheme[DirtColor]       = dirtColor.toRgb();
  mScheme[MascotBodyColor] = Color(0, 0, 0);
  mScheme[MascotScarfColor] = Color(255, 255, 255);
  mScheme[MascotMouthColor] = Color(255, 128, 0);
}