Entraides et échanges autour de la technologie Scol - Informations and exchanges on the Scol technology
Vous pouvez changer la langue de l'interface une fois inscrit - You can change the language once registered
You are not logged in.
Pages: 1
Salut,
Quelles sont les différences fondamentales entre :
SO3AddResourceLocationDirectory, SO3AddResourceLocationURL et SO3AddResourceLocationZIP d'une part
et SO3SceneLoadResource et SO3SceneLoadResourceMaterial d'autre part ?
À part de lister un répertoire ou de récupérer depuis une url ...
Dans le premier lot, il n'y a pas de lien avec une scène précise contrairement au second lot. Est-ce à dire que dans le premier cas, les ressurces sont disponibles quelque soit la scène ? Dans le second, elles ne sont disponibles que pour une scène donnée ? Autres choses ?
Enfin, je vois dans le code source de la fonction SO3AddResourceLocationDirectory (SCOLResources.cpp., ligne 431), ce commentaire : « // TODO REMOVE »
Cette fonction est-elle condamnée à disparaître ?
Offline
SO3AddResourceLocationDirectory ne charge apparemment pas les matériaux (*.material) ce que semble confirmer un commentaire dans le code source de la fonction ...
Lorsqu'on charge une ressource scene (*.scene) avec SO3SceneLoadResource, quel est le flag le mieux adapté ?
Offline
Encore une question
Je n'ai pas lu toute la doc de Ogre3d mais les fichiers de ressources au format xml "texte" ne semblent pas lus par SO3SceneLoadResource, uniquement les binaires. Est-ce bien le cas ?
Offline
yop !
alors :
SO3AddResourceLocationDirectory Url et Zip sont amenées à disparaitres (ou au pire a changer ne fonctionne plus / a jamais fonctionné)
SO3SceneLoadResourceMaterial heuu bein elle sert a rien non plus ^^ comme quoi y a encore pas mal de trucs passés a coté du ménage de printemps
utilises la fonction SO3SceneLoadResource pour précharger une ressource dans un groupe.
pour le fichier .scene attention ceci n'est pas un format natif de ressource Ogre, dans openspace ce fichier xml est parsé et appels les fonctions adéquat pour créer / charger les éléments
les fichiers mesh.xml non binaires ne sont pas chargés (pourquoi ? je sais pas > Ticket ^^)
pour les autres types de fichiers Scol gérant de lui meme les fichiers il n'y a aucun intérêt (enfin je pense) à les charger dans les groupes de ressources Ogre (je parle des fichiers .txt ou autre)
Offline
les fichiers mesh.xml non binaires ne sont pas chargés (pourquoi ? je sais pas smile > Ticket ^^)
Et un ticket, un !
dans openspace ce fichier xml est parsé et appels les fonctions adéquat pour créer / charger les éléments
Quelles sont ces fonctions ?
1- Je charge la ressource via SO3SceneLoadResource
2- Pour créer les meshes, je prends SO3SceneLoadEntity mais cela n'est absolument pas logique.
J'ai bien essayé avec SO3SceneGetNode mais il me renvoie nil ; je suppose que je dois justement le créer avant ...
J'ai essayé aussi avec SO3SceneNodeCreate mais il me crée un nouvel objet avec le nom passé, pas l'objet contenu dans une ressource et portant ce nom
À noter d'ailleurs que SO3EntityCreate est dans la doc mais n'est plus présente au niveau de l'API.
Je suis loin d'être une bille en Scol mais retrouver le nom précis d'une simple fonction dans tout le code source d'os3d, c'est pas coton ! Et la doc du moteur n'est pas spécialement explicite.
Offline
la doc du moteur mériterais d'être updatée ^^ (oups c'est fait , fais pas gaffe a la fonction reloadGroup c'est un test, j'ai ajouté Deprecated sur les fonction mentionnées ci dessus)
pour les ressources dans SO3 ^^ le principe est qu'il faut "déclarer les ressources avant de les charger (afficher))
pour charger un mesh il faut donc :
1 - charger les textures, matériaux et mesh dans l'ordre avec SO3SceneLoadResource.
2 - créer l'instance du mesh (object) faisant référence à la ressource pré déclarée. SO3SceneLoadEntity
ton fichier material doit contenir les chemins vers les textures avec les dossiers relatifs a la partition scol (openspace réécrit ces fichiers automatiquement)
le parser du xml scene dans os3deditor est en grande partie dans loadOgreMaxNodes
Offline
Merci du conseil.
Pour SO3SceneLoadEntity, ok, je l'utilise depuis le début mais ça me paraît pas logique.
Ce ne serait pas mieux d'inclure dans cette fonction (SO3SceneLoadEntity) le chargement dans un groupe ? Le nom du groupe est déjà nécessaire ...
Enfin, une suggestion !
Offline
c'est pas faux ^^
je me demande si ça a pas déja été le cas à un moment ^^
tout comme la création du groupe du coup dans la même logique
mais après a force c'est la qu'on risque de casser la logique avec le reste
Offline
Pages: 1