AA в режиме Deferred (РЕШЕНО)

Re: Обзор Unity 3

Сообщение GrueGames 08 окт 2010, 12:51

Ой какая ашипка........
Дело в том, что сейчс напротив меня сидит наиглавнейший программист клиента Аллодов. А в 10 метрах от меня все художники с этого проекта. Нетрудно догадаться, где я работаю. И вот теперь я совершенно авторитетно заявляю, что вы батенька пиз"%*бол. И всё совсем иначе. И ваше мнение и его авторитетность стоят ровно 0. прощайте.


Хм... я общался с Денисычем (он скриптер в Нивале), от него информация что у них все печется Менталом, и он сам писал им скрипты для майки чтобы еще печь удобно все 1 кликом и раскладывать по нужным папкам. Ненадо ненадо. Если есть другая информация чем пекли карты для аллодов - поделитесь ей.

Мы еще когда разговаривали с ним, зашел разговор о Turtle, я какраз им пользовался тогда, он пожал плечами и еще раз ответил "да унас Ментал везде, все настроено давно и отработано".

P.S. Матом на улице общайся. Ему на форуме - не место.
И да, карты освещения для аллодов запечены ужасно (больное место задел?)
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Обзор Unity 3

Сообщение silver516 08 окт 2010, 13:11

