У меня есть простая 3D L-система, сделанная из цилиндров, и в настоящее время я просто прохожу каждый символ в последней строке и выполняю соответствующие действия, такие как рисование, поворот, вращение, толчок и выдвижение. Я знаю, что push и pop очень похожи на новую ветку, но я пытался изменить радиус при каждом вызове push, но это приводит к странным результатам.
Есть ли у кого-нибудь правильный способ сделать более новые ветви тоньше, чем предыдущие ветви?
Спасибо.
else if((*it) == Push)
{
Radius -= 0.1f;
PushMatrix();
}
else if((*it) == Pop)
{
Radius += 0.1f;
PopMatrix();
}