Как нарисовать текстурированный тор в OpenGL без использования GLUT?

Мне нужно визуализировать тор в OpenGL, без использования GLUT. Я использую привязки C # и Tao Framework. У меня есть следующий код, который я получил отВот.

 private void DrawTorus() {
        int numc = 100, numt = 100;

        double TWOPI = 2 * Math.PI;
        for (int i = 0; i < numc; i++) {
            Gl.glBegin(Gl.GL_QUAD_STRIP);
            for (int j = 0; j <= numt; j++) {
                for (int k = 1; k >= 0; k--) {

                    double s = (i + k) % numc + 0.5;
                    double t = j % numt;

                    double x = (1 + 0.1 * Math.Cos(s * TWOPI / numc)) * Math.Cos(t * TWOPI / numt);
                    double y = (1 + 0.1 * Math.Cos(s * TWOPI / numc)) * Math.Sin(t * TWOPI / numt);
                    double z = 0.1 * Math.Sin(s * TWOPI / numc);

                    Gl.glVertex3d(2 * x, 2 * y, 2 * z);
                }
            }
            Gl.glEnd();
        }
    }

Этот код рисует тор, но теперь мне нужно нанести на него текстуру. Я пытаюсь использоватьэти формулы для текстурных координат, но я не могу понять, что использовать для R и r (внутренний и внешний радиус соответственно).

v = arccos (Y/R)/2pi
u = [arccos ((X/(R + r*cos(2pi * v))] * 2pi

Имея некоторые проблемы с пониманием этого кода, я был бы признателен за объяснение этого или, возможно, альтернативный, более интуитивный код с комментариями. Любая помощь будет высоко ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос