Вызываю функцию которая рисует круги и почему то дорисовывает одну точку из центра и не как избавиться от этого "явления" не могу.
My_circular_donut(0.0, 0.3, 0.5);
bool My_circular_donut(double x, double y, double R)
Попытался "выловить" эту точку которая находиться в центре но не удалось ((( qDebug() ни каких описанных явлений не выявил.
вот код :
bool My_circular_donut(double x, double y, double R)
{
// точки (расположения)
GLfloat vertires_chikl[361]; int d =0;
//-----
// GLfloat p_cos = 0.0; GLfloat p_sin = 0.0;
GLfloat t = 0; // Angle parameter.
for(int i = 0 ; i < 122; i++)
{
for(int a = 0 ; a <= 3; a++)
{
if(a == 1)
{
vertires_chikl[d] = GLfloat(x+(R*cos(t)));
qDebug() << "vertires_chikl[" << d<< "] : " << vertires_chikl[d]; // вот попытка "поймать" точку
// p_cos = p_cos+0.1;
d++;
}
if(a == 2)
{
vertires_chikl[d] = GLfloat(y+(R*sin(t)));
qDebug() << "vertires_chikl[" << d<< "] : " << vertires_chikl[d]; // вот попытка "поймать" точку
// p_sin = p_sin+0.1;
d++;
}
if(a == 3)
{
vertires_chikl[d] = float(0.0);
d++;
}
}
// t = t+0.256f; // "круганул" точку сдвигаю
// t = t+0.0261f;
t = t+0.0528f;
}
// позиция
GLuint indices_chikl[361];
for (int i =0; i <= 360; i++)
indices_chikl[i] = i;
// цвет
GLfloat cwet_chikl[361];
Rainbow_color1(true, cwet_chikl, 360); // функция "окраски" точек
// единая переменная для обхода позиций
GLuint iboHandle;
// создаём единую переменную для хранения дескриптора
GLuint vaoHandle;
// Создаём и заполняем буферные обьекты
GLuint vboHandles[2];
glGenBuffers(2, vboHandles);
GLuint positionBufferHandle = vboHandles[0];
GLuint colorBufferHandle = vboHandles[1];
// ----
// заполнить буфер координат
glBindBuffer(GL_ARRAY_BUFFER, positionBufferHandle);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertires_chikl), vertires_chikl, GL_STATIC_DRAW);
// заполнить буфер цветов
glBindBuffer(GL_ARRAY_BUFFER, colorBufferHandle);
glBufferData(GL_ARRAY_BUFFER, sizeof(cwet_chikl), cwet_chikl, GL_STATIC_DRAW);
// ----
// Создать обьект массива вершин
glGenVertexArrays(1, &vaoHandle);
glBindVertexArray(vaoHandle);
// Активировать массивы вершинных атрибутов
glEnableVertexAttribArray(0); // Координаты вершины
glEnableVertexAttribArray(1); // Цвет вершины
// Закрепить индекс 0 за буфером с координатами
glBindBuffer(GL_ARRAY_BUFFER, positionBufferHandle);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL);
// Закрепить индекс 1 за буфером с цветом
glBindBuffer(GL_ARRAY_BUFFER, colorBufferHandle);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, NULL);
// ----
// Создём и закрепляем обходной(позиционный) буфер
glGenBuffers(1, &iboHandle);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, iboHandle);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices_chikl), indices_chikl, GL_STATIC_DRAW);
// ----
ShaderProgram shaderprogram;
shaderprogram.loadShaders("basic.vert", "basic.frag");
shaderprogram.use();
glDrawElements(GL_LINE_STRIP, 121, GL_UNSIGNED_INT, 0);
}
Вот вызов My_circular_donut(0.0, 0.3, 0.5);
Вот несколько вызовов функции
// рисую круги
My_circular_donut(0.0, 0.3, 0.5);
My_circular_donut(0.0, 0.5, 0.3);
My_circular_donut(-0.3, -0.5, 0.3);
My_circular_donut(-0.3, -0.3, 0.5);
My_circular_donut(0.3, -0.5, 0.3);
My_circular_donut(0.3, -0.3, 0.5);
Буфер может вместить 361 float, а записывается в него 121 * 3 = 363 float. Не стоит использовать в коде волшебные числа, а при выполнении индексирования необходимо выполнять проверку на вхождение индекса в допустимый диапазон.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужно получить клик только по контейнеруЕсли я произвожу клик по элементам внутри контейнера, то они тоже засчитываются
Подскажите пожалуйста как реализовать подобную структуру на django+jquery? modelspy
И как эта штука называется когда свайпается вправо каждые n секунд и можно нажимать на срелочки
Допустим у меня есть библиотека для работы с матрицами