Page 1 of 2
High Resolution Rendering?
Posted: 23.07.2007, 04:19
by tefeari
Hey everyone, I'm not sure if this is possible already or if it would be easy to add-on, but I'd really like to be able to render perspectives in Celestia at a higher resolution than my screen can display, so that I can take a high resolution capture image.
By that I mean I'm looking for any way to render a image of my Celestia perspective as a high resolution file (Say if my monitor can display 1680x1050 I'm looking to render a 4000x4000 image of the scene).
Is there a way to do this or an easy way to mod it into possibility?
Thanks a lot,
Dave
Re: High Resolution Rendering?
Posted: 23.07.2007, 21:50
by rthorvald
[quote="tefeari"]Say if my monitor can display 1680x1050 I'm looking to render a 4000x4000 image of the scene).
If you print it at 25%, you would get that - more or less. If you aren??t printing it, that kind of resolution is superfluous anyway. What is the problem?
- rthorvald
Posted: 23.07.2007, 21:57
by tefeari
I wanted to be able to color the GEOS 12 geostationary satillite images of the entire Earth uploaded every 30 minutes.
It's in the visible range but in Black and White. If I can generate images in Celestia at the same time and perspective to match the 2816x3248 resolution image taken by GEOS 12 then I can colorize it to make a high resolution color image of the entire Earth every 30 minutes.
Here's a sample of what I pulled off in about 15 minutes of tweaking in photoshop using what I had from the REALLY low resolution shot I could currently get from Celestia.
Here is the original image:
Posted: 23.07.2007, 22:05
by rthorvald
tefeari wrote:I wanted to be able to color the GEOS 12 geostationary satillite images of
Here's a sample of what I pulled off in about 15 minutes of tweaking in photoshop using what I had from the REALLY low resolution shot I could currently get from Celestia.
Ok, but if you are scaling the Celestia screendump down to 4000x4000, the resolution goes up accordingly - as long as you scale the picture, not the "canvas" it is on, that is: scale the info in the picture but not the actual image file -which you just crop afterwards to fit the new scale.
It should be trivial to setup a macro in Photoshop that does this automatically via a "hot" folder.
- rthorvald
Posted: 23.07.2007, 23:45
by tefeari
I'm sorry, I don't understand what you're saying. I know how to use Photoshop. I know how to get an image from Celestia that matches the perspective of the GEOS 12 satallite.
I DONT know how to get an image from Celestia that will match the resolution of the GEOS 12 image. I don't want to scale the GEOS 12 image down because then I loose all it's beautifully captured details.
Posted: 24.07.2007, 00:47
by rthorvald
tefeari wrote:I DONT know how to get an image from Celestia that will match the resolution of the GEOS 12 image..
Hm... I have misunderstood. You want to scale the Celestia shot UP, not down. That won??t work...
Your only option IS to scale the other one down, then. Sorry for the confusion; i read 400 px, not 4000...
- rthorvald
Posted: 24.07.2007, 03:41
by tefeari
Why not? Right now the program's resolution is limited to the display's resolution. If someone took that restriction off I could go ahead and put it into 2560x1800 or whatever resolution and then save the image file from it even if it wouldn't fit on my screen.
Is there any way to start the program up (maybe with a shortcut command line?) at a higher resolution? Or maybe change a little source code or script line somewhere that will let me choose a display setting way above my monitor resolution?
Posted: 24.07.2007, 06:02
by LordFerret
NOAA already provides color enhanced GOES imagery.
http://www.nnvl.noaa.gov/
Posted: 24.07.2007, 06:20
by tefeari
That's cool but I was looking for something a bit more realistic. Even my 15 minute tweaks looked better than NOAA's imagery :/. I was also looking for something that could show the entire world.
Being able to render these large images with Celestia would let me make an outside script to create super high resolution imagery simliar to what I posted previously every 30 minutes (in color and realtime).
Posted: 24.07.2007, 06:21
by LordFerret
I won't argue that!
Posted: 24.07.2007, 15:25
by dirkpitt
Unfortunately none of the current versions of Celestia on any platform offer command line switches for selecting an arbitrary window size. One hack to get around the resolution limit is to use multiple monitors and stretch the window to span multiple screens.
Disclaimer: This hack works on the Mac, but the Windows version does not seem to let you overstretch the window. Bug?
re
Posted: 25.07.2007, 20:59
by John Van Vliet
i seam to remember that x-earth / xplanet dose a cloud update every 3 hours
http://xplanet.sourceforge.net/clouds.php
is this what you want to do
Posted: 27.07.2007, 03:02
by Chuft-Captain
dirkpitt wrote:Unfortunately none of the current versions of Celestia on any platform offer command line switches for selecting an arbitrary window size. One hack to get around the resolution limit is to use multiple monitors and stretch the window to span multiple screens.
Disclaimer: This hack works on the Mac, but the Windows version does not seem to let you overstretch the window. Bug?
Unfortunately with the multiple monitor approach, we would still be limited by the maximum resolution of the graphics card. (and yes the windows version just displays black on the second screen, so I guess it's a bug...or windows "feature".
)
As the BMP, PNG file format specifications are widely published, (eg.
http://www.martinreddy.net/gfx/2d/BMP.txt ) I would have thought that it would be a fairly straight-foward task for the devs to render the 3D-scene to a "virtual screen" and/or use file-io to output to a file with all the appropriate headers, tags etc.. (I'm of course assuming that the rendering layer was originally written by Chris, and not just plugged-in, so DEVs have access to it)
There would be a few issues when the file aspect-ratio does not match the screen aspect, but as long as it rendered more of the scene, rather than cropping, then I wouldn't be complaining. (In other words, to avoid cropping: match the smaller dimension of the file-render to the FOV of the screen image, and extend the other dimension if nescessary to produce a wider or longer file-image.) ie. when the aspects don't match, the file-render would show objects which are outside the FOV of the display window.
Hell, maybe there's even an opportunity for a new Lua-Hook, so the actual file-rendering of the scene could be done in LUA.
Hank/Vincent, is this possible???... or is this just a little too low-level for LUA?
So come on guys.. let's think outside the rectangle... I'd love to be able to produce poster-sized high-res images for my wall.
Posted: 27.07.2007, 03:45
by selden
Celestia's OpenGL rendering is handled by the graphics hardware and its drivers, which is what limits the size of the image. Other 3D programs can render images which are limited in size only by whatever the graphics hardware supports, which usually is larger than the resolution of the display device. It'd be nice if Celestia provided that functionality.
Also, in principle anyhow, one could link to a software OpenGL library which wouldn't have the size limitations of the hardware drivers.
Posted: 27.07.2007, 05:01
by Kolano
selden wrote:Celestia's OpenGL rendering is handled by the graphics hardware and its drivers, which is what limits the size of the image. Other 3D programs can render images which are limited in size only by whatever the graphics hardware supports, which usually is larger than the resolution of the display device. It'd be nice if Celestia provided that functionality.
Also, in principle anyhow, one could link to a software OpenGL library which wouldn't have the size limitations of the hardware drivers.
A tiled approach could also achieve this (i.e. 4 outputs from the graphics card are combined into one final image)
Posted: 27.07.2007, 06:54
by Chuft-Captain
selden wrote:Celestia's OpenGL rendering is handled by the graphics hardware and its drivers, which is what limits the size of the image. Other 3D programs can render images which are limited in size only by whatever the graphics hardware supports, which usually is larger than the resolution of the display device. It'd be nice if Celestia provided that functionality.
This however, would still be limited by the hardware.
selden wrote:Also, in principle anyhow, one could link to a software OpenGL library which wouldn't have the size limitations of the hardware drivers.
Are you aware of any axctual libraries being available Selden?
Posted: 27.07.2007, 10:13
by selden
The "obvious" one is Mesa.
http://www.mesa3d.org/
Posted: 27.07.2007, 11:12
by Chuft-Captain
Thanks Selden,
Has anyone looked into integrating this with Celestia?
The downside (from my perspective at least) is that it looks like Mesa is more likely to work in a UNIX environment than in WIN.
Posted: 28.07.2007, 08:47
by dirkpitt
OpenGL framebuffers limits are not necessarily the same as the size of 1 monitor. For example, on my Radeon 9700 it appears to be 2656x2656 pixels, which is more than twice as large as my laptop's screen. But yes, there is still a hardware-dependent finite limit. Using multiple, tiled contexts could be interesting and maybe somebody has already achieved this? -- to make a CAVE-compatible Celestia for example.
Posted: 24.08.2007, 05:53
by glcanon
Good idea, I hope it will be able to be implemented in Celestia one day. Kinda reminds me of that idea Al Gore had... to put a satellite in near-geosynchronous orbit, just staring back at the Earth, with the idea that anyone could look at our planet in hi-res detail, in color, at any time of the day, from space. I think Al Gore is a loopy fellow, but of course he did invent the internet. Of course if you can colorize the GOES images that are posted every so often, and overlay them on the Celestia Earth globe, you wouldn't need to spend a bundle to launch Al Gore's satellite, you could create the same thing virtually, especially if you got a good PS filter applied to the GOES image. That would be uber cool.