Bonjour,
Je souhaiterai faire un rendu off-screen, donc rendre la scène dans une texture. Jusque là ça va, le principe n'est pas trop compliqué.
Par contre, je veut faire du rendu off-screen only, donc sans aucune fenêtre de rendu écran.
Vous allé me dire: "ça sert à rien un moteur graphique de rendu 3D si on affiche rien", et bien si, mon but est d'intégrer le moteur ogre3D dans une application aillant déjà son propre moteur de rendu 2D. Et le lien entre Ogre et l'application existante se fera via des textures.
Déjà dans un premier temps je ne fait plus le Initialise(True); qui créé automatiquement la fenêtre de rendu écran.
Ensuite je me suis inspiré de la création manuel d'une fenêtre, pour faire la même chose avec une texture.
Je m'explique, une fenêtre est de type RenderWindow qui hérite de RenderTarget, et une texture de rendue est de type RenderTexture qui hérite aussi de RenderTarget. Donc logiquement on doit pouvoir remplacé une fenêtre par une texture... (En rajoutant les méthodes adéquates bien sur !)
J'ai donc ajouté une méthode, CreateRenderTexture dans ogreGLRenderSystem (en m'inspirant de CreateRenderWindow) mais sans résultat pour le moment.
Est-on obligé de créer une RenderWindow pour que Ogre fonctionne ? On peut peut être la rendre invisible, sans la détruire, si elle est obligatoire ....
Merci pour votre aide.
Partager