View Issue Details

IDProjectCategoryView StatusLast Update
0005684DarkRadiantGUIpublic28.07.2021 13:54
Reporterorbweaver Assigned Toorbweaver  
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.12.0 
Target Version2.13.0Fixed in Version2.13.0 
Summary0005684: Aspect ratio preserving Fit Texture option
DescriptionSometimes it is desirable to fit an integer multiple of textures on one axis, while preserving the aspect ratio on the other axis rather than forcing both axes to an integer multiple (which can distort the texture). This can be achieved manually by fitting the texture on the desired axis, then copying the calculated scale factor to the other axis using the numeric textboxes in the Surface Inspector, but it would be nice if there was a way to do this automatically.
TagsNo tags attached.

Activities

orbweaver

orbweaver

27.07.2021 20:26

developer   ~0014199

Implemented in 58a3efa9a4f1f0786aa02f590d85c64ece1bb218

Related Changesets

DarkRadiant: master bf7c71c0

2021-07-20 19:47:19

orbweaver

Details Diff
Unsquash SurfaceInspector step size entry boxes

Step size boxes are too small on GTK, and the "0.05" default value is not fully
visible. Instead of guessing at pixel sizes, the explicit minimum size is
removed altogether. Hopefully this does not lead to an unreasonable default
size on Windows.
Affected Issues
0005684
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File

DarkRadiant: master deaa9ae3

2021-07-20 20:04:45

orbweaver

Details Diff
Increase size of Fit Texture spinboxes in SurfaceInspector

The minimum size of 8 times the character width is too small on GTK, since the
spin buttons are apparently included in the size allocation. This was resulting
in the boxes appearing as small text entries with no spin buttons available.

Unlike with wxTextCtrl, setting no minimum size results in a spin box which is
too large on GTK, so instead the fixed minimum size is simply doubled from its
previous value.
Affected Issues
0005684
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.h Diff File

DarkRadiant: master 743ea1a7

2021-07-20 20:23:25

orbweaver

Details Diff
Fit Texture spinboxes apply changes immediately

Save a few clicks when experimenting with different fit values by updating the
surface every time the value changes, rather than requiring a separate click on
the Fit button.
Affected Issues
0005684
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.h Diff File

DarkRadiant: master 996d02d6

2021-07-21 19:04:14

orbweaver

Details Diff
Initial "Preserve aspect" toggle button in Surface Inspector

The aim of this button is to allow the Fit Texture function to operate on a
single axis, while adjusting the other axis to preserve the texture aspect
ratio. This will be useful for certain textures like wooden planks which only
need an integer number of images on one axis.

Currently the button toggles and has an icon, but does not affect the texture
fitting behaviour.
Affected Issues
0005684
add - install/bitmaps/preserveAspect.png Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.h Diff File

DarkRadiant: master 31d1c025

2021-07-22 19:22:36

orbweaver

Details Diff
Initial implementation of single-axis texture fitting

If the button is toggled, a value of -1 will be passed to the implementing
code, indicating that a particular axis should not be fitted. Currently the
result isn't quite correct: rather than preserving aspect ratio, it is
preserving the *current* texture transformation for the non-fitted axis (i.e.
it doesn't touch the shift/scale values for the non-fitted axis at all).
Affected Issues
0005684
mod - radiant/ui/surfaceinspector/SurfaceInspector.cpp Diff File
mod - radiant/ui/surfaceinspector/SurfaceInspector.h Diff File
mod - radiantcore/brush/TextureProjection.cpp Diff File

Issue History

Date Modified Username Field Change
27.07.2021 20:25 orbweaver New Issue
27.07.2021 20:25 orbweaver Status new => assigned
27.07.2021 20:25 orbweaver Assigned To => orbweaver
27.07.2021 20:26 orbweaver Status assigned => resolved
27.07.2021 20:26 orbweaver Resolution open => fixed
27.07.2021 20:26 orbweaver Fixed in Version => 2.13.0
27.07.2021 20:26 orbweaver Note Added: 0014199
28.07.2021 13:53 greebo Changeset attached => DarkRadiant master 996d02d6
28.07.2021 13:53 greebo Changeset attached => DarkRadiant master 743ea1a7
28.07.2021 13:53 greebo Changeset attached => DarkRadiant master deaa9ae3
28.07.2021 13:54 greebo Changeset attached => DarkRadiant master bf7c71c0
28.07.2021 13:54 greebo Changeset attached => DarkRadiant master 31d1c025