Russian Qt Forum
Ноябрь 24, 2024, 23:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подскажите по треугольникам...  (Прочитано 2604 раз)
Rip
Гость
« : Ноябрь 14, 2009, 12:53 »

Здравствуйте.
Есть код
Код:
glBegin(GL_TRIANGLES);
Vector2dVector result; //Массив с вершинами треугольников
int i=0;
int tcount = result.size()/3;
for( i=0; i<tcount; ++i)
{
const Vector2d &p1 = result[i*3+0];
const Vector2d &p2 = result[i*3+1];
const Vector2d &p3 = result[i*3+2];
glVertex3f(p1.GetX(),p1.GetY(),p1.GetZ());
glVertex3f(p2.GetX(),p2.GetY(),p2.GetZ());
glVertex3f(p3.GetX(),p3.GetY(),p3.GetZ());
}
Рисуется область закрашенная определенным цветом
Решил чуть изменить код
Код:
glEnableClientState(GL_VERTEX_ARRAY);
GLfloat *pVerts = new GLfloat[result.size()*3];
for( i=0; i < result.size(); ++i)
{
const Vector2d &p = result[i];
pVerts[i*3+0] = p.GetX();
pVerts[i*3+1] = p.GetY();
pVerts[i*3+2] = p.GetZ();
}
glVertexPointer(3, GL_FLOAT, 0, pVerts);
glDrawArrays(GL_TRIANGLES,0,3);
delete []pVerts;
glDisableClientState(GL_VERTEX_ARRAY);
Рисуется облать но цветом не закрашенная Грустный
В чем может быть дело?


 
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Ноябрь 14, 2009, 13:53 »

Рисуется облать но цветом не закрашенная Грустный
В чем может быть дело?
Неясно зачем выбирать более сложный путь для рисования Улыбающийся Так тоже можно но тогда

1) В начале добавить glDisableClientState(GL_COLOR_ARRAY); - иначе он может пытаться брать цвет тоже из массива

2)
Цитировать
glDrawArrays(GL_TRIANGLES,0,3);
Разве Вы рисуете всего 3 вертекса?

3) glDrawArrays удобно когда у Вас массив напр. из таких элементов
Код:
struct CVertex {
 float mPosition[3];
 float mNormal[3];
 float mColor[4];
};
Тогда выгодно - можно подать данные без промежуточных массивов (см. описание stride для glVertexPointer)
Записан
Rip
Гость
« Ответ #2 : Ноябрь 16, 2009, 10:54 »

Ну он вроде как более быстрый Улыбающийся
Цвет попробую убрать.
Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.