Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Problemas al aplicar texturas a un Dodecahedro en GLScene

Tengo problemas para aplicar una textura a un dodecahedro.

He encontrado esto en Internet, está en inglés pero creo que es la respuesta a mi problema, a ver si entre todos sacamos la solución en español. Lo que he conseguido traducir va en negrita.

Ahí va:

Displays a polyhedron with 12 faces.

Mostrar un polihedro con 12 caras.

By default a texture will not be displayed on a dodecahedron even if the material library and material is set. This is because a dodecahedron has no default texture coordinates. To set a texture you can either

Por defecto una textura no se mostrará en un dodecahedro incluso si la librería de materiales y el material están establecidos. Esto se debe a que un dodecahedro no tiene por defecto las coordenadas de las texturas. Para establecer una textura debes además

1. using the MappingMode of the texture to generate textures
(but they may not allow a mapping that'll please your eyes)

1. Usar el MappingMode de la textura para generar texturas (pero esto puede no permitir mapear todo ... por favor tus ojos?¿?¿

2. finding and adding texture mapping coords for a dodecahedron
(it is a "handcrafted" object, for which no std texture
coordinates exist that I know of)
2. encontrar y añadir el mapeado de las coordenadas de textura de un dodecahedro
(esto es un objeto "manufacturado", para el cual no std?¿?¿?¿ coordenadas de textura existentes que yo sepa)


Unit GLPolyhedron

Última edición por kakarotv5 fecha: 02-03-2007 a las 01:37:33.
Responder Con Cita
  #2  
Antiguo 02-03-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
you can either = puedes hacer una o la otra

aqui se refiere a que puedes usar la opción 1 o la 2, pero NO que "debes" hacer las dos.

"but they may not allow a mapping that'll please your eyes"

Significa que usar el MappingMode: puede no permitir un resultado visual idoneo para la textura.

la traducción tal cual sería:
pero puede no permitir un mapeo que sea agradable a tus ojos.


"it is a "handcrafted" object, for which no std texture
coordinates exist that I know of"

Se refiere a que hay que sacar las coordenadas a mano, a eso se refiere con "handCrafted". Es decir, lo tienes que hacer tu mismo, coordenada por coordenada.

std se refiere a "estandar", refiriéndose que no existen coordenadas estandar.
__________________

Responder Con Cita
  #3  
Antiguo 02-03-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Os he puesto este problema porque está muy relacionado con el verdadero problema que os cuento a continuación:

Como sabreis estoy haciendo un minitutorial sobre como hacer un First Person Shooter sencillo, he hecho una escena tridimensional por la que me puedo mover y apuntar libremente llevando conmigo un arma y he introducido además objetos tridimensionales.

He sido capaz de hacer que un arma dispare balas (esferas).

He empezado con colisiones, cuando disparo a un cubo hago que se genere un plano pequeñito con textura de balazo a modo de balazo en la pared allí donde se ha generado el impacto.

Disparando a un cubo soy capaz de generar el balazo de impacto, disparando a un cilindro y a una esfera también soy capaz, pero con un dodecahedro no hay forma, no se dibuja mi plano donde debe sino al lado opuesto y más alejado del dodecahedro.

Os pongo mi código:
Código:
Obj.RayCastIntersect(Bullet.Position.AsVector,Bullet.Direction.AsVector,@Point,@Normal);
With TGLPlane(mundo.AddNewChild(TGLPlane)) Do
 begin
  AbsolutePosition:=Point;
  AbsoluteDirection:=Normal;
  Width:=1;
  Height:=1;
  Material.MaterialLibrary:=GLMaterialLibrary1;
  Material.LibMaterialName:='balazo';
 end;
Proyectil.Destroy; //Destruyo el proyectil para que no atraviese.
Para el cubo uso: BoundingMode --> cmbCube
Para el cilindro uso: BoundingMode --> cmbFaces
Para la esfera utilizo: BoundingMode --> cmbSphere

La propiedad GroupIndex siempre la dejo a 0.

De todas formas puedo pasar sin meter dodecahedros en el juego pero si tengo problemas con las coordenadas de un dodecahedro no me quiero ni imaginar los problemas que tendré al disparar a un personaje o a una casa o a un coche. Miedo me da.

Un saludo.

Última edición por kakarotv5 fecha: 02-03-2007 a las 15:32:58.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
GLScene? PiornoCKA&G Gráficos 2 25-01-2007 10:09:37
Problema Con ATI y GLScene jorgito.crazy Gráficos 3 15-12-2006 02:57:52
Que es OpenGl , glscene , y manuales David Gráficos 3 06-11-2006 10:43:56
GlScene Rabata Gráficos 2 12-06-2006 16:16:32
GlScene??? Rabata Gráficos 1 08-01-2005 21:46:46


La franja horaria es GMT +2. Ahora son las 01:15:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi