View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005773 | DarkRadiant | Map Editing | public | 08.10.2021 07:52 | 02.04.2022 05:56 |
Reporter | greebo | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 2.13.0 | ||||
Target Version | 2.14.0 | Fixed in Version | 2.14.0 | ||
Summary | 0005773: Improve Texture Locked brush transformations | ||||
Description | When transforming brush faces (translations, rotations, etc.) the texture coordinates tend to be shot into the far ends of the UV space (see issue 0005547). Ideally, the texture lock transformation should not change the UV coordinates at all. | ||||
Tags | No tags attached. | ||||
DarkRadiant: master 36d5e160 2021-10-08 09:09:49 Details Diff |
0005773: After undo/redo the windings need to be updated otherwise the texture tool will render outdated coords |
Affected Issues 0005773 |
|
mod - radiantcore/brush/BrushNode.cpp | Diff File | ||
mod - radiantcore/brush/BrushNode.h | Diff File | ||
DarkRadiant: master cd6f156d 2021-10-08 18:11:59 Details Diff |
0005773: Change IFace interface to return a Matrix3 instance instead of Matrix4 for the texture projection (which has only 6 nontrivial components anyway). |
Affected Issues 0005773 |
|
mod - include/ibrush.h | Diff File | ||
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/Face.h | 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 | ||
mod - test/Brush.cpp | Diff File | ||
mod - test/TextureManipulation.cpp | Diff File | ||
DarkRadiant: master e4657b73 2021-10-08 18:18:56 Details Diff |
0005773: Privatise the TextureProjection::setTransform method accepting a Matrix4, it's only used internally. |
Affected Issues 0005773 |
|
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
DarkRadiant: master 34b70657 2021-10-08 18:33:12 Details Diff |
0005773: Add a unit test checking the generated XML code of a defined exported brush. It's a very specific test using a verbatim string. If this test breaks a lot, it needs to be improved to check specific properties of the generated XML tags. |
Affected Issues 0005773 |
|
mod - test/MapExport.cpp | Diff File | ||
DarkRadiant: master a4a47664 2021-10-08 18:43:57 Details Diff |
0005773: About to change the brush exporter code to use IFace::getProjectionMatrix() instead of getTexDefMatrix() |
Affected Issues 0005773 |
|
mod - include/ibrush.h | Diff File | ||
mod - libs/math/Matrix3.h | Diff File | ||
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/Face.h | Diff File | ||
DarkRadiant: master 2e09e486 2021-10-08 18:57:30 Details Diff |
0005773: Refactor the primitive exporters to use the IFace::getProjectionMatrix() method which delivers a 3x3 matrix |
Affected Issues 0005773 |
|
mod - libs/texturelib.h | Diff File | ||
mod - radiantcore/map/format/portable/PortableMapWriter.cpp | Diff File | ||
mod - radiantcore/map/format/primitivewriters/BrushDef3Exporter.h | Diff File | ||
mod - radiantcore/map/format/primitivewriters/BrushDefExporter.h | Diff File | ||
mod - radiantcore/map/format/primitivewriters/LegacyBrushDefExporter.h | Diff File | ||
DarkRadiant: master 8e9b2d5f 2021-10-08 19:04:37 Details Diff |
0005773: Remove IFace::getTexDefMatrix(), is superseded by IFace::getProjectionMatrix() |
Affected Issues 0005773 |
|
mod - include/ibrush.h | Diff File | ||
mod - radiantcore/brush/BrushNode.cpp | Diff File | ||
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/Face.h | Diff File | ||
DarkRadiant: master 8f381f0f 2021-10-09 04:28:21 Details Diff |
0005773: Refactoring, privatise the TextureMatrix member in TextureProjection. The Face class is an exception and still accesses the field directly. |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
DarkRadiant: master 0e09a990 2021-10-09 04:41:13 Details Diff |
0005773: Replace friend declaration with two accessors to the internal TextureMatrix instance |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
DarkRadiant: master 1c308bf7 2021-10-09 04:59:09 Details Diff |
0005773: Change IBrush::addFace interface to accept a 3x3 matrix as texture projection instead of Matrix4. |
Affected Issues 0005773 |
|
mod - include/ibrush.h | Diff File | ||
mod - libs/texturelib.h | Diff File | ||
mod - radiantcore/brush/Brush.cpp | Diff File | ||
mod - radiantcore/brush/Brush.h | Diff File | ||
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/Face.h | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
mod - radiantcore/map/format/portable/PortableMapReader.cpp | Diff File | ||
mod - radiantcore/map/format/primitiveparsers/BrushDef.cpp | Diff File | ||
mod - radiantcore/map/format/primitiveparsers/BrushDef.h | Diff File | ||
mod - radiantcore/map/format/primitiveparsers/BrushDef3.cpp | Diff File | ||
DarkRadiant: master 6e0af0ec 2021-10-09 05:18:52 Details Diff |
0005773: TextureMatrix no longer exposes the 6 doubles it holds |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/TexDef.h | Diff File | ||
mod - radiantcore/brush/TextureMatrix.cpp | Diff File | ||
mod - radiantcore/brush/TextureMatrix.h | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
DarkRadiant: master cc23e5f2 2021-10-09 05:23:35 Details Diff |
0005773: TextureMatrix no longer references Matrix4 |
Affected Issues 0005773 |
|
mod - radiantcore/brush/TextureMatrix.cpp | Diff File | ||
mod - radiantcore/brush/TextureMatrix.h | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
DarkRadiant: master e76916e3 2021-10-09 06:21:21 Details Diff |
0005773: Remove unused TexDef::getTransform() which was *almost* the same as the code in the TextureMatrix(const TexDef& texdef) constructor. |
Affected Issues 0005773 |
|
mod - radiantcore/brush/TexDef.cpp | Diff File | ||
mod - radiantcore/brush/TexDef.h | Diff File | ||
mod - radiantcore/brush/TextureMatrix.cpp | Diff File | ||
mod - radiantcore/brush/TextureMatrix.h | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
DarkRadiant: master 4b5bcfce 2021-10-09 06:38:00 Details Diff |
0005773: Refactoring TexDef to maintain an actual ShiftScaleRotate structure as private member instead of the separate fields which are mapped all over the place. TextureMatrix no longer refers to TexDef, instead it can operate on the lower-level ShiftScaleRotation structure. |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/TexDef.cpp | Diff File | ||
mod - radiantcore/brush/TexDef.h | 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 | ||
DarkRadiant: master 7857cfab 2021-10-09 06:44:39 Details Diff |
0005773: Remove TexDef adapter methods - the client code in Face::setTexdef is no longer used either |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/Face.h | Diff File | ||
mod - radiantcore/brush/TexDef.cpp | Diff File | ||
mod - radiantcore/brush/TexDef.h | Diff File | ||
DarkRadiant: master 13a60a10 2021-10-09 06:57:55 Details Diff |
0005773: Remove the entire TexDef class. Turns out it's no longer used by anything. |
Affected Issues 0005773 |
|
mod - radiantcore/CMakeLists.txt | Diff File | ||
mod - radiantcore/brush/BrushModule.h | Diff File | ||
mod - radiantcore/brush/BrushNode.h | Diff File | ||
rm - radiantcore/brush/TexDef.cpp | Diff File | ||
rm - radiantcore/brush/TexDef.h | Diff File | ||
mod - radiantcore/map/RegionManager.cpp | Diff File | ||
mod - radiantcore/patch/Patch.h | Diff File | ||
mod - radiantcore/selection/algorithm/Shader.h | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: master 35be7172 2021-10-09 07:08:18 Details Diff |
0005773: Add copy constructors and assignment operators to TextureMatrix and TextureProjection. TextureProjection::Default() is now private. |
Affected Issues 0005773 |
|
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 | ||
DarkRadiant: master d1ce07ff 2021-10-09 07:18:54 Details Diff |
0005773: Add complement TextureProjection::getShiftScaleRotation(), to avoid having to access the inner TextureMatrix. |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
DarkRadiant: master c4a89cfe 2021-10-09 07:30:04 Details Diff |
0005773: Add dedicated TextureProjection constructor to create a projection that matches the default texture scale for the given image. |
Affected Issues 0005773 |
|
mod - radiantcore/brush/Face.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.cpp | Diff File | ||
mod - radiantcore/brush/TextureProjection.h | Diff File | ||
mod - radiantcore/selection/algorithm/Shader.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
08.10.2021 07:52 | greebo | New Issue | |
08.10.2021 07:53 | greebo | Relationship added | related to 0005547 |
08.10.2021 07:53 | greebo | Assigned To | => greebo |
08.10.2021 07:53 | greebo | Status | new => assigned |
08.10.2021 07:59 | greebo | Note Added: 0014417 | |
08.10.2021 07:59 | greebo | File Added: texture_locked_rotation.gif | |
08.10.2021 07:59 | greebo | Relationship replaced | child of 0005547 |
08.10.2021 07:59 | greebo | Status | assigned => resolved |
08.10.2021 07:59 | greebo | Resolution | open => fixed |
08.10.2021 07:59 | greebo | Fixed in Version | => 2.14.0 |
08.10.2021 09:09 | greebo | Changeset attached | => DarkRadiant master 36d5e160 |
08.10.2021 19:34 | greebo | Changeset attached | => DarkRadiant master cd6f156d |
08.10.2021 19:34 | greebo | Changeset attached | => DarkRadiant master e4657b73 |
08.10.2021 19:34 | greebo | Changeset attached | => DarkRadiant master 34b70657 |
08.10.2021 19:34 | greebo | Changeset attached | => DarkRadiant master a4a47664 |
08.10.2021 19:34 | greebo | Changeset attached | => DarkRadiant master 2e09e486 |
08.10.2021 19:34 | greebo | Changeset attached | => DarkRadiant master 8e9b2d5f |
09.10.2021 05:23 | greebo | Changeset attached | => DarkRadiant master 8f381f0f |
09.10.2021 05:23 | greebo | Changeset attached | => DarkRadiant master 0e09a990 |
09.10.2021 05:23 | greebo | Changeset attached | => DarkRadiant master 1c308bf7 |
09.10.2021 05:23 | greebo | Changeset attached | => DarkRadiant master 6e0af0ec |
09.10.2021 05:23 | greebo | Changeset attached | => DarkRadiant master cc23e5f2 |
09.10.2021 06:58 | greebo | Changeset attached | => DarkRadiant master e76916e3 |
09.10.2021 06:58 | greebo | Changeset attached | => DarkRadiant master 4b5bcfce |
09.10.2021 06:58 | greebo | Changeset attached | => DarkRadiant master 7857cfab |
09.10.2021 06:58 | greebo | Changeset attached | => DarkRadiant master 13a60a10 |
09.10.2021 07:32 | greebo | Changeset attached | => DarkRadiant master 35be7172 |
09.10.2021 07:32 | greebo | Changeset attached | => DarkRadiant master d1ce07ff |
09.10.2021 07:32 | greebo | Changeset attached | => DarkRadiant master c4a89cfe |
02.04.2022 05:56 | greebo | Status | resolved => closed |