Problems using ruby and opengl


#1

So I just recently started using ruby and I love it. I am also taking
a computer graphics course and I am using C and C++ to use OpenGL. I
did a little searching, and it seems that ruby can do OpenGL too, but
I’ve had some problems…

I get this error every time I try to call Glut.glutCreateWindow :

freeglut ERROR: Internal error in function fgOpenWindow
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 4 (X_DestroyWindow)
Resource id in failed request: 0x0
Serial number of failed request: 25
Current serial number in output stream: 28

I used both my code and example code (though I haven’t had much luck
finding any). The ruby-opengl page is surprisingly unhelpful, with
very little information and tutorials.

Also, I’ve noticed that the sample programs I found haven’t needed
these two lines:

require ‘rubygems’
gem ‘ruby-opengl’

I’m not entirely sure what’s up.


#2

No ideas? Does anyone at least know how to set up ruby so that I
don’t need to add :

require ‘rubygems’
gem ‘ruby-opengl’

to the beginning of a program?


#3

Ciph3rzer0 wrote:

No ideas? Does anyone at least know how to set up ruby so that I
don’t need to add :

require ‘rubygems’
gem ‘ruby-opengl’

to the beginning of a program?

You need this env var:

RUBYOPT=rubygems


#4

From: “Ciph3rzer0” removed_email_address@domain.invalid

I get this error every time I try to call Glut.glutCreateWindow :

freeglut ERROR: Internal error in function fgOpenWindow
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 4 (X_DestroyWindow)
Resource id in failed request: 0x0
Serial number of failed request: 25
Current serial number in output stream: 28

One thing that seems odd there, is freeglut claiming the
problem is an “Internal error”.

I used both my code and example code (though I haven’t had much luck
finding any). The ruby-opengl page is surprisingly unhelpful, with
very little information and tutorials.

Had you already seen the tutorial page?

http://ruby-opengl.rubyforge.org/tutorial.html

It mentions the ability to use SDL or GLFW to obtain a
window, instead of GLUT. Unless GLUT is a fixed
requirement for you, maybe you could sidestep the issue
that way?

Regards,

Bill


#5

From: “Ciph3rzer0” removed_email_address@domain.invalid

I don’t really know how to use anything else…

You would still be using OpenGL… Unless you are doing
anything fancy with the window itself (menus, etc.) then
SDL or GLFW can be regarded as merely alternate ways to
obtain a window for rendering with OpenGL.

Does it seem like a problem with ruby-opengl? Or freeglut?
are there other "glut"s I can use?

I’m not sure how to guess where the problem lies. I would
tend to suspect the ruby bindings, however I did find it
curious that the error message came from freeglut and
described itself as an “internal error”.

Coincidentally, a relese candidate for freeglut version
2.6.0 was just put online today:

http://freeglut.sourceforge.net/index.php#download

So you might try compiling that new version of freeglut
and see if you can get any of its C-based demos to work.
If the C-based demos work, but the ruby bindings still
produce the error, then we may have narrowed it down a
little.

Hope this helps,

Bill


#6

On Apr 21, 2:05 am, Bill K. removed_email_address@domain.invalid wrote:

Bill
well, I have tried using C with freeglut, and I can created windows
and such. So I guess that already means it’s a problem with the
bindings?

I am in the process of compiling ruby 1.9. I figured since it said
the bindings have been updated for 1.9, then that might be the problem.


#7

On Apr 15, 4:58 pm, Bill K. removed_email_address@domain.invalid wrote:

Resource id in failed request: 0x0
Had you already seen the tutorial page?
Bill
I don’t really know how to use anything else…
Does it seem like a problem with ruby-opengl? Or freeglut? are there
other "glut"s I can use?


#8

Using ruby 1.9 has fixed the problem for me. Thanks everyone for your
input.