ПрограммированиеФорумГрафика

OpenGL: Основы. (комментарии) (6 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#75
15:07, 20 дек 2012

Алмаз
> на каждой платформе используй свой родной API. И будет тебе счастье.
Да уж, писать одно и то же много раз - это всегда весело :)

#76
16:52, 20 дек 2012

SNVampyre
Кто мешает написать свой собственный глут с джанкет-туром и членодевками?

#77
17:18, 20 дек 2012

Алмаз
А зачем ещё раз писать что уже есть?

#78
19:17, 20 дек 2012

SNVampyre
А почему бы и не написать?

#79
21:38, 20 дек 2012

Cyber_Wanderer
>Нужны соответственно процедуры для построения матриц масштабирования, поворота и переноса, есть ли они где-то на просторах OpenGL, сторонние библиотеки не предлагать
когда писал свои матрицы и вектора этим пользовался.
http://www.gamedev.ru/code/articles/faq_matrix_quat

#80
17:41, 26 дек 2012

PixPainter,

когда писал свои матрицы и вектора этим пользовался.
http://www.gamedev.ru/code/articles/faq_matrix_quat

Спасибо, обязательно посмотрю, сравню по скорости со своими. К сожалению я не нашел в интернете нормальной информации о том как построить матрицы масштабирования, поворота, переноса, вида и проекции. Именно в такой последовательности они умножаются на вершину если не транспонированны, не повернуты и порядок умножения сохранен как строка на столбец. Как строятся первые догадаться не сложно, зато как построить матрицу проекции, я даже сейчас не верю своему счастью, что получилось, дней пять наверно убил. В интернете информации много, но очень путанной, то представление матриц обратное (транспонированное), при этом операция умножения тоже обратная, получается, что матрицы обычные просто повернутые и вовсе не транспонированные. То система координат не указана лево или право и думай тогда для каких систем координат это все написано, а учитывая еще любовь авторов к повернутости и траспонированию, вообще получается, что ничего не ясно, вообщем, чтобы понять пришлось брать самому листик, ручку и писать, много писать, пока не получилась матрица modelViewProjection.

Теперь вопрос! Припустим, что обработку шейдеров я настроил, передаю туда массу параметров и построенную матрицу, но только нюанс в том, что рисует шейдер ровно в том порядке в котором я задаю ему вершины, значит мне нужно отсортировать видимые! вершины по приближению к камере, то-есть дальние рисовать первыми, ближние последними, вопрос заключается в том, может ли за меня это сделать OpenGL, может ли он автоматически вызывать вершинный шейдер только для видимых вершин в отсортированном порядке? Или если я использую шейдер, то о вкусностях фиксированного конвеера можно забыть окончательно и писать самому отбраковку и сортировку вершин по фрустуму?

Executor,

Возьми glm к примеру.

Спасибо за дельный совет по glm, я не сразу сообразил, что он там есть. Правда, лень было разбираться в нем из-за этого написал свои матрицы. Хотя, glm все же скачал, поверхностно посмотрел, и оказывается там даже есть поддержка sse, так что, пускай пока полежит. :)

.Scotina,

Есть. Это всякие glRotate...(), glTranslate...(), glScale...(). Посмотри уроки на:nehe.gamedev.net

Была идея использовать устаревшие процедуры, но подумал, что как-то не красиво.

#81
17:44, 26 дек 2012

Cyber_Wanderer
> Или если я использую шейдер, то о вкусностях фиксированного конвеера можно
> забыть окончательно и писать самому отбраковку и сортировку вершин по фрустуму?

Однако, как мощно Вы замахнулись... Может стоит изучить матчасть  ?

#82
19:26, 26 дек 2012

innuendo

Однако, как мощно Вы замахнулись... Может стоит изучить матчасть  ?

Конечно стоит и когда-то я обязательно возьму докумментацию по OpenGL 2.0 и буду водя пальцем всматриваться в каждую строчку, но делать я это буду во время отпуска не спеша - сейчас не хочется :)
Конечно, если никто не ответит, придется посмотреть на порядок работы Programming Function Pipeline для OpenGL 2.0

Но пока попробую более точно сформулировать вопрос может кто знает, и мне не придется вместо одного эксперемента ставить два:

То что, процедуры OpenGL 1.1 ничего отсекать не будут пока я им не задам modelViewProjection matrix "пускай даже по кусочкам", это и так понятно, не понятно, будут ли эти процедуры изменять порядок вызова вершинного шейдера и исключать его вызовы для отбракованных вершин, когда я им все-таки задам эту матрицу? Учитывая, что изначально процедуры (расширения) OpenGL 1.1 писались для фиксированного конвеера, у меня возникают сомнения что такой ход будет работать. Хотя с другой стороны, рисование через шейдер производят как раз те же процедуры из OpenGL 1.1, расширения из OpenGL 2.0, просто позволяют создать шейдерную программу и загрузить ее в GPU. Ну а расширения OpenGL 1.3 позволяют производить мультитекстурирование, в моем случае просто подгружать много текстур в мультитекстурники.

Коротко вопрос звучит так: Есть ли автоматическое отсечение невидимых вершин и их сортировка от дальних к ближним для вызовов вершинного шейдера в OpenGL?

#83
9:08, 27 дек 2012

Cyber_Wanderer
> Коротко вопрос звучит так: Есть ли автоматическое отсечение невидимых вершин и
> их сортировка от дальних к ближним для вызовов вершинного шейдера в OpenGL?

Коротко ответ звучит так: Учите матчасть, да получите просветвление :)

p.s. http://www.opengl.org/registry/specs/ARB/vertex_program.txt - сильно не повредит

#84
9:17, 27 дек 2012

Cyber_Wanderer
> Коротко вопрос звучит так: Есть ли автоматическое отсечение невидимых вершин и
> их сортировка от дальних к ближним для вызовов вершинного шейдера в OpenGL?

Нет.

#85
14:17, 27 дек 2012

innuendo

p.s. http://www.opengl.org/registry/specs/ARB/vertex_program.txt - сильно не повредит

Я не использую ARB расширений напрямую. Я использую набор процедур по привязке к конкретной версии OpenGL, они конечно могут строиться на ARB расширениях, но предоставляют другие интерфейсы. Вы случайно нигде не преподаете, а то таких развернутых ответов я не встречал аж с университетских времен. Не обижайтесь, но послать кого-нибудь почитать доки любой может, но разве так сложно понять, что чтение доков занимает намного больше времени нежели быстрый ответ.

Executor

Нет.

Так я и думал. :) Ладно, тогда все же придется учить гл-часть.

#86
14:21, 27 дек 2012

Cyber_Wanderer
> Вы случайно нигде не преподаете, а то таких развернутых ответов я не встречал
> аж с университетских времен.

Да,  я преподаю умение выкручиваться из любых ситуаций :)

> Так я и думал. :) Ладно, тогда все же придется учить гл-часть.

Ученье - свет

#87
5:56, 28 дек 2012

Cyber_Wanderer
Умение самому находить нужную информацию - очень полезный навык.

#88
18:48, 2 янв 2013

Алмаз

Cyber_Wanderer
Умение самому находить нужную информацию - очень полезный навык.

Cyber_Wanderer

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

В этом и суть форумов - ИМХО.

#89
19:15, 2 янв 2013

Cyber_Wanderer
> В этом и суть форумов - ИМХО.
Но только не этого форума. :)

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.