MADRIX Forum • 8 bit RGB Color using 1 channel
Page 1 of 1

8 bit RGB Color using 1 channel

Posted: Tue May 11, 2010 7:07 am
by snipermand
Im really not sure if it's possible with the current release, but it would be nice with a feature of generating RGB colors using only 1 channel.

bit 7 6 5 4 3 2 1 0
color R R R G G G B B

In this way it is possible to drive upto 512 RGB pixels in one universe.

Regards Peter

Re: 8 bit RGB Color using 1 channel

Posted: Tue May 11, 2010 7:54 am
by Wissmann
Hi snipermand,
.
no actually this is not possible.
I agree in the case it is possible you are able to control 512 RGB pixel but on the other hand did you have an idea about how it looks like?
I mean for blue for example this means only 4 different intensity levels (one out, one full on, two inbetween) and for red and green this are just 8 differnet intensity levels.
In what kind of application did you mean make this sense? (No worry i really interested in your answer).
.
The opinion of other users i really would appreciate as well !!!!

Re: 8 bit RGB Color using 1 channel

Posted: Tue May 11, 2010 8:54 am
by snipermand
Hi,
To display graphics and not pictures, i would think 256 colors would be sufficient.
Please take a look on the different palettes using only 8 bits:
http://www.stevechamberlin.com/cpu/2008 ... tte-setup/
I'm working on a dancefloor of 500 RGB LED's (20 x 25) and it would be nice if i could drive it using only 1 universe.
I understand this would limit me to only 256 colors, but for the purpose of a lighting dancefloor, i think this is sufficient.
A choice of different kinds of 8bit palettes would be nice, but i think the RRRGGGBB palette would be the easiest to incorporate in the software.
Maybe the palette RRGGBBSS would give the best result.
Image

Re: 8 bit RGB Color using 1 channel

Posted: Sun May 30, 2010 9:03 pm
by dieter
Hi snipermand,

why do you not write a macro for your fixture to manipulate dmx values.

I think it's simply when use functions like this:

Code: Select all

GetPixelArea(MATRIX) - get dmx matrix
MATRIX[heigth][width]=R*32+G*4+B -transform data for fixture RRRGGGBB
DrawPixelArea(MATRIX) - write dmx data screen
It's easy to write a macro with madrix.
I think the right place is the main output macro to transform your own dmx values.

Re: 8 bit RGB Color using 1 channel

Posted: Mon May 31, 2010 1:48 am
by dieter
Hi snipermand,

ok the idea is right but the script not so simple I think.
I have tested out to write a script.
I think have a script for your problem, but I can test it without fixture.
My dmx tester say the values are rigth for your fixture in RRRGGGBB mode.

This script have 2 problems thats I have see:
1. the output screen is distorts, but can use preview screens left and rigth
2. the master fader can't be use, must all times set by max value (255)

I have test this macro only with one universe and generic RGB fixture with size 48*32

Here the script:

Code: Select all

@scriptname="video palette fixture";
@author="dieter";
@version="MADRIX 2.8";
@description="main out macro, special for video palette fixture";

int H=0,W=0,R,G,B,C=0;
color MATRIX[][];// data of matrix
color CHANNELS[];// dmx channels
int LEN;// value for length of channels

void InitEffect(){
	W=GetMatrixWidth(); // get current matrix size
	H=GetMatrixHeight();// get current matrix size
	C=GetColorDepth();  // get current color depth
	if(C!=3)// I have only testing with generic RGB fixture
		WriteText("I have not testing with different colordepth not equal 3");
}

void PreRenderEffect(){
}

void PostRenderEffect()
{
	GetPixelArea(MATRIX,0,0,W,H);// get color values of matrix
	for(int w=0;w<W;w++){
		for(int h=0;h<H;h++){
			CHANNELS[h*W+w]=MATRIX[w][h];}} // transform matrix to an array

	// render new DMX value to array, use RGB and build user define DMX value
	LEN= CHANNELS.length;
	for(int i=0;i<LEN;i++){
  		 	 R=CHANNELS[i].r/32;
		 	 G=CHANNELS[i].g/32;
		 	 B=CHANNELS[i].b/64;
			 switch(i%C){// summary RGB to 1 channel color palette
				// switch pallete to single channel
				case 0:CHANNELS[i/C].r=R*32+G*4+B;break;// RRRGGGBB
				case 1:CHANNELS[i/C].g=R*32+G*4+B;break;// RRRGGGBB
				case 2:CHANNELS[i/C].b=R*32+G*4+B;break;// RRRGGGBB
				case 3:CHANNELS[i/C].w=R*32+G*4+B;break;// RRRGGGBB
				}}
	 
	for(int i=LEN/C;i<LEN;i++)// unused channels set to black
		CHANNELS[i]=BLACK;         			

	for(int w=0;w<W;w++){
		for(int h=0;h<H;h++){
			MATRIX[w][h]=CHANNELS[h*W+w];}} // retransform  array to matrix

	DrawPixelArea(MATRIX);// write values back to matrix
}

void MatrixSizeChanged(){
	InitEffect();
}
check it out and get feedback it's running or not

Re: 8 bit RGB Color using 1 channel

Posted: Tue Jun 01, 2010 2:52 pm
by snipermand
Thanks Dieter for your reply.

I will try out your script as soon my fixture is finished.
If you script works then i will only need 1 universe to control my a matrix wall of 32 x 16 pixels and not 3.
I was wondering how do the manage these large walls? are they using controllers with many universes to control many segments.

Thanks again for your effort.

Re: 8 bit RGB Color using 1 channel

Posted: Mon Jun 07, 2010 7:56 am
by VR Lighting
I'd get 2 more NEOS so that you have 3 in total (1per universe), i think it's worth the investment if you really want to take full advantage of the installation.

Re: 8 bit RGB Color using 1 channel

Posted: Sun Jun 13, 2010 5:41 pm
by VR Lighting
or try changing the address so that it wont use more then one universe.