Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 26.12.2009, 01:40   #1
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Плохо Layer in XNA (слои)

Такой вот вопрос, мож кто разбирался. можно ли изменить диапазон слоев при отрисовке текстур например от 0 до 10. по дефолту стоит 0-1.
если много текстур, чтобы не происходило сбоев в наложении приходится ставить минимальный шаг 0.02f. что очень не удобно и иногда текстур бывает слишком много чтобы можно было их уместить в таком маленьком диапазоне
(Offline)
 
Ответить с цитированием
Старый 27.12.2009, 00:01   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Layer in XNA (слои)

Немного не понятен вопрос... что за слои в 3D графике? Если нужно нарисовать много тектсур и не мучится с Z-Fighting'ом то тебе надо просто отсортировать текстуры(а точнее спрайты) перед выводом и рисовать их с выключенным бэкбуфером.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 27.12.2009, 00:58   #3
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Layer in XNA (слои)

отрисовка 2д текстур. SpriteBatch.Draw (Texture2D, Vector2, Nullable<Rectangle>, Color, Single, Vector2, Vector2, SpriteEffects, Single)
последгний пареметр - номер слоя, от 0 до 1. вот можно ли изменить этот диапазон.
(Offline)
 
Ответить с цитированием
Старый 27.12.2009, 03:16   #4
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: Layer in XNA (слои)

вот можно ли изменить этот диапазон.
Неа. Но зато можно эмулировать слои с помощью матрицы трансформации, которая передается в spriteBatch.Begin(...);
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dream (27.12.2009)
Старый 27.12.2009, 03:28   #5
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Layer in XNA (слои)

хм... это идея.. спасибо буду думать как организовать
(Offline)
 
Ответить с цитированием
Старый 27.12.2009, 04:20   #6
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Layer in XNA (слои)

не, некатит такой вариант. это мне получается нужно будет заканчивать рендер спрайт бренчем для смены матрицы. в таком случае сам смысл использования матриц теряется
Или я не понял чегото?
Я кажется понял)) не сразу до меня доходит. но всётаки для подтверждения моих догадок можно услышать обьяснения работы с этой матрицей.
(Offline)
 
Ответить с цитированием
Старый 27.12.2009, 06:31   #7
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: Layer in XNA (слои)

Ты сможешь сэмулировать слои. Когда упрешься в лимит 0...1, ты применяешь матрицу, которая сдвинет "центр" отрисовки, и ты снова будешь использовать диапазон 0...1.
Хотя лучше все-таки вместится в него, без геморроя лишнего :Р
(Offline)
 
Ответить с цитированием
Старый 27.12.2009, 12:33   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Layer in XNA (слои)

Сортировкой никто не пользуется? Ведь это еще и оптимизирует вывод графики за счет отключения DepthTest'а. Или Вы всегда полагаетесь на стандартные классы вывода типа SpriteBatch? Почему бы не разработать собственную замену SpriteBatch, для которой эти ограничения, с которыми Вы столкнулись, легко решались бы очередью на вывод.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ІГРОГРАЙКО (27.03.2011)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com