Missing Textures

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
DT
Posts: 49
Joined: 27.08.2007
With us: 17 years 3 months
Location: In Orbit...

Missing Textures

Post #1by DT » 28.08.2007, 15:33

I thought it best to launch a new topic on this.

I have a problem with textures. The textures are being rendered for earth, but not for any other planet.

I've tried limit of knowlege toggle, texture resolution toggle and vertex shader toggle. None of them had any effect.

Any one got any ideas?
A whack in the face with a fish can solve a whole manner of problems.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #2by selden » 28.08.2007, 16:20

DT,

I assume you're seeing this problem in the version of Celestia that you built from CVS.

One first has to determine if it's a problem in the Celestia executable or in a catalog file.

The first thing I'd suggest is to install v1.5.0pre3 in a separate directory and see if that works. If it does (it certainly ought to), then copy its executable into the directory where you are running the CVS version. If that works, then something is wrong with how Celestia was built from CVS. If it doesn't work, then you'll have to go through the differences between catalog files to isolate the problem.
Selden

Topic author
DT
Posts: 49
Joined: 27.08.2007
With us: 17 years 3 months
Location: In Orbit...

Post #3by DT » 28.08.2007, 16:22

A little more information. I disabled the Lua Edu Tools and that had no effect, so we can rule that out. I checked a previous build and the textures are appearing.

The difference between the previous build and this build is the following update I added to the primer earlier:

UPDATE: 28th Aug 2007

Add celx.h and celx.cpp to the Project celestia...

Obtain the latest libs:

http://www.celestiaproject.net/~claurel/celestia/winbuild/

...add the following libs to the celestia Project:

lua5.1.lib, lualib.lib, ijgjpeg.lib, lua.lib

Define CELX and increase the LUA_VER to 0x050100 (celx.h)

Now you can enjoy full script support and the Lau Edu Tools.


Does anyone spot anything?
A whack in the face with a fish can solve a whole manner of problems.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #4by selden » 28.08.2007, 16:25

The Lua code should have no effect whatsoever on the display of textures. I'd guess that it's something else that "couldn't possibly make any difference" but does.
Selden

Topic author
DT
Posts: 49
Joined: 27.08.2007
With us: 17 years 3 months
Location: In Orbit...

Post #5by DT » 28.08.2007, 16:27

I assume you're seeing this problem in the version of Celestia that you built from CVS.

One first has to determine if it's a problem in the Celestia executable or in a catalog file.

The first thing I'd suggest is to install v1.5.0pre3 in a separate directory and see if that works. If it does (it certainly ought to), then copy its executable into the directory where you are running the CVS version. If that works, then something is wrong with how Celestia was built from CVS. If it doesn't work, then you'll have to go through the differences between catalog files to isolate the problem.

I've tested a previous build, I kept it in a different folder and it works. If I copy across that .exe then the textures work, if I try the new .exe, then the textures are missing.

All that has change between builds is the following:

UPDATE: 28th Aug 2007

Add celx.h and celx.cpp to the Project celestia...

Obtain the latest libs:

http://www.celestiaproject.net/~claurel/celestia/winbuild/

...add the following libs to the celestia Project:

lua5.1.lib, lualib.lib, ijgjpeg.lib, lua.lib

Define CELX and increase the LUA_VER to 0x050100 (celx.h)

Now you can enjoy full script support and the Lau Edu Tools.
A whack in the face with a fish can solve a whole manner of problems.

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 #6by cartrite » 28.08.2007, 16:59

...add the following libs to the celestia Project:

lua5.1.lib, lualib.lib, ijgjpeg.lib, lua.lib

It looks like ijgjpeg.lib could be causing this kind of problem since most if not all Celestia's textures are *.jpg.

EDIT: A quick check of the cvs textures folder shows earth as one of the few png files. That is unless you modified those folders.
cartrite
Last edited by cartrite on 28.08.2007, 17:11, edited 1 time in total.
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
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Re: Missing Textures

Post #7by t00fri » 28.08.2007, 17:00

DT wrote:I thought it best to launch a new topic on this.

I have a problem with textures. The textures are being rendered for earth, but not for any other planet.

I've tried limit of knowlege toggle, texture resolution toggle and vertex shader toggle. None of them had any effect.

Any one got any ideas?


Well as a longstanding Celestia developer I compile the latest CVS whenever there is anything new, both under Linux and Win XP. In the latter case, I use the commercial VS++ 2003.net compiler since years and never encountered the slightest problems.

The last CVS compile I did this afternoon for Win XP , including Lua 5.1 and Spice. Celestia's code is stable and your problem with textures must be related to what you did yourself.

I suggest you hit the ~ key after startup. So you can check what textures are loaded at a given moment. The filenames are displayed on the canvas. I would also try to analyze what the difference are between the Earth texture set and the others (.JPG format vs .PNG format!!). Probably you forgot to add the JPG library. It's always something trivial like this...

What do you see when you goto Saturn, for example?

Bye Fridger
Image

Topic author
DT
Posts: 49
Joined: 27.08.2007
With us: 17 years 3 months
Location: In Orbit...

Post #8by DT » 28.08.2007, 17:13

It looks like ijgjpeg.lib could be causing this kind of problem since most if not all Celestia's textures are *.jpg.


Firstly, thanks for your help guys.

Cartrite gets the gold medal though. It was indeed ijgjpeg.lib. Adding this file will result in Earth having textures but no other planet. I'll update the primer again.

Case closed.
A whack in the face with a fish can solve a whole manner of problems.

Andy74 M
Posts: 114
Joined: 21.07.2004
Age: 50
With us: 20 years 4 months
Location: Regensburg, Germany

Re: Missing Textures

Post #9by Andy74 » 29.08.2007, 12:43

t00fri wrote:The last CVS compile I did this afternoon for Win XP , including Lua 5.1 and Spice.

How do I include Lua 5.1 and Spice when compiling Celestia for Win XP?
My knowledge is a bit limited here ... please excuse the probably silly question.

Andy

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

Re: Missing Textures

Post #10by t00fri » 29.08.2007, 13:01

Andy74 wrote:
t00fri wrote:The last CVS compile I did this afternoon for Win XP , including Lua 5.1 and Spice.
How do I include Lua 5.1 and Spice when compiling Celestia for Win XP?
My knowledge is a bit limited here ... please excuse the probably silly question.

Andy


Since you did not specify your Windows compiler environment there are various different answers to your question. In general all libs are added in the link step along with the necessary PATH information such that the compiler/linker can find them. At the same time the compiler must be referred to the location of the corresponding header files, again including PATH information. How this is done in detail depends on the used compiler environment. It differes, if you are using makefile-based batch compiling ("nmake") or an IDE. However, all this is explained in detail in the manuals, of course. There are respective .zip archives from Chris containing the respective lua 5.1 and Spice libraries and headers.

These you can find by searching the dev-list.

Bye Fridger
Image

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #11by selden » 29.08.2007, 13:47

The updated libraries (including Lua 5.1 and Spice) and makefiles for building Celestia using Windows Visual Studio 2005 Express (the free version of VS2005) are available at
http://www.celestiaproject.net/~claurel/celestia/winbuild/
Selden

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

Post #12by t00fri » 29.08.2007, 15:32

selden wrote:The updated libraries (including Lua 5.1 and Spice) and makefiles for building Celestia using Windows Visual Studio 2005 Express (the free version of VS2005) are available at
http://www.celestiaproject.net/~claurel/celestia/winbuild/


It is VERY important to make the used compile options known as well!

Notably:

Multithreaded - Single threaded?
Debug - no debug?
...

Bye Fridger
Image

