Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. Gameplay
      2. Missions
      3. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Sign in to follow this  
Dagamer131

Rainbow paint fade C++

Recommended Posts

Dagamer131

Hey I was wondering how to get the rainbow paint fade(shown here:

) as opposed to the regular random loop(shown here:
) Edited by Dagamer131

Share this post


Link to post
Share on other sites
CamxxCore

You would want to use a linear interpolation (lerp) function. A quick google search should find you what you are looking for.

Share this post


Link to post
Share on other sites
Dagamer131

could you link an example? I cant find a good one

Share this post


Link to post
Share on other sites
CamxxCore

Here is a (C#) example. This is just one of many ways to do it. The most important function is "Lerp" which allows you to smoothly transition between color values.

using System;using System.Drawing;using GTA;namespace ColorInterpolator{    public static class Extensions    {        private static double Lerp(double d1, double d2, double d)        {            return d1 + (d2 - d1) * d;        }        public static Color FadeTo(this Color color1, Color color2, double d)        {            double r = Lerp(color1.R, color2.R, d);            double g = Lerp(color1.G, color2.G, d);            double b = Lerp(color1.B, color2.B, d);            return Color.FromArgb((int)r, (int)g, (int)b);        }    }    public class ScriptMain : Script    {        public ScriptMain()        {            Tick += RunFrame;        }        /// <summary>        /// Total time to fade between colors in millseconds        /// </summary>        private readonly int FadeTime = 700;        private static readonly Color[] ColorList =        {            Color.Red,            Color.Green,            Color.Blue        };        private float fadeAmount;        private int colorIndex;            private Color startColor = ColorList[0],            endColor = ColorList[1];        private Color currentColor;        void RunFrame(object sender, EventArgs e)        {            if (fadeAmount < 1.0f)            {                fadeAmount += Game.LastFrameTime * (1000.0f / FadeTime);                if (fadeAmount < 0.0f)                    fadeAmount = 0.0f;                else if (fadeAmount > 1.0f)                    fadeAmount = 1.0f;                currentColor = startColor.FadeTo(endColor, fadeAmount);            }            else            {                colorIndex++;                colorIndex %= ColorList.Length;                startColor = currentColor;                endColor = ColorList[colorIndex];                fadeAmount = 0.0f;            }        }    }}

You could add any amount of colors to the ColorList and they would be added to the fade sequence. You can adjust the 'FadeTime' to make it fade faster (or slower).

Edited by CamxxCore

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.