summaryrefslogtreecommitdiffstats
path: root/doc/readme.html
blob: 3b5092e361b71aa5bd8bcd370d09482dd3c74933 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<TITLE>Jogl Demos - Documentation</TITLE>
</HEAD>
<BODY>

<H1>Jogl Demos - Documentation</H1>

<P>

This workspace contains the source code to demos for the Jogl
package. To build the demos:

<UL>

  <LI> Check out and build the Jogl sources from <a href =
  "http://jogl.dev.java.net/">http://jogl.dev.java.net/</a>

  <LI> Add jogl.jar to your CLASSPATH and put jogl.dll, libjogl.so, or
  jogl.dylib in your PATH, LD_LIBRARY_PATH or similar

  <LI> cd into the "make" subdirectory of the jogl-demos workspace and
  type "make" (NOTE: GNU make is required)

</UL>

To run the demos:

<UL>
  <LI> Add the built jars to your CLASSPATH (jogl-demos.jar,
  jogl-demos-util.jar, jogl-demos-data.jar)

  <LI> Run one of the demos from the command line: e.g. <CODE>java
  demos.gears.Gears</CODE> (Note: the current working directory is not
  important)

</UL>

</P>

<H1>Hardware and Software Requirements</H1>

<P>

The demos currently have the following hardware and software
requirements:

</P>
<P>

<TABLE WIDTH="80%" BORDER="3">
<TR>
 <TD> demos.gears.Gears
 <TD> none

<TR>
 <TD> demos.hwShadowmapsSimple.HWShadowmapsSimple
 <TD> NVidia GeForce 2 or better. Currently only runs on Windows
 because pbuffer support is not yet implemented in Jogl on X11 or Mac
 OS X.

<TR>
  <TD> demos.infiniteShadowVolumes.InfiniteShadowVolumes
  <TD> none

<TR>
  <TD> demos.proceduralTexturePhysics.ProceduralTexturePhysics
  <TD> NVidia GeForce 3 or better. Requires pbuffer support
  (i.e. Windows only at the moment).

<TR>
  <TD> demos.vertexArrayRange.VertexArrayRange
  <TD> NVidia GeForce family card. Runs on Windows and Linux (Jogl's
  vertex_array_range support not yet ported to Mac OS X).

<TR>
  <TD> demos.vertexProgRefract.VertexProgRefract
  <TD> NVidia GeForce 2 or better. Runs on Windows and Linux (uses
  GL_NV_vertex_program, not supported on Mac OS X).

<TR>
  <TD> demos.vertexProgWarp.VertexProgWarp
  <TD> NVidia GeForce 2 or better. Runs on Windows and Linux (uses
  GL_NV_vertex_program, not supported on Mac OS X).

</TABLE>

</P>

<H1>Per-demo controls</H1>

<H2> Hardware Shadow Mapping </H2>

<UL>
<LI> Alt + left click and drag: rotate camera about focal point
<LI> Alt + right click and drag: translate camera parallel to image plane
<LI> Alt + left + right click and drag: zoom camera in/out
<LI> Click and drag on the faces of the manipulators (look for the
yellow highlight of the faces upon mouse over) to translate the
manipulator parallel to that face. Use the handles outside the boxes
to rotate, and the handles at the corners of the boxes to scale.
<LI> Escape key or 'q' quits.
<LI> Space bar cycles through view options. Shadowed view; view from
light source; unshadowed view.
<LI> 'v' recenters camera on object
</UL>

<H2> Infinite Shadow Volumes </H2>

<UL>
<LI> Alt + left click and drag: rotate camera about focal point
<LI> Alt + right click and drag: translate camera parallel to image plane
<LI> Alt + left + right click and drag: zoom camera in/out
<LI> Click and drag on the faces of the manipulators (look for the
yellow highlight of the faces upon mouse over) to translate the
manipulator parallel to that face. Use the handles outside the boxes
to rotate, and the handles at the corners of the boxes to scale.
<LI> 'w' toggles wireframe view
<LI> 'c' recenters camera on object
<LI> Space bar toggles animation of figure
<LI> 'v' toggles visualization of shadow volume
</UL>

<H2> Vertex Prog Warp </H2>

<UL>
<LI> Left click + drag: rotate camera about focal point
<LI> Right click + drag: translate camera parallel to image plane
<LI> Left + right click and drag: zoom camera in/out
<LI> 'w' toggles wireframe mode
<LI> Escape or 'q' quits
<LI> 'r' resets the demo (including recentering object)
<LI> left/right arrow keys cycle through warp effects
<LI> 'h' produces a help screen
<LI> '-'/'+' decreases/increases amplitude of deformation
<LI> '['/']' decreases/increases frequency of deformation
<LI> '1'..'5' changes model being viewed
<LI> Space bar toggles animation
</UL>

<H2> Vertex Prog Refract </H2>

<UL>
<LI> Left click + drag: rotate camera about focal point
<LI> Right click + drag: translate camera parallel to image plane
<LI> Left + right click and drag: zoom camera in/out
<LI> 'w' toggles wireframe mode
<LI> Escape or 'q' quits
<LI> '1' .. '4' changes model being viewed
<LI> 's' toggles multipass rendering for chromatic aberration effect
<LI> 'v' recenters the camera on the object
<LI> Space bar toggles animation
</UL>

<H2> Procedural Texture Physics </H2>

<UL>
<LI> Alt + left click and drag: rotate camera about focal point
<LI> Alt + right click and drag: translate camera parallel to image plane
<LI> Alt + left + right click and drag: zoom camera in/out
<LI> Space bar toggles animation
<LI> 'r' resets the demo
<LI> 'c'/'v' decrease/increase blur increment
<LI> '-'/'=' decrease/increase bump scale
<LI> 'l' (lowercase �L�) toggles effect of spinning and static textures on the water
<LI> ','/'.' decrease/increase frequency of droplets
</UL>

</BODY>
</HTML>