Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

XNA 4 и ClipPlanes
Просмотров: 3003 - Заполнять: Chort - 08.05.2011 22:36:10
 
Как известно в XNA 4 убрали ClipPlanes. Тут краткий список что можно использовать вместо них.

HLSL - clip() function
Команда XNA рекомендует использовать функцию clip() вместо ClipPlanes.
Пример :

GeSHi: HLSL
  1. float4x4 World;
  2. float4x4 View;
  3. float4x4 Projection;
  4. float4 ClipPlane; // наша плоскость
  5.  
  6. struct VertexShaderInput
  7. {
  8. float4 Position : POSITION0;
  9. };
  10.  
  11. struct VertexShaderOutput
  12. {
  13. float4 Position : POSITION0;
  14. float clipDepth : TEXCOORD0; // DotProduct для роботи с отсечением
  15. };
  16.  
  17. VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
  18. {
  19. VertexShaderOutput output;
  20. float4 worldPosition = mul(input.Position, World);
  21.  
  22. output.clipDepth = dot(worldPosition, ClipPlane); // считаем DotProduct
  23. output.Position = mul(mul(worldPosition, View), Projection);
  24. return output;
  25. }
  26.  
  27. float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
  28. {
  29. clip(input.clipDepth); // проверка отсечения
  30.  
  31. // дальше ваш код
  32. return float4(1,1,0,1);
  33. }
Добавлено за 0.009 секунд, используя GeSHi 1.0.8.2


GeSHi: C#
  1. effect.Parameters["ClipPlane"].SetValue(new Vector4(0, -1, 0, 0));
Добавлено за 0.004 секунд, используя GeSHi 1.0.8.2


Хак N1 - невидимая плоскость
Как вариант можно нарисовать невидимую плоскость и мастерски жонглируя значениями DepthStencilState.DepthBufferFunction заставить рисоваться только то что за ней или перед ней. Правда тут есть несколько минусов - такой отсечение сложно отменить. Или использовать отдельный рендер-таргет или рисовать с клипать в последнюю очередь. Также не всегда получится использовать несколько плоскостей.

Хак N2 - Oblique Near-Plane Clipping
В этом методе идет модификация матрици проекции таким образом чтобы отсекать геометрию в нужной плоскости. Псевдо-код и детальней об алгоритме по ссылкам http://aras-p.inf...ortho.html и http://www.terath...lique.html
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.

© 2007 - 2008 by Elactos
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

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

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,15 секунд 8,710,041 уникальных посетителей