Ignore:
Timestamp:
Feb 8, 2013, 12:28:51 AM (7 years ago)
Author:
touky
Message:

Added VertexDictionnary object to manage vertices with same coord && connected vertices.
Added UVs system with and UVs generation test (not very conclusive)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/MeshViewer.cpp

    r2370 r2379  
    2121using namespace std;
    2222using namespace lol;
     23
     24LOLFX_RESOURCE_DECLARE(shinyfur);
    2325
    2426#define    IPT_CAM_RESET          "Cam_Center"
     
    4446#define    IPT_MESH_ROT_DOWN      "Mesh_Rot_Down"
    4547
     48#define    WITH_FUR               0
     49
    4650class MeshViewer : public WorldEntity
    4751{
     
    271275            f.Close();
    272276
     277            for (int i = 0; i < cmd.Count() - 1; i++)
     278            {
     279                if (cmd[i] == '/' && cmd[i + 1] == '/')
     280                {
     281                    int j = i;
     282                    for (; j < cmd.Count(); j++)
     283                    {
     284                        if (cmd[j] == '\r' || cmd[j] == '\n')
     285                            break;
     286                    }
     287                    String new_cmd = cmd.Sub(0, i);
     288                    if (j < cmd.Count())
     289                        new_cmd += cmd.Sub(j, cmd.Count() - j);
     290                    cmd = new_cmd;
     291                    i--;
     292                }
     293            }
     294
    273295            if (cmd.Count()
    274296                 && (!m_cmdlist.Count() || cmd != m_cmdlist.Last()))
     
    278300                //Create a new mesh
    279301                m_meshes.Push(EasyMesh(), false, .0f, vec3(.0f));
    280                 m_meshes.Last().m1.Compile(cmd.C());
     302                if (!m_meshes.Last().m1.Compile(cmd.C()))
     303                    m_meshes.Pop();
     304                else
     305                    m_meshes.Last().m1.ComputeTexCoord(0.2f, 2);
    281306            }
    282307        }
     
    305330            if (!m_meshes[i].m2)
    306331            {
     332                //Fur support
     333#if WITH_FUR
     334                m_meshes[i].m1.MeshConvert(Shader::Create(LOLFX_RESOURCE_NAME(shinyfur)));
     335#else
    307336                m_meshes[i].m1.MeshConvert();
     337#endif
    308338                m_meshes[i].m2 = true;
    309339            }
     
    331361                                                   default_proj *
    332362                                                   m_fov_compensation);
     363#if WITH_FUR
     364                for (int j=0; j < 40; j++)
     365                    m_meshes[i].m1.Render(m_mat, 0.1 * j);
     366#else
    333367                m_meshes[i].m1.Render(m_mat);
     368#endif
    334369                Video::Clear(ClearMask::Depth);
    335370            }
Note: See TracChangeset for help on using the changeset viewer.