Find Jobs
Hire Freelancers

Opengl C++ (I already completed majority of the programming)

$10-30 USD

Cancelado
Publicado hace más de 6 años

$10-30 USD

Pagado a la entrega
Requirements:  Develop a simple 3D shooting program using OpenGL. The program should meet the following requirements: – This program builds creates 15 teapots arranged in 3 rows (5 per row). – Create and add a 3D cannon such that it aims forward from the viewer towards the far plane. It is okay to show only the tip (firing end) of the cannon. – The cannon can turn left and right, and up and down (yaw and pitch movements) like a real cannon. The user controls left-right rotation with right-left arrow keys, and up-down rotation with up-down arrow keys. The rotation in either direction should be clamped to a certain range (say, 120 degrees) so the cannonball would stay within the view volume. – The cannon should fire a cannonball (sphere) every time the user presses the space bar. The ball should fly in the direction of the current orientation of the cannon. Once the ball goes through any wall and thus no longer visible, delete it from the scene to avoid clogging the memory. Therefore, the system will store no more than a few (fired) balls at any given time. – During the game, display text at the top of the screen that shows how many teapots are currently left – When the cannonball hits one of the teapots (collision detection needed here), the hit teapot must immediately disappear from the scene (and so must this cannonball). The text must also be updated accordingly with a new number (one less teapots left). (see further below on how hit teapot should exit the scene) – When the last teapot is hit, the game is over and the text should be replaced with “Continue? (Y/N)”. If the user presses ‘y’, start the game over. If ‘n’, exit program. – The background walls (all 5 of them) must be texture mapped, although Fig. 1 doesn’t show it. You can use any tileable texture image of your choice, but make sure the image file size is less then 1MB (with no bigger than 512  512 pixel resolution). Do not use multiple texture images. – If the user presses ‘q’ at any time (even during the game), exit program. – If the animation is too fast on your computer, slow it down to a level where each teapot’s movement and the cannonball’s movement are clearly recognizable. – Make sure there is no sudden jump or discontinuity in the animation. The whole sequence of transformations must be smooth and continuous. – Every time the cannonball fires, rapidly push the cannon backwards a bit to simulate the action-reaction effect. After this quick push back, the cannon should immediately come back to its original position before it can fire a new ball (see [login to view URL]). Try to make this movement as realistic as possible. – Whenever a teapot is hit, the hit teapot must fly out of the scene in a random direction towards far plane (so the depth should increase) while randomly spinning. Once the teapot goes past the wall, remove it from the scene.
ID del proyecto: 15791357

Información sobre el proyecto

2 propuestas
Proyecto remoto
Activo hace 6 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
2 freelancers están ofertando un promedio de $191 USD por este trabajo
Avatar del usuario
A proposal has not yet been provided
$160 USD en 4 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
Cottleville, United States
5,0
2
Forma de pago verificada
Miembro desde dic 2, 2017

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.