官术网_书友最值得收藏!

Working with digital color

We have seen how to specify the window background color and the world light color. For all the 2D and 3D graphics, we can also individually specify the color information with RGB values. The coming example will show us how to specify color for the primitives.

Create an empty patch and save it with name gem004.pd in your folder. Put the gemwin object, create and destroy messages, and the toggle box for rendering. In addition, put a gemhead object with a sphere object.

Between the gemhead and the sphere objects, insert a color object. For color specification, it will be a message of three numbers: red, green, and blue. Clicking on the message will change the color of the sphere:

We can also use another object colorRGB to specify color for the graphical shapes. It requires three (RGB) to four (RGB and alpha) number boxes to specify the color. Remember that each number ranges from 0 to 1. If you press the Shift key and click-and-drag a number box upward or downward, you can alter the number in decimal point, in a step of 0.01:

Color specification is straightforward in GEM. By using color or colorRGB, you alter the default color (white) according to the number values. You can also use both the world_light color and the object color together:

Some color input requires three individual numbers. Some color input requires a message list of three numbers. We can combine them together such that the user interface is consistent, that is, three number boxes:

The new object is pack. It simply packs three numbers together. Note the parameters f f f. Each f represents a floating-point number. The number of f corresponds to the number of inlets of the pack object. In this example, three numbers are packed together to form a list for the right-hand inlet of the color object. Nevertheless, this patch is not perfect. If you play around with the number boxes, you will notice that only the red color box (hot inlet) will send out the color list message. The rest (green, blue) will just store the new values and wait until there is a change in the red number box. If you remember how we handled the synchronization of hot and cold inlets, we make use of the trigger object:

For the green and blue color number boxes, they send out the number to a trigger object, trigger b f. Each trigger box will first send out the number to the corresponding number inlet of the pack object and then send out a bang message to the hot inlet of the pack object to output the color number list to the color object. In this case, changes in the green and blue numbers will also go immediately to the sphere object without waiting.

主站蜘蛛池模板: 同仁县| 含山县| 望都县| 大名县| 岳西县| 洮南市| 克东县| 穆棱市| 明星| 称多县| 海南省| 罗甸县| 南岸区| 郯城县| 托克逊县| 西宁市| 余干县| 乐亭县| 赫章县| 隆回县| 龙游县| 永川市| 昭苏县| 新乡市| 南宫市| 八宿县| 井陉县| 临清市| 饶平县| 钦州市| 潮州市| 晋宁县| 花莲市| 高尔夫| 塔城市| 临夏县| 万全县| 台北市| 永登县| 聂拉木县| 南京市|