aboutsummaryrefslogtreecommitdiffstats
path: root/README.AdamKing.txt
blob: c5e52988a4ff1c224816cf67fa2736f90596d59c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
This readme is for the OpenGL4Java release 0.3.

Welcome!
-------
This is an initial developer's release of a (unoffical) port of OpenGL(tm)
for java.  I've taken Leo Chan's original package and ported it to both
WindowsNT/95 and to Linux.  I've included Leo Chan's original readme file
in this directory as README.orig.  Also, I've added several features, the main
one being OpenGl now drawing into a java Frame.  What advantage does this
provide?  Well, you can now add menus to the OpenGL widget as well as
receiving all normal events such as MouseMotion and Window events.  You
could very simply have a user rotate a openGL object by moving the mouse
around in the Frame ( the demo for the next release will have this feature ).


Installation
------------
For compiling/installation instructions, please read the INSTALL file.   


Use
---
Have a look at the testOGLWidget.java file included with this release.  It
shows how to create a java application that can show an OpenGL object.  I
will be adding more details on the steps required to create an OpenGL
application in the following releases.  Briefly, this is what must be done:

1) Create the frame that will display the OpenGL scene.
	- DO this by extending the class 'OpenGLFrame' or instatiating a new
	OpenGLFrame object.  Make sure you create it with a title.

2) Create a new 'OpenGLwidget' object and pass it the 'OpenGLFrame'
	object that it will be displayed in into it's constructor.

3) Set up the OpenGL scene within the OpenGLwidget with normal opengl 
	functions. 
	NOTE:  Currently the gl prefix and parameter suffix on
	OpenGL functions are not used ie. glLightf become light.  This 
	was how it was in Leo Chan original package, however I am
	considering putting the gl prefix back on and possibly the parameter
	suffix as well to be more in line with the normal OpenGL functions.
	Please email me at aking@magma.com if you have any comment on this.

4) Call swap() and the scene should be rendered into the Frame.


The OpenGL4Java home page is at:

  http://www.magmacom.com/~aking/java


Known Bugs
----------
Both:
	- If you create more than one OpenGLFrame, they MUST have different
	  titles.
	- most of the bugs mentioned in Leo Chan's original readme are still
	  present.  Since I now have fairly stable Win32 and Linux version
	  I will be fixing most of them over the next several releases
	- Make sure that you place Thread.yield() statements in any loops
	  you have otherwise you might not get any events.  This is the
	  case with the Linux version due to it's virtual machine's 
	  threading model.  However, the Win32 version isn't affected by this.

Linux:
	- The first X visual that is found is used.  This shouldn't affect
	  most people

Win32:
	- I haven't tested it with Microsoft's VM, and I'm pretty sure it
	  won't work.  Make sure you have Sun's VM.


Bug Reporting
-------------

If you come across any bugs please email me with details, and please
include the following information:

Which Operating System and version:
OpenGL4Java version:
OpenGL library being used and version:

or if you have any suggestions, just email me at aking@magmacom.ca


License:
-------
As per the original package, I'm releasing this as FREEWARE (ie. you can 
do anything you want with it ) for both for non-commercial and for
commerical use.  


Warranty
--------
There is none.  As I'm not a lawyer, and I don't know anyone that is,
I shall say this in plain english. If you use this software and your system 
explodes/breaks, or data is lost/damaged, it's not my fault.  By using the 
supplied software, you agree not to sue me and not to cause me any greif.


Enjoy!
Adam King
aking@magmacom.ca
adam@opcom.ca