Войти
ПрограммированиеФорумГрафика

Виртуальные текстуры (комментарии) (6 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#75
14:18, 18 дек. 2012

)  а где в девиле устанавливается качество компресии DDS ??

) он юзает сквиш - в сквише можно сказать kColourIterativeClusterFit и получишь very slow but very high quality colour compressor.

) а там в девиле нельзя походу указать качество - там юзается дефолтный сквишевский kColourClusterFit slow but high quality colour compressor

) и еще - не пойму где там генерить мипы в сквише - или все руками делать опять?

)
так же не понимаю какой смысл генерить мипмапы на pageCache - там итак у самых близких будет только высокий уровень. а у дальних тайлов если юзать мипмаппинг - там вообще все в 1 пиксель будет дико размылено, потому что итак 66*66 накладывается размазаным изначально...

) c nvDXT проблемы были - х**ю какуюто выдавал даже для 64*64

)
если делать в сквише я заполняю  rgba массив исходной датой и вызываю void CompressImage( u8 const* rgba, int width, int height, void* blocks, int flags )
далее пишу это всё как в примере png->dds????
тоже непонятно что пишут они - где инфо о сжатии и тп

// write the header
  fwrite( &width, sizeof( int ), 1, targetFile.Get() );
  fwrite( &height, sizeof( int ), 1, targetFile.Get() );
 
  // write the data
  fwrite( targetData.Get(), 1, targetDataSize, targetFile.Get() );

на этом всё!


#76
14:50, 18 дек. 2012

The Andreyp
> где инфо о сжатии и тп
а какая тебе инфа нужна?

#77
14:57, 18 дек. 2012

вот эта вся инфа в хедере

// read in DDS header
    DDS_HEADER ddsh;
    fread(&ddsh, sizeof(DDS_HEADER), 1, fp);

    swap_endian(&ddsh.dwSize);
    swap_endian(&ddsh.dwFlags);
    swap_endian(&ddsh.dwHeight);
    swap_endian(&ddsh.dwWidth);
    swap_endian(&ddsh.dwPitchOrLinearSize);
    swap_endian(&ddsh.dwMipMapCount);
    swap_endian(&ddsh.ddspf.dwSize);
    swap_endian(&ddsh.ddspf.dwFlags);
    swap_endian(&ddsh.ddspf.dwFourCC);
    swap_endian(&ddsh.ddspf.dwRGBBitCount);
    swap_endian(&ddsh.dwCaps1);
    swap_endian(&ddsh.dwCaps2);

.........
почему в том примере только W H пишется? или я не понял

#78
15:13, 18 дек. 2012

В примере сохранение не в dds.
А RAW DXTC, насколько я могу судить.

#79
15:18, 18 дек. 2012

прикольно
....

а где достать можно про dds через эту либу?

#80
15:20, 18 дек. 2012

The Andreyp
> а где достать можно про dds через эту либу?
dds отличается заголовком. пиши в заголовке файла все что нужно.
или ты не знаешь, какие данные что в заголовке означают?

#81
15:43, 18 дек. 2012

да туплю... ок - буду разбираться

#82
16:14, 19 дек. 2012

ну , как выяснилось если просто вставить пиксель из этого же тайла в края (растянуть продублировать ребра)
будет не такая фильтрация - разрывы будут

а вставлять пикселя из соседних тайлов физической текстуры это пц неудобно вообще (в рантайме - при рендере уже)

вообще можно конечно попробывать прибавлять +4 пикселя бордер... тогда по идее кратно 4 . норм будет с ддс
хотя для линейной ф достаточно 1 пиксель

#83
18:59, 19 дек. 2012

The Andreyp
> хотя для линейной ф достаточно 1 пиксель
А кто-то еще ей пользуется для текстур ландшафта?

The Andreyp
> вообще можно конечно попробывать прибавлять +4 пикселя бордер...
Попробуй тайлы 132x132 или 136x136 (эффективное 128x128).

P.S. При выборе размеров тайла нужно еще учитывать что его всётаки с диска грузить, 136х136 это чуть более 18КБ. Пусть у тебя там не один слой, будет в 2-3 раза больше.

#84
0:04, 21 дек. 2012

вобщем кто будет делать

чтобы сделать технику достаточно прочтиать - все написано внятно и понятно

Mayer-2010-VT-Thesis.pdf
neu_virtual_texturing_low_03.pdf

#85
13:54, 21 дек. 2012

Демку от AMD про sparse_texture не запускали ?

#86
22:54, 21 дек. 2012

если я перехожу на DDS
это уже не будет тупо копирование 0-64    0-64 в тайлкеш... у 0 мипа там wh=64        а вот datasize!=64*64*numch как я понял
мне же не надо делать каждый раз compressedSubimage
мне надо все скопировать в bytearray а потом залить один раз....  ну аррэй этот рассчитывался на то что там будет копирование  0-64 0-64
обычный tileSet

#87
18:54, 16 янв. 2013

я тут опять не пойму

вот у меня 6 ОТДЕЛЬНЫХ плоскостей для сферического террайна

как это без свт -
6 диффузмапов в gnomonic projection или как там хз
отдельно рендерится каждая сторона сферы - на каждой плоскости texST 0-1 соотв-но

как я сделал через свт
так же 6 разных свт для каждой плоскости - соотвено 6 потоков - тормозит адово..
чувствую что-то не то

а если у меня будет 60 разныъ мешей с разными текстурами.. это надо будет 60 свт и 60 потоков для каждой?
думаю не так все

как надо?

#88
22:11, 18 янв. 2013

вот у меня сейчас все диффузмапы в одном атласе - 1 поток
все нормалмапы в другом атласе - 2 поток
получается два потока на весь уровень....

теперь я не пойму как плавно блендить разные мир уровни......


вон у автара в видосе не рагесовском тоже плавно........

#89
23:13, 18 янв. 2013

The Andreyp
> теперь я не пойму как плавно блендить разные мир уровни......

lerp

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.