Gremlin92
@Gremlin92
Целеустремленный

Наложить на 6ю часть окружности текстуру?

Есть вот такой код, текстура накладывается на 6ю часть окружности(то есть угол в 60 градусов) - но не работает - не пойму в чем проблема
glBegin(GL_POLYGON);

		//glTexCoord2f(1.0f, 0.0f);
		//glVertex3f(xleft, yup, 0.0f);
		int n = 10;
		for (int i = 0; i < n; i++)
		{
			glTexCoord2f(1.0f, i / 10.0f);
			glVertex3f(xleft, 0.6f * sin(90.0 - 60.0 / n * i), 0.6f * cos(90.0 - 60.0 / n * i));
		}
		//glTexCoord2f(1.0f, 1.0f);
		//glVertex3f(xleft, ydown, .6f);

		//glTexCoord2f(0.0f, 1.0f);
		//glVertex3f(xright, ydown, .6f);

		for (int i = 0; i < n; i++)
		{
			glTexCoord2f(0.0f, 1.0f - i / 10.0f);
			glVertex3f(xright, 0.6f * sin(30.0 + 60.0 / n * i), 0.6f * cos(30.0 + 60.0 / n * i));
			if (b)
				std::cout << 0.6f * sin(30.0 + 60.0 / n * i) << " " << 0.6f * cos(30.0 + 60.0 / n * i) << std::endl;
		}
		b = false;
		//glTexCoord2f(0.0f, 0.0f);
		//glVertex3f(xright, yup, 0.0f);

		glEnd();

Если закомментить циклы и раскомментировать то что закомментировано то должно получится вот такое(только в 3д) но тут код для одной грани выделена цветом
636ebe53b22fe666533540.png
С целью сглаживания углов в окружность заданны координаты параметрическим уравнением
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы