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 08.10.2021 09:09 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 08.10.2021 18:11 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 08.10.2021 18:18 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 08.10.2021 18:33 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 08.10.2021 18:43 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 08.10.2021 18:57 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 08.10.2021 19:04 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 09.10.2021 04:28 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 09.10.2021 04:41 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 09.10.2021 04:59 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 09.10.2021 05:18 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 09.10.2021 05:23 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 09.10.2021 06: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 09.10.2021 06:38 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 09.10.2021 06:44 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 09.10.2021 06:57 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 | ||
rm - radiantcore/brush/TexDef.h | Diff | ||
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 09.10.2021 07:08 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 09.10.2021 07:18 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 09.10.2021 07:30 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 |