CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
- Hungry4info
- Posts: 1133
- Joined: 11.09.2005
- With us: 19 years 2 months
- Location: Indiana, United States
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
I think a GUI would be a great idea. I can speak from experience that command line style input isn't very easy for those who aren't familiar with it. I've been fiddling around with the F-TexTools and command lines for about a week, until I finally got it to work.
Current Setup:
Windows 7 64 bit. Celestia 1.6.0.
AMD Athlon Processor, 1.6 Ghz, 3 Gb RAM
ATI Radeon HD 3200 Graphics
Windows 7 64 bit. Celestia 1.6.0.
AMD Athlon Processor, 1.6 Ghz, 3 Gb RAM
ATI Radeon HD 3200 Graphics
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
Hungry4info wrote:I think a GUI would be a great idea. I can speak from experience that command line style input isn't very easy for those who aren't familiar with it. I've been fiddling around with the F-TexTools and command lines for about a week, until I finally got it to work.
See my happy reaction to your success elsewhere!
I am certain that you also read Andy74's enthusiastic report above. As one conclusion he wrote
Same sentence by praesepe who started this huge Moon thread off with his 64k Moon VT set via the F-TexTools.Now about the GUI: As I am able to use the commandline tools, I won't need a GUI version.
Same with cartrite, quite a few others and me of course. Command lines have many advantages, once you know how to handle them.
But irrespectively, I have seen enough struggle by people that I think it's worth the effort to come forward with an easy going cross platform GUI.
Fridger
- Hungry4info
- Posts: 1133
- Joined: 11.09.2005
- With us: 19 years 2 months
- Location: Indiana, United States
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
t00fri wrote:But irrespectively, I have seen enough struggle by people that I think it's worth the effort to come forward with an easy going cross platform GUI.
Agreed.
However, those who don't actually learn how to do the command line method miss out on the experience, lol.
Current Setup:
Windows 7 64 bit. Celestia 1.6.0.
AMD Athlon Processor, 1.6 Ghz, 3 Gb RAM
ATI Radeon HD 3200 Graphics
Windows 7 64 bit. Celestia 1.6.0.
AMD Athlon Processor, 1.6 Ghz, 3 Gb RAM
ATI Radeon HD 3200 Graphics
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
Hungry4info wrote:t00fri wrote:But irrespectively, I have seen enough struggle by people that I think it's worth the effort to come forward with an easy going cross platform GUI.
Agreed.
However, those who don't actually learn how to do the command line method miss out on the experience, lol.
Let me put it this way: a GUI is mainly needed to get people over the initial "threshold".
Most people later prefer the more elegant and flexible command lines once they understood their functioning. Pipelines = "plumbing applications together", for example, are a most elegant concept that doesn't work with GUIs .
Fridger
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
This is a great enhancement to the tools.
Congratulations
(May I suggest, from the screen shot, that a user can choose the maximum output level.)
(It would be nice for people who don't know, to mention in the generate vt tiles area (right bottom of screen shot) that the Tile size is the width.)
(Be able to choose if all pictures or just the top picture should have a mipmap.)
Congratulations
(May I suggest, from the screen shot, that a user can choose the maximum output level.)
(It would be nice for people who don't know, to mention in the generate vt tiles area (right bottom of screen shot) that the Tile size is the width.)
(Be able to choose if all pictures or just the top picture should have a mipmap.)
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
duds26 wrote:This is a great enhancement to the tools.
Congratulations
(May I suggest, from the screen shot, that a user can choose the maximum output level.)
duds26,
thanks for your comments and suggestions.
Allowing to choose the maximum output level, could only mean that users might not want to exploit the full resolution power of their original texture? Is this really a sensible option?
Since there is the familiar relation between TileSize, Level and initial Width(Level), I allow the user to choose the most sensible quantities compatible with a constant TileSize across all levels and the initial Width(Level) being a power of two. I can therefore NOT allow to choose both Level AND TileSize. TileSize bears a direct relation to the user's harddisk performance and graphics card memory. Therefore I use TileSize[pixels] as a selectable parameter.
TileSize [pixels] is also to indicate that tilewidth = tileheight! That's why I preferred TileSize rather than TileWidth.It would be nice for people who don't know, to mention in the generate vt tiles area (right bottom of screen shot) that the Tile size is the width.
Note that I always specify the units! Since it is pixels not pixels^2, TileSize must be a LINEAR scale (rather than an area)...
Be able to choose if all pictures or just the top picture should have a mipmap.
For VT tiles in DXT format it is not very sensible to allow for mipmaps in addition to the various levels (>0). To a large extent, the levels already play the role of mipmaps (apart from level0). In case of PNG tiles, mipmaps cannot be embedded anyhow. But for DXT tile output, this is at least a possible option. Thanks for reminding me...
Fridger
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
Hello,
This is the difference for se same level0 with and without mipmaps.
(south pole of the moon with a vt made with the 64k clementine texture)
This is only seen at level0.
Other levels are ok.
maybe mipmaps are not suitable even at level 0.t00fri wrote:For VT tiles in DXT format it is not very sensible to allow for mipmaps in addition to the various levels (>0). To a large extent, the levels already play the role of mipmaps (apart from level0). In case of PNG tiles, mipmaps cannot be embedded anyhow. But for DXT tile output, this is at least a possible option.
This is the difference for se same level0 with and without mipmaps.
(south pole of the moon with a vt made with the 64k clementine texture)
This is only seen at level0.
Other levels are ok.
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
jogad wrote:Hello,maybe mipmaps are not suitable even at level 0.t00fri wrote:For VT tiles in DXT format it is not very sensible to allow for mipmaps in addition to the various levels (>0). To a large extent, the levels already play the role of mipmaps (apart from level0). In case of PNG tiles, mipmaps cannot be embedded anyhow. But for DXT tile output, this is at least a possible option.
This is the difference for se same level0 with and without mipmaps.
(south pole of the moon with a vt made with the 64k clementine texture)
This is only seen at level0.
Other levels are ok.
Interesting... It looks like mipmapping is indeed responsible for the infamous 'polar pinch' problem. It appears that the compression in longitude near the poles is causing a low resolution mipmap level to be chosen even though the texture is not being oversampled in latitude. Disabling mipmapping isn't a good idea though. You'll end up oversampling the texture when the viewpoint is far enough from the planet that one pixel covers more than one texel. This has two negative side effects:
- 'Sparkling' caused by texture aliasing
- Reduced performance caused by thrashing the texel cache
All new graphics hardware now supports anisotropic texture filtering, which should mitigate the problem. I'll try some experiments.
--Chris
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
chris wrote:Interesting... It looks like mipmapping is indeed responsible for the infamous 'polar pinch' problem. It appears that the compression in longitude near the poles is causing a low resolution mipmap level to be chosen even though the texture is not being oversampled in latitude. Disabling mipmapping isn't a good idea though. You'll end up oversampling the texture when the viewpoint is far enough from the planet that one pixel covers more than one texel.
But this argument would only concern level0, as we all agree. For higher VT levels, the next lower VT level plays the role of the leading mipmap etc. Moreover, polar oversampling is avoided by reducing the resolution dynamically, as is implemented in my tools.
For non-VTs of course mipmapping is essential for the reasons you mentioned.
As a curious reminder: We had vivid discussions previously about the 'polar pinch' effect, as well as it's apparent absence in case of VTs (as I used to argue). I never use mipmaps with VTs, hence no pinch
Anybody can see a 'pinch' structure at the pole of my 32k Mars VT?
Fridger
Last edited by t00fri on 27.05.2009, 22:34, edited 1 time in total.
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
A quick experiment with the effect of anisotropic filtering on 'polar pinch' artifacts. The two examples below use the 4k Mercury texture in the 1.6.0 RC2 Celestia package. In the first image, normal trilinear filtering is enabled:
In this image, anisotropic filtering was set to 8x via the NVIDIA control panel:
There's a big difference! Based on these results, I highly recommend enabling anisotropic filtering in the control panel for your graphics card. Be aware that it may slow down rendering in some cases. The quality improvement is dramatic enough that I think the next version of Celestia should allow user control over anisotropic filtering (with some level enabled by default.)
--Chris
In this image, anisotropic filtering was set to 8x via the NVIDIA control panel:
There's a big difference! Based on these results, I highly recommend enabling anisotropic filtering in the control panel for your graphics card. Be aware that it may slow down rendering in some cases. The quality improvement is dramatic enough that I think the next version of Celestia should allow user control over anisotropic filtering (with some level enabled by default.)
--Chris
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
chris wrote:A quick experiment with the effect of anisotropic filtering on 'polar pinch' artifacts. The two examples below use the 4k Mercury texture in the 1.6.0 RC2 Celestia package. In the first image, normal trilinear filtering is enabled:
In this image, anisotropic filtering was set to 8x via the NVIDIA control panel:
There's a big difference! Based on these results, I highly recommend enabling anisotropic filtering in the control panel for your graphics card. Be aware that it may slow down rendering in some cases. The quality improvement is dramatic enough that I think the next version of Celestia should allow user control over anisotropic filtering (with some level enabled by default.)
--Chris
I completely agree!
Since a long time I always used 8x anisotropic filtering via the NV control. Despite my old FX9500Ultra, there is very little slowdown, quite unlike AA.
Fridger
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
Right. But if you don't use mipmaps with level zero, you'll get the oversampling artifacts when level zero is used. For the best quality--even for VTs--you want to enable mipmaps for level zero and turn on anisotropic texture filtering in your GPU control panel.t00fri wrote:chris wrote:Interesting... It looks like mipmapping is indeed responsible for the infamous 'polar pinch' problem. It appears that the compression in longitude near the poles is causing a low resolution mipmap level to be chosen even though the texture is not being oversampled in latitude. Disabling mipmapping isn't a good idea though. You'll end up oversampling the texture when the viewpoint is far enough from the planet that one pixel covers more than one texel.
But this argument would only concern level0, as we all agree. For higher VT levels, the next lower VT level plays the role of the leading mipmap etc.Yes, it only concerns level zero.Moreover, polar oversampling is avoided by reducing the resolution dynamically, as is implemented in my tools.
For non-VTs of course mipmapping is essential for the reasons you mentioned.
As a curious reminder: We had vivid discussions previously about the 'polar pinch' effect, as well as it's apparent absence in case of VTs (as I used to argue). I never use mipmaps with VTs, hence no pinch
VTs suffer from other oversampling artifacts due to Celestia's using just a single level of detail for the whole planet. This is addressed by the new adaptive LOD renderer that I was discussing in the Moon thread started by Spiff.
--Chris
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
chris wrote:t00fri wrote:chris wrote:Interesting... It looks like mipmapping is indeed responsible for the infamous 'polar pinch' problem. It appears that the compression in longitude near the poles is causing a low resolution mipmap level to be chosen even though the texture is not being oversampled in latitude. Disabling mipmapping isn't a good idea though. You'll end up oversampling the texture when the viewpoint is far enough from the planet that one pixel covers more than one texel.
But this argument would only concern level0, as we all agree. For higher VT levels, the next lower VT level plays the role of the leading mipmap etc.
Yes, it only concerns level zero.Moreover, polar oversampling is avoided by reducing the resolution dynamically, as is implemented in my tools.
For non-VTs of course mipmapping is essential for the reasons you mentioned.
As a curious reminder: We had vivid discussions previously about the 'polar pinch' effect, as well as it's apparent absence in case of VTs (as I used to argue). I never use mipmaps with VTs, hence no pinch
Right. But if you don't use mipmaps with level zero, you'll get the oversampling artifacts when level zero is used.
But , of course, my VT sets ALWAYS have mipmaps switched on for level0! But ONLY for level0. As I wrote this is long clear.
Right, that's what I have been doing for the last 5 years or so.For the best quality--even for VTs--you want to enable mipmaps for level zero and turn on anisotropic texture filtering in your GPU control panel.
VTs suffer from other oversampling artifacts due to Celestia's using just a single level of detail for the whole planet. This is addressed by the new adaptive LOD renderer that I was discussing in the Moon thread started by Spiff.
--Chris
It is really time to adress this issue, I agree...
Fridger
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
I got similar results with no normalmap. But anisotropic filtering did not help pole pinching with a normalmap.
cartrite
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
cartrite wrote:I got similar results with no normalmap. But anisotropic filtering did not help pole pinching with a normalmap.
cartrite
My above Mars pole image has 8x anisotropic filtering and a normalmap but NO pinch
Fridger
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
I'm using a Mars normalmap from the ISIS version2 shape file of Mars, png format. How did you get rid of the pinching? It was produced by your tools cause the polar regions have the smaller widths. I'm using a old card though.
cartrite
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4
-
Topic authort00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
cartrite wrote:I'm using a Mars normalmap from the ISIS version2 shape file of Mars, png format. How did you get rid of the pinching? It was produced by your tools cause the polar regions have the smaller widths. I'm using a old card though.
cartrite
I used DXT1 for the base texture and DXTnm for the normalmap. That's all. But it's Mario's 32k base texture and normalmap!
Fridger
- cartrite
- Posts: 1978
- Joined: 15.09.2005
- With us: 19 years 2 months
- Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine
Re: CrossPlatform GUI (Qt) for my F-TexTools/Nmtools
I think can remember now. I may have created the normalmap from original megt files. They only covered 88n to 88s and I had to oversample the 88n-90n 88s to 90s. This may be the reason for the pinching. I don't have any pinching on Earth's south pole even with a normalmap.
The problem I had with using the ISIS file was the conversion to height values from radii values. They only had a very low resolution areoid file available to subtract from the radii values to get true height values.
I'll have to give this another try someday.
cartrite
The problem I had with using the ISIS file was the conversion to height values from radii values. They only had a very low resolution areoid file available to subtract from the radii values to get true height values.
I'll have to give this another try someday.
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4