Set RGB565+Alpha: ByName, Reading from Targeted JSON Pointer
using Targeted JSON Pointer..
DX9 Compatible Shader Needed
ASTER::ACTION::ObjectControl::Set RGB565 + Alpha Coefficient; ByName, using Targeted JSON Pointer
Changing the RGBA values of an instance targeting a motion group already registered in the controller.
- JSON and JSON Target Path (Targeted JSON Pointer) settings are required for passing values.

The graphics mode of the application is set to 16 Million colors (24-bit color).
There is another command that only changes the Alpha (transparency) value without changing the RGB values.
RGB565 Format
Based on the CF25 specification, the RGB values are set in
RGB565 Format
(16-Bit RGB).
Alpha is 8 bits, so the final RGBA value fits into a 32-bit unsigned integer (DWORD
).
Color | Bit | Max Colour Depth |
---|---|---|
Red (R) | 5 bit | 2^5 - 1 = 31 levels |
Green (G) | 6 bit | 2^6 - 1 = 63 levels |
Blue (B) | 5 bit | 2^5 - 1 = 31 levels |
Alpha (A) | 8 bit | 2^8 - 1 = 255 levels |
The table above calculates the maximum value for each RGBA color channel.
Generally, human eyes can distinguish green more accurately than red or blue. Therefore, allocating more bits to green improves color rendering accuracy.
RGB565 does not inherently include Alpha, so Alpha is calculated separately at 8 bits.
Specification Limitation
The maximum value for RGB565 + Alpha is 0xFF1F3F1F
(which is 4,278,257,167
in decimal), so it fits within the upper limit of a DWORD (32-bit unsigned int). However, it exceeds the range of a 32-bit Signed int handled by CF25 (-2,147,483,648
to 2,147,483,647
). Therefore, RGBA values cannot be sent directly to the extension from CF25’s Expression Editor.
To solve this issue, bypass CF25’s expression and directly pass the RGBA values specified by the Targeted JSON Pointer to ASTER.
Data Types That Can Be Sent
RGBA values can be specified using numbers stored in JSON, stringified HEX (hexadecimal) values, or arrays that meet the reading format specifications.
Types | Specifications | Example Values |
---|---|---|
unsigned int | DWORD | 6619104 |
HEX | String | "0x64FFE0" |
Array | 1D-Array | [255,255,0,100] |
{
"colour": {
"rgba": 6619104,
"hex": "0x64FFE0",
"arr": [255,255,0,100],
"RGB565_255_254_000_000": 65472,
"RGB565_255_255_255_255": 65535,
"RGB565_255_255_000_100": 6619104,
"RGB565_255_000_000_100": 6617088,
"hex_6617088": "0x64F800"
}
}
ASTER will automatically determine and process the method of value conversion based on the data type being read.
No security measures have been implemented, so if an invalid value is inputted, the application will crash with a critical error.
Arrays are written in RGBA8888 format and include a downscaling process to RGB565 after sending, making it the most intensive process.
Parameter
Specification of the motion group name.
If there are two or more registered motion groups, you can set the parameter for the corresponding group by specifying the group name.
Parameter Example | Description |
---|---|
"ExMotion1" |
Setting the parameter for a specified group name. |
"" |
Send an empty string, targeting all registered motion groups. |
If you send an empty string without specifying the group name, all currently registered motion groups will be targeted.