Changeset 1705


Ignore:
Timestamp:
Aug 7, 2012, 8:12:51 PM (8 years ago)
Author:
sam
Message:

tutorial: test some advanced shapes for easymesh.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/easymesh/easymesh.h

    r1619 r1705  
    3333    void Render(mat4 const &model, float damage = 0.f);
    3434
    35 private:
    3635    void OpenBrace();
    3736    void CloseBrace();
     
    3938    void SetCurColor(vec4 const &color);
    4039    void SetCurColor2(vec4 const &color);
     40
     41private:
    4142    void AddVertex(vec3 const &coord);
    4243    void AddDuplicateVertex(int i);
     
    4748    void ComputeNormals(int start, int vcount);
    4849    void SetVertColor(vec4 const &color);
     50
     51public:
    4952    void SetCurVertNormal(vec3 const &normal);
    5053    void SetCurVertColor(vec4 const &color);
  • trunk/tutorial/05_easymesh.cpp

    r1693 r1705  
    2121{
    2222public:
     23    void AddPiece(int x, int y, int h, int dx, int dy, int dh)
     24    {
     25        m_mesh.OpenBrace();
     26        for (int j = 0; j < y; ++j)
     27            for (int i = 0; i < x; ++i)
     28            {
     29                m_mesh.OpenBrace();
     30                m_mesh.Compile("ad12,2.2,0 ty.1 ac12,.2,2.4,2.2,0,1 ty.8 ac12,1.7,2.4,2.4,0,1 ty2.5");
     31                m_mesh.Translate(vec3(i * 8.f, (h - 1) * 3.2f, j * 8.f));
     32                m_mesh.CloseBrace();
     33            }
     34        m_mesh.OpenBrace();
     35        m_mesh.AppendFlatChamfBox(vec3(x * 8.f, h * 3.2f, y * 8.f), -.1f);
     36        m_mesh.Translate(vec3((x - 1) * 4.f, (h - 1) * 1.6f, (y - 1) * 4.f));
     37        m_mesh.CloseBrace();
     38        m_mesh.Translate(vec3(dx * 8.f, dh * 3.2f, dy * 8.f));
     39        m_mesh.CloseBrace();
     40    }
     41
    2342    EasyMeshTutorial()
    2443    {
    2544        m_angle = 0;
    26         m_mesh.Compile("sc#e94 scb#964 [asph11 7 7 7 tx10]");
    27         m_mesh.Compile("sc#94e scb#649 [asph3 7 7 7 tx-6 tz-9]");
    28         m_mesh.Compile("sc#49e scb#469 [asph31 7 7 7 tx-6 tz9]");
     45        //m_mesh.Compile("sc#e94 scb#964 [asph11 7 7 7 tx10]");
     46        //m_mesh.Compile("sc#94e scb#649 [asph3 7 7 7 tx-6 tz-9]");
     47        //m_mesh.Compile("sc#49e scb#469 [asph31 7 7 7 tx-6 tz9]");
     48        m_mesh.Compile("sc#1c1 scb#1c1");
     49        AddPiece(16, 16, 1, -8, -8, -4);
     50
     51        /* Flat white LOL */
     52        m_mesh.Compile("sc#ccc scb#ccc");
     53
     54        AddPiece(1, 4, 1, -7, -7, -3);
     55        AddPiece(2, 1, 1, -6, -4, -3);
     56
     57        AddPiece(1, 4, 1, -3, -7, -3);
     58        AddPiece(2, 1, 1, -2, -7, -3);
     59        AddPiece(2, 1, 1, -2, -4, -3);
     60        AddPiece(1, 2, 1, -1, -6, -3);
     61
     62        AddPiece(1, 4, 1, 1, -7, -3);
     63        AddPiece(2, 1, 1, 2, -4, -3);
     64
     65        /* High red LOL */
     66        m_mesh.Compile("sc#e33 scb#e33");
     67
     68        AddPiece(3, 1, 3, 3, 4, -3);
     69        AddPiece(1, 1, 3, 5, 4, 0);
     70        AddPiece(1, 1, 3, 5, 4, 3);
     71        AddPiece(1, 1, 3, 5, 4, 6);
     72
     73        AddPiece(3, 1, 3, -1, 4, -3);
     74        AddPiece(1, 1, 3, 1, 4, 0);
     75        AddPiece(1, 1, 3, 1, 4, 3);
     76        AddPiece(1, 1, 3, -1, 4, 0);
     77        AddPiece(1, 1, 3, -1, 4, 3);
     78        AddPiece(3, 1, 3, -1, 4, 6);
     79
     80        AddPiece(3, 1, 3, -5, 4, -3);
     81        AddPiece(1, 1, 3, -3, 4, 0);
     82        AddPiece(1, 1, 3, -3, 4, 3);
     83        AddPiece(1, 1, 3, -3, 4, 6);
     84
     85        /* Some random crap */
     86        m_mesh.Compile("sc#e0e scb#e0e");
     87        AddPiece(1, 1, 1, -1, 0, 2);
     88        m_mesh.Compile("sc#0ee scb#0ee");
     89        AddPiece(2, 1, 1, -1, 0, 1);
     90        m_mesh.Compile("sc#e94 scb#e94");
     91        AddPiece(1, 1, 1, 0, 0, 0);
     92        m_mesh.Compile("sc#94e scb#94e");
     93        AddPiece(2, 1, 1, 0, 0, -1);
     94        m_mesh.Compile("sc#9e4 scb#9e4");
     95        AddPiece(1, 2, 3, -1, -1, -2);
     96        m_mesh.Compile("sc#49e scb#49e");
     97        AddPiece(2, 3, 1, 0, -1, -2);
     98        m_mesh.Compile("sc#4e9 scb#4e9");
     99        AddPiece(6, 2, 1, -2, 0, -3);
     100        m_mesh.Compile("sc#e49 scb#e49");
     101        AddPiece(6, 2, 1, -2, -2, -3);
     102
     103        /* Center everything -- is it needed? */
     104        m_mesh.Compile("tx4 tz4");
    29105
    30106        m_camera = new Camera(vec3(0.f, 600.f, 0.f),
    31107                              vec3(0.f, 0.f, 0.f),
    32108                              vec3(0, 1, 0));
    33         m_camera->SetPerspective(70.f, 640.f, 480.f, .1f, 1000.f);
    34         m_camera->SetTarget(vec3(0.f, -5.f, 0.f));
    35         m_camera->SetPosition(vec3(-20.f, 20.f, 0.f));
     109        m_camera->SetPerspective(70.f, 960.f, 600.f, .1f, 1000.f);
     110        m_camera->SetTarget(vec3(0.f, -10.f, 0.f));
     111        m_camera->SetPosition(vec3(-100.f, 60.f, 0.f));
    36112        Ticker::Ref(m_camera);
    37113
     
    77153int main(int argc, char **argv)
    78154{
    79     Application app("Tutorial 5: EasyMesh", ivec2(640, 480), 60.0f);
     155    Application app("Tutorial 5: EasyMesh", ivec2(960, 600), 60.0f);
    80156    new EasyMeshTutorial();
    81157    app.Run();
Note: See TracChangeset for help on using the changeset viewer.