GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (122 стр.)

Сообщения на форуме пользователя Andrey (122 стр.)

PVS, potentially visible set.10 дек. 200720:50#6
Джо
>Occlusion query юзайте, прогрессивный подход, тем более всё в железе.
линейно ходить по списку объектов, рендерить в Occlusion query и ждать результата?
если так то это убъет FPS пробовал сам и на Direct3D и на OpenGL. Нужно делать иерархический OQ. Если ты это сделал можешь рассказать как?
Culling + landscape10 дек. 200720:48#1
CAJ
1. Occlusion Culling (тупой способ IDirect3DQuery9*)
2. для 512x512 я делал 64x64. По скорости вполне нормально.
3. гружу DevIL'ом. проблем не было.
остальное сложно сказать.
скопировать backbuffer в текстуру? (DX)10 дек. 200719:43#1
SunnyDay
попробуй так:
IDirect3DDevice9::GetBackBuffer(BackBufferSurface)
IDirect3DTexture9::GetSurfaceLevel(TextureSurface)
D3DXLoadSurfaceFromSurface(TextureSurface, ...,...,TextureSurface)
?

создаю свой формат 3Д модели. есть вопросы10 дек. 200716:18#9
Zemedelec
а может float[4] веса, а unsiugned char[4](больше 255 костей же не будет) индексы ?
try-catch ? или VS издевается надо мной?10 дек. 200712:58#70
Конишуа
>Потому что на винде signal сильно кастрированный.
да и слишком сильно.
Небольшая дискуссия – создать 3D графический движок современного уровня – это не сложно…10 дек. 200711:25#106
heihachi
>Zeux
>>Ха-ха...
>??
а ты реализовал уже реалистичные, быстрые, мягкие тени без артефактов, и не аля 1 моделька на экране, а в сложной сцене с большим количеством объектов и т.д. ?
если да, то ты должен понять Zeux'ха
try-catch ? или VS издевается надо мной?10 дек. 200710:55#68
CyberZX
так про __try ... __except я знаю уже реализовал давно, я имел ввиду как перехватывать системные исключения в Windows использую сигналы?(в QNX я вызвал signal с указателем на функцию обрабочик все работало)
попытался сделать тоже самое для windows ничего не получилось, ошибка не перехватывалась
try-catch ? или VS издевается надо мной?10 дек. 200710:47#67
*vmr
>Что значит "вставит обработку"?
ну программы на Delphi меньше падают от системных исключений, в сравненнии с Visual C++(если там конечно не делать их перехват)  там я думаю перехват AV и деление на 0 перехватываются, на то он и Delphi что-бы кнопки шлепать.
CyberZX
спасибо, почитаю
try-catch ? или VS издевается надо мной?9 дек. 200721:32#63
*vmr
>в Delphi за тебя отлов таких ошибок сделает компилятор ;)
0_0. Намек не понял
var i,j:integer;
bgin
i := 1 / j; //компилятор delphi занулит локальную перменную j;
end;
тут компилятор вставит вставит обработку системных исключений windows,в часнсоти деление на 0
CyberZX
>Так что, если хотите обрабатывать ошибку целочисленого деления на нуль, то используйте SEH или сигналы
перехватить обращение по NULL указателю у меня получилось в QNX, под windows это не получилось, как и с целочисленным делением на 0, пользовался функиями raise и signal. Можешь показать кусок кода как это сделать для Windows?
try-catch ? или VS издевается надо мной?7 дек. 200723:06#23
*vmr
>А почему нет? 0_0
потомучто это не оговорено в стандарте C++. и ловить такие ошибки через catch(...) говорит об отсутствии квалификации программиста.
>Я понимаю что AV не должно быть в принципе, но неужели в отловле AV есть какой-то подвох?
в Delphi за тебя отлов таких ошибок сделает компилятор ;)
Заггрузка ландшафтов из 16, 32 bit-chanel карт высот7 дек. 200723:04#13
SunnyDay
вот так я выцепляю в зависимости от байт на пиксель значения пикселя.
  switch (bpp) {
    case 1: {
      return pixels[bpp * y * width + bpp * x];
    }
    case 2: {
      unsigned short pixel = 0;
      std::memcpy(&pixel, &pixels[bpp * y * width + bpp * x], bpp);
      return pixel;
    }
    case 4: {
      unsigned int pixel = 0;
      std::memcpy(&pixel, &pixels[bpp * y * width + bpp * x], bpp);
      return pixel;
    }
  }
try-catch ? или VS издевается надо мной?7 дек. 200718:51#21
*vmr
>Например, то же деление на ноль можно было б и обработать ("откатить" операцию и сказать пользователю что он ввел неправильные данные :) ).
хорошо... примеры: ты залез за пределы массива, шарахнул по NULL указателю... выполнил недопустимую инструцию... это все системные исключения Win32
все это надежно ловится __try __except.
смотри winbase.h макроопределения
#define EXCEPTION_ACCESS_VIOLATION 
...
#define EXCEPTION_INVALID_HANDLE  
Будет ли утечка памяти?7 дек. 200711:37#9
_Winnie
atap3d
или
std::vector<boost::shared_ptr<mt> > MT;
Заггрузка ландшафтов из 16, 32 bit-chanel карт высот6 дек. 200719:36#4
SunnyDay
если формат 32 бита то данные пикселе лежат в виде последовательности 4 байтов(они и сотавляют цвет пикселя или значение высоты карты высот). их нужно скопировать в переменнную DWORD.
для 16 битного нужно также скопировать в unsigned short.
Заггрузка ландшафтов из 16, 32 bit-chanel карт высот6 дек. 200718:46#2
SunnyDay
делаешь Switch в зависимости от байт на пиксель. соответственно значение пикселя будет не 0..255,  а в зависимости от битности. для RGB нужно битовыми операциями взять значение. Вроде так.

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр