/* liblines-plan.txt * Gzz/gfx/liblines * Matti Katila * 2002-12-16T15:48 */ This is a plain plan file. Constructed for clarify things under the topics: -simple line -continuous line -bewels -diceing? Affects: -texture(s) -diceing Ok, let's start with ascii graphic about continuous lines. 1) The problem with continuous lines and quad strip. --------------------- || || A | | | --------------------- | | | | | | | | | | | | | | | | | B | |_____| A one possible solution: -add one quad /--------------------- / | / | A / | ------+-------------------- | | | | | | | | | | | | | | | B | |_____| +Quad Strip Another solution: -interpolation/extrapolation with vertex length. +-------------------------- |\ | \ A | \ | +-------------------- | | | | | | | | | | | | | | | B | |_____| +This might be very fast -Sharp corners might have unwanted features when extrapolation get going and going... Yet another one: -Add slice/sector of circle texture. -bewls would be very pleased with this kind of cornesrs. ,--- +--------------------------------------- :^ | | / sector | of | | circle | _ _ _ + + \ | \ | \ | \ | +--------------------------------- | | | | | | | | | | | | | | | | | | | | | | | | | | | | +Awesome with nice texture (sepra) -Not trivial -Not a quad strip //-------------------------------------------------- 2) How continuous lines affect to bewels? Continuous lines can be used to create bewels. with RGBA texture you can make color-slide from inner to outer. Bewels must know how many textures might be used. How textures' color is made? 1) By setting glColor before drawing with ALPHA texture Extremely must and nice to have :) 2) By different textures - must for inner/outer slide. For example normal button texture? +----------+ |\ * * */| light | | \ * */ | | | +----+ *| 2. | 1. |* | |* | | | *| |#*| --------+--------- |* | |*#| | |* +----+##| 3. | 4. |*/* *#*#\#| | |/* #* ###\| | dark +----------+ Interfaces ---------- constructor(float linewidth); Simple line: -almoust done -Create one instance -set texture -make some lines. -any comments? Continuous lines: -Create an instance -set texture -select a corner behaviour -add points -draw (at least in destructor) -close_chain() can be used to connect last to the first point. Bewels: -simple alpha textured: -inherit from continuous lines -give a color in dark -give shade percent (100% is white) -overide draw method for bewel. -many textures (use as much as possible code from continuous lines) -set textures count -assign textures around(not decided yet from dark->to light or whole circle which has adwantages also) -add points EOF