API côté serveur de rendu 3D
Je travaille sur une application qui a besoin rapidement de rendre simple des scènes en 3D sur le serveur, puis les retourner et JPEG via HTTP. Fondamentalement, je veux être en mesure de simplement inclure une dynamique de scène 3D dans une page HTML, en faisant quelque chose comme:
<img src="http://www.myserver.com/renderimage?scene=1&x=123&y=123&z=123">
Ma question est de savoir sur quelles technologies utiliser pour faire le rendu. Dans une application de bureau, je voudrais tout naturellement utiliser DirectX, mais je crains que ça ne pourrait pas être la solution idéale pour une application côté serveur qui serait la création d'images pour des dizaines, voire des centaines d'utilisateurs en tandem. Quelqu'un a une expérience avec cela? Est-il une API 3D (de préférence disponible gratuitement) qui serait idéal pour cette application? Est-il préférable d'écrire un moteur de rendu logiciel à partir de zéro?
Mes principales préoccupations au sujet de l'utilisation de DirectX ou OpenGL, est de savoir si il va bien fonctionner dans un environnement de serveur virtualisé, et si elle fait sens avec typique de matériel de serveur (sur lequel j'ai peu de contrôle).
OriginalL'auteur Joshua Carmody | 2008-09-15
Vous devez vous connecter pour publier un commentaire.
RealityServer par des images mentales est conçu pour faire exactement ce qui est décrit ici. Plus de détails sont disponibles sur la page du produit (y compris téléchargeable Developer Edition).
RealityServer docs
Il ressemble à RealityServer.com est le bon lien, maintenant.
autorisation requise pour ce site
J'ai changé le lien vers migenius.com/doc/realityserver/latest
OriginalL'auteur
Id dire que votre meilleur pari est d'avoir un Direct3D/OpenGL application qui s'exécute sur le serveur (sans s'arrêter). Ensuite la réalisation de la page de serveur pour envoyer une demande, le rendu de l'app, et ont rendu app snend un jpg/png/quel que soit l'arrière.
Cependant, de nombreux serveurs n'ont pas de cartes graphiques. Direct3D est largly inutile dans le logiciel (il y a un périphérique émulé à partir de Ms, mais son seul bon pour tester les effets), n'a jamais essayé d'OpenGL dans le logiciel.
OriginalL'auteur Fire Lancer
Vous pouvez rassembler Pov-ray (ici à l'aide de la norme POSIX et les Fenêtres de construire). En PHP, par exemple:
demo.pov
disponible ici.Vous pouvez utiliser un template langue comme Jinja2 pour insérer votre propre caméra coordonnées.
OriginalL'auteur Janus Troelsen
Pas tant une API, mais plutôt un moteur de rendu; Povray? Il semble aussi exister un http interface...
OriginalL'auteur epatel
Vous pouvez consulter également Java3D (https://java3d.dev.java.net/), ce qui serait une solution élégante, si l'architecture de votre serveur est basé sur Java déjà.
Je recommande aussi d'essayer de sortir avec un logiciel de rendu solution si vous le pouvez, essayer de régler tout un tas de processus serveur qui sont tous de faire des demandes simultanées sur le rendu 3D de matériel ressemble à beaucoup de travail.
OriginalL'auteur AndrewR
Yafaray (http://www.yafaray.org/) pourrait être un bon premier choix à considérer pour le général de rendu 3D. C'est assez rapide et les résultats de l'allure. Il peut être utilisé dans d'autres logiciels, par exemple, le modeleur 3D Blender. La licence LGPL.
Si du côté serveur, le logiciel écrit en Python, et le choix d'une scène 3D est un système de visualisation de données scientifiques, regarder dans MayaVi2 http://mayavi.sourceforge.net/, ou si non, aller pour une navigation à http://www.vrplumber.com/py3d.py
Ceux qui suggèrent le très populaire POV-Ray besoin de réaliser que ce n'est pas une bibliothèque ou tout type d'entité qui offre une API. Du côté serveur, le processus aurait besoin d'écrire un texte fichier de scène, de signer un nouveau processus pour exécuter POV-Ray avec les bonnes options, et de prendre l'image résultante. Si c'est facile à mettre en place pour une application particulière, et si vous avez plus d'expertise avec POV-Ray, qu'avec d'autres convertisseurs, eh bien allez-y!
OriginalL'auteur DarenW
Côté serveur de rendu n'a de sens que si la scène se compose d'un grand nombre d'objets tels que le téléchargement de l'ensemble de données pour le client, pour le client, le rendu serait beaucoup trop lent et le rendu n'est pas prévu pour être en temps réel. Le rendu côté Client n'est pas trop difficile si vous utilisez quelque chose comme jogl couplé avec scène progressif de téléchargement (c'est à dire de télécharger les objets du premier plan et de rendu, puis progressivement télécharger les objets en fonction de la distance de point de vue et de rendre à nouveau).
Si vous voulez vraiment faire côté serveur de rendu, vous pouvez séparer le serveur web de la partie et le rendu de la partie sur les deux ordinateurs avec chaque configuré de manière optimale pour leur tâche (moteur de rendu OpenGL de la carte, un minimum de HD et juste assez de RAM, le serveur a beaucoup de disques rapides, beaucoup de ram, les sauvegardes et pas d'OpenGL). J'ai beaucoup de doute vous serez en mesure de faire de rendu matériel sur un serveur virtualisé depuis le serveur n'a sans doute pas d'un GPU.
Une autre raison pour le côté serveur de rendu, c'est la sécurité (rendu côté client peut conduire à des données d'être laissé dans la mémoire). Si vous ne voulez pas de données sensibles pour être transféré à l'appareil, rendu côté serveur est le chemin à parcourir
OriginalL'auteur Skizz
Découvrez wgpu.net.
Je pense que c'est très utile.
Je suis à la recherche d'une solution pour mettre des modèles 3d sur le web et permettent aux utilisateurs de visualiser et de par exemple acheter:). Exigence principale pour mon entreprise est de sécuriser des modèles. Je leur ai écrit à quelques questions et Il couture qu'il sera le meilleur choix. Je suis à la recherche de la solution à utiliser ou même à acheter et à héberger sur mon serveur. Je me demande sur les prix.
Cette page n'est plus de travail.
OriginalL'auteur Magdalena