Rendering ruby openGL output to a file.

B

Brian Schröder

Hello Group,

I don't know if this is off topic, but at least a ruby program is
involved. I have written a small ruby script that renders some things
using the opengl ruby library. Now I want to include the images into
my thesis, and I'd like to use a higher resolution that what my screen
can give. Is it possible to render the image not onto the screen, but
into a file, using a bigger-than-screen resolution? I'm quite an
opengl newbie so maybe this is obious?

regards,

Brian
 
B

Brian Schröder

I resolved this issue by switching to povray. Now I simply create a
povray description of the scene, and render this in better quality.

One should not always use the hammer ;)

Regards,

Brian
 
D

Denis Mertz

Hello Group,

I don't know if this is off topic, but at least a ruby program is
involved. I have written a small ruby script that renders some things
using the opengl ruby library. Now I want to include the images into
my thesis, and I'd like to use a higher resolution that what my screen
can give. Is it possible to render the image not onto the screen, but
into a file, using a bigger-than-screen resolution? I'm quite an
opengl newbie so maybe this is obious?

regards,

Brian

You can do that with the Mesa off-screen rendering library (OSMesa)

http://www.mesa3d.org/osmesa.html

Ciao

dm1
 
E

Eric Peden

ow I want to include the images into
my thesis, and I'd like to use a higher resolution that what my screen
can give. Is it possible to render the image not onto the screen, but
into a file, using a bigger-than-screen resolution? I'm quite an
opengl newbie so maybe this is obious?

You might get some use out of RMagick, a Ruby interface for
ImageMagick/GraphicsMagick:

http://rmagick.rubyforge.org/

The OpenGL API works with raw color values packed into an array;
RMagick (as far as I can tell) cannot. You should be able to draw your
scene offscreen, then do a readPixels() and then convert the resulting
array to RMagick Pixel values. Tell RMagick what your intended
resolution is, and it will handle the rest.
 
T

Tim Hunter

Eric said:
You might get some use out of RMagick, a Ruby interface for
ImageMagick/GraphicsMagick:

http://rmagick.rubyforge.org/

The OpenGL API works with raw color values packed into an array; RMagick
(as far as I can tell) cannot. You should be able to draw your scene
offscreen, then do a readPixels() and then convert the resulting array
to RMagick Pixel values. Tell RMagick what your intended resolution is,
and it will handle the rest.
The #constitute method takes an array of RGBA values as input:
http://www.simplesystems.org/RMagick/doc/image1.html#constitute
 
J

Joe Van Dyk

You might get some use out of RMagick, a Ruby interface for
ImageMagick/GraphicsMagick:

http://rmagick.rubyforge.org/

The OpenGL API works with raw color values packed into an array;
RMagick (as far as I can tell) cannot. You should be able to draw your
scene offscreen, then do a readPixels() and then convert the resulting
array to RMagick Pixel values. Tell RMagick what your intended
resolution is, and it will handle the rest.

I did something like this, except with C and ImageMagick. It was
actually easier for me (for some reason) to process the arrays in C
rather than in Ruby back then.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,822
Latest member
israfaceZa

Latest Threads

Top