Estoy iniciandome en esto de las 3D y quiero aplicar una textura sobre una esfera, se que es imposible realizarlo sin que existan distorsiones pero me gustarÃa que solo se distorsionase en los polos de un solo eje, he probado varios métodos y todos me generan efectos rarÃsimos. (nooo)
¿Qué método debo utilizar para calcular las coordenadas uv y que solo se distorsione en los polos de un solo eje?
Con una geoesfera (hablo de MAX) el efecto de los polos debería notarse mucho menos. Aún así algo se notará. Pero vamos, que yo soy coder. :P
Saludos.
gracias por responder pero creo que me he explicado mal, con directX estoy creando una esfera (D3DXCreateSphere) y quiero hayar las UV con alguna función, pero todas las que se me ocurren o todas las que pruebo me generan efectos rarisimos.
En Photoshop hay un filtro que soluciona esto (creo), algo de Global Coordinates... no me acuerdo, lo probé hace mucho
Mi solucion es mas facil ;)
Cita de: "cuatrero rr"gracias por responder pero creo que me he explicado mal
No, el que se ha confundido he sido yo, que por alguna razón pensaba que esto estaba en grafistas... (ole)
Saludos.
Y yo vi la palabra "3dmax" y seguí por ese camino... jeje
Cita de: "Haddd"Spherical texture mapping
:P
Ya probe ese método pero no me daba el resultado deseado, la textura que quería aplicar se distorsionaba en los polos de todos los ejes. Al final lo he conseguido con algo que yo creo que ya lo habia probado y creia que funcionaba mal, pero resulta que yo lo debí ver mal. (nooo)
Aunque es facil de imaginar dejo el resultado por si le sirve a alguien.
vr->tv = 0.5f - (vr->posicion.y / 2 * radio);
vr->tu = atan2(vr->posicion.z, vr->posicion.x) / (2.0f * D3DX_PI);