Changeset 3864


Ignore:
Timestamp:
Mar 12, 2015, 3:09:49 AM (7 years ago)
Author:
touky
Message:

Easymesh test tuto works with lua, but EzMesh seems broken.

Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/tutorial/05_easymesh.cpp

    r3788 r3864  
    2828    EasyMeshTutorial()
    2929    {
    30         m_gears.Push(EasyMesh(), mat4(1.0f), 0.0f);
    31         m_gears.Push(EasyMesh(), mat4(1.0f), 0.0f);
    32         m_gears.Push(EasyMesh(), mat4(1.0f), 180.0f / 18);
    33         m_gears.Push(EasyMesh(), mat4(1.0f), 180.0f / 18);
    34         m_gears.Push(EasyMesh(), mat4(1.0f), 180.0f / 18);
     30        EasyMeshLuaLoader EzMhLoader;
     31        EzMhLoader.ExecLua("05_easymesh.lua");
    3532
     33        EasyMeshLuaObject* gears0 = EzMhLoader.GetPtr<EasyMeshLuaObject>("g0");
     34        EasyMeshLuaObject* gears1 = EzMhLoader.GetPtr<EasyMeshLuaObject>("g1");
     35        EasyMeshLuaObject* gears2 = EzMhLoader.GetPtr<EasyMeshLuaObject>("g2");
     36        EasyMeshLuaObject* gears3 = EzMhLoader.GetPtr<EasyMeshLuaObject>("g3");
     37        EasyMeshLuaObject* gears4 = EzMhLoader.GetPtr<EasyMeshLuaObject>("g4");
     38
     39        m_gears.Push(gears0->GetMesh(), mat4(1.0f), 0.0f);
     40        m_gears.Push(gears1->GetMesh(), mat4(1.0f), 0.0f);
     41        m_gears.Push(gears2->GetMesh(), mat4(1.0f), 180.0f / 18);
     42        m_gears.Push(gears3->GetMesh(), mat4(1.0f), 180.0f / 18);
     43        m_gears.Push(gears4->GetMesh(), mat4(1.0f), 180.0f / 18);
     44
     45        /*
    3646        m_gears[0].m1.Compile("[sc#00f ab 8 1 8 ty -.25]"
    3747                              "[sc#f9f scb#f9f acg 12 10 5 5 20 20 5 5 0.1 0 s .1 .1 .1 ty -.1 csgu]"
     
    4050                              "[[ sc#fff ab 3   1.4 2   tx -2 tz -2 "
    4151                              "[sc#fff ab 2.1  .7 1.1 ty .5 tx -1.4 tz -1.4 csgs] mz] csgu]");
    42         //m_gears[0].m1.Compile("[sc#f9f scb#f9f acg 12 10 5 5 20 20 5 5 0.1 0 s .1 .1 .1 [sc#00f ab 3 1 2 ty .25 tx 1 csgs]]");
    4352        m_gears[1].m1.Compile("sc#ff9 scb#ff9 acg 54 10 95 95 90 90 -5 -5 0.1 0 s .1 .1 .1");
    44         //m_gears[2].m1.Compile("sc#9ff scb#9ff acg 18 10 5 5 30 30 5 5 0.1 0 s .1 .1 .1 [sc#00f scb#00f ab 2 2 2 tx 1.5]");
    45         //m_gears[3].m1.Compile("sc#9ff scb#9ff acg 18 10 5 5 30 30 5 5 0.1 0 s .1 .1 .1 [sc#00f scb#00f ab 2 2 2 tx 1.5]");
    46         //m_gears[4].m1.Compile("sc#9ff scb#9ff acg 18 10 5 5 30 30 5 5 0.1 0 s .1 .1 .1 [sc#00f scb#00f ab 2 2 2 tx 1.5]");
    4753        m_gears[2].m1.Compile("[sc#0f0 ab 2 2 2 t .8 .8 .8 rx 20 ry 20 [sc#00f ab 2 2 2 tx 0 csgu]]");
    4854        m_gears[3].m1.Compile("[sc#0f0 ab 2 2 2 t .8 .8 .8 rx 20 ry 20 [sc#00f ab 2 2 2 tx 0 csgs]]");
    4955        m_gears[4].m1.Compile("[sc#0f0 ab 2 2 2 t .8 .8 .8 rx 20 ry 20 [sc#00f ab 2 2 2 tx 0 csga]]");
     56        */
    5057
    5158        m_angle = 0;
  • trunk/doc/tutorial/05_easymesh.vcxproj

    r3788 r3864  
    4949    </ProjectReference>
    5050  </ItemGroup>
     51  <ItemGroup>
     52    <None Include="05_easymesh.lua">
     53      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
     54    </None>
     55  </ItemGroup>
    5156  <PropertyGroup Label="Globals">
    5257    <ProjectGuid>{1c5b8702-290c-42da-aa9e-671348f5b747}</ProjectGuid>
  • trunk/src/easymesh/easymeshbuild.h

    r3860 r3864  
    494494    uint32_t            m_texcoord_build_type[MeshType::MAX];
    495495    uint32_t            m_texcoord_build_type2[MeshType::MAX];
    496     uint32_t            m_build_flags;
     496    uint32_t            m_build_flags = MeshBuildOperation::PreventVertCleanup;
    497497};
    498498
  • trunk/src/easymesh/easymeshlua.cpp

    r3863 r3864  
    5858const LuaObjectLib* EasyMeshLuaObject::GetLib()
    5959{
     60    typedef EasyMeshLuaObject EMLO;
    6061    static const LuaObjectLib lib = LuaObjectLib(
    6162        "EasyMesh",
    6263        //Statics
    63         { /*{ nullptr, nullptr }*/ },
     64        { { nullptr, nullptr } },
    6465        //Methods
    6566        {
    6667            //-----------------------------------------------------------------
    67             { "AddCylinder", &AppendCylinder }, { "ac", &AppendCylinder },
    68             { "AddSphere", &AppendSphere }, { "asph", &AppendSphere },
    69             { "AddCapsule", &AppendCapsule }, { "acap", &AppendCapsule },
    70             { "AddTorus", &AppendTorus }, { "ato", &AppendTorus },
    71             { "AddBox", &AppendBox }, { "ab", &AppendBox },
    72             { "AddStar", &AppendStar }, { "as", &AppendStar },
    73             { "AddExpandedStar", &AppendExpandedStar }, { "aes", &AppendExpandedStar },
    74             { "AddDisc", &AppendDisc }, { "ad", &AppendDisc },
    75             { "AddTriangle", &AppendSimpleTriangle }, { "at", &AppendSimpleTriangle },
    76             { "AddQuad", &AppendSimpleQuad }, { "aq", &AppendSimpleQuad },
    77             { "AddCog", &AppendCog }, { "acog", &AppendCog },
    78             //-----------------------------------------------------------------
    79             { "setcolor", &SetCurColor }, { "sc", &SetCurColor },
    80             { "setcolora", &SetCurColorA }, { "sca", &SetCurColorA },
    81             { "setcolorb", &SetCurColorB }, { "scb", &SetCurColorB },
    82             { "setcolorv", &SetVertColor }, { "scv", &SetVertColor },
    83             //-----------------------------------------------------------------
    84             { "TranslateX", &TranslateX }, { "tx", &TranslateX },
    85             { "TranslateY", &TranslateY }, { "ty", &TranslateY },
    86             { "TranslateZ", &TranslateZ }, { "tz", &TranslateZ },
     68            { "AddCylinder", &EMLO::AppendCylinder }, { "ac", &EMLO::AppendCylinder },
     69            { "AddSphere", &EMLO::AppendSphere }, { "asph", &EMLO::AppendSphere },
     70            { "AddCapsule", &EMLO::AppendCapsule }, { "acap", &EMLO::AppendCapsule },
     71            { "AddTorus", &EMLO::AppendTorus }, { "ato", &EMLO::AppendTorus },
     72            { "AddBox", &EMLO::AppendBox }, { "ab", &EMLO::AppendBox },
     73            { "AddStar", &EMLO::AppendStar }, { "as", &EMLO::AppendStar },
     74            { "AddExpandedStar", &EMLO::AppendExpandedStar }, { "aes", &EMLO::AppendExpandedStar },
     75            { "AddDisc", &EMLO::AppendDisc }, { "ad", &EMLO::AppendDisc },
     76            { "AddTriangle", &EMLO::AppendSimpleTriangle }, { "at", &EMLO::AppendSimpleTriangle },
     77            { "AddQuad", &EMLO::AppendSimpleQuad }, { "aq", &EMLO::AppendSimpleQuad },
     78            { "AddCog", &EMLO::AppendCog }, { "acog", &EMLO::AppendCog },
     79            //-----------------------------------------------------------------
     80            { "SetColor", &EMLO::SetCurColor }, { "sc", &EMLO::SetCurColor },
     81            { "SetColorA", &EMLO::SetCurColorA }, { "sca", &EMLO::SetCurColorA },
     82            { "SetColorB", &EMLO::SetCurColorB }, { "scb", &EMLO::SetCurColorB },
     83            { "SetColorV", &EMLO::SetVertColor }, { "scv", &EMLO::SetVertColor },
     84            //-----------------------------------------------------------------
     85            { "TranslateX", &EMLO::TranslateX }, { "tx", &EMLO::TranslateX },
     86            { "TranslateY", &EMLO::TranslateY }, { "ty", &EMLO::TranslateY },
     87            { "TranslateZ", &EMLO::TranslateZ }, { "tz", &EMLO::TranslateZ },
    8788            { "Translate",  &Translate },  { "t",  &Translate },
    8889            //-----------------------------------------------------------------
    89             { "RotateX", &RotateX }, { "rx", &RotateX },
    90             { "RotateY", &RotateY }, { "ry", &RotateY },
    91             { "RotateZ", &RotateZ }, { "rz", &RotateZ },
     90            { "RotateX", &EMLO::RotateX }, { "rx", &EMLO::RotateX },
     91            { "RotateY", &EMLO::RotateY }, { "ry", &EMLO::RotateY },
     92            { "RotateZ", &EMLO::RotateZ }, { "rz", &EMLO::RotateZ },
    9293            { "Rotate",  &Rotate },  { "r",  &Rotate },
    9394            //-----------------------------------------------------------------
    94             { "ScaleX", &ScaleX }, { "sx", &ScaleX },
    95             { "ScaleY", &ScaleY }, { "sy", &ScaleY },
    96             { "ScaleZ", &ScaleZ }, { "sz", &ScaleZ },
    97             { "Scale", &Scale }, { "s", &Scale },
    98             //-----------------------------------------------------------------
    99             { "RadialJitter", &RadialJitter }, { "rj", &RadialJitter },
    100             //-----------------------------------------------------------------
    101             { "TaperX", &TaperX }, { "tax", &TaperX },
    102             { "TaperY", &TaperY }, { "tay", &TaperY },
    103             { "TaperZ", &TaperZ }, { "taz", &TaperZ },
    104             //-----------------------------------------------------------------
    105             { "TwistX", &TwistX }, { "twx", &TwistX },
    106             { "TwistY", &TwistY }, { "twy", &TwistY },
    107             { "TwistZ", &TwistZ }, { "twz", &TwistZ },
    108             //-----------------------------------------------------------------
    109             { "ShearX", &ShearX }, { "shx", &ShearX },
    110             { "ShearY", &ShearY }, { "shy", &ShearY },
    111             { "ShearZ", &ShearZ }, { "shz", &ShearZ },
    112             //-----------------------------------------------------------------
    113             { "StretchX", &StretchX }, { "stx", &StretchX },
    114             { "StretchY", &StretchY }, { "sty", &StretchY },
    115             { "StretchZ", &StretchZ }, { "stz", &StretchZ },
    116             //-----------------------------------------------------------------
    117             { "BendXY", &BendXY }, { "bdxy", &BendXY },
    118             { "BendXZ", &BendXZ }, { "bdxz", &BendXZ },
    119             { "BendYX", &BendYX }, { "bdyx", &BendYX },
    120             { "BendYZ", &BendYZ }, { "bdyz", &BendYZ },
    121             { "BendZX", &BendZX }, { "bdzx", &BendZX },
    122             { "BendZY", &BendZY }, { "bdzy", &BendZY },
    123             //-----------------------------------------------------------------
    124             { "MirrorX", &MirrorX }, { "mx", &MirrorX },
    125             { "MirrorY", &MirrorY }, { "my", &MirrorY },
    126             { "MirrorZ", &MirrorZ }, { "mz", &MirrorZ },
    127             //-----------------------------------------------------------------
    128             { "Loop", &LoopStart }, { "lp", &LoopStart },
    129             { "LoopDo", &LoopEnd }, { "ld", &LoopEnd },
    130             { "BraceOpen", &OpenBrace }, { "bop", &OpenBrace },
    131             { "BraceClose", &CloseBrace }, { "bcl", &CloseBrace },
    132             //-----------------------------------------------------------------
    133             { "VerticeMerge", &VerticesMerge }, { "vm", &VerticesMerge },
    134             { "VerticeSeparate", &VerticesSeparate }, { "vs", &VerticesSeparate },
    135             //-----------------------------------------------------------------
    136             { "Duplicate", &Duplicate }, { "dup", &Duplicate },
    137             { "Smooth", &Smooth }, { "smth", &Smooth },
    138             { "SplitTriangles", &SplitTriangles }, { "splt", &SplitTriangles },
    139             { "Chamfer", &Chamfer }, { "cf", &Chamfer },
    140             //-----------------------------------------------------------------
    141             { "ToggleScaleWinding", &ToggleScaleWinding }, { "tsw", &ToggleScaleWinding },
    142             { "ToggleQuadWeighting", &ToggleQuadWeighting }, { "tqw", &ToggleQuadWeighting },
    143             { "TogglePostBuildNormal", &TogglePostBuildNormal }, { "tpbn", &TogglePostBuildNormal },
    144             { "ToggleVerticeNoCleanup", &ToggleVerticeNoCleanup }, { "tvnc", &ToggleVerticeNoCleanup },
     95            { "ScaleX", &EMLO::ScaleX }, { "sx", &EMLO::ScaleX },
     96            { "ScaleY", &EMLO::ScaleY }, { "sy", &EMLO::ScaleY },
     97            { "ScaleZ", &EMLO::ScaleZ }, { "sz", &EMLO::ScaleZ },
     98            { "Scale", &EMLO::Scale }, { "s", &EMLO::Scale },
     99            //-----------------------------------------------------------------
     100            { "RadialJitter", &EMLO::RadialJitter }, { "rj", &EMLO::RadialJitter },
     101            //-----------------------------------------------------------------
     102            { "TaperX", &EMLO::TaperX }, { "tax", &EMLO::TaperX },
     103            { "TaperY", &EMLO::TaperY }, { "tay", &EMLO::TaperY },
     104            { "TaperZ", &EMLO::TaperZ }, { "taz", &EMLO::TaperZ },
     105            //-----------------------------------------------------------------
     106            { "TwistX", &EMLO::TwistX }, { "twx", &EMLO::TwistX },
     107            { "TwistY", &EMLO::TwistY }, { "twy", &EMLO::TwistY },
     108            { "TwistZ", &EMLO::TwistZ }, { "twz", &EMLO::TwistZ },
     109            //-----------------------------------------------------------------
     110            { "ShearX", &EMLO::ShearX }, { "shx", &EMLO::ShearX },
     111            { "ShearY", &EMLO::ShearY }, { "shy", &EMLO::ShearY },
     112            { "ShearZ", &EMLO::ShearZ }, { "shz", &EMLO::ShearZ },
     113            //-----------------------------------------------------------------
     114            { "StretchX", &EMLO::StretchX }, { "stx", &EMLO::StretchX },
     115            { "StretchY", &EMLO::StretchY }, { "sty", &EMLO::StretchY },
     116            { "StretchZ", &EMLO::StretchZ }, { "stz", &EMLO::StretchZ },
     117            //-----------------------------------------------------------------
     118            { "BendXY", &EMLO::BendXY }, { "bdxy", &EMLO::BendXY },
     119            { "BendXZ", &EMLO::BendXZ }, { "bdxz", &EMLO::BendXZ },
     120            { "BendYX", &EMLO::BendYX }, { "bdyx", &EMLO::BendYX },
     121            { "BendYZ", &EMLO::BendYZ }, { "bdyz", &EMLO::BendYZ },
     122            { "BendZX", &EMLO::BendZX }, { "bdzx", &EMLO::BendZX },
     123            { "BendZY", &EMLO::BendZY }, { "bdzy", &EMLO::BendZY },
     124            //-----------------------------------------------------------------
     125            { "MirrorX", &EMLO::MirrorX }, { "mx", &EMLO::MirrorX },
     126            { "MirrorY", &EMLO::MirrorY }, { "my", &EMLO::MirrorY },
     127            { "MirrorZ", &EMLO::MirrorZ }, { "mz", &EMLO::MirrorZ },
     128            //-----------------------------------------------------------------
     129            { "Loop", &EMLO::LoopStart }, { "lp", &EMLO::LoopStart },
     130            { "LoopDo", &EMLO::LoopEnd }, { "ld", &EMLO::LoopEnd },
     131            { "BraceOpen", &EMLO::OpenBrace }, { "bop", &EMLO::OpenBrace },
     132            { "BraceClose", &EMLO::CloseBrace }, { "bcl", &EMLO::CloseBrace },
     133            //-----------------------------------------------------------------
     134            { "VerticeMerge", &EMLO::VerticesMerge }, { "vm", &EMLO::VerticesMerge },
     135            { "VerticeSeparate", &EMLO::VerticesSeparate }, { "vs", &EMLO::VerticesSeparate },
     136            { "VerticesCleanup", &EMLO::VerticesCleanup }, { "vc", &EMLO::VerticesCleanup },
     137            //-----------------------------------------------------------------
     138            { "Duplicate", &EMLO::Duplicate }, { "dup", &EMLO::Duplicate },
     139            { "Smooth", &EMLO::Smooth }, { "smth", &EMLO::Smooth },
     140            { "SplitTriangles", &EMLO::SplitTriangles }, { "splt", &EMLO::SplitTriangles },
     141            { "Chamfer", &EMLO::Chamfer }, { "cf", &EMLO::Chamfer },
     142            //-----------------------------------------------------------------
     143            { "ToggleScaleWinding", &EMLO::ToggleScaleWinding }, { "tsw", &EMLO::ToggleScaleWinding },
     144            { "ToggleQuadWeighting", &EMLO::ToggleQuadWeighting }, { "tqw", &EMLO::ToggleQuadWeighting },
     145            { "TogglePostBuildNormal", &EMLO::TogglePostBuildNormal }, { "tpbn", &EMLO::TogglePostBuildNormal },
     146            { "ToggleVerticeNoCleanup", &EMLO::ToggleVerticeNoCleanup }, { "tvnc", &EMLO::ToggleVerticeNoCleanup },
    145147            //-----------------------------------------------------------------
    146148        },
  • trunk/src/easymesh/easymeshlua.h

    r3863 r3864  
    3333    EasyMeshLuaObject();
    3434    virtual ~EasyMeshLuaObject();
     35    EasyMesh& GetMesh() { return m_instance; }
    3536
    3637    //-------------------------------------------------------------------------
     
    559560        return 0;
    560561    }
     562    static int VerticesCleanup(LuaState* l)
     563    {
     564        LuaStack s(l);
     565        EzMeshPtr m;
     566        s >> m;
     567        m->m_instance.VerticesCleanup();
     568        return 0;
     569    }
    561570    //-------------------------------------------------------------------------
    562571    static int Duplicate(LuaState* l)
     
    603612        s >> m;
    604613        LuaVec4 c;
    605         if (s.GetArgs() == 1 && !c.IsValid(l, 2))
     614        if (s.GetArgs() == 2 && !c.IsValid(l, 2))
    606615        {
    607616            LuaString str;
  • trunk/src/lolua/baselua.cpp

    r3863 r3864  
    2626    friend class Lolua::Loader;
    2727
    28     static int LuaPanic(LuaState* L)
     28    static int LuaPanic(LuaState* l)
    2929    {
    30         char const *message = lua_tostring(L, -1);
     30        char const *message = lua_tostring(l, -1);
    3131        Log::Error("%s\n", message);
    3232        DebugAbort();
     
    3434    }
    3535
    36     static int LuaDoFile(LuaState *L)
     36    static int LuaDoFile(LuaState *l)
    3737    {
    38         if (lua_isnoneornil(L, 1))
     38        if (lua_isnoneornil(l, 1))
    3939            return LUA_ERRFILE;
    4040
    41         LuaCharPtr var; var.Get(L, 1);
    42         char const *filename = var;// lua_tostring(L, 1);
     41        LuaCharPtr var; var.Get(l, 1);
     42        char const *filename = var;// lua_tostring(l, 1);
    4343        int status = LUA_ERRFILE;
    4444
     
    5454
    5555                Log::Debug("loading Lua file %s\n", pathlist[i].C());
    56                 status = luaL_dostring(L, s.C());
     56                status = luaL_dostring(l, s.C());
    5757                break;
    5858            }
     
    6161        if (status == LUA_ERRFILE)
    6262            Log::Error("could not find Lua file %s\n", filename);
     63        else if (status == 1)
     64        {
     65            LuaString error; error.Get(l, -1);
     66            Log::Error("Lua error %s\n", error().C());
     67            lua_pop(l, 1);
     68        }
    6369
    64         lua_pop(L, 1);
     70        lua_pop(l, 1);
    6571
    6672        return status;
Note: See TracChangeset for help on using the changeset viewer.