SourceForge: osrpgcreation/osrpgcreation: changeset 62:4b9115307313
flmg created with model converter. texcoord acts like view plane billboard
authorkornerr
Sat Oct 31 18:53:10 2009 +0700 (3 weeks ago)
changeset 624b9115307313
parent 61a7bde2ea09e9
child 63014721b97109
flmg created with model converter. texcoord acts like view plane billboard
include/lf/mj/Core.h
res/lfm/Cube.lfm
res/lfm/Cube.lfmg
res/lfm/tile.lfm
src/lf/mj/Core.cpp
src/main.cpp
     1.1 --- a/include/lf/mj/Core.h	Sat Oct 31 13:21:42 2009 +0700
     1.2 +++ b/include/lf/mj/Core.h	Sat Oct 31 18:53:10 2009 +0700
     1.3 @@ -22,6 +22,7 @@
     1.4          scene::CScene *mScn;
     1.5          scene::C3DCamera *mCam;
     1.6          scene::CSceneNodeController *mCamCtrl;
     1.7 +        s8 mCtrlType;
     1.8          scene::APickingResults pickResults;
     1.9          u32 mFPS;
    1.10          u32 mPolys;
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/res/lfm/Cube.lfm	Sat Oct 31 18:53:10 2009 +0700
     2.3 @@ -0,0 +1,33 @@
     2.4 +[material]
     2.5 +  name=Cube_Material0
     2.6 +  [colormaterial]
     2.7 +    diffuse=153,153,153, 255
     2.8 +    ambient=101,101,101, 255
     2.9 +    specular=127,127,127, 255
    2.10 +    emissive=0,0,0, 255
    2.11 +    shininess=12.5
    2.12 +  [/colormaterial]
    2.13 +  [texture]
    2.14 +    filename=../cpp/ogs/res/tex/tile01.png
    2.15 +    name=../cpp/ogs/res/tex/tile01.png
    2.16 +    type=2D
    2.17 +  [/texture]
    2.18 +  feature=ERPF_DIFFUSEMAP
    2.19 +[/material]
    2.20 +[geometry]
    2.21 +  filename=Cube.lfmg
    2.22 +  name=Cube
    2.23 +[/geometry]
    2.24 +[mesh]
    2.25 +  name=Cube_Mesh0
    2.26 +  type=EPT_TRIANGLE_LIST
    2.27 +  vertexbuffer=Cube/Cube_Mesh0/vbo
    2.28 +  indexbuffer=Cube/Cube_Mesh0/ibo
    2.29 +  firstindex=0
    2.30 +  numindexes=2304
    2.31 +[/mesh]
    2.32 +[model]
    2.33 +  name=Cube
    2.34 +  mesh=Cube_Mesh0
    2.35 +  material=Cube_Material0
    2.36 +[/model]
     3.1 Binary file res/lfm/Cube.lfmg has changed
     4.1 --- a/res/lfm/tile.lfm	Sat Oct 31 13:21:42 2009 +0700
     4.2 +++ b/res/lfm/tile.lfm	Sat Oct 31 18:53:10 2009 +0700
     4.3 @@ -10,6 +10,19 @@
     4.4  firstindex=0
     4.5  numindexes=2304
     4.6  [/mesh]
     4.7 +
     4.8 +[geometry]
     4.9 +  filename=Cube.lfmg
    4.10 +  name=Cube
    4.11 +[/geometry]
    4.12 +[mesh]
    4.13 +  name=Cube_Mesh0
    4.14 +  type=EPT_TRIANGLE_LIST
    4.15 +  vertexbuffer=Cube/Cube_Mesh0/vbo
    4.16 +  indexbuffer=Cube/Cube_Mesh0/ibo
    4.17 +  firstindex=0
    4.18 +  numindexes=2304
    4.19 +[/mesh]
    4.20  # Materials
    4.21  [material]
    4.22  name=light_billboard
     5.1 --- a/src/lf/mj/Core.cpp	Sat Oct 31 13:21:42 2009 +0700
     5.2 +++ b/src/lf/mj/Core.cpp	Sat Oct 31 18:53:10 2009 +0700
     5.3 @@ -34,9 +34,15 @@
     5.4      mCam->setRotationDegrees(90.0f, 0.001f, 0.0f);
     5.5      mWin->getRenderLayer3D()->addCamera(mCam);
     5.6      mCam->drop();
     5.7 +    // Create cam controller by faking keyPressed call
     5.8 +    mCtrlType--;
     5.9 +    input::CKeyEvent ne(mWin, 0, input::KEY_KEY_N, 'n');
    5.10 +    keyPressed(ne);
    5.11 +    /*
    5.12      mCamCtrl = new scene::CEditorController(mWin, mCam);
    5.13      mScn->addSceneNodeController(mCamCtrl);
    5.14      mCamCtrl->drop();
    5.15 +    */
    5.16      // Lighting state.
    5.17      render::CRenderStateLighting *rsl =
    5.18          new render::CRenderStateLighting(true);
    5.19 @@ -127,6 +133,7 @@
    5.20      switch (e.getKey()) {
    5.21          case input::KEY_KEY_C:
    5.22              {
    5.23 +                e.consume();
    5.24                  core::vector3df pos = mCam->getPosition();
    5.25                  std::cout << "pos(" << pos.X << ", "
    5.26                                 << pos.Y << ", "
    5.27 @@ -137,6 +144,29 @@
    5.28                                 << pos.Z << ")\n";
    5.29              }
    5.30              break;
    5.31 +        case input::KEY_KEY_N:
    5.32 +            e.consume();
    5.33 +            mScn->removeSceneNodeController(mCamCtrl);
    5.34 +            mCtrlType++;
    5.35 +            if(mCtrlType == 2)
    5.36 +                mCtrlType = 0;
    5.37 +            switch(mCtrlType) {
    5.38 +                case 0:
    5.39 +                {
    5.40 +                    mCamCtrl = new scene::CEditorController(mWin, mCam);
    5.41 +                    mScn->addSceneNodeController(mCamCtrl);
    5.42 +                    mCamCtrl->drop();
    5.43 +                    break;
    5.44 +                }
    5.45 +                case 1:
    5.46 +                {
    5.47 +                    mCamCtrl = new scene::CFPSController(mWin, mCam, true);
    5.48 +                    mScn->addSceneNodeController(mCamCtrl);
    5.49 +                    mCamCtrl->drop();
    5.50 +                    break;
    5.51 +                }
    5.52 +            } // switch(cControllerType)
    5.53 +            break;
    5.54          case input::KEY_ESCAPE:
    5.55              mWin->closeWindow();
    5.56              break;
     6.1 --- a/src/main.cpp	Sat Oct 31 13:21:42 2009 +0700
     6.2 +++ b/src/main.cpp	Sat Oct 31 18:53:10 2009 +0700
     6.3 @@ -43,10 +43,6 @@
     6.4              inst->setTex(texs[i % 4]);
     6.5              inst->setGroup(i % 8);
     6.6              Common::hnt[inst->getNode()] = inst;
     6.7 -            /*
     6.8 -            if (i == ly.positions().size() - 1)
     6.9 -                inst->setSelected(true);
    6.10 -                */
    6.11          }
    6.12          tmpl->setRot(core::vector3df(0, 180, 0));
    6.13          // Run.