HDR Per-Pixel Lighting with Bump-Mapping & Dynamic Shado

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

HDR Per-Pixel Lighting with Bump-Mapping & Dynamic Shado

Сообщение d3drm » 02.09.2005 (Пт) 20:26

Ну вот, вроде почти все баги убрал. Получился маленький примерчик.

Он ОЧЕНЬ требователен к системе - 1.1 вершинные шейдеры и 2.0 - пиксельные. По другому не получается.

Так что если у кого не запустится, прошу прощения.

Вот скриншот:

Изображение

На скриншоте черными шариками (ну да, да, черными... лень было dll сейчас дорабатывать...) обозначены 2 источника света. От них и падают тени. Хотя в динамике все выглядит лучше =)

Прошу заценить и те, у кого запустится, напишите fps. Он рисуется в заголовке формы. У меня в среднем 200, считаю это довольно хорошим результатом.
ХЎ

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.09.2005 (Пт) 20:27

80 фпс. Молодца, круто выглядит!

А можешь сделать окружение поразнообразнее? Какую-нибудь архитектуру, например?

Оценить красоту хочется =)

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 02.09.2005 (Пт) 22:04

У меня 153-169 fps. Мои системки можете посмотреть в предыдущей теме.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 02.09.2005 (Пт) 23:49

скачано 7 раз, высказались двое... у остальных не пошло я так полагаю?
ХЎ

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 03.09.2005 (Сб) 0:24

Респект! :D
ФПС:148
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 03.09.2005 (Сб) 0:48

У меня эти шедеры не поддерживаются, потому сказать ничего не могу.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 03.09.2005 (Сб) 6:44

d3drm
круто смотрится! 25 фпс - FX5200... а 5600 моя сгорела =(

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 03.09.2005 (Сб) 11:34

nekeda писал(а):...а 5600 моя сгорела =(


:cry:

Сочувствую...

А вообще приятно, что работает прога на поддерживаемых машинах. На счет скорости. Даже 25 - это хорошо, потому что тут огромные тормоза из-за библиотеки dx9api ввиду, того, что API выховы довольно медленно обрабатываются. Когда dll будет ActiveX скорость должна возрасти...
ХЎ

Мамонт
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 479
Зарегистрирован: 21.02.2005 (Пн) 16:48
Откуда: Ленинград

Сообщение Мамонт » 03.09.2005 (Сб) 12:03

На моей FX 5200 37 fps'ов!!
Стенки чёто белые! Значит моя видяха Г! СкринШот вот посылаю!
nekeda
А шож она у тебя сгорела?
У вас нет доступа для просмотра вложений в этом сообщении.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 03.09.2005 (Сб) 12:07

Format C: писал(а):На моей FX 5200 37 fps'ов!!
Стенки чёто белые! Значит моя видяха Г! СкринШот вот посылаю!
nekeda
А шож она у тебя сгорела?

Видимо твоя видюха не поддерживает эти шейдеры :)
У меня 9600хт вроде все поддерживает.. :oops:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 03.09.2005 (Сб) 14:55

Format C:, да, скорее всего она не поддерживает пиксельные шейдеры 2.0...
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 03.09.2005 (Сб) 17:09

FX5200, в отличие от моей Ti 4200, поддерживает все, что нужно для демки. Может дрова старые?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 03.09.2005 (Сб) 17:41

белая модель - это сразу видно, что шейдеры не работают. Про видеокарту не знаю, возможно действительно что-то с дровами...

Mikle, давай уже собирайся себе новую видюху покупать =)
ХЎ

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 03.09.2005 (Сб) 20:15

От 448 до 525
хотя в среднем держится около 480

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 3:49

Athlon XP 1800+, 512 DDR, FX 5600 Ultra

45 fps


Скажи, d3drm, а каким образом ты в dx9api.dll вызываешь DirectX 9? Технически?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 11:48

GSerg, :oops:

У меня в самой dll есть экземпляры всех классов (текстур, мешей и тп. - массивы экземпляров) и через api типа D3DX_CreateTextureFromFile я имею доступ к этим объектам...
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 12:07

Ничё не понял :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 12:09

ны вот типа декларации:

Код: Выделить всё
LPDIRECT3DDEVICE9   Device            = NULL;
LPDIRECT3D9         Direct3D         = NULL;

int LoadedTexCount = 0;
LPDIRECT3DTEXTURE9*   Textures         = new LPDIRECT3DTEXTURE9[1024];
LPD3DXEFFECT*       Effects            = new LPD3DXEFFECT[1024];
ID3DXMesh*          Meshes[1024];
LPD3DXBUFFER*      Buffers            = new LPD3DXBUFFER[1024];
LPD3DXFONT*         Font            = new LPD3DXFONT[1024];
LPDIRECT3DVERTEXDECLARATION9* VertexDeclaration = new LPDIRECT3DVERTEXDECLARATION9[1024];

ID3DXMesh*         Mesh;
ID3DXMesh*         ShadowMesh;
ID3DXMesh*         pMesh[1024];


А вот примеры функций:

Код: Выделить всё
_declspec(dllexport) HRESULT _stdcall Device_Present(RECT *pSourceRect, RECT *pDestRect,HWND hDestWindowOverride,CONST RGNDATA *pDirtyRegion)
{
   return Device->Present (NULL, NULL, NULL, NULL);
}

_declspec(dllexport) HRESULT _stdcall Device_SetFVF(DWORD FVF)
{
   return Device->SetFVF(FVF) ;
}

_declspec(dllexport) HRESULT _stdcall Device_DrawPrimitiveUp(D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void *pVertexStreamZeroData,UINT VertexStreamZeroStride)
{
   return Device->DrawPrimitiveUP (PrimitiveType, PrimitiveCount, pVertexStreamZeroData, VertexStreamZeroStride) ;
}
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 12:14

Я не об этом.
Я о том, почему и как ты используешь 9 из библиотеки. Откуда бы берёшь сам 9?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 12:29

Ну как... С++ спокойно поддерживает девятый directX. Сами вызовы DX9 функций происходят в DLL, а функции, которые вызываются из VB - оболочки к ним.
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 12:31

По причине чего VB не поддерживает девятый directX?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 12:40

Я так понимаю ответ на этот вопрос может быть очень долгим и привести к обсуждению различий между 6.0 и NET бейсиком =) NET, который я вообще-то не очень люблю, является управляемым (ну, я про C# и VB.NET), соответственно для него и сделали управляемый девятый DirectX. VB6 этот самый Managed никаким образом не может поддерживать, и, лишив VB6 позможности работать с DX9, MS как бы дальше продвигает NET технологии на рынок.
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 12:45

C++ тоже неуправляемый, поэтому я и спрашиваю: почему.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 12:50

Для VB6 все равно пришлось бы дописывать или переписывать библиотеки, так как в VB надо запихнуть еще и тот код, который находится в заголовочный файлах DX. К тому же некоторые функции пришлось бы переписывать, так как по другому VB бы их не воспринял бы. Так зачем тратить силы и ресурсы на VB6 если MS не собирается его дальше поддерживать? И опять же, есть VB.NET...
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 12:58

Так 9 unmanaged?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 13:15

managed - для C# и VB.NET, для С++ такой-же как и был.
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 13:24

Так почему ты не сделаешь tlb?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 14:11

GSerg, ну наверно потому что не умею... А может еще есть какие-то причины... Не, скорее просто не умею =)
ХЎ

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.09.2005 (Вс) 14:21

Просто это прямая линковка к библиотеке, без задержек на VB-шный declare...
Расцени этот вариант :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.09.2005 (Вс) 14:28

Понимаешь, ввиду того, что я смутно понимаю как это реализовать, мне сложно что либо расценивать. Если бы я знал как это сделать, я бы взялся бы... Но я не знаю. Как экспортировать классы? Функции? Да там же до фига всего...
ХЎ

След.

Вернуться в Мультимедиа

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

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

    TopList  
cron