camvas
graphicsynth
//VGA camera feedback operator
Get start! camvas, the latest device in the Graphicsynth family.
New possibilities for making video art with an internal camera.
Let's scroll down to see more In depth camvas now!





//start.begin();
Since a microphone is defined as a capturing frequency device mostly used in an audio synth,
The camera is the same context in the visual synth verse.
Both can perceive frequencies, but sensors are designed to capture different wavelengths at different speeds. OV7670 is a small CMOS image sensor that comes with an 8-bit color natively. Mostly utilized in robotic and home security applications.
The color operated at 3 bits per pixel in the first design to provide an efficient running frame speed. So, I have also conducted some experiments to restore bit color display efficiency, at least pushing out more color than normally 3-bit provided.
// let's see
the pixel is composed of three small things
called “subpixels.” are colored red, green, and blue,
and in most cases, they are placed in order like :
red on the left, green in the middle, and blue
on the right RGB and some packages added white one.
as known as RGBW.
an emit the light following the bit value.
The table represents decoding color to 3-bit value, where the red, green, and blue columns, respectively. So, 3 bits produce 0-7 colors and 0-255 colors at 8 bits, *taking 3 bits for red and green and 2 bits for blue.
It seems like 8 bits are given many colors and comes with a large bit number, which I am curious how subpixels could be mixing out of many colors, even white?
White light is divided by 3 primary emissive colors mixing additively, while otherwise, pigment (like painting color, printer) is mixed differently and subtractively.
In additive mixing. White stands for light, and black is light absence. Which is matches the method of mixing bits of color :)
In A bitwise OR is a binary operation that takes two-bit patterns of equal length and performs the logical inclusive OR operation on each pair of corresponding bits. The result in each position is 0 if both bits are 0, while otherwise,
the result is 1.
For example:
001 (red) OR 100 (blue) = 101 (magenta)
By the way, 3-bit color only produces primary( r | g | b) and
secondary colors( cyan, yellow, magenta) by mixing as is.
.....
But our eyes are made possible to perceive more color by density.
As the first animation phase represents primary colors form into secondary colors by spacing pixels, then secondary to tertiary color is an intermediate color resulting from an even mixture of a primary and a secondary color depending on proportion, i.e., a mixture of the primaries in 4:1: proportion.
I try to make an instant subpixel by forming 8 color pixels for each other to create more color in chunk pixels mixing as tertiary level. along with making a dot using esp32vga
so this is the result before and after.
Raw RGB is on the left, differently with expanding color mixing from pixel space on the right, need required, taking 8-bit data behind. It quite looks like Veridiean blue.
when starting the device; pixels will appear at the center and run completely synchronized with the image sensor. It means the device is ready to play.
Try moving around X | Y stick to control the frame position. and activate scroll is on.
shifting color value and pixel scale are primary functions to create cascading space pixels.
Since the first graphicsynth series was released, analog NTSC has generated color with DAC as well, but it cannot be implemented with bits directly without ADC conversion.
Now camvas head into a VGA system, which provides a significant number of bits to determine each color value directly.
Each 3-bit pixel value is processed in a microsecond and stored as a single block passing through the horizontal line. When a block runs until the end of the last line at the vertical sync black porch, the block continuously processes at the top line again, which is called a frame.




RGB

CMYK



0 | 0 | 1 red
1 | 0 | 0 blue
-------------------
1 | 0 | 1 magenta
8 bit

3 bit





//abstract
*VGA as abbreviate of Video Graphic Array
*OV7670 is a small CMOS image sensor that is commonly used in microcontroller-based projects such as robotics, home automation, and image processing applications.