Download 4K HD wallpapers, check out the performance specs or watch videos of the 2020 Chevrolet Corvette Stingray. Corvettes has often been dominated by their engine, and the C8 should not disappoint. Chevrolet Corvette Wallpaper.
Blair Witch
Metro Exodus
The Division 2
Far Cry New Dawn
Wallpaper Engine
Far Cry 5
DYNAMIC LIGHTING
GAME WINNING MACROS
SMART SETTINGS
Synchronized Lighting
Maximum Performance
System Monitoring
Customized Lighting
Fine Tune Settings
Precision Cooling
Download Wallpaper Engine Free
EARLY ACCESS DISCLAIMER
The CORSAIR iCUE software is currently in early access stage, meaning it does not yet have all features enabled and may contain defects. The primary purpose of early access is to gain feedback from our users about the features and performance of the CORSAIR iCUE software.
As a precaution, to prevent loss of valuable data it is highly recommended that before installing the iCUE Early Access software, you perform a full back up of your data and critical files.
CORSAIR LINK™ and CUE users
- If you are currently using CORSAIR LINK™ you MUST update to the latest version (4.9.6.19 or newer). This can be found HERE.
- If you are using CUE, installing iCUE will automatically replace your CUE software and migrate settings.
CORSAIR iCUE is an ambitious undertaking that, when complete, will provide you with more monitoring, lighting, and fan control capabilities than ever before. We’re excited to ask you to join us in these early access stages to help us create the best software possible. For a full list of iCUE compatible devices, click HERE.
DOWNLOAD EARLY ACCESSIn this guide you'll learn how to add iCUE integration to your web wallpaper.
Wallpaper Engine supports all CORSAIR devices supported by the official iCUE SDK, ranging from keyboards to LED strips. With the help this guide and your own HTML/JavaScript experience you can fully sync up a CORSAIR-based lighting setup with your wallpaper.
Tip
When viewing the code examples, be sure to read the comment lines in the code for extra explanation. The full resulting wallpaper will be provided at the end of the guide.
1. Prerequisites
- This tutorial requires knowledge about HTML, JavaScript and JSON. If you have never made a web wallpaper before, check out the starter tutorial for web wallpapers here: New Web Wallpaper
- For testing purposes you need one or more CORSAIR iCUE enabled products
- Make sure you are running the latest version of iCUE
- In Wallpaper Engine, make sure you enabled the iCUE plugin under Settings > Plugins
- Review the iCUE SDK documentation, Wallpaper Engine acts as a bridge between your web wallpaper and this SDK
Note
Although the regular iCUE SDK is made for C++, you don't need any C++ knowledge to follow this guide, in Wallpaper Engine the SDK is available through JavaScript.
2. Detect LED support in your wallpaper
If it is available, Wallpaper Engine will detect and initialize the iCUE integration. When this happens an event will fire in your wallpaper. To use iCUE we need a listener for this event:
With this code we'll know that if icueAvailable
is true, it's ok to use the rest of the iCUE integration. All iCUE functionality will be available in the window.cue
variable.
3. Detecting iCUE supported devices
Now that iCUE is available, we want to know what kind of devices are available on the system. This is done by asking Wallpaper Engine how many devices are detected and following it up by requesting info on each detected device.
You must call the setupDevices
function yourself after you've set icueAvailable
to true. A good place to do this is in the wallpaperPluginListener
callback we made in the last example.
4. Per-LED lighting
Wallpapers For Wallpaper Engine Download
With the devices detected it's now possible to get all available LEDs on the device. In the case of a keyboard there's a LED for each key. To demonstrate this we'll loop through all LEDs on the keyboard (this guide assumes you have one, you can also swap it out for a different device).
First let's define some variables we'll need each frame and create a render loop that updates the keyboard 30 times per second
To keep things simple we'll do all the work each frame, this isn't the most optimized solution but works well for this guide.
Each frame our script must run through the following steps:
- Find the keyboard's device ID
- Make sure the keyboard's LEDs are retrieved, if they aren't, retrieve them now and skip the frame
- Assign the color to the current LED, for this sample we'll loop through red, then green and finally blue
- Update the LED index, so the next frame repeats steps 1-4 for the next LED
- If all LEDs have been updated, move to the next color and start at the first LED again
4.1. Retrieving the keyboard
The first step is retrieving the keyboard. The following code will find the first device of type CTD_Keyboard
. If none is found the current frame is skipped.
4.2. Retrieving the keyboard's LEDs
Before we can assign the keyboard's LEDs new colors, they must be retrieved first. Since retrieving them might take a while the current frame is skipped once again.
4.3. Updating the color of the current LED
Now it's time to assign a color to the current LED. Since each frame updates the LED index we'll be changing a different LED every frame. The color stays the same until all LEDs are updated.
Note
By passing more than one LED update object to window.cue.setLedsColorsAsync
you can update multiple LEDs in a high-performance way.
When you've followed all these steps you should see your keyboard change key-by-key from black to red, from red to green and finally from green to blue.
Tip
The full resulting wallpaper is available at the bottom of this page.
5. Sending a canvas
As an alternative to controlling devices LED-by-LED it's possible to send an entire image to the device in the form of a canvas. There are a few pros and cons to this approach:
Pros
- You can reuse existing canvas draw-code
- If can use JavaScript's canvas API for easy shape drawing
- You don't have to worry about LED positions, it's all taken care of for you
Cons
- The canvas must be very small or performance will take a hit
- You lose the ability to precisely color specific LEDs
- To draw different things to different devices you need multiple canvases (you can reuse them if you want to show the same thing on multiple devices)
To demonstrate canvas drawing we'll once again draw to a keyboard. Keyboards have the most LEDs so we can treat the keyboard like a little display. In this example we'll draw a circle and slide it from left to right, changing its color every time the circle reaches the end of the canvas.
We'll once again set up a render loop like so:
To keep things simple we'll do all the work each frame, this isn't the most optimized solution but works well for this guide.
Each frame our script must run through the following steps:
- Find the keyboard's device ID
- Draw the circle on our canvas
- Convert the canvas to raw image data
- Send the data to iCUE
5.1. Creating a canvas to draw to
A canvas is a DOM element which means it's usually represented in HTML and visible in the browser. In this case however we'll create the canvas in JavaScript before our render loop.
Warning
Note how it's only 25 pixels wide and 6 pixels high. This roughly represents the shape of a keyboard. Larger canvases don't necessarily look better and will cause Wallpaper Engine to use more CPU and RAM.
The code above will create a canvas element and set its width and height.
Tip
When you've finished your wallpaper you can hide your canvas: canvas.style.display = 'none';
.
5.2. Retrieving the keyboard
The first step is retrieving the keyboard. The following code will find the first device of type CTD_Keyboard
. If none is found the current frame is skipped.
5.3. Drawing to the canvas
The canvas we created is a regular HTML canvas and so we can use the JavaScript API to draw to it. There are plenty of resources on the internet about canvases but if you are unfamiliar with the concept, W3Schools is a good place to start.
Inside our render loop we'll draw the circle to the canvas each frame.
Note
In this example we're drawing a black background on our canvas to ensure all LEDs from the previous frame are turned off. Transparent pixels will result in LEDs not being updated.
5.4. Sending the canvas to the keyboard
With our canvas ready and in place it's time to send it to the keyboard. Doing so is a process that requires two steps.
Step 1. Encode the canvas to raw image data
This step turns the canvas into raw image Wallpaper Engine can understand. You can simply copy-paste this function into your code and reuse it whenever you want to convert a canvas.
Step 2. Send the image data to one or more device
The second step is sending the newly converted image data to iCUE.
Note
In this example we're just sending the canvas to the keyboard. You can send a canvas to multiple devices however. The more you reuse your canvas the better performance will be.
When you’ve followed all these steps you should see a circle slide across your keyboard from left to right, changing color each time it starts over.
6. Closing note
Everything we've done in this guide is available in a demo wallpaper you can download below. The JavaScript code in the wallpaper is heavily documented (see main.js
) and will hopefully get you a better understanding of the SDK integration Wallpaper Engine offers.
6.1 Links
- iCUE Documentation (also included in the SDK)