PMG

Форумы по созданию игр
Текущее время: 07 дек 2021 01:30

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: VBO
СообщениеДобавлено: 02 окт 2010 02:36 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
помогите мне разобраться с VBO
сколько не ищу никак не могу найти где будет нормально написано про VBO
везде слишком много воды
на этом сайте смотрел, там ничего не понял

мне нужен конкретный пример с русскими каментариями (что бы все стало понятно) и что бы программа не содержала ничего лишнего, тоесть все конкретно есть сцена есть фигура (простая) а то скачал пример, так там камеру делали, текстурирование и тд, и код на VBO так не нашел

оч прошу помочь, а то совсем не могу найти информации

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 04 окт 2010 12:49 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
А здесь плохо изложено?
http://pmg.org.ru/nehe/nehe45.htm

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 04 окт 2010 14:21 
Не в сети
Любитель

Зарегистрирован: 10 сен 2010 22:26
Сообщения: 18
Может чем поможет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 04 окт 2010 18:24 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
Насколько я понимаю VBO нужен для помещения в память видеокарты больших массивов данных. А как тогда быть, если есть много не очень больших массивов? Создавать массивы из VBO или тогда VBO вообще не нужно использовать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 04 окт 2010 22:36 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
ну что то почитал решил написать какой нить простой объект, писал так:

Код:
#define GL_GLEXT_PROTOTYPES

float vertices[] = {1,1,1,  -1,1,1,  -1,-1,1,  1,-1,1};
float normals[] = {0,0,1,  0,0,1,  0,0,1,  0,0,1};
float colors[] = {1,1,1,  1,1,0,  1,0,0,  1,0,1};

GLuint triangleVBO = 0;

void render()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();

    glGenBuffers(1, &triangleVBO);
    glBindBuffer(GL_ARRAY_BUFFER, triangleVBO);
    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices)+sizeof(normals)+sizeof(colors), 0, GL_STATIC_DRAW);
    glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices), vertices);
    glBufferSubData(GL_ARRAY_BUFFER, sizeof(vertices), sizeof(normals), normals);
    glBufferSubData(GL_ARRAY_BUFFER, sizeof(vertices)+sizeof(normals), sizeof(colors), colors);

    glBindBufferARB(GL_ARRAY_BUFFER, triangleVBO);

   glEnableClientState(GL_NORMAL_ARRAY);
   glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_VERTEX_ARRAY);

   glNormalPointer(GL_FLOAT, 0, (void*)sizeof(vertices));
    glColorPointer(3, GL_FLOAT, 0, (void*)(sizeof(vertices)+sizeof(normals)));
   glVertexPointer(3, GL_FLOAT, 0, 0);

   glDrawArrays(GL_QUADS, 0, 24);

    glDisableClientState(GL_VERTEX_ARRAY);
   glDisableClientState(GL_COLOR_ARRAY);
   glDisableClientState(GL_NORMAL_ARRAY);

SDL_GL_SwapBuffers();


ошибок нет но ничего не рисует
в чем проблема и как ее исправить??

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 05 окт 2010 13:29 
Не в сети
Любитель

Зарегистрирован: 10 сен 2010 22:26
Сообщения: 18
Мне кажется, что у вас обход вершин треугольника настроен отлично от реального расположения вершин. Хотя может быть и не в этом дело.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 05 окт 2010 16:43 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Попробуй вначале через Arrays.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 05 окт 2010 19:26 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
блин
я же ничего в VBO не знаю =(( вы лучше не идеи коворите а как сделать это
а то я ток начинаю изучать VBO

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 06 окт 2010 21:25 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
ну так что??

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 07 окт 2010 10:18 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Ты посмотрел 45 урок NeHe?

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 08 окт 2010 00:19 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
да все смотрел там полный бред!!
я уже сам решил (вчера)
окозалось дело в камере
теперь знаю как использовать VBO +))

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 08 окт 2010 13:00 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Бред? Это как. Вроде самое простое объяснено.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 08 окт 2010 22:24 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
не знаю не знаю
я почитал но ничего не полнял к сожалению
зато потом в инете по разным статьям наконец то сложилось то чего я хотел узнать
теперь борюсь с тем что бы переместить все в класс, и если надо нарисовать то указываю что нарисовать если надо сделать меш то указываю из чего

но пока что ничего не выходит =(

вот то что я делаю

Код:
CObject::CObject()
{
    unsigned int vboId = NULL;
}

////////////////////////////////////////////////////////////////////////////////////
CObject::~CObject()
{

}

////////////////////////////////////////////////////////////////////////////////////
void CObject::CreateMeshe(float *vertices, float *normals, float *colors)
{
    vboId = 0;
   glGenBuffers(1, &vboId);
    glBindBuffer(GL_ARRAY_BUFFER, vboId);

    glBufferData(GL_ARRAY_BUFFER, sizeof(vertices)+sizeof(normals)+sizeof(colors), 0, GL_STATIC_DRAW);
    glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(vertices), vertices);
    glBufferSubData(GL_ARRAY_BUFFER, sizeof(vertices), sizeof(normals), normals);
    glBufferSubData(GL_ARRAY_BUFFER, sizeof(vertices)+sizeof(normals), sizeof(colors), colors);
}

////////////////////////////////////////////////////////////////////////////////////
void CObject::DrawPrimitive(float *vertices, float *normals)
{
    glBindBufferARB(GL_ARRAY_BUFFER, vboId);

   glEnableClientState(GL_NORMAL_ARRAY);
   glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_VERTEX_ARRAY);

   glNormalPointer(GL_FLOAT, 0, (void*)sizeof(vertices));
    glColorPointer(3, GL_FLOAT, 0, (void*)(sizeof(vertices)+sizeof(normals)));
   glVertexPointer(3, GL_FLOAT, 0, 0);

   glDrawArrays(GL_QUADS, 0, 4);

    glDisableClientState(GL_VERTEX_ARRAY);
   glDisableClientState(GL_COLOR_ARRAY);
   glDisableClientState(GL_NORMAL_ARRAY);

   glBindBuffer(GL_ARRAY_BUFFER, 0);
}


но ничего не рисует =((
если что то я задаю вот такие вершины и передаю их финкциям

float vertices[] = {1,1,1, -1,1,1, -1,-1,1, 1,-1,1};
float normals[] = {0,0,1, 0,0,1, 0, 0,1, 0, 0,1};
float colors[] = {1,1,1, 1,1,0, 1, 0,0, 1, 0,1};

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 08 окт 2010 23:02 
Не в сети
Опытный

Зарегистрирован: 02 ноя 2008 02:36
Сообщения: 116
Откуда: Kiev
У тебя дрова-то на OGL стоят?!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: VBO
СообщениеДобавлено: 10 окт 2010 18:08 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 06 сен 2010 21:15
Сообщения: 21
Da Man писал(а):
У тебя дрова-то на OGL стоят?!

по моему это самый тупой вопрос
конешн стоят
как же я тогда пишу??
я же когда без класса тогда все нормально русется

_________________
(\_/)
(O.O) <= слушай его!
(>..<)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB