High Quality 64k NormalMap VT of Earth

Tips for creating and manipulating planet textures for Celestia.
BlindedByTheLight
Posts: 485
Joined: 19.03.2005
With us: 19 years 8 months
Location: Los Angeles, CA

Post #21by BlindedByTheLight » 04.04.2006, 03:40

Thanks ElC... (almost ready to start on that Mac OS X project)

Final tweak to my question... what is preventing coders (time, technical difficulties?) from using the NormalMap data to actually construct a 3D topography? Especially since the NormalMap gives height info?
Steven Binder, Mac OS X 10.4.10

hank
Developer
Posts: 645
Joined: 03.02.2002
With us: 22 years 9 months
Location: Seattle, WA USA

Post #22by hank » 04.04.2006, 05:58

BlindedByTheLight wrote:Final tweak to my question... what is preventing coders (time, technical difficulties?) from using the NormalMap data to actually construct a 3D topography? Especially since the NormalMap gives height info?

The NormalMap doesn't give height info. It gives slope info (the normal at a point on a surface is the vector perpendicular to the surface at that point). The NormalMap is usually derived from the elevation data, rather than the other way around. But since the elevation data is available, it could be used directly to construct 3D topography.

- Hank

BlindedByTheLight
Posts: 485
Joined: 19.03.2005
With us: 19 years 8 months
Location: Los Angeles, CA

Post #23by BlindedByTheLight » 04.04.2006, 06:24

Thanks, Hank!

Though I don't quite 100% understand that, you are tickling a part of my brain from way back (angle of incidence equals angle of reflection with respect to the....normal!). So I think I got, sorta, what the "normal" is.

And I also think you gave enough info in your post to figure the whole thing out if I just take a moment to think. Which I shall. Out loud. :)

1) Elevation data is used to derive something called a NormalMap.

2) Despite its source being "elevation" data, a NormalMap does not actually contain height info.

3) Instead, a NormalMap merely contains data on the SLOPE of any given point on the surface of the body in question.

4) This SLOPE data is used by Celestia (in some manner I can't fathom - but that's not important right now) to somehow create realistic shadows AS IF there was actual height on the body in question casting shadows.

SUB-THOUGHTS:

Regarding 3)... I'm guessing to create a NormalMap you would take the height of the, say, "left" and the "right" of a particular point. Use that to determine the slope. Then just move on to the next point and do the same thing. That's how you end up with a "map" that has slope but no elevation.

Do I have this right?

And thanks again!
Steven Binder, Mac OS X 10.4.10

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #24by t00fri » 04.04.2006, 07:22

There is of course a scale factor we have to enter when building a normal map. This describes the "bumpheight". The bigger it is the higher the mountains "appear".

Bye Fridger

BlindedByTheLight
Posts: 485
Joined: 19.03.2005
With us: 19 years 8 months
Location: Los Angeles, CA

Post #25by BlindedByTheLight » 13.04.2006, 07:25

t00fri wrote:There is of course a scale factor we have to enter when building a normal map. This describes the "bumpheight". The bigger it is the higher the mountains "appear".

Bye Fridger


Thanks Fridger.

Two things about that. When you say "appear" do you mean the mountains are actually rendered in 3D? Or simply that the shadowing of light gives the "appearance" of height.

Also, I'm curious...if one has the slope of every point on a map, couldn't one create some algorthm to pull the actual elevation out of the map?

Thanks,
S
Steven Binder, Mac OS X 10.4.10

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #26by t00fri » 13.04.2006, 09:49

BlindedByTheLight wrote:
t00fri wrote:There is of course a scale factor we have to enter when building a normal map. This describes the "bumpheight". The bigger it is the higher the mountains "appear".

Bye Fridger

Thanks Fridger.

Two things about that. When you say "appear" do you mean the mountains are actually rendered in 3D? Or simply that the shadowing of light gives the "appearance" of height.

Certainly, in Celestia we only apply shading in a /dynamical/ fashion, depending on the position of the light source (sun). So yes, it's only a "fake" 3d rendering, but taking account of the time of the day.

Also, I'm curious...if one has the slope of every point on a map, couldn't one create some algorthm to pull the actual elevation out of the map?

Thanks,
S


Absolutely, this may be done in principle and has been done in some cases. Like in case of Mars. Simply Celestia is not ready for this .
Also the CPU-time required would be very large.

Bye Fridger

BlindedByTheLight
Posts: 485
Joined: 19.03.2005
With us: 19 years 8 months
Location: Los Angeles, CA

Post #27by BlindedByTheLight » 13.04.2006, 17:51

