forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Melissa Project (http://forum.boolean.name/showthread.php?t=19483)

pozitiffcat 02.12.2014 20:15

Ответ: Melissa Project
 
Спс, ясненько. Лажа при создании вью, там параметры вводить какие-то надо видимо другие, хотя на оф. сайте читал, что инициализируется так же, как и Gl2

pozitiffcat 16.12.2014 20:30

Ответ: Melissa Project
 
Ребят, кто поможет...
Мне нужно вытащить позицию из глубины.
Сейчас у меня в Г буффере сохраняются все компоненты позиции, model * attr_position. Я хочу сохранять только глубину и вытаскивать в проходе, где я делаю освещение. Проход с освещением рисуется одним квадом на экране - gl_Position = attr_position.

tirarex 16.12.2014 21:41

Ответ: Melissa Project
 
float4 NormalsAndDepth = tex2D(sGBNormals,TexCords);
fDepth = NormalsAndDepth.w;
vNormal = normalize(NormalsAndDepth.xyz);
vNormal = normalize(vNormal);

vWorldPos.x = TexCords.x * 2.0f - 1.0f;
vWorldPos.y = -(TexCords.y * 2.0f - 1.0f);
vWorldPos.z = fDepth;
vWorldPos.w = 1.0f;
vWorldPos = mul(vWorldPos, g_mViewProjInv);
vWorldPos /= vWorldPos.w;

Код HLSL но думаю понятно.

mr.DIMAS 16.12.2014 22:01

Ответ: Melissa Project
 
2tirarex 128-битная текстура ? Жирно слишком. Или 32 бита, но тогда на глубину всего 255 значений, 8-битный буфер глубины :-D

Цитата:

vNormal = normalize(NormalsAndDepth.xyz);
vNormal = normalize(vNormal);
WTF?

tirarex 16.12.2014 22:37

Ответ: Melissa Project
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 290732)
2tirarex 128-битная текстура ? Жирно слишком. Или 32 бита, но тогда на глубину всего 255 значений, 8-битный буфер глубины :-D

WTF?

Не пытайся понять , у меня без второй нормализации коряво освещение считается почему то...
MR.F мне про это 100 раз говорил , но с лишним рендер таргетом фпс садится сильнее чем с жирной текстурой.

pozitiffcat 16.12.2014 23:03

Ответ: Melissa Project
 
на каждый пиксел матрицу считать? O_o
А глубина какая складывается при формировании Г буффера? [0-1] или Z коордитана MVP * POSITION0 ?

tirarex 16.12.2014 23:14

Ответ: Melissa Project
 
в вершинном
pWorld= mul(IN.vPos,g_mWorldViewProj);
в пиксельном
depth=pWorld.z/pWorld.w

pozitiffcat 17.12.2014 09:46

Ответ: Melissa Project
 
Заработало, но позиции чуть чуть со смещением стали

tirarex 17.12.2014 11:13

Ответ: Melissa Project
 
Цитата:

Сообщение от pozitiffcat (Сообщение 290753)
Заработало, но позиции чуть чуть со смещением стали

Где то должна быть магия с текстурными кординатами , вроде смещение на пол текселя вправо.

pozitiffcat 17.12.2014 12:08

Ответ: Melissa Project
 
Вложений: 2
Цитата:

Сообщение от tirarex (Сообщение 290755)
Где то должна быть магия с текстурными кординатами , вроде смещение на пол текселя вправо.

Короче не получается ничего. Какое-то странное смещение.

Слева на картинке, как при сохранении позиции. Справа при восстановлении из глубины.

Вот код
PHP код:

//----- г буффер --------
// сохранение в вершинном шейдере
vec4 _mvp_position_ _model_view_proj_matrix_ position4;
depth _mvp_position_._mvp_position_.w;
// запись во фрагментном
positionmap_color vec4(depth);

//------ использование -----
// фрагментный шейдер
float depth texture(_g_buffer_position_texcoord).a;
vec4 position4 _inv_view_proj_matrix_ *  vec4(texcoord.2.0 1.0texcoord.2.0 1.0depth1.0);
position4 /= position4.w;
vec3 position position4.xyz


pozitiffcat 17.12.2014 12:50

Ответ: Melissa Project
 
Я починил. Я незнаю почему, но при вычислении Z/W в вершинном шейдере, значение интерполируется как-то коряво. Я стал вычислять в пиксельном и все стало нормально!
Запомните, может пригодится кому.

pozitiffcat 17.12.2014 16:30

Ответ: Melissa Project
 
Новая проблема. Нужно при формировании Г буффера приплюсовать значения Карты нормалей, есть у кого инфа по этому? У меня тут непонятно в чем проблема, толи тангент спейс как-то неправильно вычисляю...

tirarex 17.12.2014 16:56

Ответ: Melissa Project
 
float3 vNormal = normalize(tex2D(sNormals, IN.vTexCoords) * 2.0f - 1.0f);

float3x3 mTangentToWorld = transpose( float3x3( IN.vTangent, IN.vBinormal, IN.vNormal ) );

