Как отслеживать OpenGL, указывают через вызовы функции?

Действительно ли все Ваши ключи являются словарем NSString с? Я думаю, что они должны быть в порядке для сохранения словаря к списку свойств.

8
задан Ricket 6 August 2009 в 20:55
поделиться

3 ответа

Отличный вопрос. Подумайте, как работают текстуры. OpenGL может переключаться между безумным количеством текстур, и вам необходимо включить / отключить текстурирование после каждого объекта отрисовки. Обычно вы пытаетесь оптимизировать это, рисуя все объекты с одной и той же текстурой одновременно, но все еще происходит значительное количество переключений состояний. Из-за этого я изо всех сил стараюсь рисовать все с одним и тем же состоянием одновременно, но я не уверен, очень ли важно оптимизировать это так, как вы думаете.

Что касается нажатия и переключения между 3D и Режимы 2D-проекции, толкания и выталкивания предназначены для использования в иерархическом моделировании. Если вам нужно, чтобы ваша 2D-проекция находилась в месте относительно 3D-объекта, непременно нажмите на матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

По-прежнему происходит значительное количество переключений состояний. Из-за этого я изо всех сил стараюсь рисовать все с одним и тем же состоянием одновременно, но я не уверен, очень ли важно оптимизировать это так, как вы думаете.

Что касается нажатия и переключения между 3D и Режимы 2D-проекции, толкания и выталкивания предназначены для использования в иерархическом моделировании. Если вам нужно, чтобы ваша 2D-проекция находилась в месте относительно 3D-объекта, непременно нажмите на матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

По-прежнему происходит значительное количество переключений состояний. Из-за этого я изо всех сил стараюсь рисовать все с одним и тем же состоянием одновременно, но я не уверен, очень ли важно оптимизировать это так, как вы думаете.

Что касается нажатия и переключения между 3D и Режимы 2D-проекции, толкания и выталкивания предназначены для использования в иерархическом моделировании. Если вам нужно, чтобы ваша 2D-проекция находилась в месте относительно 3D-объекта, непременно нажмите на матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

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

Что касается переключения между режимами трехмерной и двухмерной проекции, нажатие и нажатие предназначено для использования в иерархическом моделировании. Если вам нужно, чтобы ваша 2D-проекция находилась в месте относительно 3D-объекта, непременно нажмите на матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

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

Что касается переключения между режимами трехмерной и двухмерной проекции, нажатие и нажатие предназначено для использования в иерархическом моделировании. Если вам нужно, чтобы ваша 2D-проекция находилась в месте относительно 3D-объекта, непременно нажмите на матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

нажмите матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

нажмите матрицу и переключитесь в режим 2D-проекции, а затем нажмите, когда закончите. Однако, если вы пишете наложение двухмерного графического интерфейса пользователя, которое имеет постоянное местоположение на экране, я не вижу причин, по которым нажатие и выталкивание так важно.

2
ответ дан 5 December 2019 в 22:19
поделиться

Возможно, вам будет интересно узнать больше о библиотеки графов сцены. Они предназначены для управления вашей графикой с более высокого уровня. Они не справляются со всем хорошо, но они превосходно организуют вашу геометрию для оптимизации рендеринга. Кроме того, их можно использовать для сортировки сцен на основе состояния OpenGL, хотя многие этого не делают. Путем сортировки по состоянию вы можете визуализировать свою геометрию в таком порядке, который приведет к меньшему количеству переходов между состояниями. Вот хороший обзор библиотек графов сцены:

http://www.realityprime.com/articles/scenegraphs-past-present-and-future

2
ответ дан 5 December 2019 в 22:19
поделиться

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

2
ответ дан 5 December 2019 в 22:19
поделиться