forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Layer in XNA (слои) (http://forum.boolean.name/showthread.php?t=11566)

Dream 26.12.2009 01:40

Layer in XNA (слои)
 
Такой вот вопрос, мож кто разбирался. можно ли изменить диапазон слоев при отрисовке текстур например от 0 до 10. по дефолту стоит 0-1.
если много текстур, чтобы не происходило сбоев в наложении приходится ставить минимальный шаг 0.02f. что очень не удобно и иногда текстур бывает слишком много чтобы можно было их уместить в таком маленьком диапазоне

pax 27.12.2009 00:01

Ответ: Layer in XNA (слои)
 
Немного не понятен вопрос... что за слои в 3D графике? Если нужно нарисовать много тектсур и не мучится с Z-Fighting'ом то тебе надо просто отсортировать текстуры(а точнее спрайты) перед выводом и рисовать их с выключенным бэкбуфером.

Dream 27.12.2009 00:58

Ответ: Layer in XNA (слои)
 
отрисовка 2д текстур. SpriteBatch.Draw (Texture2D, Vector2, Nullable<Rectangle>, Color, Single, Vector2, Vector2, SpriteEffects, Single)
последгний пареметр - номер слоя, от 0 до 1. вот можно ли изменить этот диапазон.

johnk 27.12.2009 03:16

Ответ: Layer in XNA (слои)
 
Цитата:

вот можно ли изменить этот диапазон.
Неа. Но зато можно эмулировать слои с помощью матрицы трансформации, которая передается в spriteBatch.Begin(...);

Dream 27.12.2009 03:28

Ответ: Layer in XNA (слои)
 
хм... это идея.. спасибо:) буду думать как организовать:)

Dream 27.12.2009 04:20

Ответ: Layer in XNA (слои)
 
не, некатит такой вариант. это мне получается нужно будет заканчивать рендер спрайт бренчем для смены матрицы. в таком случае сам смысл использования матриц теряется
Или я не понял чегото?:)
Я кажется понял)) не сразу до меня доходит. но всётаки для подтверждения моих догадок можно услышать обьяснения работы с этой матрицей.:)

johnk 27.12.2009 06:31

Ответ: Layer in XNA (слои)
 
Ты сможешь сэмулировать слои. Когда упрешься в лимит 0...1, ты применяешь матрицу, которая сдвинет "центр" отрисовки, и ты снова будешь использовать диапазон 0...1.
Хотя лучше все-таки вместится в него, без геморроя лишнего :Р

pax 27.12.2009 12:33

Ответ: Layer in XNA (слои)
 
Сортировкой никто не пользуется? Ведь это еще и оптимизирует вывод графики за счет отключения DepthTest'а. Или Вы всегда полагаетесь на стандартные классы вывода типа SpriteBatch? Почему бы не разработать собственную замену SpriteBatch, для которой эти ограничения, с которыми Вы столкнулись, легко решались бы очередью на вывод.


Часовой пояс GMT +4, время: 23:00.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot