Witam,

Chciałem wymodelować w OpenGL-u wazon za pomocą powierzchni Beziera. Jednak, nie mogę dojść do ładu, dlaczego przy 9 punktach kontrolnych w kierunku v, wazon się nie wyświetla. Chcę, aby płaszczyzna była zamknięta; wymodelować go w taki sposób, aby zaczynał i kończył się w tym samym punkcie - i gdy korzystam z mniej niż 9 wspomnianych punktów, wszystko jest OK - tylko, że wówczas powierzchnia zamyka się "ostro". Krótko mówiąc, chcę uzyskać wazon, którego podstawa będzie w miarę okrągła przy 9 punktach kontrolnych. Mam nadzieję, że w miarę jasno napisałem, o co mi chodzi. ;) Na wszelki wypadek, w załączniku jest to, jaką podstawę wazonu chcę uzyskać.

Poniżej fragment kodu:

// 18 x 20
float wazon[9][5][3] =
{
	{
		{9.0, 0.0, 0.0},
		{0.0, 7.0, 0.0},
		{18.0, 12.0, 0.0},
		{0.0, 14.0, 0.0},
		{9.0, 20.0, 0.0}
	},
	{
		{9.0, 0.0, -9.0},
		{0.0, 7.0, 0.0},
		{18.0, 12.0, -18.0},
		{0.0, 14.0, 0.0},
		{9.0, 20.0, -9.0}
	},
	{
		{0.0, 0.0, -9.0},
		{0.0, 7.0, 0.0},
		{0.0, 12.0, -18.0},
		{0.0, 14.0, 0.0},
		{0.0, 20.0, -9.0}
	},
	{
		{-9.0, 0.0, -9.0},
		{0.0, 7.0, 0.0},
		{-18.0, 12.0, -18.0},
		{0.0, 14.0, 0.0},
		{-9.0, 20.0, -9.0}
	},
	{
		{-9.0, 0.0, 0.0},
		{0.0, 7.0, 0.0},
		{-18.0, 12.0, 0.0},
		{0.0, 14.0, 0.0},
		{-9.0, 20.0, 0.0}
	},
	{
		{-9.0, 0.0, 9.0},
		{0.0, 7.0, 0.0},
		{-18.0, 12.0, 18.0},
		{0.0, 14.0, 0.0},
		{-9.0, 20.0, 9.0}
	},
	{
		{0.0, 0.0, 9.0},
		{0.0, 7.0, 0.0},
		{0.0, 12.0, 18.0},
		{0.0, 14.0, 0.0},
		{0.0, 20.0, 9.0}
	},
	{
		{9.0, 0.0, 9.0},
		{0.0, 7.0, 0.0},
		{18.0, 12.0, 18.0},
		{0.0, 14.0, 0.0},
		{9.0, 20.0, 9.0}
		
	},
	{
		{9.0, 0.0, 0.0},
		{0.0, 7.0, 0.0},
		{18.0, 12.0, 0.0},
		{0.0, 14.0, 0.0},
		{9.0, 20.0, 0.0}
	}
};

// rysowanie

glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 5, 0, 1, 15, 9, &wazon[0][0][0]);
glEnable(GL_MAP2_VERTEX_3);
glMapGrid2f(20, 0, 1, 20, 0, 1);

glEvalMesh2(GL_LINE, 0, 20, 0, 20);

Pozdrawiam :)