Bowling 3D
·
Ramesh Viswanathan
·
Manjuladevi Kuttuva
Our goal was to create a simple 3D bowling game with OpenGL. Our efforts were focused on rendering the scene as realistic as possible with OpenGL. The scene consists of a bowling alley with a ball and 10 pins. The game provides input mechanisms to position and select the angle to throw the ball.
· Reflections of the ball and pins on the alley – We used a technique that utilizes stencil buffer and clip planes to create reflections.
The steps involved in the stencil-buffer approach are:
1. Set up the alley clipping plane without enabling it.
2. Render the alley geometry to the stencil buffer.
3. Set up the reflected camera transformation.
4. Set up reflected lighting.
5. Enable the clipping plane and stencil buffer and render the scene.
6. Restore the initial camera transformation.
7. Render the alley to the depth buffer.
8. Set up original lighting.
9. Render the scene normally.
Advantages of the stencil buffer approach are:
1. Fast
2. Resolution of reflection is the same as the frame buffer.
·
Camera
is moved along a piecewise Bezier curve
to present the scene during introduction.
·
Collision
detection using bounding sphere and boxes were used to perform collisions
between ball and pins.
· Simple physics was used to determine the effects of collision between ball and pins and among pins.
·
3D models of the ball, pins, alley and gutters were
created programmatically so that resolution of the models could be controlled
easily. Pins and gutters were created as Surfaces of Revolution using piecewise
Bezier curves.
·
Textures for 3D models were downloaded from the internet.