Garux
a0a47640b0
* new rendering system for volatile text
...
(symbols rendered to atlas texture)
deliver position via glRasterPos + glGet GL_CURRENT_RASTER_POSITION to avoid adding calculations of screen coords in many spots
solves problem: pango 1.44 switch freetype->harfbuzz = bitmap fonts aren't available, in particular no gdk_gl_font_use_pango_font()
text is rendered from font bottom (was from baseline)(latter is wanted less often)
wgl bitmap<->pango sizes do not match, thus realign all text positions, increase default font size
make 2D axes labels, view type text, sizing info adaptive to font size
#24
fixes #42
2020-05-14 07:51:34 +03:00
Garux
5fb3d587a4
use std::next instead of std::advance
2020-03-19 03:07:19 +03:00
Garux
7acdf92d50
* QE tool mouse move: highlight PlaneSelectables with alt/ctrl+alt, components in component modes
...
improve bestPlaneIndirect pickup (resolve, when corner is closest)
support 2d in class DragPlanes::bestPlaneIndirect
2020-03-19 00:00:28 +03:00
Garux
380d5547c5
use GlobalSelectionSystem().foreachSelected instead of GlobalSceneGraph().traverse in alt+m1 PlaneSelectable pickup
2020-03-09 06:34:28 +03:00
Garux
e7b8e36db6
* DragExtrudeFaces: process with selected faces only, i.e. w/o objects selection
2020-03-09 05:53:14 +03:00
Garux
6e88e7b746
* DragExtrudeFaces: diagonal extruded brushes joints if extruding multiple faces per brush
2020-03-08 17:23:02 +03:00
Thomas Debesse
9f29864f50
lessen code duplication
2020-03-03 02:24:36 +03:00
Thomas Debesse
66e6781c9b
use Instance_isSelected() function
2020-03-03 02:00:15 +03:00
Thomas Debesse
1acf0bb221
* alt + m1 2D view face vertex manipulator: use 'faces on the only best plane' pickup strategy
2020-03-03 01:57:56 +03:00
Garux
53676dcf31
* csg tool: +faces face specification mode (only process selected faces)
...
* csg tool: also process unselected brushes with selected faces
2020-02-24 21:43:27 +03:00
Thomas Debesse
07a06b5b89
* ctrl + alt + m1: extrude pointed faces of selected brushes and selected faces inside/outside
...
* improve alt + m1 resizing camera for slanted faces
2020-02-22 04:14:45 +03:00
Garux
2426697f65
UV Tool: add patch support
...
patch controls move modifiers: shift = only move along the axis with the biggest move, ctrl = snap hard to grid and povit lines
fix a couple of Patch::Calculate_AvgNormal() and Patch::NaturalTexture() problems
2019-06-10 15:17:57 +03:00
Garux
684187c4ec
fix clipping whole brush by clipper after 3ce07bb310
...
fix rotate manipulator selection after aa99f4d254
2019-06-01 19:25:01 +03:00
Garux
aa99f4d254
* UV Tool (edit texture alignment of selected face) modifiers:
...
pivot control point and lines: ctrl = snap hard to face vertices and grid
grid density controls: shift = change density of both axes synchronously, ctrl = power of two grid
scale lines: shift = scale axes synchronously, ctrl = snap hard to vertices
alt + m1 on grid = skew texture (is possible alright in BP and Valve220 map formats, not in AP); ctrl = snap hard to edges
texture move: shift = only move along the axis with the biggest move, ctrl = snap grid lines hard to vertices and pivot
rotate: shift = rotate with step of 15 degrees, ctrl = snap hard to edges
2019-05-19 10:30:44 +03:00
Garux
3ce07bb310
change points order in plane3_for_points( const BasicVector3<Element>& p0, const BasicVector3<Element>& p1, const BasicVector3<Element>& p2 )
...
to be consistent over the related code
to omit points swap there and there
2019-05-01 12:38:58 +03:00
Garux
71c63fbdc6
* fix alt + m1 indirect faces picking, when object is partially or fully out of camera view
...
refactor math functions
2019-04-28 20:54:29 +03:00
Garux
1628abfd0f
calm down -Wdelete-non-virtual-dtor warnings
...
remove -Wno-non-virtual-dtor from makefile (what does it do anyway? -Wdelete-non-virtual-dtor is part of -Wall)
2019-02-26 19:08:47 +03:00
Garux
07d3008b96
calm down fall through warnings
2019-02-22 23:50:10 +03:00
Garux
74a3da969c
* ctrl + r: clone stuff and repeat recent transforms; clipper tool toggle resets transforms stack
2019-01-18 15:00:06 +03:00
Garux
bcbbde0b35
remove debug prints
2018-12-13 19:31:23 +03:00
Garux
9eff327c70
refactor brush transform evaluation code to reduce amount of unneeded evaluations to 0
...
improvable: don't evaluateBRep on shader changed, perhaps more
fix: brush vertex manip: no vertexModeFree() after identity transform (mouse forth and back / rotate dialog 0 / insertion w/o move) = selects vertices on undo
fix: brush vertex manip: tex vertex lock: broken for 220
use brush::vertexmode code to delete selected brush components
2018-12-13 19:13:26 +03:00
Garux
868ff8fe50
* insert brush vertices in vertex mode by clicking with no ones selected
2018-12-11 13:19:07 +03:00
Garux
9a2886e624
add build tool skeleton; does nothing, button is hidden
2018-12-10 23:01:09 +03:00
Garux
1ae93ef20c
also merge clipper points on CSGWrapMerge command
2018-11-15 01:02:37 +03:00
Garux
29998d8e8f
* improve rotation manipulations consistency in camera
2018-10-31 11:23:08 +03:00
Garux
c49be81280
use TranslateFreeXY_Z in 2d in DragManipulator & ClipManipulator
2018-10-30 13:29:12 +03:00
Garux
8508ee720e
* XY + Z style of transform manipulator translations
2018-10-30 12:31:04 +03:00
Garux
74f2f5a5b4
* improve skew manipulation consistency in camera
2018-10-30 11:32:32 +03:00
Garux
b6fd6e803f
* 3d camera clipper: move points in XY + Z style with shift, ctrl, alt; snap to grid with ctrl
2018-10-30 01:04:34 +03:00
Garux
053df17a35
binds... * clipper::enter, shift+enter, doubleclick: merge brushes and components with clipper points, if no cut occured
2018-10-22 13:58:36 +03:00
Garux
2a3ca3a44f
binds... * alt + m2 in camera: orbit around clicked point
2018-10-07 02:20:29 +03:00
Garux
9c91f4fa78
binds... * alt + m1 in camera: new resizing mode for brushes, curves and doom3 lights with direct and indirect selection methods
2018-10-06 02:31:05 +03:00
Garux
afdf2a76e0
make Scene_BoundsSelected lazily evaluatable
2018-08-19 16:40:48 +03:00
Garux
3706e1131a
binds...
...
* m3: copy texture name, alignment +new: color, light power, color
* alt + m3/drag: paste texture name (to pointed and selected stuff)
* shift + m3/drag: paste texture name, alignment +new: light power
* ctrl + m3/drag: paste texture seamlessly between brush faces +new: light color
* ctrl + shift + m3/drag: project texture from copied brush face +new: paste light power, color
* alt + ctrl/shift/ctrl+shift + m3/drag: respective texture alignment paste w/o texture name
fix void NormalizeColor( Vector3& color )
fix: reset texture clipboard texdef on selection in texbro (was only resetting scales)
2018-08-11 23:36:50 +03:00
Garux
7908a2b593
simplify TextureBrowser_GetSelectedShader, TextureBrowser_SetSelectedShader usage
...
assuming, that we have only TextureBrowser
2018-08-03 17:32:57 +03:00
Garux
94e01fdb0a
camera 2 points clipper: use likely more worthy split plane, if current axial one does not intersect selection bounds
2018-08-02 09:42:29 +03:00
Garux
5c48131eba
* rectangular selector gestures, enabling select, deselect and toggle behaviors
2018-07-23 16:25:32 +03:00
Garux
d6389acf21
fix TranslateFreeXY_Z usage for entities with non identity origin
2018-06-30 12:40:29 +03:00
Garux
ed151906bd
* bindable commands EntityMovePrimitivesToLast, EntityMovePrimitivesToFirst, EntityUngroup, EntityUngroupPrimitives
2018-06-24 21:25:53 +03:00
Garux
9f6a467e1e
* handle degenerate cases of 2 points clipper in camera (points on the line of view direction)
2018-06-17 17:05:58 +03:00
Garux
5a78874f9b
* selector size: bump default 8->12
...
clipper's one = user preference + 4
hardcode for pivoted manipulators to 8 (since their size is constant)
2018-06-10 23:37:45 +03:00
Garux
78c97a6625
* disable clipper cut action on doubleclick, if click has set second point
2018-06-10 01:44:01 +03:00
Garux
f51000c0d0
3d cam: DragNewBrush: improve big grid handling
2018-06-08 21:30:38 +03:00
Garux
2f38cfb4a3
* default (QE) tool: new translation styles: "XY plane + Z with Alt", "View plane + Forward with Alt" (prefs->Selection->Move style in 3D)
2018-06-04 19:22:07 +03:00
Garux
c0b6f2169a
* statusbar: show selected brushes/patches/entities counts, if anything is selected; total, if not
2018-06-01 02:23:07 +03:00
Garux
6f8a0668a3
add and use VolumeTest/View.getViewDir()
2018-05-18 01:55:20 +03:00
Garux
e1bc4a8ba9
fix quaternion_for_unit_vectors, quaternion_normalised
...
RotateFree got lower (realistic) sensitivity
2018-05-16 02:59:18 +03:00
Garux
a18a5d7c9b
* snap Clipper points to brush planes, edges and vertices (in 3d camera)
2018-05-15 02:43:10 +03:00
Garux
813cd70fd3
add vector3_max_abs_component_index, vector3_min_abs_component_index functions
2018-05-14 22:35:31 +03:00
Garux
05ea23c623
reimplement: * m1x2 on clipper point = do clip
2018-05-11 18:01:10 +03:00