Author Topic: Objets selectionnables sous D3D? (Et autres question techniques :p)  (Read 9296 times)

0 Members and 1 Guest are viewing this topic.

Ieyasu

  • Thug
  • *
  • Posts: 10
Bonsoir ^^

Alors voila, je suis completement ignorant quand aux possibilités de D3D, mais j'envisage serieusesemnt d'utiliser celui ci dans un de mes projets perso dont je ne tarderais pas à vous donner des nouvelles si j'arrive à me dépatouiller :)

Une des question que je me pose dans un premier temps c'est de savoir si il est envisageable de faire des objets selectionable sous D3D. D'aprés vous, puis-je générer une scène consstituée de X objets ou chacun sera selectionnable?

Ensuite, dans l'optique ou cela est possible, j'ai cru comprendre que je pouvais générer des variable globale via LUA, cetet question est donc pour les programmeurs, puis-je récupérer le pointeur de ces variables globales pour én récupérer les valeurs par une application exterieure? Ou ces variables sont-elle de type privée?

Merci par avance :p

SPRINGER

  • Thug
  • *
  • Posts: 44
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #1 on: March 17, 2009, 12:49:11 AM »
pour le picking en lua on utilise la fonction
mesh_name = HYP_Scene.PickMesh();
et
HYP_Object.SetPickingState( object_name | object_id, state ).
SetPickingState active ou désactive la prise en compte de cet object lors d'un picking.

sinon il me semble que les variables en lua sont toutes globales par défaut.
mais pour l'échange avec une appli exterieure je ne sais pas.

Ieyasu

  • Thug
  • *
  • Posts: 10
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #2 on: March 17, 2009, 02:05:07 AM »
Merci beaucoup ^^ Par contre je bricole les tuto et les aides mais j'ai des erreurs sous D3D avec mes scripts, je n'arrive pas à faire quelque chose qui démontre que j'ai bien selectionné un objet, voici ce que j'avais fait :

Code: [Select]
<script name="Selecte" run_mode="EXECUTE_EACH_FRAME" >  
- <raw_data>
- <![CDATA[

mesh_name = HYP_Scene.PickMesh();
HYP_Object.SetPickingState( object_name , 1);
HYP_Mesh.Destroy( mesh_name );


   
]]>
</raw_data>
</script>

Ce script devrait en théorie reconnaitre la selection d'un objet l'autoriser, puis une fois cet objet selectionné, le détruire non?
Le résultat ue j'ai c'est un plantage de D3D au chargement du fichier XML :S

SPRINGER

  • Thug
  • *
  • Posts: 44
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #3 on: March 17, 2009, 01:06:40 PM »
pour le picking j'ai jamais eu de souci.
voil  une démo où je l'utilise de façon très simple en survol de mesh

http://bifurcations.fr/ressourcesDemoniak/demo_export_planetes.zip


et l'extrait de code :

mesh_name = HYP_Scene.PickMesh();
 
if (mesh_name == "target") then TRUE = 1;
 
HYP_GPUShader.Enable("neighborhoodShader"); 
HYP_Object.SetRenderState("labels", TRUE); 

elseif (mesh_name == "target2") then TRUE = 1

HYP_GPUShader.Disable("neighborhoodShader");


HYP_Object.SetRenderState("labels2", TRUE);

elseif (mesh_name == "") then FALSE = 0;

HYP_GPUShader.Enable("neighborhoodShader");
HYP_Object.SetRenderState("labels",FALSE);
HYP_Object.SetRenderState("labels2",FALSE);
end;

note pour utiliser la prochaine version de DEM,qui va devrait bientôt sortir
 il faut prendre l'habitude de passer des id plutôt que les noms aux fonctions lua.




Ieyasu

  • Thug
  • *
  • Posts: 10
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #4 on: March 17, 2009, 02:10:48 PM »
Ok super j'ai modifié ton script et ça fonctionne :D

Par contre, ce script se comporte à la maniere d'un mouse over, mais j'ai déja ma petite idée pour en faire du onclick :)

Bon et bien merci beaucoup !

Maintenant il me faut trouver comment récupérer des globales d'un autre programme via delphi et je pourrais commencer à coder :D

Steph3D

  • Capo Regime
  • ***
  • Posts: 399
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #5 on: March 17, 2009, 02:39:17 PM »
Maintenant il me faut trouver comment récupérer des globales d'un autre programme via delphi et je pourrais commencer à coder :D

En utilisant le protocole tcp/ip ;)

Ieyasu

  • Thug
  • *
  • Posts: 10
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #6 on: March 17, 2009, 03:51:44 PM »
Humm je n'ai jamais trifouillé le tcp/Ip il faudrait que je m'y plonge pour avoir une idée de comment faire, je verrais ça se soir en rentrant du boulot^^

A vrai dire, mes deux application s'executant sur le même ordinateur, je pensais plus récupérer simplement les pointeurs vers ces variables.

Une question completement à coté de la plaque, peut-on générer des fichier texte ou autre via dem (Dynamiquement?) ça pourrait être une alternative pour récupérer les données de dem vers mon programme.

SPRINGER

  • Thug
  • *
  • Posts: 44
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #7 on: March 17, 2009, 04:57:32 PM »
la librairie io de lua et la lib LuaFileSystem permettent d'écrire du texte il me semble.

Ieyasu

  • Thug
  • *
  • Posts: 10
Re: Objets selectionnables sous D3D? (Et autres question techniques :p)
« Reply #8 on: March 17, 2009, 10:39:23 PM »
Parfait :)

Je vais utiliser io pour écrire dans des fichiers que je lirais ensuite sous delphi :)
il me suffira de mettre une condition du genre if file exist histore que le script lua ne m'écrive pas 150 fois le même fichier à la seconde ^^

Merci pour vos précieux conseils et la rapidités de vos réponses :D
 :saut:

Code: [Select]
file = io.open("Fichier.txt","a")
myText = "\nHello"
file:write(myText)
file:close()

Avec "a" pour rajouter à la ligne du fichier, et W pour réécrire par dessus les données précédentes ^^