Pages: 1
- Accueil forums
- » Aide Irrlicht C++
- » Attribut Thickness de Material pour le dessin 2D
03-06-2008 11:54:02
- Sakamakak
- Membres

- Date d'inscription:
- Messages: 18
- IP: 141.115.28.2
- Courriel
Bonjour à tous,
Je tente un peu désespérément d'appliquer une épaisseur au dessin d'une ligne avec draw2DLine, mais ça ne fonctionne pas.
Voilà un exemple de ce que je fais :
video::SMaterial mtl ;
mtl.Thickness = 10.0f ;
driver->setMaterial(mtl) ;
...
driver->draw2DLine(...);La ligne s'affiche sans problème mais toujours avec une épaisseur de 1 pixel. C'est agaçant car c'est super élémentaire, mais je ne comprend pas pourquoi ça ne fonctionne pas.
Une idée ?
Merci par avance
Hors ligne
03-06-2008 12:56:43
- firnafin
- Membres

- Date d'inscription:
- Messages: 150
- IP: 88.141.125.52
- Courriel
Je viens de faire un test et ca marche tres bien, ca doit peut etre venir de ton code . ( testé avec la dernier version: 1.4)
Hors ligne
03-06-2008 13:20:37
- Sakamakak
- Membres

- Date d'inscription:
- Messages: 18
- IP: 141.115.28.2
- Courriel
Bon alors j'ai fait un test moi aussi, avec le code le plus basique possible qui est ci-dessous :
#include <irrlicht.h>
using namespace irr;
using namespace video;
IrrlichtDevice *device;
IVideoDriver* driver;
int main()
{
SIrrlichtCreationParameters creationParameters = SIrrlichtCreationParameters();
creationParameters.DriverType = video::EDT_DIRECT3D9;
creationParameters.WindowSize = core::dimension2d<s32>(640, 480);
device = createDeviceEx(creationParameters);
driver = device->getVideoDriver();
video::SMaterial mtl ;
mtl.Thickness = 100.00f ;
driver->setMaterial(mtl);
while(device->run())
{
if (device->isWindowActive())
{
driver->beginScene(true, true, video::SColor(255,0,0,0));
driver->draw2DLine(core::position2d<s32>(10,10), core::position2d<s32>(60,80), video::SColor(255,255,0,0) );
driver->endScene();
}
}
device->drop();
return 0;
}Et ca ne marche toujours pas ! :p
Je dois avouer que je ne comprend pas. La ligne 2D s'affiche bien, mais aucune prise en compte de l'épaisseur (thickness).
Qu'est qui pourrait ne pas aller ? Direct3D qui n'aime pas peut être ? :p
Hors ligne
03-06-2008 14:20:24
- firnafin
- Membres

- Date d'inscription:
- Messages: 150
- IP: 88.141.125.52
- Courriel
Effectivement sous Direct3d ca semble ne pas etre pirs en compte , allez savoir pourquoi ? il faudrait voir si sur le site officiel ils en parlent .
Hors ligne
03-06-2008 14:24:22
- Sakamakak
- Membres

- Date d'inscription:
- Messages: 18
- IP: 141.115.28.2
- Courriel
Je dois avouer que ça ne m'arrange pas vraiment. :p
Je vais continuer a fouiller sur le site officiel, mais je n'ai rien trouvé jusqu'à présent.
une idée pour implémenter un algorithme qui pourrait épaissir le tracé d'une ligne ?
Hors ligne
03-06-2008 14:38:14
- Ikam
- Membres
- Date d'inscription:
- Messages: 56
- IP: 81.255.174.7
- Courriel Site web
je crois que directx ne gère pas les lignes de taille supérieures à 1 pixel.
Néanmoins je crois aussi qu'il existe une méthode mais il me semble que c'etait un truc relativement complexe.
Hors ligne
03-06-2008 15:54:16
- firnafin
- Membres

- Date d'inscription:
- Messages: 150
- IP: 88.141.125.52
- Courriel
Sakamakak Ecris:
une idée pour implémenter un algorithme qui pourrait épaissir le tracé d'une ligne ?
Bien tu peux faire comme un rectangle avec draw2dpolygone.
Hors ligne



