voila le code moins tout ce qui ne doit pas poser de soucis...
#include <irrlicht.h>
#include <iostream>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
#pragma comment(lib, "Irrlicht.lib");
IrrlichtDevice *device = 0;
ISceneManager* smgr =0;
IVideoDriver* driver =0;
int main() {
device = createDevice(EDT_OPENGL,dimension2d<s32>(800,600),16, false,true,false,0);
smgr = device->getSceneManager();
driver = device->getVideoDriver();
IGUIEnvironment* env = device->getGUIEnvironment();
driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true);
ISceneNode* marqueur1 = smgr->addSphereSceneNode(100,16,0,1001,vector3df(0,1000,0),vector3df(0, 0, 0),vector3df(1.0f,10.0f, 1.0f));
marqueur1->setMaterialTexture(0, driver->getTexture("Texture/rouge.bmp"));
ISceneNode* marqueur2 = marqueur1->clone(0,smgr); marqueur2->setID(1002);
ISceneNode* marqueur3 = marqueur1->clone(0,smgr); marqueur3->setID(1003);
ISceneNode* marqueur4 = marqueur1->clone(0,smgr); marqueur4->setID(1004);
ISceneNode* marqueur5 = marqueur1->clone(0,smgr); marqueur5->setID(1005);
ISceneNode* marqueur6 = marqueur1->clone(0,smgr); marqueur6->setID(1006);
ISceneNode* marqueur7 = marqueur1->clone(0,smgr); marqueur7->setID(1007);
ISceneNode* marqueur8 = marqueur1->clone(0,smgr); marqueur8->setID(1008);
ISceneNode* marqueur9 = marqueur1->clone(0,smgr); marqueur9->setID(1009);
marqueur1->setPosition (vector3df(finX-404794.0f,1000,finY-342999.0f));
marqueur2->setPosition (vector3df(finX-401461.0f,1000,finY-344706.0f));
marqueur3->setPosition (vector3df(finX-407327.0f,1000,finY-344305.0f));
marqueur4->setPosition (vector3df(finX-407640.0f,1000,finY-337136.0f));
marqueur5->setPosition (vector3df(finX-401951.0f,1000,finY-335944.0f));
marqueur6->setPosition (vector3df(finX-398475.0f,1000,finY-345876.0f));
marqueur7->setPosition (vector3df(finX-406312.0f,1000,finY-348221.0f));
marqueur8->setPosition (vector3df(finX-413298.0f,1000,finY-339334.0f));
marqueur9->setPosition (vector3df(finX-398516.0f,1000,finY-336787.0f));
// add camera
ICameraSceneNode* camera = smgr->addCameraSceneNodeFPS(0,100.0f,5000.0f);
camera->setPosition(vector3df(0.0f,4000.0f,0.0f));
camera->setTarget(vector3df(xTarget,0.0f,zTarget);
camera->setFarValue(100000.0f);
while(device->run()) {
if (device->isWindowActive())
{
driver->beginScene(true, true, SColor (255,255,255,255) );
smgr->drawAll();
env->drawAll();
driver->drawStencilShadow ();
driver->endScene();
ICursorControl * cursor = device->getCursorControl();
position2di posCursor = device->getCursorControl()->getPosition();
// position2di posCursor = position2di(400,300); --> si j'active cet ligne la détection de la ligne d'en dessous fonctionne
ISceneNode *node = smgr->getSceneCollisionManager()->getSceneNodeFromScreenCoordinatesBB(posCursor);
}
}
device->drop();
return 0;
}
est ce que vous voyez quelque chose qui ferait que ça ne marche pas...