Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
mrolen
1

Отрисовка во весь экран

06.09.2013, 22:16. Показов 1346. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Я лишь начинаю осваивать openGL и столкнулся с некоторыми проблемами. Надо вывести прямоугольник во весь вьюпорт (чтобы углы прямоугольника совпадали с углами вьюпорта).

Задал вершины, цвет и индексы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static GLfloat vertices2[][3] = {
    { -1, -1, 0 },
    {  -1, 1, 0 },
    {  1, 1, 0 },
    {  1, -1, 0 }
};
 
static GLint colors2[][4] = {
    { 0x00000, 0x00000, 0x00000, 0x10000 },
    { 0x10000, 0x00000, 0x00000, 0x10000 },
    { 0x10000, 0x10000, 0x00000, 0x10000 },
    { 0x00000, 0x10000, 0x00000, 0x10000 }
};
 
GLubyte indices2[] = {
    0, 1, 2,    2, 3, 0,
};
Рисование. _width и _height ширина экрана в пикселях.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void Renderer::draw()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
    glViewport(0, 0, _width, _height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
 
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glRotatef(_angle, 0, 1, 0);
 
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_COLOR_ARRAY);
 
    glFrontFace(GL_CW);
    glVertexPointer(3, GL_FIXED, 0, vertices2);
    glColorPointer(4, GL_FIXED, 0, colors2);
    glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices2);
 
    eglSwapBuffers( _display, _surface );
}
Прямоугольник выводится, но слишком близко. Буду признателен за совет.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2013, 22:16
Ответы с готовыми решениями:

При включение компа экран моргает а дальше весь экран белый
Здравствуйте.Помогите пожалуйста.При включение компа экран моргает а дальше весь экран белый...

Во весь экран
Как сделать так, чтобы программа открывалась во весь экран?

Во весь экран.
Как сделать так чтобы когда я убирал у формы стиль (кнопки закрыть, развернуть ...) при создании...

на весь экран
как сделать програмно на с++ ,что бы программа выполнялась на весь экран?пишу на dev c++ консольное...

1
8 / 8 / 0
Регистрация: 26.11.2008
Сообщений: 44
29.09.2013, 20:10 2
Вообще-то при инициализации OpenGL ты дложен конкретно указать с какой системой координат работаешь
В поисковике по запросу opengl системы координат мне выодной из первых было выдано следующая ссылка:
В OpenGL используются как основные три системы координат: левосторонняя, правосторонняя и оконная. Первые две системы являются трехмерными
А так вообще-то есть много сайтов, втом чесле и русскоязычных посвященных программированию под OpenGL:
1. http://www.opengl.org.ru/ - переводные статьи по OpenGL, правда не все переведены (где-то в интернете натыкался наболее полную версию Народный учебник по OpenGL)
2. http://nehe.gamedev.net/ - первоисточник для пердыдущего сайта. Сайт хорош еще и тем, что на нем бесплатно выложены работоспособные уроки под разные компиляторы
3. http://www.gamedev.ru/ - тоже довольно хороший сайт посвященный прграммированию трехмерной графики масса статей и исходников
А так в Интернете книг по OpenGL много в том числе и на русском
0
29.09.2013, 20:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2013, 20:10
Помогаю со студенческими работами здесь

На весь экран
Как сделать, чтобы при запуске программы она развертывалась на весь экран?

на весь экран
Всем привет! Есть вопрос как сделать чтобы когда форму при запуске делаешь на весь экран ,так же на...

На весь экран
Всем здравствуйте, народ кому не трудно объясните пожалуйста код, а то я погуглил примерно понял в...

Просмотр на весь экран
Проблема такова. Если в опере вывести показ на весь экран, дизайн сайта коверкается: исчезает цвет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru