2009-04-23 5 views
1

Je veux jouer avec des trucs graphiques. Des animations et des choses simples. Je veux foutre avec raytracing aussi. J'ai besoin d'aide pour trouver une bibliothèque qui m'aidera à faire ces choses. J'ai quelques exigences:La meilleure chose pour la 3D et le raytracing

  • doit être en mesure de faire raytracing
  • Doit être un langage de haut niveau (python, .NET, etc.). S'il vous plaît non C/C++
  • Doit avoir une bonne documentation, de préférence avec des exemples.

Est-ce que quelqu'un sait d'une bonne bibliothèque que je peux utiliser pour tromper?

Répondre

5

Jetez un coup d'oeil à blender.org - c'est un projet 3d open-source avec des capacités de script python.

3

Je ne connais pas de bibliothèques qui satisfassent votre demande (du moins pas à moins que je décide de publier le code pour mon propre traceur ...).

L'écriture d'un traceur n'est en fait pas si difficile de toute façon. Je vous recommande fortement de vous procurer une copie de "Une introduction à Ray Tracing" par Glassner. Il passe par les mathématiques réelles en termes relativement faciles à comprendre, et a également une section entière sur "comment écrire un ray tracer".

Dans tous les cas, une "bibliothèque" n'est pas très utile en elle-même - à peu près tous les ray tracer ont leurs propres bibliothèques internes mais elles sont spécifiques au traceur. Ils comprennent généralement:

  1. une classe de base pour représenter des objets 3D
  2. sous-classes de ce que, pour chaque primitive géométrique
  3. classes de vecteur et de matrice (3D et 4D)
  4. fonctions de texturation et/ou des classes
  5. cours lumière de différents types (lumineuses, lumière spot, etc.)

Pour mon propre traceur utilisé le fait que je javax.vecmath paquets pour # 3 ci-dessus, mais j'ai dû écrire mon propre code pour # 1 et # 2 basé sur le livre de Glassner. Le tout est bien sous 2k lignes de code, et la plupart des classes individuelles sont d'environ 40 lignes.

1

Les raytracers bien développés qui sont open source sont

En temps réel 3D (il dépendra de la langue bien sûr) il y a JMonkeyEngine (Java) pas sûr si cela répond à votre exigence de "langage de haut niveau".

Vous pourriez envisager un langage de script de jeu 3D aussi, comme GameCore ou BlitzBasic

4

La première chose qui me viennent à l'esprit est la P.O.V open source populaire Raytracer (www.povray.org). Les scènes POV sont entièrement définies avec des fichiers de script, et certaines personnes ont créé du code Python pour les générer facilement.

http://code.activestate.com/recipes/205451/

http://jabas-unblog.blogspot.com/2007/04/easy-procedural-graphics-python-and-pov.html

+0

Sachez que POV-Ray est pas open source http://www.povray.org/povlegal-3.5.html – leonbloy

Questions connexes