Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Seleccion De Objetos En Opengl

Iniciado por josette, 08 de Marzo de 2006, 12:10:20 PM

« anterior - próximo »

josette

     El el intento de hacer un editor de objetos 3d basado en Opengl y llegado al punto de seleccionar un objeto de la escena para aplicarle transformacines me ha surgido el siguiente problema:

 Resulta que La seleccion me la hace bien es decir, puedo seleccionar el objeto, pero cuando roto la escena y el objeto lo tengo mirandolo por la espalda, la seleccion ya no me funciona y tampoco por ejemplo si lo traslado lejos de la camara.

   Alguien me puede ayudar en este tema??

ethernet

 Comprueba el render que haces para el picking, si es diferente puede que lo que estés seleccionando no sea lo mismo que estás renderizando.

josette

 Yo diría que si es lo mismo ya que llamo a la misma funcion 'render Escene'

¿Puede ser que que la camara no este mirando al mismo sitio, cuando hago el picking y cuando renderizo?

tamat

 Usas el picking de openGL? yo lo hago a mano pintando cada objeto de un color diferente e indexandolos así puedo ver el resultado si hago swapbuffer.
Por un stratos menos tenso

marcode

 Quizás te interesaría usar un buffer de selección, aquí lo explican como.

http://ponton.dcs.fi.uva.es/web/programaci...teractivos.html
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]

josette

 uso el gluPickMatrix de opengl y el gluLookAt para la camrara. Puede ser que que suceda que el bucle principal

- Aplicar transformaciones a la camara
- Render escena

y claro luego cuando voy a seleccionar hago
-Render escena

y claro cuando renderizo para la seleccion se renderiza la escena pero sin mover la camara y entonces no selecciono lo mimo que estoy viendo. Probare a ver si es eso.

tamat

 por cierto, alguien me puede decir si es mejor usar el picking de opengl en lugar de programarlo uno mismo? yo solo renderizo la escena con colores planos donde cada objeto lo indexo en un map y despues uso glReadBuffer (si no recuerdo mal) para sacar el color.

Aunque me preocupan cosas como monitores con poca profundidad de color o gente con el Antialiasing forzado desde el driver.
Por un stratos menos tenso






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.