Andy74 M
Posts: 114
Joined: 21.07.2004
Age: 50
With us: 20 years 4 months
Location: Regensburg, Germany

Post #13by Andy74 » 29.08.2007, 16:36

Fridger, Selden,

thank you for your answers.
I'm using the Microsoft Visual C++ Toolkit 2003 according to wcomer's thread "Free Windows-based compiling for Celestia". I think it is "makefile-based batch compiling" as you said, Fridger, I namely use makerelease.bat.
I usually do not work with compilers, it's only my strong interest in Celestia ...
Ok, I think I'll be able to find the libraries and put them onto my disc. So I would be happy if i knew how to tell the compiler that the new libraries should be integrated ...
Maybe it's enough to edit my "celvars.bat"? Are all files in the INCLUDE and LIB paths automatically integrated in the program by the compiler? Then I'd have to add a path to the LIB variable and another to the INCLUDE variable. Or, if I put the new files in folders, that are already on the list, I even wouldn't have to change anything. I suppose the header files are found in the INCLUDE paths and the libraries in the LIB paths. Is that right?

Code: Select all

@echo off

Set PATH=D:\Microsoft Visual C++ Toolkit 2003\bin;%PATH%
Set INCLUDE=D:\Microsoft Visual C++ Toolkit 2003\include;%INCLUDE%
Set LIB=D:\Microsoft Visual C++ Toolkit 2003\lib;%LIB%

Set INCLUDE=C:\Programme\Microsoft SDK\include;%INCLUDE%
Set LIB=C:\Programme\Microsoft SDK\Lib;%LIB%
Set INCLUDE=C:\Programme\Microsoft SDK\include\Win64\mfc;%INCLUDE%
Set LIB=C:\Programme\Microsoft SDK\Lib\IA64\mfc;%LIB%

Set PATH=D:\gettext-0.14.4\bin;%PATH%

echo Setting environment for using Microsoft Visual C++ 2003 Toolkit.
echo (If you have another version of Visual Studio or Visual C++ installed and wish
echo to use its tools from the command line, run vcvars32.bat for that version.)
echo.
echo Thank you for choosing the Visual C++ Toolkit 2003!  Get started quickly by
echo building the code samples included in the "Samples" directory.  Each sample
echo includes a short whitepaper discussing the Visual C++ features, and a batch
echo file for building the code.
echo.
echo Type "cl /?" for brief documentation on compiler options.
echo.
echo Visit http://msdn.microsoft.com/visualc/using/documentation/default.aspx for
echo complete compiler documentation.


Concerning the compile options, I'll take a look at the documentation. Maybe this is the point where I should start to learn more about compiling ... interesting subject, I'm sure. :)

Thanks again
Andy

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #14by selden » 29.08.2007, 17:00

Andy,

Chris mentioned that he had to replace his computer and now is using VS2005 Express to build Celestia under Windows. He misplaced his VS2003 install disks, so testing for backward compatability will be rather difficult for him.

Although they "should" work, I had problems compiling under VS2003 when using the new libraries and include files. I'm using VS2005 Express now. I'm not sure if Fridger is using the older VS2003 libraries or has managed to build under VS2003 with the new libraries.

VS2005 Express and an appropriate Platform SDK are free but large (as much as 450MB each). After installing them, all i had to do was update the script I use to define the PATH, LIB and INCLUDE variables so they point to the appropriate VS2005 directories instead of the VS2003 directories. makerelease.bat works fine, although there are warnings generated by several of Celestia's source files. Most of them aren't new, though.

See http://en.wikibooks.org/wiki/Celestia/D ... 2_platform
for where to get the VS2005 C++ compiler, SDK and the updated Celestia libraries and includes.
Selden

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

Post #15by t00fri » 29.08.2007, 17:25

selden wrote: I'm not sure if Fridger is using the older VS2003 libraries or has managed to build under VS2003 with the new libraries.



Selden,

as I wrote both in the dev list and recently in the forum, I dislike using somebody's prefabricated binary libs, because of familiar MS-documented problems.

They typically arise, if the compile/link options of the binary libs are DIFFERENT from the options one uses for the actual code!

Your initial "libc errors" that you reported in the dev-list where most probably also due to that familiar issue. Just look in the net and you'll find many posts referring to the identical error text...I can immediately provoque the identical errors as you got by just changing these options inappropriately.

Chris never told us precisely the options he used for his recent lib pack...

Also my libpng/zlib is not only the latest, but 30% faster than the standard Release version, due to the use of assembler code. This ASM version is part of the 1.2.8 libpng source code package. Since Celestia may be reading LARGE PNG textures or MANY smaller sized PNG VT's, a superfast libpng seems important, at least to me ;-)

But before I could discuss these issues with Chris in more detail last week, he had "vanished" again ;-)

Of course I also have optimized these libs, since soon I shall release my new "TxCelest" tools (who knows a better non-copyrighted name!!!?) , that strongly profit from a fast performace of libpng.

Bye Fridger
Image

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #16by selden » 29.08.2007, 17:37

Fridger,

It's good to know that alternatives are available with better performance!

At the moment, I prefer to use the same libraries that will be distributed with Celestia so that the problems I have with Celestia are more likely to be the same ones that others encounter. Hopefully Chris will find time to update the libraries in the not too distant future.
Selden

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

Post #17by t00fri » 29.08.2007, 18:02

selden wrote:Fridger,

It's good to know that alternatives are available with better performance!

At the moment, I prefer to use the same libraries that will be distributed with Celestia so that the problems I have with Celestia are more likely to be the same ones that others encounter. Hopefully Chris will find time to update the libraries in the not too distant future.


Who told you which libraries will be DISTRIBUTED with Celestia? :lol:

Bye Fridger
Image

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #18by selden » 29.08.2007, 18:09

I am rashly assuming that the zip archives of libraries that Chris provides include the libraries that he'll be distributing as part of Celestia's Windows installer. I'm also rashly assuming he'll update the zip archives when he decides to update the distributed libraries.

If that doesn't happen, then we'll have other problems, too. :(
Selden

Andy74 M
Posts: 114
Joined: 21.07.2004
Age: 50
With us: 20 years 4 months
Location: Regensburg, Germany

Post #19by Andy74 » 30.08.2007, 14:42

selden wrote:Chris mentioned that he had to replace his computer and now is using VS2005 Express to build Celestia under Windows.
[...]
VS2005 Express and an appropriate Platform SDK are free but large (as much as 450MB each). After installing them, all i had to do was update the script I use to define the PATH, LIB and INCLUDE variables so they point to the appropriate VS2005 directories instead of the VS2003 directories. makerelease.bat works fine, although there are warnings generated by several of Celestia's source files. Most of them aren't new, though.

See http://en.wikibooks.org/wiki/Celestia/D ... 2_platform
for where to get the VS2005 C++ compiler, SDK and the updated Celestia libraries and includes.

Selden,
thank you for this information. Well, I heard about it, but it wasn't clear to me that there might be problems with the 2003 Toolkit.
It's no problem to download and install the newer compiler and SDK.

Andy :)

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

Post #20by t00fri » 30.08.2007, 18:45

Andy74 wrote:Selden,
thank you for this information. Well, I heard about it, but it wasn't clear to me that there might be problems with the 2003 Toolkit.
It's no problem to download and install the newer compiler and SDK.

Andy :)


Let me just clearly state that there are NO problems with the commercial VS++ 2003.net compiler platform. It's just that Chris needed a new computer and couldn't find his backup disks for VS++ 2003.net anymore... I continue to compile with that environment and do not encounter any problems as usual.

Yes, there may be some extra motivation to popularize the FREE VS 2005 Express compiler.

Bye Fridger
Image


Return to “Development”