1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
Ogre::String lNameOfTheMesh = "MeshCube";
Ogre::ManualObject* manual = mSceneMgr->createManualObject("manual");
manual->begin("BaseWhiteNoLighting", Ogre::RenderOperation::OT_TRIANGLE_LIST);
float cp = 10.0 ;
float cm = -10.0;
manual->position(cm, cp, cm);// a vertex
manual->colour(Ogre::ColourValue(0.0f,1.0f,0.0f,1.0f));
manual->textureCoord(0.0, 1.0);
manual->position(cp, cp, cm);// a vertex
manual->colour(Ogre::ColourValue(1.0f,1.0f,0.0f,1.0f));
manual->textureCoord(1.0, 1.0);
manual->position(cp, cm, cm);// a vertex
manual->colour(Ogre::ColourValue(1.0f,0.0f,0.0f,1.0f));
manual->textureCoord(1.0, 0.0);
manual->position(cm, cm, cm);// a vertex
manual->colour(Ogre::ColourValue(0.0f,0.0f,0.0f,1.0f));
manual->textureCoord(0.0, 0.0);
manual->position(cm, cp, cp);// a vertex
manual->colour(Ogre::ColourValue(0.0f,1.0f,1.0f,1.0f));
manual->textureCoord(0.0, 1.0);
manual->position(cp, cp, cp);// a vertex
manual->colour(Ogre::ColourValue(1.0f,1.0f,1.0f,1.0f));
manual->textureCoord(1.0, 1.0);
manual->position(cp, cm, cp);// a vertex
manual->colour(Ogre::ColourValue(1.0f,0.0f,1.0f,1.0f));
manual->textureCoord(1.0, 0.0);
manual->position(cm, cm, cp);// a vertex
manual->colour(Ogre::ColourValue(0.0f,0.0f,1.0f,1.0f));
manual->textureCoord(0.0, 0.0);
manual->triangle(0,1,2);
manual->triangle(2,3,0);
manual->triangle(4,6,5);
manual->triangle(6,4,7);
// face top / down
manual->triangle(0,4,5);
manual->triangle(5,1,0);
manual->triangle(2,6,7);
manual->triangle(7,3,2);
// face left / right
manual->triangle(0,7,4);
manual->triangle(7,0,3);
manual->triangle(1,5,6);
manual->triangle(6,2,1);
manual->end();
manual->convertToMesh(lNameOfTheMesh, lNameOfResourceGroup);
//mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(manual);
int coord_mont[NBMONTAGNE][5];
int coord_val[NBMONTAGNE][5];
srand(time(NULL));
aleat(coord_mont);
aleat(coord_val);
for(int i = 0; i < 50; ++i)
for(int j = 0; j < 50; ++j)
{
Ogre::Entity* lEntity = mSceneMgr->createEntity(lNameOfTheMesh);
// Now I attach it to a scenenode, so that it becomes present in the scene.
Ogre::SceneNode* lNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
lNode->attachObject(lEntity);
// I move the SceneNode so that it is visible to the camera.
//float lPositionOffset = float(1+ iter * 2) - (float(lNumberOfEntities));
lNode->translate(float(10)*i*2,float(1)*altitude(i*20,j*20,coord_mont,coord_val)-100,float(10)*j*2);
}
} |
Partager