Author Topic: Création de primitives en LUA  (Read 1694 times)

0 Members and 1 Guest are viewing this topic.

Dr. Goulu

  • Soldier
  • **
  • Posts: 51
    • Dr. Goulu
Création de primitives en LUA
« on: September 02, 2007, 07:22:23 PM »
je voudrais créer beaucoup de petits cubes dans beaucoup de matières différentes. J'ai donc un XML minimum avec une <scene> une <camera> et une <light> plus un <script> LUA censé créer les matériaux et les cubes comme ça:

Code: [Select]
HYP_Debug.Trace("creating materials...")
mat={}
local i
for i=1,256 do
    mat[i]= HYP_Material.Create( "mat"..i );
    HYP_Material.SetAmbient( mat[i], i/256, i/256, i/256, i/256 );
end

HYP_Debug.Trace("loading files...")
local v=read_slice(HYP_GetBaseDir().."/MRbrain/MRbrain.1")

HYP_Debug.Trace("creating voxels...")
local x,y
for y=1,n do
    for x=1,n do
        local c=math.floor(v[y][x]/256)+1
        local box=HYP_Primitive.CreateBox()
        HYP_Primitive.SetBoxVertexPosition( box, 0, x, y, 0 );
        HYP_Primitive.SetBoxSize( box, 1,1,1 );
        HYP_Object.SetMaterial( box, mat[c]);
        --HYP_Object.SetActiveState(box,1);
    end
end

le problème est que je ne vois rien du tout. Si je décommente le HYP_Object.SetActiveState j'ai un crash...
Questions :
  • y'a-t-il un code sample / démo qui crée des primitives en LUA ?
  • est-ce que j'oublie quelque chose pour que mes p'tits cubes soient visibles ?
  • pourquoi ça crashe si je décommente le SetActiveState ?

Merci !
3Dmon

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2343
    • oZone3D.Net
Re: Création de primitives en LUA
« Reply #1 on: September 03, 2007, 10:01:30 AM »
Essaie plutot un  HYP_Mesh.CreateBox() à la place d'une primitive box.
Et aussi ajoute un HYP_Object.SetRenderState(), ça peut aider.