float3 vNormalWorld = mul( mTangentToWorld, vNormal );

pozitiffcat 17.12.2014 17:33

Ответ: Melissa Project
 
Вложений: 1
Если брать только нормаль из вершин, то все ОК. Но мне нужно заюзать карту нормалей. Вообще не понимаю почему такой эффект.

тангенты точно правильно вычисляются, из Blendera значения беру

МЛЯ! Все у мну правильно. Корявая карта нормалей попалась

pozitiffcat 17.12.2014 18:22

Ответ: Melissa Project
 
Вложений: 1
Вот что получается

pozitiffcat 17.12.2014 23:37

Ответ: Melissa Project
 
Вложений: 1
Может кто поможет сценой смоделеной в блендере, для благотворительных целей так сказать, рендер допиливать основываясь на чем-то.

pozitiffcat 18.12.2014 16:30

Ответ: Melissa Project
 
Не могу никакой инфы по качественному рендеру найти, не знаю куда двигаться дальше ((

Mr_F_ 18.12.2014 17:00

Ответ: Melissa Project
 
начни с гамма коррекции
http://http.developer.nvidia.com/GPU...ems3_ch24.html

добавь тонмаппинг
http://filmicgames.com/archives/75

запеки нормальные лайтмапы с ГИ

pozitiffcat 18.12.2014 17:04

Ответ: Melissa Project
 
Лайтмапы не пойдут. Мне динамика нужна.

pozitiffcat 18.12.2014 17:35

Ответ: Melissa Project
 
Вложений: 1
Круто! Я то думал почему у меня такое темное!
На изображении 2 источника освещения.

Mr_F_ 18.12.2014 17:37

Ответ: Melissa Project
 
а чё со столом? у него нормали выглядят, как будто он весь с одной группой сглаживания.

pozitiffcat 18.12.2014 17:41

Ответ: Melissa Project
 
Цитата:

Сообщение от Mr_F_ (Сообщение 290816)
а чё со столом? у него нормали выглядят, как будто он весь с одной группой сглаживания.

У него Shininess там минимальный. И да, там бы вообще убрать сглаживание у нормалей.

tirarex 18.12.2014 18:08

Ответ: Melissa Project
 
Заведи переменную LighhtInt и умножай не нее Attention, будет тот же эффект но с 1 светильником , зато ярким.

pozitiffcat 18.12.2014 18:19

Ответ: Melissa Project
 
Вложений: 1
Цитата:

Сообщение от tirarex (Сообщение 290818)
Заведи переменную LighhtInt и умножай не нее Attention, будет тот же эффект но с 1 светильником , зато ярким.

Я два источника просто так повесил. Вот с одним.
Непонял, зачем степень затухания источника, каждого, домножать на количество источников.

Хотелось бы SSDO заюзать, но чет не могу описание техники найти, на русском желательно.

pozitiffcat 18.12.2014 22:00

Ответ: Melissa Project
 
Видео рендера

pozitiffcat 19.12.2014 00:43

Ответ: Melissa Project
 
Собрал демку для венды.
В stdout дебажит FPS

ЗЫ: Карточка должна тянуть Open GL 3.3

https://drive.google.com/file/d/0Bwc...ew?usp=sharing
(Там наверху скачать нажмите)

Arton 19.12.2014 01:29

Ответ: Melissa Project
 
Цитата:

Сообщение от pozitiffcat (Сообщение 290849)
Собрал демку для венды.
В stdout дебажит FPS

ЗЫ: Карточка должна тянуть Open GL 3.3

https://drive.google.com/file/d/0Bwc...ew?usp=sharing
(Там наверху скачать нажмите)

Баг с тенью раз, баг два:


mr.DIMAS 19.12.2014 01:51

Ответ: Melissa Project
 
400 фпс. конфиг в подписи. графоний приятный.

pozitiffcat 19.12.2014 10:59

Ответ: Melissa Project
 
Цитата:

Сообщение от Arton (Сообщение 290852)
Баг с тенью раз, баг два:

Неуверен, что это можно считать багом. Зачем поинт увел непонятно куда? ;)

tirarex 19.12.2014 11:33

Ответ: Melissa Project
 
Таблетка на атоме 3735F , фпс 10-30 , спеклуяр классный.

St_AnGer 19.12.2014 13:04

Ответ: Melissa Project
 
Встроеная графика Intel Core i3-3250 (Intel HD 2500) - 28-40 фпс. Круто!
28 фпс когда источник света по центру комнаты, когда приближается к краям - фпс растёт до 35-40.

Arton 19.12.2014 15:55

Ответ: Melissa Project
 
Цитата:

Сообщение от pozitiffcat (Сообщение 290858)
Неуверен, что это можно считать багом. Зачем поинт увел непонятно куда? ;)

Согласен, но на втором скриншоте тень рисуется немного дальше чем надо.

KCEPOKC 12.01.2015 20:29

Ответ: Melissa Project
 
300 фпс :) Очень порадовало.
AMD Phenom 2 Callisto BE 3.2 Ghz; AMD HD 4800 Series(4095 МВ); 8 GB ОЗУ;


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

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