параметры для glOrtho для квадрата размера экрана в cocos2dx

Я создаю текстуру рендеринга 2048x2048 и визуализирую поверх нее спрайт размером 2048x2048, покрывающий всю текстуру рендеринга. Как рассчитываются параметры glOrtho(..)? glOrtho((float)-1.0f , (float)1.0f , (float)-1.0f , (float)1.0f, -1, 1) работает для спрайтов размером 1024x768, а также 512x512. Каково ограничение на максимальное разрешение цели рендеринга?


person Nick    schedule 02.09.2011    source источник
comment
Текстура размером более 1024x1024 приведет к краху устройств старше 3GS.   -  person    schedule 03.09.2011
comment
Что такое спрайт? Текстурированный квадроцикл?   -  person Christian Rau    schedule 13.10.2011


Ответы (1)


В случае со спрайтом вы имеете в виду четырехугольник или что-то в этом роде:

Вызов glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0) не будет работать ни со спрайтом 2048x2048, ни со спрайтом 1024x768, ни со спрайтом 512x512. Или лучше сработает, но я уверен, что это не даст ожидаемых результатов. Координаты спрайта и аргументы glOrtho находятся в одном и том же пространстве (которое не обязательно должно быть пикселями).

Либо используйте спрайт размером 2x2 с glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0), либо спрайт размером 1x1 с glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0), либо спрайт размером 2048x2048 с glOrtho(0.0, 2048.0, 0.0, 2048.0, -1.0, 1.0), или что угодно с координатами спрайта, соответствующими аргументам glOrtho, это не имеет большого значения.

person Christian Rau    schedule 13.10.2011