summaryrefslogtreecommitdiffstats
path: root/doc/readme.html
blob: 8fb8851ab23836fac33de485e588da95bb4928a7 (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
172
<!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://kenai.com/projects/jogl/">http://kenai.com/projects/jogl/</a>; note that
  these sources must go into a sibling directory to the jogl-demos
  directory

  <LI> Unset your CLASSPATH environment variable

  <LI> cd into the "make" subdirectory of the jogl-demos workspace and
  type "ant" (Ant can be obtained from <a href =
  "http://ant.apache.org/">http://ant.apache.org/</a>

</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> Pbuffer support, ARB_shadow, ARB_depth_texture

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

<TR>
  <TD> demos.proceduralTexturePhysics.ProceduralTexturePhysics
  <TD> Pbuffer support, ARB_vertex_program, ARB_fragment_program

<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.vertexBufferObject.VertexBufferObject
  <TD> ARB_vertex_buffer_object

<TR>
  <TD> demos.vertexProgRefract.VertexProgRefract
  <TD> ARB_vertex_program and either ARB_fragment_program or NV_register_combiners

<TR>
  <TD> demos.vertexProgWarp.VertexProgWarp
  <TD> ARB_vertex_program

</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>