t00fri wrote:Absolutely, this may be done in principle and has been done in some cases. Like in case of Mars. Simply Celestia is not ready for this .
Also the CPU-time required would be very large.

Bye Fridger


Ah. Got it now. Makes sense. A sad-sense. But I'll guess we'll just have to wait....

Just curious - are we talking orders of magnitude "not ready"?
Steven Binder, Mac OS X 10.4.10

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #28by t00fri » 13.04.2006, 18:12

BlindedByTheLight wrote:
t00fri wrote:Absolutely, this may be done in principle and has been done in some cases. Like in case of Mars. Simply Celestia is not ready for this .
Also the CPU-time required would be very large.

Bye Fridger

Ah. Got it now. Makes sense. A sad-sense. But I'll guess we'll just have to wait....

Just curious - are we talking orders of magnitude "not ready"?


Well, I would suppose so. It needs presumably a really basic change in the rendering code. Celestia is not made yet for "close-up" views of surface terrain. The elevation textures just would provide us with a mesh of discrete altitude marks. What is lacking is a highly efficient engine generating the landscapes (like a carpet) on top of those marks.

Cheers,
Fridger

Avatar
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

Post #29by cartrite » 29.05.2006, 21:10

Fridger wrote
+++++++++++++++++
At a later stage I shall provide an extensive tutorial
elsewhere Wink (...hmm where could that be??) on how to
do all this yourself...
++++++++++++++++


I managed to get about half way done with this monster and found some things out that you may want to point out in this tutorial.
1. The current version of nm16 available in the celestia/src/tools/nm16 folder is missing half the code and does not work. :?:
2. The current dep ( gtkglext-1.2.0 ) for Celestia is in conflict with the version ( gtkglext-1.0.6 ) required by the gimp normalmap plugin. To run the plugin, ( gtkglext-1.0.6 ) must be installed. To compile Celestia, ( gtkglext-1.2.0 ) must be installed.
EDIT: The gtkglext-1.2.0 is required to build Celestia with gtk or gnome. Without it the jpeg libs are not found by configure. It is not rquired to build with KDE. I'm not sure about runtime issues.

Which brings me to a question.

This last normalization step is required after cropping the file? Or is it only required after scaling the file?

Many Thanks,

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

Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #30by t00fri » 29.05.2006, 22:48

cartrite wrote:Fridger wrote
+++++++++++++++++
At a later stage I shall provide an extensive tutorial
elsewhere Wink (...hmm where could that be??) on how to
do all this yourself...
++++++++++++++++

I managed to get about half way done with this monster and found some things out that you may want to point out in this tutorial.
...
cartrite


Cartrite,

I STRONGLY advice you to save your time at this point.

ALL existing normalmaps are generally incorrect. With Robert Skuridin from Russia we have just finished a complete set of entirely new and custom normalmap tools that include exclusively the missing spherical geometry correction. Chris also agrees that he missed that crucial latitude dependent term in nm16. All available normalmaps on the Motherlode are grossly incorrect north and south of the equator region. Robert Skuridin has first noticed this missing correction.

Our new tools produce e.g.a complete set of highest quality 64k normal map tiles in less than 20 minutes (!!) directly from the 16bit raw data, all IN ONE STEP. NO additional libraries are required, hence the installation is trivial even for beginners. The code works on average home computers just having enough space for storing the result! Everyone will be able to use it. It will be offered for native Windows, CYGWIN, Linux and (hopefully) MAC OSX . Many optimizations are incorporated, like the resolution reduction for polar latitudes, correct texel normalization (r*r +g*g + b*b =1) and the replacement of monochromatic tiles by the smallest possible 4x4 pixel tiles! This saves a tremendous amount of HD space. Everyone will be able to produce the same quality result also without special experience.

I have been VERY busy with this project during the last month. That's presumably why Malenfant reproached me in ignorance ;-) that I hadn't been doing essential things in Celestia development recently ...

Apart from that, people will have to still wait for a while:

"CelestialMatters" is growing ;-)

Bye Fridger
Image

Avatar
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

Post #31by cartrite » 29.05.2006, 23:14

Okay, I'll put this project on hold. Thanks Fridger. I'll look forward to the new tools.

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

DOOM_NX
Posts: 5
Joined: 02.04.2006
With us: 18 years 7 months
Location: Karditsa, Greece

Post #32by DOOM_NX » 30.05.2006, 01:32

I look forward to this freakin' cool normal map to combine it with the 64K BMNG! I'll sure be one of the first ones to download. Please, t00fri, keep us informed about the progress of the project!

Keep up the good work mate!
Yours Celestia-noobly,
DOOM_NX

PC Specifications: http://www.freewebs.com/doomnx/


Return to “Textures”