#1151 Lo que ves en los motores "modernos" cuando asignas esas propiedades a los materiales es generado de forma parametrica, osea, hay una formula a la que le metes esos parametros y se genera a traves de esa formula todo lo que he dicho antes, por tanto no es un desperdicio de nada, simplemente es exactamente lo mismo, pero en vez de creado por un grafista, pues matematicamente, lo que si es cierto es que no se usa una textura tal cual, sino que se ejecuta un shader por cada pixel y ahi se calcula todo...
Respecto a la perdida de recursos, pues no esta nada claro, a dia de hoy las graficas tienen muchisima memoria, y en terminos de acceso a una textura son rapidisimas..., que tarda mas, acceder a un texel precalculado o ejecutar un shader por cada pixel..., no esta muy clara la cosa.
En cualquier caso eso te va a servir para objetos como el ejemplo que puse, algo hecho de piedra, osea, algo que sea basicamente de superficie aleatoria, pero por ejemplo, un personaje 3D con una armadura (por decir algo) conseguiras de forma parametrica los reflejos del hierro, pero jamas conseguiras de forma parametrica y sin un modelo de alta una textura de bump realista..., osea, lo que tu comentas es basicamente funciones generadas con ruido, como las nubes las ondas del agua..., etc.
P.D.: La creedibilidad no se donde me la he dejado, pense que la meti en la mochila, pero creo que se me cayo en algun lado..., siempre es nefasto perderla, otra vez me va a tocar empezar de cero
#1152 Cuando explico las cosas para gente que no es programadora intento amoldarlas contando parcialmente toda la historia para que sea mas facil de asimilar.
Lo que tu dices no es exacto, los rayos si que colisionan con los objetos, la cuestion es la que comente al principio, imaginate que tienes objetos de 20.000 poligonos, si tienes 1000 en el frustrum ya hablas de que por cada rayo emitido (no solo por el origen, sino en cada rebote) tendrias que comparar 20.000.000 poligonos, como comprenderas eso es un trabajo ENOOOORME, que se hace entonces?, pues entramos en el maravilloso mundo de la particion espacial.
Hay varias tecnicas, y por cada tecnica variaciones, y por cada una de ellas se pueden montar unas sobre otras.
Por ejemplo, las bounding boxes o las bounding spheres, la idea es que por cada objeto te creas una caja que lo cubre por completo, o una esfera (depende del tipo de objeto viene mejor uno u otro).
La idea es que si lanzas un rayo, para que colisione con tu objeto de 20.000 poligonos, antes tendria que hacerlo con la BBox o con la BSph, si esto sucede entonces te pones a comprobar los 20.000 poligonos (de hecho tampoco, hay otras optimizaciones), pero si no choca con la BBox o BSph ya te acabas de ahorrar comprobar 20.000 colisiones con solo 6 (BBox) o 1 (BSph).
La ventaja de la BBox sobre la BSph es que esta puede ir en objetos alargados, pero sobre todo que en vez de tener una puedes tener varias asiciadas al mismo skining de animacion del personaje, asi que sera ademas muy precisa (puedes detectar que han disparado a un brazo, o a la cabeza, etc...).
Sobre esto hay mas optimizaciones, normalmente el espacio completo se mete en un gran cubo, y este se subdivide en otros 4 mas pequeños, y cada uno de estos en otros 4 mas, etc, etc..., luego se monta en una estructura de arbol (para hacer busquedas binarias) y ahora vas asociando objetos a cada uno de los cubos que los contienen (o que forman parte de el), de tal forma que si lanzas un rayo y va por la izquierda hacia arriba, te quitas de enmedio en la busqueda el 75% del mundo con todo lo que el contenga, sigues progresando y del 25% que restaba, otro 75% que te quitas, y asi sucesivamente hasta dar con el nodo hoja y la lista de objetos contenidos, luego ya viene lo de las BBox o BSph, eso se llama Octrees...
La historia se puede complicar mucho mas (como los BVH), pero espero haberte aclarado el tema.
EDIT: Acabo de leerme lo de BVH, que significa Bounding Volume Hirarchy, osea, basicamente lo que te conte antes que lo han rebautizado para ser mas molones...
Por cierto, si alguien tiene ganas de profundizar mas solo tiene que decirlo..., hay algunas cosas que parecen simples pero cuando te pones ves que no lo es tanto, y al final resulta que si no haces caso a la intuicion hay atajos increibles..., es de las pocas ocasiones donde la intuicion suele traicionarte XDD.