October 21, 2003, 07:28 (GMT) |
Made pupmenu() separators consistent with pulldowns TODO: same for popup menu buttons |
October 21, 2003, 07:02 (GMT) |
Added a function to shade alpha as well as colour |
October 21, 2003, 07:02 (GMT) |
- Lots of tweaks to interface colours, shading, etc. - Fixed alignment/width of menus Still needs more work. |
Revision ff89dac by Ton Roosendaal October 20, 2003, 23:20 (GMT) |
- fixed drawmode 'wire extra'. it was using some unsupported linewidth trick... I've been trying to get the official glPolygonOffset to working, but my silly Mac doesnt support it, it seems. So! I thought of another trick, and that's just moving the window matrix a little to the front. :) - for those interested; the code for glPolygonOffset is still there, commented out. (drawobject.c) - btw: the drawobject.c routines are a TOTAL mess! |
Revision 7893cc2 by Ton Roosendaal October 20, 2003, 21:58 (GMT) |
- added new drawing type for subsurf editing. Is called 'Optimal' and can be found under the 'SubSurf' button. Optimal drawing only shows the subdivided original edges. Quite nice! And; it's a load faster! - to evaluate: do we want this in editmode too? |
Revision fd3be2e by Simon Clitherow October 20, 2003, 20:12 (GMT) |
added sequence editor pull-down menus. TODO: fix "Enter/Exit Meta Strip" to work correctly for nested meta strips. |
Revision bac66d0 by Willian Padovani Germano October 20, 2003, 18:57 (GMT) |
Exppython: small changes in NMesh internals and docs |
Revision 824c9e9 by Ton Roosendaal October 20, 2003, 18:15 (GMT) |
- fixed correct themecolor for popup menus |
Revision 382d802 by Ton Roosendaal October 20, 2003, 17:46 (GMT) |
- made a template function for editmesh enthusiasts. - goes in a loop, - draws current window - sets view transform to correct matrix - you can draw stuff - swapbuffers - event queue test to escape Test: CTRL+R in editmode. Right now it hilites the closest edge to to mouse cursor, just for fun! Goofster will use it for the loop-cutter tool later. But the template will remain there, commented out, for others to play with. |
Revision 1acf0e4 by Roel Spruit October 20, 2003, 15:57 (GMT) |
added interface_draw.c to msvc 6.0 projectfile |
Revision 7f5d06d by Ton Roosendaal October 20, 2003, 15:40 (GMT) |
Another mega commit... loadsof restructure, and a pretty good one! :) - changed the BIF_DrawString() function. it used to work different for AA fonts as for default fonts. Now it's identical. Setting color for fonts can just be done with OpenGL, for both font types. Removed: BIF_DrawStringRGB() - added theme color options for Buttons - recoded DefButton, so it automatically chooses the right color. - had to remove a 1000 uiBlockSetCol() calls for that reason... - uiBlockSetCol() still works, to override automatic color - removed entirely the silly old color system (BIFColorID). All color calls can now be done with a BIF_ThemeColor() call, including fonts and buttons and opengl stuff - all buttons in button header have headercolor by default - recoded drawing icons, it was a really bad & old loop doing manually colorshading and blending... which was per pixel a load of code! Now it uses a single OpenGL call to blend or colorize. Quite faster! - (as test, for review) icons don't colorize anymore with button color, but have a different alpha to blend in (when not active) - recoded the entire interface_draw.c file...: - drawing buttons is separated in three parts: 1. main drawing function for text and icons 2. free definable callback for button itself 3. free definable callback for slider - removed a load of redundant code for this! - coded a minimal theme, and adjusted Matt's buttons to match new callback system - adding new drawing themes is piece of cake now - for coders, default 'themes' to be aware of: UI_EMBOSS : the themable drawing style UI_EMBOSSP: the pulldown menu system (apart from color not themable) UI_EMBOSSN: draw nothing, only text and/or icon UI_EMBOSSM: minimal theme, still in use for Logic and Constraintsa this can be set with uiBlockSetEmboss(block) or in the uiNewBlock() call. TODO: make UI API call for button alignment (plus removed another series of warnings from code...) Plus: fixed bug in Matts commit: he used a 'short' button for an 'int' |
October 20, 2003, 04:05 (GMT) |
- Added nicer, smoother tooltip drawing |
October 20, 2003, 03:33 (GMT) |
- Cleaned, compacted the 3D View header - Cleaned, compacted and slightly re-arranged 3D View edit menus - Added Undo and Knife Subdivide to 3D View menus - Added undo_push_mesh to a couple of menu entries to make them work properly with undo |
October 20, 2003, 02:19 (GMT) |
Added void selectall_type(short obtype); void selectall_layer(int layernum); |
October 20, 2003, 02:19 (GMT) |
Object selection from tuhopuu2: Select All by Type / Select All by Layer User info: Found in (object mode) 3D View header menu > Select > Select All by Type selects all objects on visible layers of a certain type Select All by Layer selects all objects on a certain layer (visible / invisible) These used together are useful for managing a complex scene, for example quickly selecting all the lamps and moving them to a separate layer, or selecting the contents of a layer without having to disrupt the view configuration of visible/invisible layers. Coder Info: Added two functions in editview.c void selectall_type(short obtype); void selectall_layer(int layernum); I committed both of these together since the code/changes are both very similar. |
Revision 052b909 by Robert Wenzlaff October 20, 2003, 00:46 (GMT) |
Knifetool bugfix: The call to headerprint left GL environment in wrong state to draw knife line in all but top view. Moved persp() call to after headerprint(). |
Revision 1478957 by Robert Wenzlaff October 19, 2003, 21:47 (GMT) |
Dynamic Face/Vert/Halo/Lamp tables: User Info: Hard coded limits on the total number of face, verts, halos, and lamps is gone. Blender now allocates the tables for these on an as needed basis. As long as your system can come up with the memory, you won't run out. As a bonus, it also uses slightly less memory on smaller scenes. Coder info: This has been in tuhopuu for a while, but I don't know how hard it has been tested. Since it now allocates only an initial 1024 tables (of 256 verts/faces/halos each), it seems like it has been put through it's paces. Lamps are allocated one at a time, and I start with 256. I rendered 2.5M Faces/Verts/Halos. 4444 lamps. None the less, I left a few printf's in the realocation to hunt bugs. I'll take them out just before the release freeze. Also, be on the lookout for other "sanity checks" that assume a limited number of the above items. I think I got them all, but you never know. |
Revision 7ac2731 by Robert Wenzlaff October 19, 2003, 21:08 (GMT) |
Unified renderer OSA sample clipping: User info: This change limits the contribution of any OSA sample to 1.0 per color in the Unified renderer. Because color=1.0 gives fully saturated color, samples contributing more than 1.0 were overweighted in the OSA average causing aliasing (sometimes quite severe). Samples can contribute more than 1.0 because a material's spec and refl values are not normalized (In real world spec+refl <= 1.0). This solves a large class of aliasing problems in the unified renderer. Coder Info: None. |
Revision d5322a6 by Robert Wenzlaff October 19, 2003, 20:52 (GMT) |
Editmesh Undo: User Info: Pressing UKey in mesh edit mode now undoes only last step. Undo can save upto 64 steps of undo info. This is configurable under User Prefs-> Edit Methods. The default is 32. High numbers of undo steps use a lot of memory, since each step stores a copy of the mesh. Shift-U redoes the last undone step (Undoes the undo.) Alt-U brings up a menu of possible steps that can be undone. Selecting an item on the list undoes that item plus all items before it on the list. The top selection "Undo All" is identical to the old Ukey. It undoes all editing since entering Editmode, even if all regular undo steps are used up. Undo info is only saved for one object at a time. You can leave and re- enter editmode for the same object, and all undo steps for that object are preserved. Undo info for an object is lost once a different object is edited. Coder Info: In order for undo to work, a checkpoint save has to be made. This is done with a call to undo_push_mesh("name of step"). This should be done after the last quick abort for a function (typ. the "if (G.obedit==0) return;", or similar). the undo_push_mesh() does alter some flags, so don't try to be too tricky and call undo_push_mesh() too late. The step name is what shows up in the undo_menu. The name "U" is reserved. |
Revision de64d21 by Robert Wenzlaff October 19, 2003, 19:50 (GMT) |
Adding Knife tool as to be released in 2.3 User Info: To use this tool, select a group of verts, it can be larger than the desired cut as explained below. Then hit Shift-K. The tool will prompt for cut type (Exact line or Edge centers), Select, then use LMB to draw a "cut-line". Holding down LMB causes a freehand draw, clicking LMB causes a polyline draw. MMB locks the axis. When done press enter to divide mesh on cut line. Subdivide routines have been modified to produce fewer triangles as part of this tool. Edge Centers preserves UV info, Exact Line does not (it will be there, just slightly distorted). Since the cut line exists in 2D space, and does not make a persistant selection that can be modified in another 3D view, the knife selection is the AND of the vertex selection and the knife line, ie; the edge will be subdivided only if both verts are selected, and the knife line crosses the edge. Select your verts first, but you don't have to be overly precise. If you want to cut a few faces on the front of a sphere, you can select the whole front of the sphere, then knife the faces you want. Coder Info: KnifeSubdivide is called with 1 of 3 modes. KNIFE_PROMPT, KNIFE_EXACT, KNIFE_MIDPOINTS. The hotkey calls KNIFE_PROMPT. When adding to a menu or button, explicitly call out the mode. Part of the tool provides get_mouse_trail() that returns a CutCurve struct that defines a knife line. There are modes defined, but currently they are not implimented. Another part of this tool defines new behaviour for subdivideflag(). Setting beauty param to B_KNIFE tells subdivideflag() that the edges are preselected ans to skip the vert check. Also setting B_PERCENTSUB tells subdivideflag() to divide the edge at a percentage of the distance from eed->v1 to eed->v2. This percentage is passed in the eed->f1 flag as a short (ie, setting eed->f1 to 16384 cuts the edge half-way). |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021