<br><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>2. Naming conventions. Contrary to how the current ruby-opengl does<br>things (which I'd done most of the pushing for):
<br><br>| require 'GL'<br>| include GL<br>| glFooBar( GL_FOO_BAR )</blockquote><div><br><br>I think the above style is good, since it's closest to the&nbsp; C library. I think the code below is the domain ot a special rubyish wrapper.&nbsp; Following the naming trend below could lead to different rubyish shortcuts that, while good, would be confusing to people expecting the OpenGL API. 
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">code that uses rubygl looks more like this:<br><br>| require 'rubygl'<br>| include Gl, Glu, Glut
<br>| foo_bar( :foo_bar )<br><br>The reasoning for using our syntax is to make it as similar to the C<br>API as possible to ease the transition for folks who already know the<br>C API. Also, it's to make it easier to port your Ruby OpenGL code to C
<br>if it were to become necessary.<br><br>That said, the rubygl naming is more customary with how things are<br>usually done in the Ruby world, and admittedly does look rather<br>spiffy. ;)<br><br><br>3. Callbacks are handled a bit more simply in rubygl. The rubygl code
<br>(I think) looks like:<br><br>| display_func do |w, h|<br>|&nbsp;&nbsp;&nbsp;&nbsp; viewport ...<br>|&nbsp;&nbsp;&nbsp;&nbsp; matrix_mode :projection<br>|&nbsp;&nbsp;&nbsp;&nbsp; #...<br>|&nbsp;&nbsp;&nbsp;&nbsp; matrix_mode :modelview<br>|&nbsp;&nbsp;&nbsp;&nbsp; load_identity<br>| end<br><br>compared to how it's done in ruby-opengl:
<br><br>| reshape = lambda do |w, h|<br>|&nbsp;&nbsp;&nbsp;&nbsp; glViewport( ... )<br>|&nbsp;&nbsp;&nbsp;&nbsp; glMatrixMode( GL_PROJECTION )<br>|&nbsp;&nbsp;&nbsp;&nbsp; # etc.<br>|&nbsp;&nbsp;&nbsp;&nbsp; glMatrixMode( GL_MODELVIEW )<br>|&nbsp;&nbsp;&nbsp;&nbsp; glLoadIdentity<br>| end<br>|<br>| glutReshapeFunc( reshape )
<br><br>I haven't yet looked closely at how the C code to enable this syntax<br>differs from what ruby-opengl has. And, actually, since I'm so new at<br>working with extension modules, I don't yet know a whole lot about<br>
what I'm looking at.<br><br>Discussion welcome.<br><br>---John<br>_______________________________________________<br>ruby-opengl-devel mailing list<br><a href="mailto:ruby-opengl-devel@rubyforge.org">ruby-opengl-devel@rubyforge.org
</a><br><a href="http://rubyforge.org/mailman/listinfo/ruby-opengl-devel">http://rubyforge.org/mailman/listinfo/ruby-opengl-devel</a><br></blockquote></div><br>