=)) =)) =)) :((

Админ!!! Забань нас пожалуйста! Ну хоть на три денька. а то добром это не кончится
Последний раз редактировалось silver516 08 окт 2010, 13:16, всего редактировалось 1 раз.
Аватара пользователя
silver516
UNIт
 
Сообщения: 78
Зарегистрирован: 10 мар 2010, 16:03

Re: Обзор Unity 3

Сообщение GrueGames 08 окт 2010, 13:15

Изображение
Успокойся, все нормально.
Приведи пожалуйста еще примеров своего метода, он меня очень заинтересовал.
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Обзор Unity 3

Сообщение Neodrop 08 окт 2010, 13:17

Сильвер, вот этот код удаляет альфа-канал с рендер-текстуры.
Если поправить материал и передать ему текстуру, которая создаёт эффект сглаживания, то код отрисует её в миг единый.

Синтаксис:
Используется csharp
private Material mat;

    void OnPostRender()
    {
        if (!mat)
        {
            mat = new Material("Shader \"Hidden/Alpha\" {" +
                "SubShader {" +
                "    Pass {" +
                "        ZTest Always Cull Off ZWrite Off" +
                "        ColorMask A" +
                "        Color (1,1,1,1)" +
                "    }" +
                "}" +
                "}"
            );
            mat.shader.hideFlags = HideFlags.HideAndDontSave;
            mat.hideFlags = HideFlags.HideAndDontSave;
        }
        GL.PushMatrix();
        GL.LoadOrtho();
        for (int i = 0; i < mat.passCount; ++i)
        {
            mat.SetPass(i);
            GL.Begin(GL.QUADS);
            GL.Vertex3(0, 0, 0.1f);
            GL.Vertex3(1, 0, 0.1f);
            GL.Vertex3(1, 1, 0.1f);
            GL.Vertex3(0, 1, 0.1f);
            GL.End();
        }
        GL.PopMatrix();
    }
 


Второй вариант : отрендерить плоскость с картинкой, поставленную перед камерой (лучше орто) командой Graphics.DrawMeshNow

То есть, в чём суть : одним коротким вызовом, отрендерить только плоскость, содержащую рендер сцены (RTT на материале) одним из двух, предложенных выше, методов.
Теоретически, должно работать настолько быстро, что вполне приемлемо, как полная альтернатива хардварному сглаживанию. Даже потери времени на даунсэмплинг не будет.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Обзор Unity 3

Сообщение silver516 08 окт 2010, 13:20

Спасибо!
Аватара пользователя
silver516
UNIт
 
Сообщения: 78
Зарегистрирован: 10 мар 2010, 16:03

Re: Обзор Unity 3

Сообщение Fox Rex 08 окт 2010, 13:26

Neodrop писал(а):~x( Ах, точно. Да, простенько и 100% действенно. Спасибо.

Кстати, это можно сделать через GL - будет быстро и качественно. Могу дать базовый код, если понадобится.

Было бы очень интересно увидеть код. Код увидел. Нео спасибо.
Последний раз редактировалось Fox Rex 08 окт 2010, 13:29, всего редактировалось 1 раз.
Never more!
Аватара пользователя
Fox Rex
UNITрон
 
Сообщения: 218
Зарегистрирован: 04 сен 2010, 11:24

Re: Обзор Unity 3

Сообщение Neodrop 08 окт 2010, 13:28

А что, не видно? :-B
:D
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Обзор Unity 3

Сообщение GrueGames 08 окт 2010, 13:28

Спасибо!
Здорово было бы пощупать это в тестовой сценке.
(пошел тестить)
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Обзор Unity 3

Сообщение Neodrop 08 окт 2010, 13:36

З.Ы. Используйте Graphics.DrawMeshNow на ортогональной камере, с настройкой depth ниже Главной камеры, рендерящей картинку сцены (не забудем, что Главная камера должна рендерить в текстуру, превыщающую размер экрана. Ну, процентов на 3-5% это по вкусу).
Или depth должен быть выше? Каждый раз путаюсь. Короче - камера, выполняющая перерендер картинки с Главной камеры, должна работать позже Главной камеры.
З.Ы.Ы. Если поставить её целевую плоскость (на которой мат с RTT) в отдельный слой и назначить этой камере видеть только его, то и Graphics.DrawMeshNow не нужен. Всё вообще автоматом станет работать.

З.Ы.Ы.Ы. ДА вообще фтопку Graphics.DrawMeshNow. :D
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Обзор Unity 3

Сообщение silver516 08 окт 2010, 13:40

я именно плоскость и поставил. В отдельный слой. С простейшим шейдером.
Аватара пользователя
silver516
UNIт
 
Сообщения: 78
Зарегистрирован: 10 мар 2010, 16:03

Re: Обзор Unity 3

Сообщение Neodrop 08 окт 2010, 13:44

Камера орто? Пожалуй да, это наибыстрейший вариант. Тут и GL газку особо не прибавит.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Обзор Unity 3

Сообщение GrueGames 08 окт 2010, 18:04

Потестил. Использовал орто камеру на отдельном слое, перед которой поставил плейн с текстурой с максимально простым шейдером.

Текстура для рендера должна быть степенью 2ки. Выше 2048 видимо разрешение получить нельзя? Тоесть получается 3 варианта: 2048x2048, 2048х1024 и 1024х1024. Довольно большая часть текстуры зазря "простаивает"за экраном. Не жалко?
Собственно получается что простор для уменьшения разрешения изображения лежит где-то между 1-2. Мне при уменьшении с 2048x2048 до 1024x1024 удалось добиться довольно убедительного АА (примерно на уровне аппаратного 4х, кроме самых проблемных мест). Но вот более высокие разрешения смотрятся уже не столь выигрышно.
Падение fps вполне приемлемо (10%), при настройках EdgeBlur которые показались мне оптимальными.

В целом впечатления скорее положительные, спасибо больше, silver516 (что однако не оправдывает вашего беспочвенного хамства в мой адрес
Скрытый текст:
Newbie, хватит троллить (прим. gnoblin)
). Neodrop тоже спасибо.
WebPlayer.unity3d
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Обзор Unity 3

Сообщение silver516 08 окт 2010, 21:27

Вот блин двоечник. а этот кусок кода ни о чём не говорит?

Синтаксис:
Используется javascript
var tex : RenderTexture;

function Awake (){
tex.isPowerOfTwo  = false;
tex.width  = Screen.width  * 1.5;
tex.height  = Screen.height  * 1.5;
}

function Update () {
}


Начните уже читать мануал хоть изредка
Аватара пользователя
silver516
UNIт
 
Сообщения: 78
Зарегистрирован: 10 мар 2010, 16:03

Re: Обзор Unity 3

Сообщение GrueGames 08 окт 2010, 21:32

Спасибо. Этот мануал сам себе порой противоречит:
Size The size of the Render Texture in pixels. Observe that only power-of-two values sizes can be chosen.
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Обзор Unity 3

Сообщение silver516 08 окт 2010, 21:39

Это не тот мануал. Мануал для риальных пацанофф называется ScriptReference. А то что вы цитируете - это пособие для детей с ограниченными возможностями. Ну эточто-то среднее между пресс-релизом журналом Мурзилка. Почитать забавно а пользы мало
Аватара пользователя
silver516
UNIт
 
Сообщения: 78
Зарегистрирован: 10 мар 2010, 16:03

Пред.След.

Вернуться в Tips & Tricks

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1