Feature Requests item #70, was opened at 2007-02-04 23:40 You can respond by visiting: http://foundry.supelec.fr/tracker/?func=detail&atid=164&aid=70&group_id=21 Or by replying to this e-mail entering your response between the following markers: #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ (enter your response here) #+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ Status: Open Priority: 3 Submitted By: Mojca Miklavec (mojca) Assigned to: Nobody (None) Summary: Smooth shading Version: None Category: Typesetting Initial Comment: (Mojca's summary of needed features - I'll try to implemented, but I need to "save" the requirements somewhere before I forget them ;) Description is missing: this list is really taken "out of context". To implement that, the following is needed: - a well-defined metapost interface accepting optional parameters - "dirty" metapost specials and trickery My idea is to split the examples which have to be handled as streams (goraud shading for triangular meshes) and those that can be handled easily: linear & circular shading. I would worry about goraud shading later, since it's really difficult to make a sensible interface for it (unless it's about a single triangle). At least for linear and circular shading I would propose to split the function and the code which generates linear and circular shadings. That way it will be much easier to support what Peter wants (and what I need for the gnuplot terminal) & plotting a rainbow in a single move. (Type 2) For linear shadings we need: - a closed path to which it has to be applied, to calculate the bounding box (for start and stop point), to crop the shading - optional parameter if shading needs to extend over the two boundaries or not (not so important) - optionally provide the start and stop point for shading (default values: depends on angle; shading has to exactly cover the whole path) - optionally provide the angle (default 0) - provide the function or two colors - if two colors are provided, they should be passed to the function in a proper way (Type 3) For circular shadings we need: - a closed path to which the shading has to be applied: I guess that now the shading needs radius of the first circle - optional centers and radii of the two cicles (default values: both center in path center, one radius zero and one to cover the whole path) - optional parameter if shading needs to extend over the two boundaries or not (not so important; default values probably false?) - provide the function or two colors (Type 4) For "Free-Form Gouraud-Shaded Triangle Meshes" we need: - patched Gnuplot 4.3 (http://bugs.libgd.org/?do=details&task_id=39), m-gnuplot.tex and it's documentation ready; all other shadings functions and shadings listed here implemented; then we'll start discussing it For functions we need: * Type 0: sampled - let's worry about it later, I don't understand how to apply it; it can be mimicked with Type 3+Type 2 (although less efficient, but working OK) * Type 2: exponential interpolation - two colors - optional exponent (default 1) * Type 3: stitching (combining multiple functions) - multiple functions - optional bounds between them (default: evenly distributed) Watch out for alpha channel and CMYK! ---------------------------------------------------------------------- You can respond by visiting: http://foundry.supelec.fr/tracker/?func=detail&atid=164&aid=70&group_id=21