Metodología de desarrollo de aplicaciones 3d
Quisiera saber si existe metodologías de desarrollo 3d, estuve buscando y obviamente hay muchas metodologías de desarrollo de software, pero están muy enfocadas a la programación, si alguien me puede brindar información sobre esto, estaría muy agradecida porque estoy muy interesada en el tema. Gracias.
Metodología de desarrollo de aplicaciones 3d
No te entiendo muy bien. El desarrollo de software esta íntimamente ligado a la programación. ¿puedes concretar?
Metodología de desarrollo de aplicaciones 3d
Obviamente. Pero me estoy refiriendo a metodologías de desarrollo de aplicaciones 3d, es decir flujos de trabajos, estandarización, normas, pero precisamente en animación 3d, en modelado, en renderizado.
Y estaba diciendo que para el desarrollo de software hay muchas metodologías.
Metodología de desarrollo de aplicaciones 3d
Entiendo. Como bien comentas, ese tipo de información es escasa, comparado con información sobre un lenguaje en concreto. De todas formas, no sé hasta qué punto existe una metodología específica para desarrollo de aplicaciones 3d, supongo que, la manera más sencilla de plantearlo es con orientación a objetos (C++ sería mi elección). A partir de ahora todo el texto que viene es especulación y bien puedes obviarlo.
Puedes dividir la estructura de una aplicación 3d en dos partes, el front end (interfaz gráfica) y el backend. El paradigma que se usa para la interfaz gráfica es el de toda la vida, por eventos (callbacks). Información sobre esto hay mucha, puedes mirar cualquier guía de QuickTime o GTK por ejemplo.
El backend sería donde se realizaría todo el procesamiento. A priori debe tener una estructura modular: por una parte está el modelador, por otra parte el renderer, por otra parte el editor de animaciones, etc. Pero lo que debes tener en cuenta es que, al fin y al cabo, (y de manera muy simplificada) lo que tienes son un montón de estructuras de datos funcionando como contenedores. Ejemplo: en un hipotético programa 3d, un archivo son un conjunto de escenas. Una escena es un contenedor de objetos. Un objeto puede ser de distinto tipo (malla, Nurbs, esqueleto), para esto se podría usar polimofismo y herencia. Un objeto de tipo malla es, al fin y al cabo, un contenedor de vértices, aristas y polígonos (hay diferentes métodos de almacenamiento, diría que el más usual es punteros a listas de aristas).
En definitiva, podríamos ver este hipotético programa como un conjunto de contenedores y métodos que se aplicarían a sus elementos. Siento no ser de más ayuda, yo mismo he sufrido para buscar información sobre arquitecturas de Game Engines, y al final toca improvisar y estudiar proyectos open-source. No te olvides que tienes todo el código de Blender a tu disposición.
Dicho esto, a ver si alguien viene con información más concreta. Suerte.