Как в Irrlicht рисовать графические примитивы ? Пршу помочь в следующем : как нарисовать квадрат , прямоугольник , линия точка...
В заранее спасибо .
а тебе их рисовать в 2д или 3д надо?
если в 2д то есть такой родной туториал
здешний перевод: http://www.gamedev.ru/community/irrlicht/articles/?id=5135
мой перевод: http://www.irrlicht.ru/index.php?vm=7.view.21.
или можно покопаться в исходниках моего тетриса http://www.irrlicht.ru/index.php?vm=15.view.26. (средний скрин как раз в режими рисования)
если в api то все методы с именами начинающиемися с draw http://www.irrlicht.ru/api/classirr_1_1video_1_1_i_video_driver.html
> Эльмиго
В 2d. Я фцункций нашел какие искал. Но работает только первая вызванная функция рисующая примитив! Тоесть если в программе я нарисую прямоугольник то больше несмогу нарисовать что либо. Знаешь в чем проблема?
если ты рисуешь между beginScene() и endScene() то весь этот код пость сюды.
Вот код:
while(device->run())
{
//получаем координаты мыши
receiver.GetMouseState(); // получаем состояние мышки
mouse.GetInfo(receiver.MouseState.Position); // кидаю состояние в собственный класс
driver->beginScene(true, true, video::SColor(50,50,50,50));
cam.SetPosition(); // устанавливаю позицию камеры
driver -> draw2DLine(position2d<s32>(10,100),position2d<s32>(100,10),SColor(0,0,0,0));
driver -> draw2DLine(position2d<s32>((size.x+pos.x)+1,pos.y-1),position2d<s32>((size.x+pos.x)+1,(pos.y+size.y)+1),SColor(0,0,0,0));
mouse.DrawCursor(driver,device); // рисую курсор
driver->endScene();
}
неплохо было бы проверить сразу после проблемной строчки
printf("%d %d\n", (size.x+pos.x)+1, pos.y-1);
printf("%d %d\n", (size.x+pos.x)+1, pos.y+1);
а то ведь линию в 2 пикселя можно просто не заметить, да еще черного цвета 0,0,0 на почти черном фоне 50,50,50 ;)
Не работает. поменял фон на белый и изменил код между begin и end
driver -> draw2DLine(position2d<s32>(10,10),position2d<s32>(300,300),SColor(0,0,0,0));
driver -> draw2DLine(position2d<s32>(11,111),position2d<s32>(301,301),SColor(0,0,0,0));
Линий не рисуются но при этом спокойно рисуется прямоугольник
Предложил бы идею о том что забыл что-то подключить или обьявить но загвоздка в том что рисуется только первый прямоугольник
чета тормознул, видать пора спать
потому что ты их рисуешь абсолютно прозрачными, задай цвет вот так SColor(255,0,0,0)
Эльмиго
Ты был прав. спасибо. И последний вопрос не в тему на счет SColor. какой диапозон значений она принимает?
каждый из четырех параметров SColor(Alpha, Red, Green, Blue) принимают параметры в диапазоне 0..255
я 1000 в альфа поставили и заработало . видимо он просто оркуглил 1000 до 255
*оркуглил округлил
Тема в архиве.