View Issue Details

IDProjectCategoryView StatusLast Update
0005740DarkRadiantMap Editingpublic12.09.2021 04:17
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version2.13.0 
Target Version2.14.0Fixed in Version2.14.0 
Summary0005740: Step-rotating textures through the Surface Inspector should be using the center as pivot
DescriptionWhen changing the rotaiton/angle field in the entity inspector through the left/right arrows in the Surface Inspector, the corresponding commands "TexRotate +1" or "TexRotate -1" should be using the UV center point as rotation pivot. (Right now, hitting the rotate arrows moves the texture by hundreds of units in UV space, unless the face itself is already centered at the world origin.)
TagsNo tags attached.

Activities

greebo

greebo

06.09.2021 04:02

administrator   ~0014334

Current behaviour as attached
rotate_face_textures_old.gif (1,522,684 bytes)
Dragofer

Dragofer

11.09.2021 21:25

developer   ~0014353

If I'm not misremembering, the Flip Horizontal and Flip Vertical actions could use a similar treatment because they mirror across the axis at the origin - so they, too, have the potential to catapult a UV island to the other end of the Texture Tool.
greebo

greebo

12.09.2021 04:17

administrator   ~0014355

Yeah, I know, they are already on my mental list. Lots of work on the road ahead.

Related Changesets

DarkRadiant: textransform a29bd814

2021-09-05 19:12:56

greebo

Details Diff
0005740: New experimental brush face texture rotation implementation, which rotates the texture using the UV centroid as pivot.
Lots of code to be refactored, and it appears we don't have a 3x3 Matrix type.
Affected Issues
0005740
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/TextureProjection.cpp Diff File
mod - radiantcore/brush/TextureProjection.h Diff File

DarkRadiant: textransform 1368551a

2021-09-06 16:04:57

greebo

Details Diff
0005740: Refactoring. Introduce Matrix3, the little sister of Matrix4. Affected Issues
0005740
add - libs/math/Matrix3.h Diff File
mod - libs/math/Matrix4.h Diff File
add - libs/math/eigen.h Diff File
mod - test/Brush.cpp Diff File
mod - test/math/Matrix4.cpp Diff File
mod - tools/msvc/mathlib.vcxproj Diff File
mod - tools/msvc/mathlib.vcxproj.filters Diff File

DarkRadiant: textransform c6a8881e

2021-09-06 16:16:15

greebo

Details Diff
0005740: Set up unit test suite Affected Issues
0005740
mod - libs/math/Matrix3.h Diff File
add - test/math/Matrix3.cpp Diff File
mod - tools/msvc/Tests/Tests.vcxproj Diff File
mod - tools/msvc/Tests/Tests.vcxproj.filters Diff File

DarkRadiant: textransform b4fda762

2021-09-06 16:26:46

greebo

Details Diff
0005740: Port a few unit tests from the Matrix4 suite, as far as the class provides it Affected Issues
0005740
mod - libs/math/Matrix3.h Diff File
mod - test/CMakeLists.txt Diff File
mod - test/math/Matrix3.cpp Diff File

DarkRadiant: textransform 06c12ad3

2021-09-06 17:20:08

greebo

Details Diff
0005740: Matrix3 transformations Affected Issues
0005740
mod - libs/math/Matrix3.h Diff File
mod - test/math/Matrix3.cpp Diff File

DarkRadiant: textransform 330f1249

2021-09-08 04:34:09

greebo

Details Diff
0005740: Add a few test cases rotating some face texdefs on an angled brush. Affected Issues
0005740
mod - test/Brush.cpp Diff File
mod - test/algorithm/Primitives.h Diff File
add - test/resources/tdm/maps/simple_brushes.map Diff File

DarkRadiant: textransform 97156f2d

2021-09-08 18:12:03

greebo

Details Diff
0005740: Add named Matrix3 constructors for the simple transform types Affected Issues
0005740
mod - libs/math/Matrix3.h Diff File
mod - test/math/Matrix3.cpp Diff File

DarkRadiant: textransform c6c01ead

2021-09-08 18:58:06

greebo

Details Diff
0005740: Refactor Face::rotateTexdef to use the new Matrix3 class instead of custom Eigen Affected Issues
0005740
mod - radiantcore/brush/Face.cpp Diff File

DarkRadiant: textransform 78747549

2021-09-08 19:44:12

greebo

Details Diff
0005740: Rearrangement, introduce Face::setTexDefFromPoints which does the reverse calculation Affected Issues
0005740
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/Face.h Diff File

DarkRadiant: master 447e282f

2021-09-09 14:17:22

greebo

Details Diff
0005740: Add missing inline qualifiers Affected Issues
0005740
mod - libs/math/Matrix3.h Diff File

DarkRadiant: master 2cc2f897

2021-09-09 14:18:50

greebo

Details Diff
0005740: Remove the old texture rotation code which was based on the fake textdef.
Add some comments about the 2x3 matrix texture projection in general.
Affected Issues
0005740
mod - radiantcore/brush/Face.cpp Diff File
mod - radiantcore/brush/TextureMatrix.cpp Diff File
mod - radiantcore/brush/TextureMatrix.h Diff File
mod - radiantcore/brush/TextureProjection.cpp Diff File
mod - radiantcore/brush/TextureProjection.h Diff File

Issue History

Date Modified Username Field Change
06.09.2021 03:55 greebo New Issue
06.09.2021 03:56 greebo Assigned To => greebo
06.09.2021 03:56 greebo Status new => assigned
06.09.2021 04:02 greebo Note Added: 0014334
06.09.2021 04:02 greebo File Added: rotate_face_textures_old.gif
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform a29bd814
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform 1368551a
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform c6a8881e
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform b4fda762
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform 06c12ad3
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform 330f1249
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform 97156f2d
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform c6c01ead
08.09.2021 19:44 greebo Changeset attached => DarkRadiant textransform 78747549
09.09.2021 17:21 greebo Changeset attached => DarkRadiant master 447e282f
09.09.2021 17:21 greebo Changeset attached => DarkRadiant master 2cc2f897
09.09.2021 17:26 greebo Target Version => 2.14.0
09.09.2021 17:26 greebo Status assigned => resolved
09.09.2021 17:26 greebo Resolution open => fixed
09.09.2021 17:26 greebo Fixed in Version => 2.14.0
11.09.2021 21:25 Dragofer Note Added: 0014353
12.09.2021 04:17 greebo Note Added: 0014355