Example #1
0
Color Color::lighter(int amount) const {
  Color ret = *this;
  ret.toHSV();
  ret.c[0] *= amount / 100.0;
  ret.c[0] = double_clamp(ret.c[0]);
  ret.toRGB();
  return ret;
}
Example #2
0
void sound_fillBuffer( float2* pBuffer, uint count )
{
    const double sampleRateFactor = 2 * PI / (double)SoundSampleRate;

    double samplePos = s_sound.samplePos;
    double engineFrequency = s_sound.currentEngineFrequency;

    double engineFrequencyShiftSpeed = 1.0f / ( double)SoundSampleRate;

    for( uint i = 0u; i < count; ++i )
    {
        double engineShift = double_clamp( 
            ( s_sound.targetEngineFrequency - engineFrequency ),
            -4.0f * engineFrequencyShiftSpeed,
            engineFrequencyShiftSpeed );
        engineFrequency += engineShift;

        const double x = samplePos * sampleRateFactor;

        // very crude engine sound:
        const double sample0 = cos( 40.0f * x ) * sin( 120.0f * x );
        const double sample1 = cos( 10.0f * x ) * sin( 200.0f * x );

        const double sample = double_lerp( sample0, sample1, engineFrequency );
        
        const float panning = fabsf( 0.1f * cosf( (float)x ) );

        float left, right;
        pan( &left, &right, (float)sample, panning );

        // left:
        pBuffer->x = left;
        // right:
        pBuffer->y = right;

        pBuffer++;
        samplePos += 1.0;
        s_sound.samplePos++;
    }
    s_sound.currentEngineFrequency = (float)engineFrequency;
}
Example #3
0
void Color::setAlphaF(double _alpha) { c[3] = double_clamp(_alpha); }
Example #4
0
void Color::setBlueF(double _blue) { c[0] = double_clamp(_blue); }
Example #5
0
void Color::setGreenF(double _green) { c[1] = double_clamp(_green); }
Example #6
0
void Color::setRedF(double _red) { c[2] = double_clamp(_red); }