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

Вывод геометрии на экран

22.08.2016, 18:34. Показов 1663. Ответов 45
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
У меня есть несколько вопросов, в которых хотелось бы разобраться.

В openGL ES координаты окна изменяются от -1 до 1 независимо от размеров окна. Например, если у меня окно 1280х720, то чтобы нарисовать квадрат, мне нужно подогнать координаты под размеры окна, так как квадрат в локальной системе координат не становится квадратом в созданном окне, если длина и ширина не совпадают. Это можно сделать (а я подозреваю, что это именно так и делается) разделив каждую координату на соответствующее значение: для окна 1280х720 нужно gl_Position.x разделить на 1280, а gl_Position.y на 720 и тогда получится квадрат.

И возникает такой вопрос: в какой момент в программе это принято делать? Это делается перед тем, как передать координаты точки в вершинный шейдер, или передаются данные в вершинный шейдер и уже в нем делается деление? Или это делается с помощью матрицы scale?

И более общий вопрос - как вообще принято организовывать вычисление преобразований/поворотов/перемещений в программировании графики?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2016, 18:34
Ответы с готовыми решениями:

Не могу понять как делать вывод на экран структуры STUDENT на заполнение и вывод данных на экран
Добрый вечер. Вот задание и мой код программы на C++ Не выходит нормально реализовать 3е...

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

Сгенерировать и вывести на экран массив с 10 случайных чисел в диапазоне от -100 до 100. Цикличный сдвиг массива влево на 1 и вывод на экран
Помогите написать программку в Паскале, что сгенерирует и выведет на экран массив с 10 случайных...

Создание сценария,обеспечивающего вывод на экран содержимого окна "Экран"
Прошу помощи в создании сценария так как попросту не знаю VBScript. =( Может кто имел дело с таким...

45
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
25.08.2016, 18:31 41
Author24 — интернет-сервис помощи студентам
Чёткость ещё теряется при повороте: https://8observer8.github.io/Woman.html
Правда, тут ещё уменьшение картинки. Это я больше с матрицей поворота поупражнялся.
Передал ModelMatrix в вершинный шейдер.

С glBlendFunc я ещё не разобрался. Может вам эта картинка пригодится:
Миниатюры
Вывод геометрии на экран  
2
1 / 1 / 0
Регистрация: 19.09.2013
Сообщений: 26
26.08.2016, 12:09  [ТС] 42
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Может вам эта картинка пригодится:
Попробовал все варианты, но что-то у меня результат не сходится с этой картинкой.
0
3420 / 1607 / 236
Регистрация: 26.02.2009
Сообщений: 7,858
Записей в блоге: 5
26.08.2016, 16:37 43
Цитата Сообщение от konshyn Посмотреть сообщение
у меня результат не сходится с этой картинкой
У вас текстура как загружается?
C++
1
2
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); // если без шейдера
glTexImage2D( GL_TEXTURE_2D, 0, [B]4[/B],... );
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
26.08.2016, 17:28 44
Цитата Сообщение от snake32 Посмотреть сообщение
// если без шейдера
У него с шейдером, вот сообщение: Вывод геометрии на экран
0
1 / 1 / 0
Регистрация: 19.09.2013
Сообщений: 26
26.08.2016, 17:33  [ТС] 45
Цитата Сообщение от snake32 Посмотреть сообщение
У вас текстура как загружается?
Цитата Сообщение от 8Observer8 Посмотреть сообщение
У него с шейдером, вот сообщение: Вывод геометрии на экран
Да, у меня с шейдером.

C++
1
2
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, static_cast<GLsizei>(image.width), static_cast<GLsizei>(image.height), 0,
                     GL_RGBA, GL_UNSIGNED_BYTE, image.data.data());
я использую google'овскую библиотеку angle. Сейчас подозреваю, что может быть проблема именно в том, что как-то неправильно загружает tga_utils из sample_utils библиотеки от гугл. К вечеру перепишу на загрузку png и скажу результат.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
26.08.2016, 20:23 46
У меня на WebGL формат TGA не катит. Может потому что я чего-то ещё не знаю, но это не проблема, я открываю рисунок в редакторе GIMP и экспортирую в PNG.

C++
1
2
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, static_cast<GLsizei>(image.width), static_cast<GLsizei>(image.height), 0,
                     GL_RGBA, GL_UNSIGNED_BYTE, image.data.data());
У меня такой код:
Javascript
1
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image);
0
26.08.2016, 20:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2016, 20:23
Помогаю со студенческими работами здесь

Вывод на экран чётных слов строки исправить на вывод нечётных слов
#include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;stdio.h&gt; int i,l,j,k,p,n;...

Составить программу, предусматривающую контрольный вывод исходных данных в окно на левой части экрана и вывод результатов в окно на правой части экран
Составить программу, предусматривающую контрольный вывод исходных данных в окно на левой части...

КР по геометрии
Добрый вечер, есть задания по геометрии, если можете решить, за мной грант) ссылка удалена]...

Контрольная по Геометрии
Помогите пожалуйста с контрольной работой...


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

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