|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2010, 08:40 | #1 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 42
|
объекты
помогите сделать объекты
хочу делать их так: задаем массив в котором каждое число это координата ну например так: int a[] = {x1, y1, x2, y2, x3, y3}; и так далее, их можно ставить сколько угодно, потом этот массив надо передать функции и она нарисует фигуру вот только как такое сделать?? использую C++ OpenGL заранее блогодарен |
29.09.2010, 08:56 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,770
|
glBegin + GL_POLYGON или GL_LINE_LOOP
|
29.09.2010, 09:10 | #3 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 42
|
не в этом проблема мне надо как то указать этому бегину где координата x а где y, и также там можно указывать сколько угодно точек
вот в чем проблема ну вот пример: Код:
Код:
Последний раз редактировалось Stilet; 29.09.2010 в 09:57. |
29.09.2010, 17:32 | #4 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
29.09.2010, 19:35 | #5 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 42
|
чет никак не могу понять как это использовать
мне нужно узнать кличество точек и также передать каждую точку в функцию вот делаю модель int model[] = {-1, -1, -1, 1, 1, 1, 1, -1}; получился квадрат дальше передаю ее в функцию отрисовки DrawPrimitive(model); (эта функция находится совсем другом файл) теперь надо как то узнать сколько точек там и отрисовать все это дело ну точки я думаю можно самому указать (хотя желательно что бы автоматически) потом надо все отрисовать точек у нас 4 значит надо сделать 4 функции делаем так glBegin(GL_POLYGON); //и вот тут надо сделать вызов glVertex2f(x, y); //но как это сделать?? тоесть это ясно но это надо сделать столько раз сколько //точек в моделе и в каждую занести по такому принципу: //если модель условно такая int model[] = {x1, y1, x2, y2, x3, y3, x4, y4}; //тогда надо сделать в каждой glVertex свои координаты тоесть glVertex2f(x1, y1); glVertex2f(x2, y2); glVertex2f(x3, y3); glVertex2f(x4, y4); glEnd(); как ТАКОЕ сделать?? |
29.09.2010, 19:50 | #6 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
С ОпенГЛ не знаком, но, полагаю, никто вас не накажет за примерно такой код:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
29.09.2010, 19:53 | #7 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 42
|
ну так это работать не будет так как я хочу
у меня же уже есть сами координаты мне их из массива надо достать и позасовывать какую куда |
29.09.2010, 21:48 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,770
|
glBindBuffer, glDrawArrays, glDrawElements и иже с ними
|
29.09.2010, 22:48 | #9 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 42
|
CObject* object = new CObject();
можно как нить оптимизировать код?? я просто делаю оюъекты и если их делать много то эта надпись как то не очень. или же не в классах делать? решил проблему вот так: void CObject::DrawPrimitive(int* model, int count) { glVertexPointer(2, GL_INT, 0, model); glDrawArrays(GL_POLYGON, 0, count); } на гемдеве подсказали (а точнее написали) мне просто надо сделать перемещение вращение и тд так что надо написать по другому glBindBuffer, glDrawArrays, glDrawElements это VBO же да? можете дать доку по VBO а то я гуглю но ничего не могу найти нормального (ну или плохо ищу) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объекты | volchik1991 | Общие вопросы C/C++ | 3 | 16.06.2010 22:19 |
Объекты | Asira | Помощь студентам | 7 | 15.06.2010 02:46 |
Объекты в С++ | MasterGH | Общие вопросы C/C++ | 3 | 13.11.2009 22:14 |
объекты в си | Барби | Помощь студентам | 1 | 13.05.2008 01:10 |
3D объекты в Си | g0liath | Помощь студентам | 2 | 20.04.2008 21:39 |