ruby-opengl 0.60.0-i386-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +18 -0
- data/README.txt +47 -0
- data/doc/build_install.txt +122 -0
- data/doc/history.txt +66 -0
- data/doc/requirements_and_design.txt +117 -0
- data/doc/roadmap.txt +28 -0
- data/doc/scientific_use.txt +35 -0
- data/doc/thanks.txt +29 -0
- data/doc/tutorial.txt +469 -0
- data/examples/NeHe/nehe_lesson02.rb +117 -0
- data/examples/NeHe/nehe_lesson03.rb +122 -0
- data/examples/NeHe/nehe_lesson04.rb +133 -0
- data/examples/NeHe/nehe_lesson05.rb +186 -0
- data/examples/NeHe/nehe_lesson36.rb +303 -0
- data/examples/OrangeBook/3Dlabs-License.txt +33 -0
- data/examples/OrangeBook/brick.frag +36 -0
- data/examples/OrangeBook/brick.rb +376 -0
- data/examples/OrangeBook/brick.vert +41 -0
- data/examples/OrangeBook/particle.frag +17 -0
- data/examples/OrangeBook/particle.rb +406 -0
- data/examples/OrangeBook/particle.vert +38 -0
- data/examples/README +16 -0
- data/examples/RedBook/aapoly.rb +142 -0
- data/examples/RedBook/aargb.rb +119 -0
- data/examples/RedBook/accanti.rb +162 -0
- data/examples/RedBook/accpersp.rb +215 -0
- data/examples/RedBook/alpha.rb +123 -0
- data/examples/RedBook/alpha3D.rb +158 -0
- data/examples/RedBook/bezcurve.rb +105 -0
- data/examples/RedBook/bezmesh.rb +137 -0
- data/examples/RedBook/checker.rb +124 -0
- data/examples/RedBook/clip.rb +95 -0
- data/examples/RedBook/colormat.rb +135 -0
- data/examples/RedBook/cube.rb +69 -0
- data/examples/RedBook/depthcue.rb +99 -0
- data/examples/RedBook/dof.rb +205 -0
- data/examples/RedBook/double.rb +105 -0
- data/examples/RedBook/drawf.rb +91 -0
- data/examples/RedBook/feedback.rb +145 -0
- data/examples/RedBook/fog.rb +167 -0
- data/examples/RedBook/font.rb +151 -0
- data/examples/RedBook/hello.rb +79 -0
- data/examples/RedBook/image.rb +137 -0
- data/examples/RedBook/jitter.rb +207 -0
- data/examples/RedBook/lines.rb +128 -0
- data/examples/RedBook/list.rb +111 -0
- data/examples/RedBook/material.rb +275 -0
- data/examples/RedBook/mipmap.rb +156 -0
- data/examples/RedBook/model.rb +113 -0
- data/examples/RedBook/movelight.rb +132 -0
- data/examples/RedBook/pickdepth.rb +179 -0
- data/examples/RedBook/planet.rb +108 -0
- data/examples/RedBook/quadric.rb +158 -0
- data/examples/RedBook/robot.rb +115 -0
- data/examples/RedBook/select.rb +196 -0
- data/examples/RedBook/smooth.rb +95 -0
- data/examples/RedBook/stencil.rb +163 -0
- data/examples/RedBook/stroke.rb +167 -0
- data/examples/RedBook/surface.rb +166 -0
- data/examples/RedBook/teaambient.rb +132 -0
- data/examples/RedBook/teapots.rb +182 -0
- data/examples/RedBook/tess.rb +183 -0
- data/examples/RedBook/texbind.rb +147 -0
- data/examples/RedBook/texgen.rb +169 -0
- data/examples/RedBook/texturesurf.rb +128 -0
- data/examples/RedBook/varray.rb +159 -0
- data/examples/RedBook/wrap.rb +148 -0
- data/examples/misc/OGLBench.rb +337 -0
- data/examples/misc/anisotropic.rb +194 -0
- data/examples/misc/fbo_test.rb +356 -0
- data/examples/misc/font-glut.rb +46 -0
- data/examples/misc/glfwtest.rb +30 -0
- data/examples/misc/plane.rb +161 -0
- data/examples/misc/readpixel.rb +65 -0
- data/examples/misc/sdltest.rb +34 -0
- data/examples/misc/trislam.rb +828 -0
- data/lib/gl.so +0 -0
- data/lib/glu.so +0 -0
- data/lib/glut.so +0 -0
- data/lib/opengl.rb +84 -0
- metadata +132 -0
data/MIT-LICENSE
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
3
|
+
copy of this software and associated documentation files (the "Software"),
|
4
|
+
to deal in the Software without restriction, including without limitation
|
5
|
+
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
6
|
+
and/or sell copies of the Software, and to permit persons to whom the
|
7
|
+
Software is furnished to do so, subject to the following conditions:
|
8
|
+
|
9
|
+
The above copyright notice and this permission notice shall be included in
|
10
|
+
all copies or substantial portions of the Software.
|
11
|
+
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
13
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
14
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
15
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
16
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
17
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
18
|
+
DEALINGS IN THE SOFTWARE.
|
data/README.txt
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
ruby-opengl
|
2
|
+
===========
|
3
|
+
|
4
|
+
[ruby-opengl][] consists of Ruby extension modules that are bindings for
|
5
|
+
the [OpenGL][], GLU, and [GLUT][] libraries. It is intended to be a
|
6
|
+
replacement for -- and uses the code from -- [Yoshi's ruby-opengl][].
|
7
|
+
|
8
|
+
It's licensed under the MIT license. Please see the included MIT-LICENSE
|
9
|
+
file for the terms of the license.
|
10
|
+
|
11
|
+
|
12
|
+
[ruby-opengl]: http://rubyforge.org/projects/ruby-opengl/
|
13
|
+
[OpenGL]: http://www.opengl.org/
|
14
|
+
[GLUT]: http://www.opengl.org/documentation/specs/glut/spec3/spec3.html
|
15
|
+
|
16
|
+
|
17
|
+
[Yoshi's ruby-opengl]: http://www2.giganet.net/~yoshi/
|
18
|
+
|
19
|
+
|
20
|
+
Current release: 0.60.0 (December 29, 2007)
|
21
|
+
-----------------
|
22
|
+
Changes in this release:
|
23
|
+
* Automatic error checking for GL/GLU calls, enabled by default (see doc/tutorial)
|
24
|
+
* Added support for many more OpenGL extensions
|
25
|
+
* Support for Ruby 1.9.0+ (requires mkrf 0.2.3)
|
26
|
+
* Ton of bugfixes.<br><br>
|
27
|
+
<b>API Changes:</b>
|
28
|
+
* Boolean functions/parameters was changed to ruby true/false instead of GL\_TRUE / GL\_FALSE, which remains for compatibility
|
29
|
+
* glGet\* functions now returns x instead of [x] when returning only one value
|
30
|
+
* Functions operating on packed strings (glTexture, gl\*Pointer etc.) now also accepts ruby arrays directly
|
31
|
+
* Matrix handling functions now also accepts instances of Matrix class, or any class that can be converted to array
|
32
|
+
* glUniform\*v and glUniformmatrix\*v now does not require 'count' parameter, they will calculate it from length of passed array
|
33
|
+
* glCallLists needs type specifier (previously was forced to GL_BYTE)
|
34
|
+
* On ruby 1.9, glut keyboard callback returns char ("x") instead of integer so using 'if key == ?x' works on both 1.8 and 1.9
|
35
|
+
|
36
|
+
Previous release: 0.50.0 (October 23, 2007)
|
37
|
+
-----------------
|
38
|
+
Changes in this release:
|
39
|
+
|
40
|
+
* GLU and GLUT cleanup, bugfixes, some missing functions added - version 3.7
|
41
|
+
of GLUT API is now requirement (previously 3.0)
|
42
|
+
* We added support for number of OpenGL extensions
|
43
|
+
* Some new examples and code cleanup
|
44
|
+
* Support for OpenGL 2.1 (that includes pixelpack/unpack buffer)
|
45
|
+
* Some code refactoring to remove duplicity
|
46
|
+
* Documentation update (still no API doc though)
|
47
|
+
* Lots of bugfixes.
|
@@ -0,0 +1,122 @@
|
|
1
|
+
Building ruby-opengl
|
2
|
+
====================
|
3
|
+
|
4
|
+
Pre-requisites
|
5
|
+
--------------
|
6
|
+
|
7
|
+
General
|
8
|
+
--------------
|
9
|
+
* C compiler (not needed for binary install on Windows)
|
10
|
+
* ruby 1.8.5+ or ruby 1.9.0+
|
11
|
+
* rake
|
12
|
+
* mkrf 0.2.0+ (0.2.3+ for ruby 1.9)
|
13
|
+
* rubygems 0.9.1+
|
14
|
+
* OpenGL headers for OpenGL version 1.1 or later (not needed for binary install on Windows)
|
15
|
+
* GLUT 3.7+ or API-compatible implementation (freeglut,OpenGLUT)
|
16
|
+
|
17
|
+
Linux
|
18
|
+
--------------
|
19
|
+
On Ubuntu or Debian systems, aside from Ruby you'll need ruby and
|
20
|
+
some extra ruby related packages:
|
21
|
+
|
22
|
+
* `ruby rdoc ri ruby1.8-dev`
|
23
|
+
|
24
|
+
For OpenGL related headers you'll need the following packages:
|
25
|
+
|
26
|
+
* `libgl1-mesa-dri libglu1-mesa freeglut3`
|
27
|
+
* `libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev`
|
28
|
+
|
29
|
+
On older Gentoo, Debian and Ubuntu, rubygems 0.9.0 will be installed by default
|
30
|
+
in the packages. This version of rubygems is INCOMPATIBLE with ruby-opengl.
|
31
|
+
You'll need to install rubygems 0.9.1+ from source.
|
32
|
+
|
33
|
+
On some distributions you may need 'xorg-dev' developer package.
|
34
|
+
|
35
|
+
Mac OS X
|
36
|
+
--------------
|
37
|
+
On OS X, you will need to install your own version of Ruby as the
|
38
|
+
version that ships with OS X has known problems with properly building
|
39
|
+
ruby-opengl bindings. You'll also need XCode for gcc and tools. Macports
|
40
|
+
or fink should handle this cleanly.
|
41
|
+
|
42
|
+
* To compile under Mac OS X you MUST install your own version of Ruby
|
43
|
+
as the version included with Tiger (1.8.2) has a broken rbconfig
|
44
|
+
and will fail to build the project properly. Try either [MacPorts][],
|
45
|
+
[Fink][], or [building your own from source][].
|
46
|
+
|
47
|
+
[Macports]: http://www.macports.org/
|
48
|
+
[Fink]: http://finkproject.org/
|
49
|
+
[building your own from source]: http://www.ruby-lang.org/en/downloads/
|
50
|
+
|
51
|
+
Windows
|
52
|
+
--------------
|
53
|
+
For manual build on Windows you need to have platform SDK and compiler that *must* match the one which was used for compiling ruby binary (for One-click ruby installer it is MSVC 6.0).
|
54
|
+
You may also need 'glut.h' in SDK include directory, as the One-click ruby
|
55
|
+
installer is missing it. You can copy the file from glut package at [glut homepage][].
|
56
|
+
Alternatively, you can install the precompiled binary gem (see bellow).
|
57
|
+
|
58
|
+
<b>Important note:</b> If you are using the One-click installer version 1.8.6-25 or earlier,
|
59
|
+
you must delete or rename files 'opengl.so' and 'glut.so' in
|
60
|
+
C:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
|
61
|
+
|
62
|
+
[glut homepage]: http://www.xmission.com/~nate/glut.html
|
63
|
+
|
64
|
+
Build and installation
|
65
|
+
--------------
|
66
|
+
|
67
|
+
Installing from rubygems
|
68
|
+
-------------------
|
69
|
+
|
70
|
+
ruby-opengl should support being installed via gems now. Just
|
71
|
+
try 'gem install -y ruby-opengl' and it should pull down the gem
|
72
|
+
and try to build the bindings for you automatically.
|
73
|
+
|
74
|
+
For windows there is also pre-built binary windows gem available
|
75
|
+
(i386-mswin32) which is compatible with the ruby one-click installer and does not need
|
76
|
+
compiler or other mentioned tools installed.
|
77
|
+
|
78
|
+
Manual Build instructions for all platforms (see above for platform-specific notes)
|
79
|
+
------------------
|
80
|
+
1. Make sure you have working ruby with rubygems installed
|
81
|
+
and (if needed) appropriate developer packages (ruby-dev,ruby1.8-dev,...).
|
82
|
+
2. Make sure you have working C compiler
|
83
|
+
3. Install rake either from package or by running 'gem install rake'
|
84
|
+
4. Install mkrf (0.2.0+) either from package or by running 'gem install mkrf'
|
85
|
+
5. Make sure you have working OpenGL installation, this includes libGL,libGLU,
|
86
|
+
glut and (if needed) appropriate -dev or -devel packages.
|
87
|
+
6. Run 'rake' at the top level of the project
|
88
|
+
7. (OPTIONAL) Run 'rake test' to run unit tests to verify it works properly
|
89
|
+
|
90
|
+
Installing manually built extensions
|
91
|
+
------------------
|
92
|
+
1. Run 'rake clean' to clean out the project
|
93
|
+
2. Run 'rake gem' to create source gem from project
|
94
|
+
3. Run 'gem install pkg/ruby-opengl-(version).gem' to compile and install the gem
|
95
|
+
4. Done.
|
96
|
+
|
97
|
+
Building binary gem (useful only for binary distribution of the project)
|
98
|
+
------------------
|
99
|
+
1. Run 'gem install gembuilder' to install the gembuilder package
|
100
|
+
2. Run 'rake clean' to clean out the project
|
101
|
+
3. Run 'rake gem' to build source gem
|
102
|
+
4. Run 'gembuilder pkg/ruby-opengl-(version).gem' to compile the binary gem
|
103
|
+
|
104
|
+
|
105
|
+
Testing
|
106
|
+
-----------------
|
107
|
+
|
108
|
+
To run unit tests:
|
109
|
+
|
110
|
+
$ rake test
|
111
|
+
|
112
|
+
Note that the tests have the adverse effect of testing the underlying OpenGL
|
113
|
+
implementation, so depending on your GL provider,drivers or OS, the tests may
|
114
|
+
fail, crash, or not run at all, without affecting your ability to use the
|
115
|
+
bindings.
|
116
|
+
|
117
|
+
Running programs and examples
|
118
|
+
-----------------
|
119
|
+
To run a sample file, make sure the ruby-opengl gem is installed then:
|
120
|
+
|
121
|
+
$ cd examples
|
122
|
+
$ ruby -rubygems plane.rb
|
data/doc/history.txt
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
Project history
|
2
|
+
===============
|
3
|
+
|
4
|
+
The [original ruby-opengl](http://www2.giganet.net/~yoshi/) was written
|
5
|
+
by Yoshi.
|
6
|
+
|
7
|
+
James A. desperately wanted to get the OpenGL Ruby bindings working on his Mac,
|
8
|
+
but they wouldn't even compile on OSX. After a little bit of tweaking, he made
|
9
|
+
his patched bindings available to the ruby community in a very informal manner.
|
10
|
+
|
11
|
+
John G. then wanted to clean it up and add some docs to it, and so started
|
12
|
+
tweaking and put up a new site and made his changes available.
|
13
|
+
|
14
|
+
Then Peter M. came along and decided to try updating ruby-opengl using SWIG,
|
15
|
+
as it seemed easier than doing everything by hand. Peter wrote the new code,
|
16
|
+
John started the actual RubyForge project, put up a new site, and Peter
|
17
|
+
committed the code.
|
18
|
+
|
19
|
+
Thu M. V. joined the project with a lot of energy, and the mailing list
|
20
|
+
was showing a good bit of activity.
|
21
|
+
|
22
|
+
After some experience, we began to question whether SWIG was necessary/helpful
|
23
|
+
for a project of this nature. The leaning was that people want to abandon
|
24
|
+
SWIG and go back to maintaining the binding files by hand. Thu even provided
|
25
|
+
a script to help with the manual coding that would be required without using
|
26
|
+
SWIG.
|
27
|
+
|
28
|
+
The reasoning at the time was:
|
29
|
+
|
30
|
+
Pro-SWIG:
|
31
|
+
|
32
|
+
* Could use the .i files for another project, perhaps (OTOH, we couldn't
|
33
|
+
use previous .i files on this project...)
|
34
|
+
|
35
|
+
* It's supposed to require less manual coding.
|
36
|
+
|
37
|
+
Con-SWIG:
|
38
|
+
|
39
|
+
* yet another tool to learn
|
40
|
+
|
41
|
+
* OpenGL isn't really all that big
|
42
|
+
|
43
|
+
* OpenGL doesn't change a lot
|
44
|
+
|
45
|
+
* A lot of boilerplate and overhead in the generated files because SWIG is
|
46
|
+
a general tool.
|
47
|
+
|
48
|
+
|
49
|
+
In September 2006, we stopped using SWIG. Thu and Peter began fine tuning
|
50
|
+
Thu's original `utils/mkwrap.rb` script.
|
51
|
+
|
52
|
+
Development stalled in October 2006.
|
53
|
+
|
54
|
+
Development picked up again towards the end of 2006. After a long hiatus
|
55
|
+
and getting a new release of mkrf out the door, version 0.33 (following the
|
56
|
+
numbering of original Yoshi's bindings which stalled at 0.32) was released.
|
57
|
+
|
58
|
+
During first half of 2007, we added large portion of code, as well as number
|
59
|
+
of unit tests, creating near-complete support for OpenGL 2.1.
|
60
|
+
Support for MS Windows was also added during this time.
|
61
|
+
|
62
|
+
Version 0.40 was released in July 2007.
|
63
|
+
|
64
|
+
Version 0.50 was released in October 2007.
|
65
|
+
|
66
|
+
Version 0.60 was released in December 2007.
|
@@ -0,0 +1,117 @@
|
|
1
|
+
Design
|
2
|
+
======
|
3
|
+
|
4
|
+
This document records the requirements, high-level design, and the
|
5
|
+
specifications for the ruby-opengl project.
|
6
|
+
|
7
|
+
The content of this document was gleaned from the postings on the
|
8
|
+
ruby-opengl-dev list and internal notes from John G., Peter M., Vo Minh Thu,
|
9
|
+
and Robert K.
|
10
|
+
|
11
|
+
|
12
|
+
Requirements
|
13
|
+
------------
|
14
|
+
|
15
|
+
* ruby-opengl is a Ruby extension library which wraps the OpenGL, GLU,
|
16
|
+
and GLUT libraries.
|
17
|
+
|
18
|
+
* ruby-opengl shall provide three base modules: *BaseGL*, *BaseGLU*, and
|
19
|
+
*BaseGLUT* (the "Base Modules").
|
20
|
+
|
21
|
+
Note: "BaseGL" etc. are not the names that appear in the code -- they are
|
22
|
+
just handles so we can write about them in documents like this one.
|
23
|
+
|
24
|
+
* The Base Modules shall be separately loadable.
|
25
|
+
|
26
|
+
* BaseGL shall not depend on any of the other Ruby modules.
|
27
|
+
|
28
|
+
* BaseGLU shall depend on, at most, BaseGL.
|
29
|
+
|
30
|
+
* BaseGLUT shall depend on, at most, BaseGLU and BaseGL.
|
31
|
+
|
32
|
+
* Base Module syntax shall closely follow the standard C-syntax.
|
33
|
+
|
34
|
+
The syntax for a Ruby program that uses the base modules, shall closely
|
35
|
+
follow the standard C-like syntax that OpenGL programmers are used to,
|
36
|
+
and that most OpenGL examples are published in:
|
37
|
+
|
38
|
+
{{ruby}}
|
39
|
+
require 'gl'
|
40
|
+
Gl.glBegin( Gl::GL_POLYGON )
|
41
|
+
Gl.glVertex2d( 0, 0 )
|
42
|
+
Gl.glVertex2d( 0, 1 )
|
43
|
+
Gl.glVertex2d( 1, 1 )
|
44
|
+
Gl.glVertex2d( 1, 0 )
|
45
|
+
Gl.glEnd
|
46
|
+
|
47
|
+
Or:
|
48
|
+
|
49
|
+
{{ruby}}
|
50
|
+
require 'gl'
|
51
|
+
include Gl
|
52
|
+
glBegin( GL_POLYGON )
|
53
|
+
glVertex2d( 0, 0 )
|
54
|
+
glVertex2d( 0, 1 )
|
55
|
+
glVertex2d( 1, 1 )
|
56
|
+
glVertex2d( 1, 0 )
|
57
|
+
glEnd
|
58
|
+
|
59
|
+
The rationale for adopting the C-like syntax is:
|
60
|
+
* Makes it familiar to OpenGL programmers.
|
61
|
+
* Removes the burden of learning OpenGL plus some Ruby-isms, just to
|
62
|
+
get started.
|
63
|
+
* Makes it easier to port OpenGL programs to/from ruby-opengl.
|
64
|
+
* The current OpenGL documentation more naturally fits ruby-opengl.
|
65
|
+
* Putting "gl", "glu" and "glut" in front of all the names (i.e.,
|
66
|
+
following the C-like syntax) leaves common variable names open for
|
67
|
+
the programmers (e.g., "vertex", "color" etc. are popular topics in
|
68
|
+
3D programming, so not robbing the ruby namespace of such valuable
|
69
|
+
real-estate seems nice).
|
70
|
+
|
71
|
+
|
72
|
+
* It shall be possible to check out the project from svn, compile and test
|
73
|
+
on the following platforms: Mac OS X, GNU/Linux. MS Windows operating
|
74
|
+
systems may also be supported in the future.
|
75
|
+
|
76
|
+
* The project will make a number of pre-compiled extensions available as gems.
|
77
|
+
|
78
|
+
* The project will supply source code and build scripts (via svn checkout)
|
79
|
+
conducive to straightforward porting to other platforms.
|
80
|
+
|
81
|
+
* There shall be a test suite that exercises each call in each of the Base
|
82
|
+
modules.
|
83
|
+
|
84
|
+
* All project documentation will be in Markdown format in files that end in
|
85
|
+
`.txt`.
|
86
|
+
|
87
|
+
* The project will make some efforts to track versions of OpenGL.
|
88
|
+
|
89
|
+
|
90
|
+
### Things in the future
|
91
|
+
|
92
|
+
Once the base modules are implemented, there are several ideas on things to
|
93
|
+
do next. This list is not really requirements, but a list of nice ideas to
|
94
|
+
try:
|
95
|
+
|
96
|
+
* Provide wrappers for glBegin/glEnd, eg: polygon()...translates to
|
97
|
+
glBegin(GL_POLYGON)....glEnd
|
98
|
+
|
99
|
+
* Untyped versions of the multi-typed gl functions: e.g., a single
|
100
|
+
glVertex that examines its arguments and calls the appropriate
|
101
|
+
glVertex{234}{fisdv} call in BaseGL.
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
Implementation
|
106
|
+
--------------
|
107
|
+
|
108
|
+
Our plan is to continue on with Yoshi's original code, modified
|
109
|
+
to use standard OpenGL-style constant and function names.
|
110
|
+
|
111
|
+
|
112
|
+
### Build environment ###
|
113
|
+
|
114
|
+
The build environment will use:
|
115
|
+
|
116
|
+
* use rake and mkrf.
|
117
|
+
* minimize the number of additional tools required
|
data/doc/roadmap.txt
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
Roadmap
|
2
|
+
=======
|
3
|
+
|
4
|
+
* Write comprehensive API documentation
|
5
|
+
* Create more example code
|
6
|
+
* Add RMagick(ImageMagick) integration for easy image handling (textures,screenshots)
|
7
|
+
* Support all pixelstore modes (currently forced to default values by
|
8
|
+
any function getting/setting data affected by it)
|
9
|
+
|
10
|
+
Possible Features
|
11
|
+
========
|
12
|
+
* Add **all** OpenGL extensions (some are obsolete or not really used or useful at all)
|
13
|
+
* Add direct mapping on ruby types for vertex arrays, buffers and image data to allow high performance data operations from within ruby
|
14
|
+
- this should be modeled after Perl's OpenGL::Array
|
15
|
+
- Update: preliminary tests shows that performance-wise there is no need for it, as the Ruby interpreter overhead is currently larger than immediate-mode calls overhead, so any potential speed gains are in domain of 1-5%. It still may be good idea from usability perspective, although that would require more comprehensive design, not just simple wrapper.
|
16
|
+
* Support for r/w VBO buffer mapping - gl(Un)MapBuffer (is it needed?)
|
17
|
+
|
18
|
+
<br/>
|
19
|
+
<br/>
|
20
|
+
<br/>
|
21
|
+
<br/>
|
22
|
+
<br/>
|
23
|
+
<br/>
|
24
|
+
<br/>
|
25
|
+
<br/>
|
26
|
+
<br/>
|
27
|
+
<br/>
|
28
|
+
<br/>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Scientific Use
|
2
|
+
--------------
|
3
|
+
|
4
|
+
Though not directly related to ruby-opengl, this page contains a
|
5
|
+
few tidbits of general info that might possibly be of interest to
|
6
|
+
a number of users.
|
7
|
+
|
8
|
+
There are currently two bindings to the [GNU Scientific Library][1] (GSL):
|
9
|
+
|
10
|
+
* Yoshiki's Ruby/GSL (<http://rb-gsl.rubyforge.org/>) --
|
11
|
+
Comes with an API reference. Also, I've been told that the API has been
|
12
|
+
worked a bit to be more comfortable for Ruby programmers.
|
13
|
+
* Arno's ruby-gsl (<http://ruby-gsl.sourceforge.net/>) --
|
14
|
+
more of a straight wrapper around the C API.
|
15
|
+
|
16
|
+
[1]: http://www.gnu.org/software/gsl/
|
17
|
+
|
18
|
+
<a href="http://rubyforge.org/softwaremap/trove_list.php?form_cat=97">Browse Rubyforge</a>
|
19
|
+
for more.
|
20
|
+
|
21
|
+
|
22
|
+
Links
|
23
|
+
-----
|
24
|
+
|
25
|
+
* <http://sciruby.codeforpeople.com/sr.cgi/FrontPage> -- SciRuby wiki.
|
26
|
+
* <http://narray.rubyforge.org/> -- Numerical n-dimensional Array class.
|
27
|
+
* <http://www.kitp.ucsb.edu/~paxton/tioga.html> -- Tioga. Create plots using
|
28
|
+
Ruby and TeX.
|
29
|
+
|
30
|
+
<br/>
|
31
|
+
<br/>
|
32
|
+
<br/>
|
33
|
+
<br/>
|
34
|
+
<br/>
|
35
|
+
<br/>
|
data/doc/thanks.txt
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
Thank you
|
2
|
+
---------
|
3
|
+
|
4
|
+
Aside from big thank-you's to the core devs, special thanks also goes to:
|
5
|
+
|
6
|
+
* Bill Kelly -- provided some pilot code changing how users can call method and constant names.
|
7
|
+
* Ilmari Heikkinen -- provided code for changing how users can call method and constant names.
|
8
|
+
* James Adam -- Mac OS X fixes
|
9
|
+
* Tony Hursh -- Mac OS X glut build tweak
|
10
|
+
* Sean Long -- More Mac OS X fixes
|
11
|
+
* John Gabriele -- Numerous fixes, documentation, and project support
|
12
|
+
* Ronald Pijnacker -- Windows support and bugfixes
|
13
|
+
* **Yoshi** -- providing ruby-opengl-0.32g from which to work off of.
|
14
|
+
|
15
|
+
<br/>
|
16
|
+
<br/>
|
17
|
+
<br/>
|
18
|
+
<br/>
|
19
|
+
<br/>
|
20
|
+
<br/>
|
21
|
+
<br/>
|
22
|
+
<br/>
|
23
|
+
<br/>
|
24
|
+
<br/>
|
25
|
+
<br/>
|
26
|
+
<br/>
|
27
|
+
<br/>
|
28
|
+
<br/>
|
29
|
+
<br/>
|